@unnilouis.org/vs-chipdropdown 9.1.2 → 16.2.1
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/README.md +13 -76
- package/esm2022/lib/vs-chipdd-cmp/vs-chipdd-cmp.component.mjs +266 -0
- package/esm2022/lib/vs-chipdropdown.component.mjs +19 -0
- package/esm2022/lib/vs-chipdropdown.module.mjs +61 -0
- package/esm2022/lib/vs-chipdropdown.service.mjs +45 -0
- package/esm2022/public-api.mjs +8 -0
- package/esm2022/unnilouis.org-vs-chipdropdown.mjs +5 -0
- package/fesm2022/unnilouis.org-vs-chipdropdown.mjs +391 -0
- package/fesm2022/unnilouis.org-vs-chipdropdown.mjs.map +1 -0
- package/{unnilouis.org-vs-chipdropdown.d.ts → index.d.ts} +1 -0
- package/lib/vs-chipdd-cmp/vs-chipdd-cmp.component.d.ts +6 -10
- package/lib/vs-chipdropdown.component.d.ts +4 -4
- package/lib/vs-chipdropdown.module.d.ts +18 -1
- package/lib/vs-chipdropdown.service.d.ts +3 -0
- package/package.json +21 -13
- package/bundles/unnilouis.org-vs-chipdropdown.umd.js +0 -767
- package/bundles/unnilouis.org-vs-chipdropdown.umd.js.map +0 -1
- package/bundles/unnilouis.org-vs-chipdropdown.umd.min.js +0 -16
- package/bundles/unnilouis.org-vs-chipdropdown.umd.min.js.map +0 -1
- package/esm2015/lib/vs-chipdd-cmp/vs-chipdd-cmp.component.js +0 -438
- package/esm2015/lib/vs-chipdropdown.component.js +0 -19
- package/esm2015/lib/vs-chipdropdown.module.js +0 -41
- package/esm2015/lib/vs-chipdropdown.service.js +0 -49
- package/esm2015/public-api.js +0 -8
- package/esm2015/unnilouis.org-vs-chipdropdown.js +0 -5
- package/esm5/lib/vs-chipdd-cmp/vs-chipdd-cmp.component.js +0 -454
- package/esm5/lib/vs-chipdropdown.component.js +0 -17
- package/esm5/lib/vs-chipdropdown.module.js +0 -44
- package/esm5/lib/vs-chipdropdown.service.js +0 -52
- package/esm5/public-api.js +0 -8
- package/esm5/unnilouis.org-vs-chipdropdown.js +0 -5
- package/fesm2015/unnilouis.org-vs-chipdropdown.js +0 -540
- package/fesm2015/unnilouis.org-vs-chipdropdown.js.map +0 -1
- package/fesm5/unnilouis.org-vs-chipdropdown.js +0 -560
- package/fesm5/unnilouis.org-vs-chipdropdown.js.map +0 -1
- package/unnilouis.org-vs-chipdropdown.metadata.json +0 -1
package/esm2015/public-api.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of vs-chipdropdown
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/vs-chipdropdown.service';
|
|
5
|
-
export * from './lib/vs-chipdropdown.component';
|
|
6
|
-
export * from './lib/vs-chipdropdown.module';
|
|
7
|
-
export * from './lib/vs-chipdd-cmp/vs-chipdd-cmp.component';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bm5pbG91aXMub3JnL3ZzLWNoaXBkcm9wZG93bi8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZDQUE2QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHZzLWNoaXBkcm9wZG93blxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZzLWNoaXBkcm9wZG93bi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdnMtY2hpcGRyb3Bkb3duLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZzLWNoaXBkcm9wZG93bi5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92cy1jaGlwZGQtY21wL3ZzLWNoaXBkZC1jbXAuY29tcG9uZW50J1xyXG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5uaWxvdWlzLm9yZy12cy1jaGlwZHJvcGRvd24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5uaWxvdWlzLm9yZy92cy1jaGlwZHJvcGRvd24vIiwic291cmNlcyI6WyJ1bm5pbG91aXMub3JnLXZzLWNoaXBkcm9wZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,454 +0,0 @@
|
|
|
1
|
-
import { __decorate, __values } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
3
|
-
import { MatAutocompleteTrigger, } from '@angular/material/autocomplete';
|
|
4
|
-
import { debounceTime, distinctUntilChanged, switchMap, finalize, takeUntil, map, } from 'rxjs/operators';
|
|
5
|
-
import { fromEvent } from 'rxjs';
|
|
6
|
-
import { VsChipdropdownService } from '../vs-chipdropdown.service';
|
|
7
|
-
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
8
|
-
import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
|
9
|
-
var VsChipddCmpComponent = /** @class */ (function () {
|
|
10
|
-
function VsChipddCmpComponent(service, fb) {
|
|
11
|
-
this.service = service;
|
|
12
|
-
this.fb = fb;
|
|
13
|
-
this.Backendapi = true;
|
|
14
|
-
this.dataEvent = new EventEmitter();
|
|
15
|
-
this.separatorsKeysCodes = [ENTER, COMMA];
|
|
16
|
-
this.has_next = false;
|
|
17
|
-
this.currentpage = 1;
|
|
18
|
-
this.Dropdowndata = [];
|
|
19
|
-
this.has_previous = false;
|
|
20
|
-
this.chipSelectedId = [];
|
|
21
|
-
this.chipSelectedObj = [];
|
|
22
|
-
this.isOptionSelected = false;
|
|
23
|
-
this.Outputdata = [];
|
|
24
|
-
this.formkeyarr = [];
|
|
25
|
-
}
|
|
26
|
-
VsChipddCmpComponent.prototype.ngOnInit = function () {
|
|
27
|
-
// if (this.formGroup) {
|
|
28
|
-
// this.DropdownForm = this.formGroup;
|
|
29
|
-
// } else {
|
|
30
|
-
// this.DropdownForm = this.fb.group({
|
|
31
|
-
// value: '',
|
|
32
|
-
// });
|
|
33
|
-
// }
|
|
34
|
-
// this.dupngonit();
|
|
35
|
-
// if (this.InputFields?.defaultvalue) {
|
|
36
|
-
// this.DropdownForm.get("value").patchValue(this.InputFields?.defaultvalue)
|
|
37
|
-
// this.chipSelectedObj = this.InputFields?.defaultvalue
|
|
38
|
-
// if (this.chipSelectedObj.length > 0) {
|
|
39
|
-
// for (let foundemp of this.chipSelectedObj) {
|
|
40
|
-
// if (this.InputFields?.Outputkey) {
|
|
41
|
-
// this.chipSelectedId.push(foundemp[this.InputFields?.Outputkey])
|
|
42
|
-
// }
|
|
43
|
-
// else {
|
|
44
|
-
// this.chipSelectedId.push(foundemp.id)
|
|
45
|
-
// }
|
|
46
|
-
// }
|
|
47
|
-
// this.selected()
|
|
48
|
-
// }
|
|
49
|
-
// }
|
|
50
|
-
// if (this.InputFields?.fronentdata) {
|
|
51
|
-
// this.Dropdowndata = this.InputFields?.data
|
|
52
|
-
// }
|
|
53
|
-
// else {
|
|
54
|
-
// this.getdropdown('')
|
|
55
|
-
// }
|
|
56
|
-
};
|
|
57
|
-
VsChipddCmpComponent.prototype.looop = function () {
|
|
58
|
-
var e_1, _a;
|
|
59
|
-
var _b, _c, _d, _e;
|
|
60
|
-
try {
|
|
61
|
-
for (var _f = __values(this.chipSelectedObj), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
62
|
-
var foundemp = _g.value;
|
|
63
|
-
if (!(foundemp instanceof Number)) {
|
|
64
|
-
if ((_b = this.InputFields) === null || _b === void 0 ? void 0 : _b.Outputkey) {
|
|
65
|
-
this.chipSelectedId.push(foundemp[(_c = this.InputFields) === null || _c === void 0 ? void 0 : _c.Outputkey]);
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
this.chipSelectedId.push(foundemp.id);
|
|
69
|
-
}
|
|
70
|
-
if ((_d = this.InputFields) === null || _d === void 0 ? void 0 : _d.formkey) {
|
|
71
|
-
this.formkeyarr.push(foundemp[(_e = this.InputFields) === null || _e === void 0 ? void 0 : _e.formkey]);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
77
|
-
finally {
|
|
78
|
-
try {
|
|
79
|
-
if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
|
|
80
|
-
}
|
|
81
|
-
finally { if (e_1) throw e_1.error; }
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
VsChipddCmpComponent.prototype.dupngonit = function () {
|
|
85
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
86
|
-
if (this.formGroup) {
|
|
87
|
-
this.DropdownForm = this.formGroup;
|
|
88
|
-
if (!this.DropdownForm.contains((_a = this.InputFields) === null || _a === void 0 ? void 0 : _a.formcontrolname)) {
|
|
89
|
-
this.DropdownForm.addControl(this.dynamciformcontrolparent(), new FormControl({ value: [], disabled: (_b = this.InputFields) === null || _b === void 0 ? void 0 : _b.disabled }));
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
((_c = this.InputFields) === null || _c === void 0 ? void 0 : _c.disabled) ? this.DropdownForm.get('chipvalue').disable() : '';
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
this.DropdownForm = this.fb.group({
|
|
97
|
-
chipvalue: [], disabled: (_d = this.InputFields) === null || _d === void 0 ? void 0 : _d.disabled
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
console.log('this.DropdownForm', this.DropdownForm.value);
|
|
101
|
-
// this.chipSelectedObj =
|
|
102
|
-
// this.DropdownForm.get(this.dynamciformcontrolparent()).value &&
|
|
103
|
-
// this.DropdownForm.get(this.dynamciformcontrolparent()).value.length !== 0
|
|
104
|
-
// ? this.DropdownForm.get(this.dynamciformcontrolparent()).value
|
|
105
|
-
// : [];
|
|
106
|
-
// console.log('this.chipSelectedObj', this.chipSelectedObj);
|
|
107
|
-
if ((_e = this.InputFields) === null || _e === void 0 ? void 0 : _e.defaultvalue) {
|
|
108
|
-
// this.DropdownForm.get(this.dynamciformcontrolparent()).patchValue(
|
|
109
|
-
// this.InputFields?.formkey
|
|
110
|
-
// ? this.InputFields?.defaultvalue[this.InputFields?.formkey]
|
|
111
|
-
// : this.InputFields?.defaultvalue
|
|
112
|
-
// );
|
|
113
|
-
// this.DropdownForm.get(this.dynamciformcontrolparent()).patchValue(this.InputFields?.defaultvalue);
|
|
114
|
-
this.chipSelectedObj = (_f = this.InputFields) === null || _f === void 0 ? void 0 : _f.defaultvalue;
|
|
115
|
-
this.chipSelectedId = [];
|
|
116
|
-
this.formkeyarr = [];
|
|
117
|
-
if (this.chipSelectedObj.length > 0) {
|
|
118
|
-
this.looop();
|
|
119
|
-
this.selected();
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
if (this.DropdownForm.get(this.dynamciformcontrolparent()).value &&
|
|
123
|
-
this.DropdownForm.get(this.dynamciformcontrolparent()).value.length !== 0) {
|
|
124
|
-
this.chipSelectedObj = this.DropdownForm.get(this.dynamciformcontrolparent()).value;
|
|
125
|
-
console.log('test', this.chipSelectedObj = this.DropdownForm.get(this.dynamciformcontrolparent()).value);
|
|
126
|
-
this.chipSelectedId = [];
|
|
127
|
-
this.formkeyarr = [];
|
|
128
|
-
this.looop();
|
|
129
|
-
this.selected();
|
|
130
|
-
}
|
|
131
|
-
if ((_g = this.InputFields) === null || _g === void 0 ? void 0 : _g.fronentdata) {
|
|
132
|
-
this.Dropdowndata = (_h = this.InputFields) === null || _h === void 0 ? void 0 : _h.data;
|
|
133
|
-
}
|
|
134
|
-
this.dropdownsearch();
|
|
135
|
-
// else {
|
|
136
|
-
// this.getdropdown('')
|
|
137
|
-
// }
|
|
138
|
-
};
|
|
139
|
-
VsChipddCmpComponent.prototype.ngOnChanges = function (changes) {
|
|
140
|
-
if (changes.InputFields && changes.InputFields.currentValue) {
|
|
141
|
-
console.log('Summary Log Changes');
|
|
142
|
-
this.currentpage = 1;
|
|
143
|
-
this.dupngonit();
|
|
144
|
-
}
|
|
145
|
-
if (changes.ResetForm && changes.ResetForm.currentValue) {
|
|
146
|
-
console.log('hitted');
|
|
147
|
-
// this.DropdownForm.reset();
|
|
148
|
-
this.currentpage = 1;
|
|
149
|
-
this.dupngonit();
|
|
150
|
-
this.chipSelectedId = [];
|
|
151
|
-
this.formkeyarr = [];
|
|
152
|
-
this.chipSelectedObj = [];
|
|
153
|
-
this.dataEvent.emit([]);
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
// public displaydevelopclient(clt: any, key: string) {
|
|
157
|
-
// return key[clt];
|
|
158
|
-
// }
|
|
159
|
-
VsChipddCmpComponent.prototype.autocompleteAppScroll = function () {
|
|
160
|
-
var _this = this;
|
|
161
|
-
var _a;
|
|
162
|
-
if (!((_a = this.InputFields) === null || _a === void 0 ? void 0 : _a.fronentdata)) {
|
|
163
|
-
setTimeout(function () {
|
|
164
|
-
if (_this.matAutocompleteApp &&
|
|
165
|
-
_this.autocompleteTrigger &&
|
|
166
|
-
_this.matAutocompleteApp.panel) {
|
|
167
|
-
fromEvent(_this.matAutocompleteApp.panel.nativeElement, 'scroll')
|
|
168
|
-
.pipe(map(function (x) { return _this.matAutocompleteApp.panel.nativeElement.scrollTop; }), takeUntil(_this.autocompleteTrigger.panelClosingActions))
|
|
169
|
-
.subscribe(function (x) {
|
|
170
|
-
var scrollTop = _this.matAutocompleteApp.panel.nativeElement.scrollTop;
|
|
171
|
-
var scrollHeight = _this.matAutocompleteApp.panel.nativeElement.scrollHeight;
|
|
172
|
-
var elementHeight = _this.matAutocompleteApp.panel.nativeElement.clientHeight;
|
|
173
|
-
var atBottom = scrollHeight - 1 <= scrollTop + elementHeight;
|
|
174
|
-
if (atBottom) {
|
|
175
|
-
if (_this.has_next === true) {
|
|
176
|
-
var value = _this.DropInput.nativeElement.value;
|
|
177
|
-
var params = _this.searchparams(value);
|
|
178
|
-
_this.currentpage = _this.currentpage + 1;
|
|
179
|
-
if (_this.currentpage > 1) {
|
|
180
|
-
_this.service
|
|
181
|
-
.GetApi(_this.InputFields.url + '?page=' + _this.currentpage, params)
|
|
182
|
-
.subscribe(function (results) {
|
|
183
|
-
var datas = results['data'];
|
|
184
|
-
var datapagination = results['pagination'];
|
|
185
|
-
_this.Dropdowndata = _this.Dropdowndata.concat(datas);
|
|
186
|
-
console.log('this.Dropdowndata', _this.Dropdowndata);
|
|
187
|
-
if (_this.Dropdowndata.length >= 0) {
|
|
188
|
-
_this.has_next = datapagination.has_next;
|
|
189
|
-
_this.has_previous = datapagination.has_previous;
|
|
190
|
-
_this.currentpage = datapagination.index;
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
};
|
|
201
|
-
VsChipddCmpComponent.prototype.dropdownsearch = function () {
|
|
202
|
-
var _this = this;
|
|
203
|
-
var _a, _b;
|
|
204
|
-
var controlName = this.dynamciformcontrolparent();
|
|
205
|
-
var control = this.DropdownForm.get(controlName);
|
|
206
|
-
if (control) {
|
|
207
|
-
if (!((_a = this.InputFields) === null || _a === void 0 ? void 0 : _a.fronentdata)) {
|
|
208
|
-
if (!((_b = this.InputFields) === null || _b === void 0 ? void 0 : _b.url)) {
|
|
209
|
-
return false;
|
|
210
|
-
}
|
|
211
|
-
this.DropdownForm.get(this.dynamciformcontrolparent())
|
|
212
|
-
.valueChanges.pipe(debounceTime(300), distinctUntilChanged(),
|
|
213
|
-
// tap(() => {
|
|
214
|
-
// this.DrodownLoading = true;
|
|
215
|
-
// console.log('inside tap');
|
|
216
|
-
// }),
|
|
217
|
-
switchMap(function (value) {
|
|
218
|
-
if (_this.isOptionSelected) {
|
|
219
|
-
_this.isOptionSelected = false;
|
|
220
|
-
return [];
|
|
221
|
-
}
|
|
222
|
-
var params = _this.searchparams(value);
|
|
223
|
-
_this.currentpage = 1;
|
|
224
|
-
console.log("hiteeeedddddddddddddd>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
|
|
225
|
-
return _this.service
|
|
226
|
-
.GetApi(_this.InputFields.url + '?page=' + _this.currentpage, params)
|
|
227
|
-
.pipe(finalize(function () {
|
|
228
|
-
_this.DrodownLoading = false;
|
|
229
|
-
}));
|
|
230
|
-
}))
|
|
231
|
-
.subscribe(function (results) {
|
|
232
|
-
_this.dataEvent.emit('');
|
|
233
|
-
var datas = results['data'];
|
|
234
|
-
_this.Dropdowndata = datas;
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
// this.Dropdowndata = this.InputFields?.data
|
|
239
|
-
this.DropdownForm.get(this.dynamciformcontrolparent()).valueChanges.subscribe(function (value) {
|
|
240
|
-
var _a;
|
|
241
|
-
_this.Dropdowndata = (_a = _this.InputFields) === null || _a === void 0 ? void 0 : _a.data.filter(function (item) { var _a, _b; return (_b = item[(_a = _this.InputFields) === null || _a === void 0 ? void 0 : _a.displaykey]) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(value === null || value === void 0 ? void 0 : value.toLowerCase()); });
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
// if (control && !this.InputFields?.fronentdata) {
|
|
246
|
-
// this.DropdownForm.get(this.dynamciformcontrolparent())
|
|
247
|
-
// .valueChanges.pipe(
|
|
248
|
-
// debounceTime(200),
|
|
249
|
-
// distinctUntilChanged(),
|
|
250
|
-
// tap(() => {
|
|
251
|
-
// this.DrodownLoading = true;
|
|
252
|
-
// console.log('inside tap');
|
|
253
|
-
// }),
|
|
254
|
-
// switchMap((value) => {
|
|
255
|
-
// let params = this.searchparams(value);
|
|
256
|
-
// this.currentpage = 1;
|
|
257
|
-
// return this.service
|
|
258
|
-
// .GetApi(
|
|
259
|
-
// this.InputFields.url + '?page=' + this.currentpage,
|
|
260
|
-
// params
|
|
261
|
-
// )
|
|
262
|
-
// .pipe(
|
|
263
|
-
// finalize(() => {
|
|
264
|
-
// this.DrodownLoading = false;
|
|
265
|
-
// })
|
|
266
|
-
// );
|
|
267
|
-
// })
|
|
268
|
-
// )
|
|
269
|
-
// .subscribe((results: any[]) => {
|
|
270
|
-
// let datas = results['data'];
|
|
271
|
-
// this.Dropdowndata = datas;
|
|
272
|
-
// });
|
|
273
|
-
// }
|
|
274
|
-
};
|
|
275
|
-
VsChipddCmpComponent.prototype.getdropdown = function (value) {
|
|
276
|
-
var _this = this;
|
|
277
|
-
this.currentpage = 1;
|
|
278
|
-
if (this.InputFields.url) {
|
|
279
|
-
var params = this.searchparams(value);
|
|
280
|
-
this.service
|
|
281
|
-
.GetApi(this.InputFields.url + '?page=' + this.currentpage, params)
|
|
282
|
-
.subscribe(function (results) {
|
|
283
|
-
var datas = results['data'];
|
|
284
|
-
var datapagination = results['pagination'];
|
|
285
|
-
_this.Dropdowndata = datas;
|
|
286
|
-
setTimeout(function () {
|
|
287
|
-
_this.trigger.openPanel();
|
|
288
|
-
}, 0);
|
|
289
|
-
if (_this.Dropdowndata.length >= 0) {
|
|
290
|
-
_this.has_next = datapagination.has_next;
|
|
291
|
-
_this.has_previous = datapagination.has_previous;
|
|
292
|
-
_this.currentpage = datapagination.index;
|
|
293
|
-
}
|
|
294
|
-
});
|
|
295
|
-
}
|
|
296
|
-
};
|
|
297
|
-
VsChipddCmpComponent.prototype.dynamciformcontrolparent = function () {
|
|
298
|
-
var _a, _b;
|
|
299
|
-
return ((_a = this.InputFields) === null || _a === void 0 ? void 0 : _a.formcontrolname) && this.formGroup
|
|
300
|
-
? (_b = this.InputFields) === null || _b === void 0 ? void 0 : _b.formcontrolname : 'chipvalue';
|
|
301
|
-
};
|
|
302
|
-
VsChipddCmpComponent.prototype.selected = function () {
|
|
303
|
-
var _a, _b;
|
|
304
|
-
this.Outputdata = this.chipSelectedObj;
|
|
305
|
-
if ((_a = this.InputFields) === null || _a === void 0 ? void 0 : _a.Outputkey) {
|
|
306
|
-
this.Outputdata = this.chipSelectedId;
|
|
307
|
-
}
|
|
308
|
-
if (this.formGroup && ((_b = this.InputFields) === null || _b === void 0 ? void 0 : _b.formcontrolname)) {
|
|
309
|
-
this.DropdownForm.get(this.dynamciformcontrolparent()).patchValue(this.formkeyarr);
|
|
310
|
-
}
|
|
311
|
-
console.log(this.formkeyarr);
|
|
312
|
-
console.log('this.DropdownForm.get', this.DropdownForm.value);
|
|
313
|
-
this.dataEvent.emit(this.Outputdata);
|
|
314
|
-
// let data = this.DropdownForm.value.value
|
|
315
|
-
// if (this.InputFields?.wholedata) {
|
|
316
|
-
// this.dataEvent.emit(this.chipSelectedObj);
|
|
317
|
-
// if (this.InputFields?.formgroup && this.InputFields?.formcontrolname) {
|
|
318
|
-
// this.InputFields?.formgroup
|
|
319
|
-
// .get(this.InputFields?.formcontrolname)
|
|
320
|
-
// .patchValue(this.chipSelectedObj);
|
|
321
|
-
// }
|
|
322
|
-
// }
|
|
323
|
-
// else {
|
|
324
|
-
// if (this.InputFields?.Outputkey) {
|
|
325
|
-
// this.dataEvent.emit(this.chipSelectedId);
|
|
326
|
-
// if (this.InputFields?.formgroup && this.InputFields?.formcontrolname) {
|
|
327
|
-
// this.InputFields?.formgroup
|
|
328
|
-
// .get(this.InputFields?.formcontrolname)
|
|
329
|
-
// .patchValue(this.chipSelectedId);
|
|
330
|
-
// }
|
|
331
|
-
// }
|
|
332
|
-
// else {
|
|
333
|
-
// this.dataEvent.emit(this.chipSelectedObj);
|
|
334
|
-
// if (this.InputFields?.formgroup && this.InputFields?.formcontrolname) {
|
|
335
|
-
// this.InputFields?.formgroup
|
|
336
|
-
// .get(this.InputFields?.formcontrolname)
|
|
337
|
-
// .patchValue(this.chipSelectedObj);
|
|
338
|
-
// }
|
|
339
|
-
// }
|
|
340
|
-
// }
|
|
341
|
-
};
|
|
342
|
-
VsChipddCmpComponent.prototype.searchparams = function (value) {
|
|
343
|
-
var params = '';
|
|
344
|
-
if (this.InputFields.params) {
|
|
345
|
-
params = this.InputFields.params;
|
|
346
|
-
}
|
|
347
|
-
var inpValue = value;
|
|
348
|
-
inpValue
|
|
349
|
-
? (params += '&' + this.InputFields.searchkey + '=' + inpValue)
|
|
350
|
-
: '';
|
|
351
|
-
return params;
|
|
352
|
-
};
|
|
353
|
-
VsChipddCmpComponent.prototype.removechip = function (obj) {
|
|
354
|
-
var index = this.chipSelectedObj.indexOf(obj);
|
|
355
|
-
if (index >= 0) {
|
|
356
|
-
this.chipSelectedObj.splice(index, 1);
|
|
357
|
-
console.log(this.chipSelectedObj);
|
|
358
|
-
this.chipSelectedId.splice(index, 1);
|
|
359
|
-
console.log(this.chipSelectedId);
|
|
360
|
-
this.formkeyarr.splice(index, 1);
|
|
361
|
-
console.log('this.formkeyarr', this.formkeyarr);
|
|
362
|
-
this.DropInput.nativeElement.value = '';
|
|
363
|
-
this.selected();
|
|
364
|
-
}
|
|
365
|
-
};
|
|
366
|
-
VsChipddCmpComponent.prototype.venSelected = function (datas) {
|
|
367
|
-
var data = !datas && datas === '' ? datas : datas.option.value;
|
|
368
|
-
this.isOptionSelected = true;
|
|
369
|
-
this.DropInput.nativeElement.value = '';
|
|
370
|
-
console.log('event.option.value', data);
|
|
371
|
-
this.selectvenByName(data[this.comparekey(data)]);
|
|
372
|
-
console.log('chipSelectedvenid', this.chipSelectedObj);
|
|
373
|
-
};
|
|
374
|
-
VsChipddCmpComponent.prototype.selectvenByName = function (ven) {
|
|
375
|
-
var _this = this;
|
|
376
|
-
var _a, _b, _c, _d;
|
|
377
|
-
var foundemp1 = this.chipSelectedObj.filter(function (e) { return e[_this.comparekey(e)] == ven; });
|
|
378
|
-
if (foundemp1.length) {
|
|
379
|
-
return;
|
|
380
|
-
}
|
|
381
|
-
var foundemp = this.Dropdowndata.filter(function (e) { return e[_this.comparekey(e)] == ven; });
|
|
382
|
-
if (foundemp.length) {
|
|
383
|
-
this.chipSelectedObj.push(foundemp[0]);
|
|
384
|
-
if ((_a = this.InputFields) === null || _a === void 0 ? void 0 : _a.Outputkey) {
|
|
385
|
-
this.chipSelectedId.push(foundemp[0][(_b = this.InputFields) === null || _b === void 0 ? void 0 : _b.Outputkey]);
|
|
386
|
-
}
|
|
387
|
-
else {
|
|
388
|
-
this.chipSelectedId.push(foundemp[0].id);
|
|
389
|
-
}
|
|
390
|
-
if ((_c = this.InputFields) === null || _c === void 0 ? void 0 : _c.formkey) {
|
|
391
|
-
this.formkeyarr.push(foundemp[0][(_d = this.InputFields) === null || _d === void 0 ? void 0 : _d.formkey]);
|
|
392
|
-
}
|
|
393
|
-
this.selected();
|
|
394
|
-
}
|
|
395
|
-
};
|
|
396
|
-
VsChipddCmpComponent.prototype.comparekey = function (e) {
|
|
397
|
-
var _a, _b;
|
|
398
|
-
if ((_a = this.InputFields) === null || _a === void 0 ? void 0 : _a.comparekey) {
|
|
399
|
-
return (_b = this.InputFields) === null || _b === void 0 ? void 0 : _b.comparekey;
|
|
400
|
-
}
|
|
401
|
-
else {
|
|
402
|
-
if (e === null || e === void 0 ? void 0 : e.id) {
|
|
403
|
-
return 'id';
|
|
404
|
-
}
|
|
405
|
-
else {
|
|
406
|
-
return this.InputFields.displaykey;
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
};
|
|
410
|
-
VsChipddCmpComponent.ctorParameters = function () { return [
|
|
411
|
-
{ type: VsChipdropdownService },
|
|
412
|
-
{ type: FormBuilder }
|
|
413
|
-
]; };
|
|
414
|
-
__decorate([
|
|
415
|
-
Input()
|
|
416
|
-
], VsChipddCmpComponent.prototype, "InputFields", void 0);
|
|
417
|
-
__decorate([
|
|
418
|
-
Input()
|
|
419
|
-
], VsChipddCmpComponent.prototype, "ResetForm", void 0);
|
|
420
|
-
__decorate([
|
|
421
|
-
Input()
|
|
422
|
-
], VsChipddCmpComponent.prototype, "Backendapi", void 0);
|
|
423
|
-
__decorate([
|
|
424
|
-
ViewChild('autoCompleteInput', {
|
|
425
|
-
static: false,
|
|
426
|
-
read: MatAutocompleteTrigger,
|
|
427
|
-
})
|
|
428
|
-
], VsChipddCmpComponent.prototype, "trigger", void 0);
|
|
429
|
-
__decorate([
|
|
430
|
-
ViewChild(MatAutocompleteTrigger)
|
|
431
|
-
], VsChipddCmpComponent.prototype, "autocompleteTrigger", void 0);
|
|
432
|
-
__decorate([
|
|
433
|
-
ViewChild('scrolll')
|
|
434
|
-
], VsChipddCmpComponent.prototype, "matAutocompleteApp", void 0);
|
|
435
|
-
__decorate([
|
|
436
|
-
Output()
|
|
437
|
-
], VsChipddCmpComponent.prototype, "dataEvent", void 0);
|
|
438
|
-
__decorate([
|
|
439
|
-
ViewChild('DropInput')
|
|
440
|
-
], VsChipddCmpComponent.prototype, "DropInput", void 0);
|
|
441
|
-
__decorate([
|
|
442
|
-
Input()
|
|
443
|
-
], VsChipddCmpComponent.prototype, "formGroup", void 0);
|
|
444
|
-
VsChipddCmpComponent = __decorate([
|
|
445
|
-
Component({
|
|
446
|
-
selector: 'lib-vs-chipdd-cmp',
|
|
447
|
-
template: "<div>\r\n <form [formGroup]=\"DropdownForm\" id=\"matChip-size\">\r\n <!-- class=\"mat-chipScroll\" -->\r\n <mat-form-field\r\n appearance=\"outline\"\r\n (click)=\"!this.InputFields?.fronentdata ? this.getdropdown('') : ''\"\r\n >\r\n <mat-label>{{ InputFields?.label | translate }}</mat-label>\r\n <!-- class=\"chip-container\" -->\r\n <mat-chip-list multiple #chipListvendor>\r\n <!-- class=\"mat-chipEx\" -->\r\n <mat-chip\r\n *ngFor=\"let obj of chipSelectedObj\"\r\n [removable]=\"true\"\r\n (removed)=\"removechip(obj)\"\r\n >\r\n {{ obj[InputFields?.displaykey] }}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n <!-- class=\"matformfieldinputstyle\" -->\r\n <input\r\n #DropInput\r\n [matAutocomplete]=\"scrolll\"\r\n [matChipInputFor]=\"chipListvendor\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorsKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n #autoCompleteInput=\"matAutocompleteTrigger\"\r\n [formControlName]=\"this.dynamciformcontrolparent()\"\r\n />\r\n </mat-chip-list>\r\n <mat-autocomplete\r\n #scrolll=\"matAutocomplete\"\r\n (opened)=\"autocompleteAppScroll()\"\r\n >\r\n <ng-container>\r\n <mat-option\r\n *ngFor=\"let dropvalues of Dropdowndata\"\r\n [value]=\"\r\n this.InputFields?.formkey\r\n ? dropvalues[this.InputFields?.formkey]\r\n : dropvalues\r\n \"\r\n (onSelectionChange)=\"venSelected(dropvalues)\"\r\n >\r\n {{ dropvalues[InputFields?.displaykey] }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </form>\r\n</div>\r\n<!-- (click)=\"selected()\"\r\n -->\r\n<!-- (optionSelected)=\"venSelected($event)\"\r\n -->\r\n",
|
|
448
|
-
styles: [""]
|
|
449
|
-
})
|
|
450
|
-
], VsChipddCmpComponent);
|
|
451
|
-
return VsChipddCmpComponent;
|
|
452
|
-
}());
|
|
453
|
-
export { VsChipddCmpComponent };
|
|
454
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnMtY2hpcGRkLWNtcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5uaWxvdWlzLm9yZy92cy1jaGlwZHJvcGRvd24vIiwic291cmNlcyI6WyJsaWIvdnMtY2hpcGRkLWNtcC92cy1jaGlwZGQtY21wLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLHNCQUFzQixHQUN2QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDTCxZQUFZLEVBQ1osb0JBQW9CLEVBR3BCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBb0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNckQ7SUFFRSw4QkFDVSxPQUE4QixFQUM5QixFQUFlO1FBRGYsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFDOUIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUloQixlQUFVLEdBQVksSUFBSSxDQUFDO1FBVzFCLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4RCx3QkFBbUIsR0FBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4RCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLGlCQUFZLEdB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RTsyREFBd0Q7SUFDekM7UUFBdkIsU0FBUyxDQUFDLFdBQVcsQ0FBQzsyREFBZ0I7SUFVOUI7UUFBUixLQUFLLEVBQUU7MkRBQXVCO0lBOUJwQixvQkFBb0I7UUFMaEMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixxK0RBQTZDOztTQUU5QyxDQUFDO09BQ1csb0JBQW9CLENBdWNoQztJQUFELDJCQUFDO0NBQUEsQUF2Y0QsSUF1Y0M7U0F2Y1ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50LFxyXG4gIE1hdEF1dG9jb21wbGV0ZSxcclxuICBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7XHJcbiAgZGVib3VuY2VUaW1lLFxyXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxyXG4gIHRhcCxcclxuICBmaWx0ZXIsXHJcbiAgc3dpdGNoTWFwLFxyXG4gIGZpbmFsaXplLFxyXG4gIHRha2VVbnRpbCxcclxuICBtYXAsXHJcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVnNDaGlwZHJvcGRvd25TZXJ2aWNlIH0gZnJvbSAnLi4vdnMtY2hpcGRyb3Bkb3duLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdnMtY2hpcGRkLWNtcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZzLWNoaXBkZC1jbXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ZzLWNoaXBkZC1jbXAuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZzQ2hpcGRkQ21wQ29tcG9uZW50IHtcclxuICBEcm9kb3duTG9hZGluZzogYm9vbGVhbjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VydmljZTogVnNDaGlwZHJvcGRvd25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXJcclxuICApIHt9XHJcbiAgQElucHV0KCkgSW5wdXRGaWVsZHM6IGFueTtcclxuICBASW5wdXQoKSBSZXNldEZvcm06IGFueTtcclxuICBASW5wdXQoKSBCYWNrZW5kYXBpOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnYXV0b0NvbXBsZXRlSW5wdXQnLCB7XHJcbiAgICBzdGF0aWM6IGZhbHNlLFxyXG4gICAgcmVhZDogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcixcclxuICB9KVxyXG4gIHRyaWdnZXI6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXI7XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcilcclxuICBhdXRvY29tcGxldGVUcmlnZ2VyOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xyXG4gIEBWaWV3Q2hpbGQoJ3Njcm9sbGwnKSBtYXRBdXRvY29tcGxldGVBcHA6IE1hdEF1dG9jb21wbGV0ZTtcclxuICBAT3V0cHV0KCkgZGF0YUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGQoJ0Ryb3BJbnB1dCcpIERyb3BJbnB1dDogYW55O1xyXG4gIHJlYWRvbmx5IHNlcGFyYXRvcnNLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCBDT01NQV07XHJcblxyXG4gIGhhc19uZXh0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgY3VycmVudHBhZ2U6IG51bWJlciA9IDE7XHJcbiAgRHJvcGRvd25kYXRhOiBhbnkgPSBbXTtcclxuICBoYXNfcHJldmlvdXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBEcm9wZG93bkZvcm06IEZvcm1Hcm91cDtcclxuICBjaGlwU2VsZWN0ZWRJZDogYW55ID0gW107XHJcbiAgY2hpcFNlbGVjdGVkT2JqOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvLyBpZiAodGhpcy5mb3JtR3JvdXApIHtcclxuICAgIC8vICAgdGhpcy5Ecm9wZG93bkZvcm0gPSB0aGlzLmZvcm1Hcm91cDtcclxuICAgIC8vIH0gZWxzZSB7XHJcbiAgICAvLyAgIHRoaXMuRHJvcGRvd25Gb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAvLyAgICAgdmFsdWU6ICcnLFxyXG4gICAgLy8gICB9KTtcclxuICAgIC8vIH1cclxuICAgIC8vIHRoaXMuZHVwbmdvbml0KCk7XHJcblxyXG4gICAgLy8gaWYgKHRoaXMuSW5wdXRGaWVsZHM/LmRlZmF1bHR2YWx1ZSkge1xyXG4gICAgLy8gICB0aGlzLkRyb3Bkb3duRm9ybS5nZXQoXCJ2YWx1ZVwiKS5wYXRjaFZhbHVlKHRoaXMuSW5wdXRGaWVsZHM/LmRlZmF1bHR2YWx1ZSlcclxuICAgIC8vICAgdGhpcy5jaGlwU2VsZWN0ZWRPYmogPSB0aGlzLklucHV0RmllbGRzPy5kZWZhdWx0dmFsdWVcclxuICAgIC8vICAgaWYgKHRoaXMuY2hpcFNlbGVjdGVkT2JqLmxlbmd0aCA+IDApIHtcclxuICAgIC8vICAgICBmb3IgKGxldCBmb3VuZGVtcCBvZiB0aGlzLmNoaXBTZWxlY3RlZE9iaikge1xyXG4gICAgLy8gICAgICAgaWYgKHRoaXMuSW5wdXRGaWVsZHM/Lk91dHB1dGtleSkge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmNoaXBTZWxlY3RlZElkLnB1c2goZm91bmRlbXBbdGhpcy5JbnB1dEZpZWxkcz8uT3V0cHV0a2V5XSlcclxuXHJcbiAgICAvLyAgICAgICB9XHJcbiAgICAvLyAgICAgICBlbHNlIHtcclxuICAgIC8vICAgICAgICAgdGhpcy5jaGlwU2VsZWN0ZWRJZC5wdXNoKGZvdW5kZW1wLmlkKVxyXG5cclxuICAgIC8vICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgdGhpcy5zZWxlY3RlZCgpXHJcbiAgICAvLyAgIH1cclxuXHJcbiAgICAvLyB9XHJcbiAgICAvLyBpZiAodGhpcy5JbnB1dEZpZWxkcz8uZnJvbmVudGRhdGEpIHtcclxuICAgIC8vICAgdGhpcy5Ecm9wZG93bmRhdGEgPSB0aGlzLklucHV0RmllbGRzPy5kYXRhXHJcblxyXG4gICAgLy8gfVxyXG4gICAgLy8gZWxzZSB7XHJcbiAgICAvLyAgIHRoaXMuZ2V0ZHJvcGRvd24oJycpXHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIGxvb29wKCkge1xyXG4gICAgZm9yIChsZXQgZm91bmRlbXAgb2YgdGhpcy5jaGlwU2VsZWN0ZWRPYmopIHtcclxuICAgICAgaWYoIShmb3VuZGVtcCBpbnN0YW5jZW9mIE51bWJlcikpe1xyXG4gICAgICAgIGlmICh0aGlzLklucHV0RmllbGRzPy5PdXRwdXRrZXkpIHtcclxuICAgICAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQucHVzaChmb3VuZGVtcFt0aGlzLklucHV0RmllbGRzPy5PdXRwdXRrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmNoaXBTZWxlY3RlZElkLnB1c2goZm91bmRlbXAuaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5JbnB1dEZpZWxkcz8uZm9ybWtleSkge1xyXG4gICAgICAgICAgdGhpcy5mb3Jta2V5YXJyLnB1c2goZm91bmRlbXBbdGhpcy5JbnB1dEZpZWxkcz8uZm9ybWtleV0pO1xyXG4gICAgICAgIH0gXHJcbiAgICAgIH1cclxuICAgICAgfVxyXG4gICAgIFxyXG4gIH1cclxuICBkdXBuZ29uaXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtR3JvdXApIHtcclxuICAgICAgdGhpcy5Ecm9wZG93bkZvcm0gPSB0aGlzLmZvcm1Hcm91cDtcclxuICAgICAgaWYgKCF0aGlzLkRyb3Bkb3duRm9ybS5jb250YWlucyh0aGlzLklucHV0RmllbGRzPy5mb3JtY29udHJvbG5hbWUpKSB7XHJcbiAgICAgICAgdGhpcy5Ecm9wZG93bkZvcm0uYWRkQ29udHJvbChcclxuICAgICAgICAgIHRoaXMuZHluYW1jaWZvcm1jb250cm9scGFyZW50KCksXHJcbiAgICAgICAgICBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogW10sIGRpc2FibGVkOiB0aGlzLklucHV0RmllbGRzPy5kaXNhYmxlZCB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZXtcclxuICAgICAgICB0aGlzLklucHV0RmllbGRzPy5kaXNhYmxlZCA/IHRoaXMuRHJvcGRvd25Gb3JtLmdldCgnY2hpcHZhbHVlJykuZGlzYWJsZSgpIDogJycgICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLkRyb3Bkb3duRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICAgIGNoaXB2YWx1ZTogW10sZGlzYWJsZWQ6IHRoaXMuSW5wdXRGaWVsZHM/LmRpc2FibGVkXHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLkRyb3Bkb3duRm9ybScsIHRoaXMuRHJvcGRvd25Gb3JtLnZhbHVlKTtcclxuICAgIC8vIHRoaXMuY2hpcFNlbGVjdGVkT2JqID1cclxuICAgIC8vICAgdGhpcy5Ecm9wZG93bkZvcm0uZ2V0KHRoaXMuZHluYW1jaWZvcm1jb250cm9scGFyZW50KCkpLnZhbHVlICYmXHJcbiAgICAvLyAgIHRoaXMuRHJvcGRvd25Gb3JtLmdldCh0aGlzLmR5bmFtY2lmb3JtY29udHJvbHBhcmVudCgpKS52YWx1ZS5sZW5ndGggIT09IDBcclxuICAgIC8vICAgICA/IHRoaXMuRHJvcGRvd25Gb3JtLmdldCh0aGlzLmR5bmFtY2lmb3JtY29udHJvbHBhcmVudCgpKS52YWx1ZVxyXG4gICAgLy8gICAgIDogW107XHJcbiAgICAvLyAgICAgY29uc29sZS5sb2coJ3RoaXMuY2hpcFNlbGVjdGVkT2JqJywgdGhpcy5jaGlwU2VsZWN0ZWRPYmopO1xyXG5cclxuICAgIGlmICh0aGlzLklucHV0RmllbGRzPy5kZWZhdWx0dmFsdWUpIHtcclxuICAgICAgLy8gdGhpcy5Ecm9wZG93bkZvcm0uZ2V0KHRoaXMuZHluYW1jaWZvcm1jb250cm9scGFyZW50KCkpLnBhdGNoVmFsdWUoXHJcbiAgICAgIC8vICAgdGhpcy5JbnB1dEZpZWxkcz8uZm9ybWtleVxyXG4gICAgICAvLyAgICAgPyB0aGlzLklucHV0RmllbGRzPy5kZWZhdWx0dmFsdWVbdGhpcy5JbnB1dEZpZWxkcz8uZm9ybWtleV1cclxuICAgICAgLy8gICAgIDogdGhpcy5JbnB1dEZpZWxkcz8uZGVmYXVsdHZhbHVlXHJcbiAgICAgIC8vICk7XHJcbiAgICAgIC8vIHRoaXMuRHJvcGRvd25Gb3JtLmdldCh0aGlzLmR5bmFtY2lmb3JtY29udHJvbHBhcmVudCgpKS5wYXRjaFZhbHVlKHRoaXMuSW5wdXRGaWVsZHM/LmRlZmF1bHR2YWx1ZSk7XHJcbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkT2JqID0gdGhpcy5JbnB1dEZpZWxkcz8uZGVmYXVsdHZhbHVlO1xyXG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZElkID0gW107XHJcbiAgICAgIHRoaXMuZm9ybWtleWFyciA9IFtdO1xyXG4gICAgICBpZiAodGhpcy5jaGlwU2VsZWN0ZWRPYmoubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMubG9vb3AoKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuRHJvcGRvd25Gb3JtLmdldCh0aGlzLmR5bmFtY2lmb3JtY29udHJvbHBhcmVudCgpKS52YWx1ZSAmJlxyXG4gICAgICB0aGlzLkRyb3Bkb3duRm9ybS5nZXQodGhpcy5keW5hbWNpZm9ybWNvbnRyb2xwYXJlbnQoKSkudmFsdWUubGVuZ3RoICE9PSAwXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5jaGlwU2VsZWN0ZWRPYmogPSB0aGlzLkRyb3Bkb3duRm9ybS5nZXQoXHJcbiAgICAgICAgdGhpcy5keW5hbWNpZm9ybWNvbnRyb2xwYXJlbnQoKVxyXG4gICAgICApLnZhbHVlO1xyXG4gICAgICBjb25zb2xlLmxvZygndGVzdCcsdGhpcy5jaGlwU2VsZWN0ZWRPYmogPSB0aGlzLkRyb3Bkb3duRm9ybS5nZXQoXHJcbiAgICAgICAgdGhpcy5keW5hbWNpZm9ybWNvbnRyb2xwYXJlbnQoKVxyXG4gICAgICApLnZhbHVlKVxyXG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZElkID0gW107XHJcbiAgICAgIHRoaXMuZm9ybWtleWFyciA9IFtdO1xyXG4gICAgICB0aGlzLmxvb29wKCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLklucHV0RmllbGRzPy5mcm9uZW50ZGF0YSkge1xyXG4gICAgICB0aGlzLkRyb3Bkb3duZGF0YSA9IHRoaXMuSW5wdXRGaWVsZHM/LmRhdGE7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRyb3Bkb3duc2VhcmNoKCk7XHJcbiAgICAvLyBlbHNlIHtcclxuICAgIC8vICAgdGhpcy5nZXRkcm9wZG93bignJylcclxuICAgIC8vIH1cclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMuSW5wdXRGaWVsZHMgJiYgY2hhbmdlcy5JbnB1dEZpZWxkcy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgY29uc29sZS5sb2coJ1N1bW1hcnkgTG9nIENoYW5nZXMnKTtcclxuICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IDE7XHJcbiAgICAgIHRoaXMuZHVwbmdvbml0KCk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlcy5SZXNldEZvcm0gJiYgY2hhbmdlcy5SZXNldEZvcm0uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdoaXR0ZWQnKTtcclxuICAgICAgLy8gdGhpcy5Ecm9wZG93bkZvcm0ucmVzZXQoKTtcclxuICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IDE7XHJcbiAgICAgIHRoaXMuZHVwbmdvbml0KCk7XHJcbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQgPSBbXTtcclxuICAgICAgdGhpcy5mb3Jta2V5YXJyID0gW107XHJcbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkT2JqID0gW107XHJcbiAgICAgIHRoaXMuZGF0YUV2ZW50LmVtaXQoW10pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBwdWJsaWMgZGlzcGxheWRldmVsb3BjbGllbnQoY2x0OiBhbnksIGtleTogc3RyaW5nKSB7XHJcbiAgLy8gICByZXR1cm4ga2V5W2NsdF07XHJcbiAgLy8gfVxyXG4gIGF1dG9jb21wbGV0ZUFwcFNjcm9sbCgpIHtcclxuICAgIGlmICghdGhpcy5JbnB1dEZpZWxkcz8uZnJvbmVudGRhdGEpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5tYXRBdXRvY29tcGxldGVBcHAgJiZcclxuICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVHJpZ2dlciAmJlxyXG4gICAgICAgICAgdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWxcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGZyb21FdmVudCh0aGlzLm1hdEF1dG9jb21wbGV0ZUFwcC5wYW5lbC5uYXRpdmVFbGVtZW50LCAnc2Nyb2xsJylcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgbWFwKCh4KSA9PiB0aGlzLm1hdEF1dG9jb21wbGV0ZUFwcC5wYW5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCksXHJcbiAgICAgICAgICAgICAgdGFrZVVudGlsKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyLnBhbmVsQ2xvc2luZ0FjdGlvbnMgYXMgT2JzZXJ2YWJsZTxhbnk+XHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBzY3JvbGxUb3AgPVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID1cclxuICAgICAgICAgICAgICAgIHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xyXG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRIZWlnaHQgPVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgICAgICAgY29uc3QgYXRCb3R0b20gPSBzY3JvbGxIZWlnaHQgLSAxIDw9IHNjcm9sbFRvcCArIGVsZW1lbnRIZWlnaHQ7XHJcbiAgICAgICAgICAgICAgaWYgKGF0Qm90dG9tKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNfbmV4dCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLkRyb3BJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgcGFyYW1zID0gdGhpcy5zZWFyY2hwYXJhbXModmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRwYWdlID0gdGhpcy5jdXJyZW50cGFnZSArIDE7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRwYWdlID4gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgICAgLkdldEFwaShcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5JbnB1dEZpZWxkcy51cmwgKyAnP3BhZ2U9JyArIHRoaXMuY3VycmVudHBhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1xyXG4gICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0czogYW55W10pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGFzID0gcmVzdWx0c1snZGF0YSddO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YXBhZ2luYXRpb24gPSByZXN1bHRzWydwYWdpbmF0aW9uJ107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuRHJvcGRvd25kYXRhID0gdGhpcy5Ecm9wZG93bmRhdGEuY29uY2F0KGRhdGFzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3RoaXMuRHJvcGRvd25kYXRhJywgdGhpcy5Ecm9wZG93bmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5Ecm9wZG93bmRhdGEubGVuZ3RoID49IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc19uZXh0ID0gZGF0YXBhZ2luYXRpb24uaGFzX25leHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNfcHJldmlvdXMgPSBkYXRhcGFnaW5hdGlvbi5oYXNfcHJldmlvdXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IGRhdGFwYWdpbmF0aW9uLmluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgaXNPcHRpb25TZWxlY3RlZDpib29sZWFuPWZhbHNlXHJcbiAgZHJvcGRvd25zZWFyY2goKSB7XHJcbiAgICBjb25zdCBjb250cm9sTmFtZSA9IHRoaXMuZHluYW1jaWZvcm1jb250cm9scGFyZW50KCk7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5Ecm9wZG93bkZvcm0uZ2V0KGNvbnRyb2xOYW1lKTtcclxuICAgIGlmIChjb250cm9sIFxyXG4gICAgXHJcbiAgICAgXHJcbiAgICApIHtcclxuICAgICAgaWYgKCF0aGlzLklucHV0RmllbGRzPy5mcm9uZW50ZGF0YSkge1xyXG4gICAgICAgIGlmICghdGhpcy5JbnB1dEZpZWxkcz8udXJsKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuRHJvcGRvd25Gb3JtLmdldCh0aGlzLmR5bmFtY2lmb3JtY29udHJvbHBhcmVudCgpKVxyXG4gICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgLy8gdGFwKCgpID0+IHtcclxuICAgICAgICAgICAgLy8gICB0aGlzLkRyb2Rvd25Mb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZygnaW5zaWRlIHRhcCcpO1xyXG4gICAgICAgICAgICAvLyB9KSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmKHRoaXMuaXNPcHRpb25TZWxlY3RlZCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3B0aW9uU2VsZWN0ZWQ9ZmFsc2VcclxuICAgICAgICAgICAgICAgIHJldHVybiBbXVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBsZXQgcGFyYW1zID0gdGhpcy5zZWFyY2hwYXJhbXModmFsdWUpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudHBhZ2UgPSAxO1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaGl0ZWVlZWRkZGRkZGRkZGRkZGRkPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+XCIpXHJcblxyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcclxuICAgICAgICAgICAgICAgIC5HZXRBcGkoXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuSW5wdXRGaWVsZHMudXJsICsgJz9wYWdlPScgKyB0aGlzLmN1cnJlbnRwYWdlLFxyXG4gICAgICAgICAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkRyb2Rvd25Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0czogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YUV2ZW50LmVtaXQoJycpO1xyXG5cclxuICAgICAgICAgICAgbGV0IGRhdGFzID0gcmVzdWx0c1snZGF0YSddO1xyXG4gICAgICAgICAgICB0aGlzLkRyb3Bkb3duZGF0YSA9IGRhdGFzO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gICAgICAgICB0aGlzLkRyb3Bkb3duZGF0YSA9IHRoaXMuSW5wdXRGaWVsZHM/LmRhdGFcclxuXHJcbiAgICAgICAgdGhpcy5Ecm9wZG93bkZvcm0uZ2V0KHRoaXMuZHluYW1jaWZvcm1jb250cm9scGFyZW50KCkpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Ecm9wZG93bmRhdGEgPSB0aGlzLklucHV0RmllbGRzPy5kYXRhLmZpbHRlcigoaXRlbSkgPT5cclxuICAgICAgICAgICAgICBpdGVtW3RoaXMuSW5wdXRGaWVsZHM/LmRpc3BsYXlrZXldXHJcbiAgICAgICAgICAgICAgICA/LnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAgIC5pbmNsdWRlcyh2YWx1ZT8udG9Mb3dlckNhc2UoKSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBpZiAoY29udHJvbCAmJiAhdGhpcy5JbnB1dEZpZWxkcz8uZnJvbmVudGRhdGEpIHtcclxuICAgIC8vICAgdGhpcy5Ecm9wZG93bkZvcm0uZ2V0KHRoaXMuZHluYW1jaWZvcm1jb250cm9scGFyZW50KCkpXHJcbiAgICAvLyAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgLy8gICAgICAgZGVib3VuY2VUaW1lKDIwMCksXHJcbiAgICAvLyAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgLy8gICAgICAgdGFwKCgpID0+IHtcclxuICAgIC8vICAgICAgICAgdGhpcy5Ecm9kb3duTG9hZGluZyA9IHRydWU7XHJcbiAgICAvLyAgICAgICAgIGNvbnNvbGUubG9nKCdpbnNpZGUgdGFwJyk7XHJcbiAgICAvLyAgICAgICB9KSxcclxuICAgIC8vICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHtcclxuICAgIC8vICAgICAgICAgbGV0IHBhcmFtcyA9IHRoaXMuc2VhcmNocGFyYW1zKHZhbHVlKTtcclxuICAgIC8vICAgICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IDE7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcclxuICAgIC8vICAgICAgICAgICAuR2V0QXBpKFxyXG4gICAgLy8gICAgICAgICAgICAgdGhpcy5JbnB1dEZpZWxkcy51cmwgKyAnP3BhZ2U9JyArIHRoaXMuY3VycmVudHBhZ2UsXHJcbiAgICAvLyAgICAgICAgICAgICBwYXJhbXNcclxuICAgIC8vICAgICAgICAgICApXHJcbiAgICAvLyAgICAgICAgICAgLnBpcGUoXHJcbiAgICAvLyAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAvLyAgICAgICAgICAgICAgIHRoaXMuRHJvZG93bkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIC8vICAgICAgICAgICAgIH0pXHJcbiAgICAvLyAgICAgICAgICAgKTtcclxuICAgIC8vICAgICAgIH0pXHJcbiAgICAvLyAgICAgKVxyXG4gICAgLy8gICAgIC5zdWJzY3JpYmUoKHJlc3VsdHM6IGFueVtdKSA9PiB7XHJcbiAgICAvLyAgICAgICBsZXQgZGF0YXMgPSByZXN1bHRzWydkYXRhJ107XHJcbiAgICAvLyAgICAgICB0aGlzLkRyb3Bkb3duZGF0YSA9IGRhdGFzO1xyXG4gICAgLy8gICAgIH0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuICBnZXRkcm9wZG93bih2YWx1ZSkge1xyXG5cclxuICAgIHRoaXMuY3VycmVudHBhZ2UgPSAxO1xyXG4gICAgaWYgKCB0aGlzLklucHV0RmllbGRzLnVybCkge1xyXG4gICAgICBsZXQgcGFyYW1zID0gdGhpcy5zZWFyY2hwYXJhbXModmFsdWUpO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuR2V0QXBpKHRoaXMuSW5wdXRGaWVsZHMudXJsICsgJz9wYWdlPScgKyB0aGlzLmN1cnJlbnRwYWdlLCBwYXJhbXMpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0czogYW55W10pID0+IHtcclxuICAgICAgICAgIGxldCBkYXRhcyA9IHJlc3VsdHNbJ2RhdGEnXTtcclxuICAgICAgICAgIGxldCBkYXRhcGFnaW5hdGlvbiA9IHJlc3VsdHNbJ3BhZ2luYXRpb24nXTtcclxuICAgICAgICAgIHRoaXMuRHJvcGRvd25kYXRhID0gZGF0YXM7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50cmlnZ2VyLm9wZW5QYW5lbCgpO1xyXG4gICAgICAgICAgfSwgMCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5Ecm9wZG93bmRhdGEubGVuZ3RoID49IDApIHtcclxuICAgICAgICAgICAgdGhpcy5oYXNfbmV4dCA9IGRhdGFwYWdpbmF0aW9uLmhhc19uZXh0O1xyXG4gICAgICAgICAgICB0aGlzLmhhc19wcmV2aW91cyA9IGRhdGFwYWdpbmF0aW9uLmhhc19wcmV2aW91cztcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IGRhdGFwYWdpbmF0aW9uLmluZGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBPdXRwdXRkYXRhOiBhbnkgPSBbXTtcclxuICBkeW5hbWNpZm9ybWNvbnRyb2xwYXJlbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5JbnB1dEZpZWxkcz8uZm9ybWNvbnRyb2xuYW1lICYmIHRoaXMuZm9ybUdyb3VwXHJcbiAgICAgID8gdGhpcy5JbnB1dEZpZWxkcz8uZm9ybWNvbnRyb2xuYW1lXHJcbiAgICAgIDogJ2NoaXB2YWx1ZSc7XHJcbiAgfVxyXG4gIHNlbGVjdGVkKCkge1xyXG4gICAgdGhpcy5PdXRwdXRkYXRhID0gdGhpcy5jaGlwU2VsZWN0ZWRPYmo7XHJcbiAgICBpZiAodGhpcy5JbnB1dEZpZWxkcz8uT3V0cHV0a2V5KSB7XHJcbiAgICAgIHRoaXMuT3V0cHV0ZGF0YSA9IHRoaXMuY2hpcFNlbGVjdGVkSWQ7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAgJiYgdGhpcy5JbnB1dEZpZWxkcz8uZm9ybWNvbnRyb2xuYW1lKSB7XHJcbiAgICAgIHRoaXMuRHJvcGRvd25Gb3JtLmdldCh0aGlzLmR5bmFtY2lmb3JtY29udHJvbHBhcmVudCgpKS5wYXRjaFZhbHVlKFxyXG4gICAgICAgIHRoaXMuZm9ybWtleWFyclxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2codGhpcy5mb3Jta2V5YXJyKTtcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLkRyb3Bkb3duRm9ybS5nZXQnLCB0aGlzLkRyb3Bkb3duRm9ybS52YWx1ZSk7XHJcbiAgICB0aGlzLmRhdGFFdmVudC5lbWl0KHRoaXMuT3V0cHV0ZGF0YSk7XHJcblxyXG4gICAgLy8gbGV0IGRhdGEgPSB0aGlzLkRyb3Bkb3duRm9ybS52YWx1ZS52YWx1ZVxyXG4gICAgLy8gaWYgKHRoaXMuSW5wdXRGaWVsZHM/Lndob2xlZGF0YSkge1xyXG4gICAgLy8gICB0aGlzLmRhdGFFdmVudC5lbWl0KHRoaXMuY2hpcFNlbGVjdGVkT2JqKTtcclxuICAgIC8vICAgaWYgKHRoaXMuSW5wdXRGaWVsZHM/LmZvcm1ncm91cCAmJiB0aGlzLklucHV0RmllbGRzPy5mb3JtY29udHJvbG5hbWUpIHtcclxuICAgIC8vICAgICB0aGlzLklucHV0RmllbGRzPy5mb3JtZ3JvdXBcclxuICAgIC8vICAgICAgIC5nZXQodGhpcy5JbnB1dEZpZWxkcz8uZm9ybWNvbnRyb2xuYW1lKVxyXG4gICAgLy8gICAgICAgLnBhdGNoVmFsdWUodGhpcy5jaGlwU2VsZWN0ZWRPYmopO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyBlbHNlIHtcclxuICAgIC8vICAgaWYgKHRoaXMuSW5wdXRGaWVsZHM/Lk91dHB1dGtleSkge1xyXG4gICAgLy8gICAgIHRoaXMuZGF0YUV2ZW50LmVtaXQodGhpcy5jaGlwU2VsZWN0ZWRJZCk7XHJcbiAgICAvLyAgICAgaWYgKHRoaXMuSW5wdXRGaWVsZHM/LmZvcm1ncm91cCAmJiB0aGlzLklucHV0RmllbGRzPy5mb3JtY29udHJvbG5hbWUpIHtcclxuICAgIC8vICAgICAgIHRoaXMuSW5wdXRGaWVsZHM/LmZvcm1ncm91cFxyXG4gICAgLy8gICAgICAgICAuZ2V0KHRoaXMuSW5wdXRGaWVsZHM/LmZvcm1jb250cm9sbmFtZSlcclxuICAgIC8vICAgICAgICAgLnBhdGNoVmFsdWUodGhpcy5jaGlwU2VsZWN0ZWRJZCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGVsc2Uge1xyXG4gICAgLy8gICAgIHRoaXMuZGF0YUV2ZW50LmVtaXQodGhpcy5jaGlwU2VsZWN0ZWRPYmopO1xyXG4gICAgLy8gICAgIGlmICh0aGlzLklucHV0RmllbGRzPy5mb3JtZ3JvdXAgJiYgdGhpcy5JbnB1dEZpZWxkcz8uZm9ybWNvbnRyb2xuYW1lKSB7XHJcbiAgICAvLyAgICAgICB0aGlzLklucHV0RmllbGRzPy5mb3JtZ3JvdXBcclxuICAgIC8vICAgICAgICAgLmdldCh0aGlzLklucHV0RmllbGRzPy5mb3JtY29udHJvbG5hbWUpXHJcbiAgICAvLyAgICAgICAgIC5wYXRjaFZhbHVlKHRoaXMuY2hpcFNlbGVjdGVkT2JqKTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH1cclxuXHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIHNlYXJjaHBhcmFtcyh2YWx1ZSkge1xyXG4gICAgbGV0IHBhcmFtcyA9ICcnO1xyXG4gICAgaWYgKHRoaXMuSW5wdXRGaWVsZHMucGFyYW1zKSB7XHJcbiAgICAgIHBhcmFtcyA9IHRoaXMuSW5wdXRGaWVsZHMucGFyYW1zO1xyXG4gICAgfVxyXG4gICAgbGV0IGlucFZhbHVlID0gdmFsdWU7XHJcbiAgICBpbnBWYWx1ZVxyXG4gICAgICA/IChwYXJhbXMgKz0gJyYnICsgdGhpcy5JbnB1dEZpZWxkcy5zZWFyY2hrZXkgKyAnPScgKyBpbnBWYWx1ZSlcclxuICAgICAgOiAnJztcclxuICAgIHJldHVybiBwYXJhbXM7XHJcbiAgfVxyXG4gIHJlbW92ZWNoaXAob2JqKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY2hpcFNlbGVjdGVkT2JqLmluZGV4T2Yob2JqKTtcclxuXHJcbiAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZE9iai5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmNoaXBTZWxlY3RlZE9iaik7XHJcbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgY29uc29sZS5sb2codGhpcy5jaGlwU2VsZWN0ZWRJZCk7XHJcbiAgICAgIHRoaXMuZm9ybWtleWFyci5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBjb25zb2xlLmxvZygndGhpcy5mb3Jta2V5YXJyJywgdGhpcy5mb3Jta2V5YXJyKTtcclxuXHJcbiAgICAgIHRoaXMuRHJvcElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgICAgdGhpcy5zZWxlY3RlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBmb3Jta2V5YXJyOmFueT1bXVxyXG4gIHB1YmxpYyB2ZW5TZWxlY3RlZChkYXRhcyk6IHZvaWQge1xyXG4gICAgbGV0IGRhdGE9IWRhdGFzICYmIGRhdGFzPT09JycgID8gZGF0YXMgOmRhdGFzLm9wdGlvbi52YWx1ZVxyXG4gICAgdGhpcy5pc09wdGlvblNlbGVjdGVkPXRydWVcclxuICAgIHRoaXMuRHJvcElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgIGNvbnNvbGUubG9nKCdldmVudC5vcHRpb24udmFsdWUnLCBkYXRhKTtcclxuICAgIHRoaXMuc2VsZWN0dmVuQnlOYW1lKFxyXG4gICAgICBkYXRhW3RoaXMuY29tcGFyZWtleShkYXRhKV1cclxuICAgICk7XHJcbiAgICBjb25zb2xlLmxvZygnY2hpcFNlbGVjdGVkdmVuaWQnLCB0aGlzLmNoaXBTZWxlY3RlZE9iaik7XHJcbiAgfVxyXG4gIHByaXZhdGUgc2VsZWN0dmVuQnlOYW1lKHZlbikge1xyXG4gICAgbGV0IGZvdW5kZW1wMSA9IHRoaXMuY2hpcFNlbGVjdGVkT2JqLmZpbHRlcihcclxuICAgICAgKGUpID0+IGVbdGhpcy5jb21wYXJla2V5KGUpXSA9PSB2ZW5cclxuICAgICk7XHJcbiAgICBpZiAoZm91bmRlbXAxLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgZm91bmRlbXAgPSB0aGlzLkRyb3Bkb3duZGF0YS5maWx0ZXIoXHJcbiAgICAgIChlKSA9PiBlW3RoaXMuY29tcGFyZWtleShlKV0gPT0gdmVuXHJcbiAgICApO1xyXG4gICAgaWYgKGZvdW5kZW1wLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZE9iai5wdXNoKGZvdW5kZW1wWzBdKTtcclxuICAgICAgaWYgKHRoaXMuSW5wdXRGaWVsZHM/Lk91dHB1dGtleSkge1xyXG4gICAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQucHVzaChmb3VuZGVtcFswXVt0aGlzLklucHV0RmllbGRzPy5PdXRwdXRrZXldKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmNoaXBTZWxlY3RlZElkLnB1c2goZm91bmRlbXBbMF0uaWQpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLklucHV0RmllbGRzPy5mb3Jta2V5KSB7XHJcbiAgICAgICAgdGhpcy5mb3Jta2V5YXJyLnB1c2goZm91bmRlbXBbMF1bdGhpcy5JbnB1dEZpZWxkcz8uZm9ybWtleV0pO1xyXG4gICAgICB9IFxyXG4gICAgICB0aGlzLnNlbGVjdGVkKClcclxuICAgIH1cclxuICB9XHJcbiAgY29tcGFyZWtleShlKSB7XHJcbiAgICBpZiAodGhpcy5JbnB1dEZpZWxkcz8uY29tcGFyZWtleSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5JbnB1dEZpZWxkcz8uY29tcGFyZWtleTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChlPy5pZCkge1xyXG4gICAgICAgIHJldHVybiAnaWQnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLklucHV0RmllbGRzLmRpc3BsYXlrZXk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
var VsChipdropdownComponent = /** @class */ (function () {
|
|
4
|
-
function VsChipdropdownComponent() {
|
|
5
|
-
}
|
|
6
|
-
VsChipdropdownComponent.prototype.ngOnInit = function () {
|
|
7
|
-
};
|
|
8
|
-
VsChipdropdownComponent = __decorate([
|
|
9
|
-
Component({
|
|
10
|
-
selector: 'lib-vs-chipdropdown',
|
|
11
|
-
template: "\n <p>\n vs-chipdropdown works!\n </p>\n "
|
|
12
|
-
})
|
|
13
|
-
], VsChipdropdownComponent);
|
|
14
|
-
return VsChipdropdownComponent;
|
|
15
|
-
}());
|
|
16
|
-
export { VsChipdropdownComponent };
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnMtY2hpcGRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bm5pbG91aXMub3JnL3ZzLWNoaXBkcm9wZG93bi8iLCJzb3VyY2VzIjpbImxpYi92cy1jaGlwZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBWWxEO0lBRUU7SUFBZ0IsQ0FBQztJQUVqQiwwQ0FBUSxHQUFSO0lBQ0EsQ0FBQztJQUxVLHVCQUF1QjtRQVZuQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLFFBQVEsRUFBRSx1REFJVDtTQUdGLENBQUM7T0FDVyx1QkFBdUIsQ0FPbkM7SUFBRCw4QkFBQztDQUFBLEFBUEQsSUFPQztTQVBZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12cy1jaGlwZHJvcGRvd24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8cD5cclxuICAgICAgdnMtY2hpcGRyb3Bkb3duIHdvcmtzIVxyXG4gICAgPC9wPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVnNDaGlwZHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { VsChipdropdownComponent } from './vs-chipdropdown.component';
|
|
4
|
-
import { VsChipddCmpComponent } from './vs-chipdd-cmp/vs-chipdd-cmp.component';
|
|
5
|
-
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
6
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
-
import { MatInputModule } from '@angular/material/input';
|
|
8
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
9
|
-
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
10
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
11
|
-
import { CommonModule } from '@angular/common';
|
|
12
|
-
import { MatGridListModule } from '@angular/material/grid-list';
|
|
13
|
-
import { MatChipsModule } from '@angular/material/chips';
|
|
14
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
15
|
-
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
16
|
-
import { HttpClientModule, HttpClient } from '@angular/common/http';
|
|
17
|
-
// import {VsSharedModuleModule} from '@unnilouis.org/vs-shared-module'
|
|
18
|
-
var VsChipdropdownModule = /** @class */ (function () {
|
|
19
|
-
function VsChipdropdownModule() {
|
|
20
|
-
}
|
|
21
|
-
VsChipdropdownModule = __decorate([
|
|
22
|
-
NgModule({
|
|
23
|
-
declarations: [VsChipdropdownComponent, VsChipddCmpComponent],
|
|
24
|
-
imports: [MatFormFieldModule, MatInputModule, MatSelectModule, MatAutocompleteModule, FormsModule, ReactiveFormsModule, CommonModule, MatGridListModule, MatChipsModule, MatIconModule,
|
|
25
|
-
TranslateModule,
|
|
26
|
-
HttpClientModule,
|
|
27
|
-
TranslateModule.forRoot({
|
|
28
|
-
loader: {
|
|
29
|
-
provide: TranslateLoader,
|
|
30
|
-
useFactory: httpTranslateLoader,
|
|
31
|
-
deps: [HttpClient],
|
|
32
|
-
},
|
|
33
|
-
}),],
|
|
34
|
-
// imports: [VsSharedModuleModule],
|
|
35
|
-
exports: [VsChipddCmpComponent]
|
|
36
|
-
})
|
|
37
|
-
], VsChipdropdownModule);
|
|
38
|
-
return VsChipdropdownModule;
|
|
39
|
-
}());
|
|
40
|
-
export { VsChipdropdownModule };
|
|
41
|
-
export function httpTranslateLoader(http) {
|
|
42
|
-
return new TranslateHttpLoader(http);
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnMtY2hpcGRyb3Bkb3duLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bm5pbG91aXMub3JnL3ZzLWNoaXBkcm9wZG93bi8iLCJzb3VyY2VzIjpbImxpYi92cy1jaGlwZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLHVFQUF1RTtBQWtCdkU7SUFBQTtJQUFvQyxDQUFDO0lBQXhCLG9CQUFvQjtRQWZoQyxRQUFRLENBQUM7WUFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxvQkFBb0IsQ0FBQztZQUM3RCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBQyxjQUFjLEVBQUMsZUFBZSxFQUFDLHFCQUFxQixFQUFDLFdBQVcsRUFBQyxtQkFBbUIsRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsY0FBYyxFQUFDLGFBQWE7Z0JBQzNLLGVBQWU7Z0JBQ2YsZ0JBQWdCO2dCQUNoQixlQUFlLENBQUMsT0FBTyxDQUFDO29CQUN0QixNQUFNLEVBQUU7d0JBQ04sT0FBTyxFQUFFLGVBQWU7d0JBQ3hCLFVBQVUsRUFBRSxtQkFBbUI7d0JBQy9CLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztxQkFDbkI7aUJBQ0YsQ0FBQyxFQUFFO1lBQ04sbUNBQW1DO1lBQ25DLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1NBQ2hDLENBQUM7T0FDVyxvQkFBb0IsQ0FBSTtJQUFELDJCQUFDO0NBQUEsQUFBckMsSUFBcUM7U0FBeEIsb0JBQW9CO0FBQ2pDLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFnQjtJQUNsRCxPQUFPLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZzQ2hpcGRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi92cy1jaGlwZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVnNDaGlwZGRDbXBDb21wb25lbnQgfSBmcm9tICcuL3ZzLWNoaXBkZC1jbXAvdnMtY2hpcGRkLWNtcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVIdHRwTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvaHR0cC1sb2FkZXInO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRHcmlkTGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2dyaWQtbGlzdCc7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbi8vIGltcG9ydCB7VnNTaGFyZWRNb2R1bGVNb2R1bGV9IGZyb20gJ0B1bm5pbG91aXMub3JnL3ZzLXNoYXJlZC1tb2R1bGUnXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtWc0NoaXBkcm9wZG93bkNvbXBvbmVudCwgVnNDaGlwZGRDbXBDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtNYXRGb3JtRmllbGRNb2R1bGUsTWF0SW5wdXRNb2R1bGUsTWF0U2VsZWN0TW9kdWxlLE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxGb3Jtc01vZHVsZSxSZWFjdGl2ZUZvcm1zTW9kdWxlLENvbW1vbk1vZHVsZSxNYXRHcmlkTGlzdE1vZHVsZSxNYXRDaGlwc01vZHVsZSxNYXRJY29uTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KHtcclxuICAgICAgbG9hZGVyOiB7XHJcbiAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxyXG4gICAgICAgIHVzZUZhY3Rvcnk6IGh0dHBUcmFuc2xhdGVMb2FkZXIsXHJcbiAgICAgICAgZGVwczogW0h0dHBDbGllbnRdLFxyXG4gICAgICB9LFxyXG4gICAgfSksXSxcclxuICAvLyBpbXBvcnRzOiBbVnNTaGFyZWRNb2R1bGVNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtWc0NoaXBkZENtcENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZzQ2hpcGRyb3Bkb3duTW9kdWxlIHsgfVxyXG5leHBvcnQgZnVuY3Rpb24gaHR0cFRyYW5zbGF0ZUxvYWRlcihodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgcmV0dXJuIG5ldyBUcmFuc2xhdGVIdHRwTG9hZGVyKGh0dHApO1xyXG59XHJcbiJdfQ==
|