@csmart/ngc-smart-victim 1.14.42 → 1.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. package/{esm2020 → esm2022}/csmart-ngc-smart-victim.mjs +4 -4
  2. package/esm2022/lib/caseNote/caseNote.component.mjs +194 -0
  3. package/esm2022/lib/common-dialog/common-dialog.component.mjs +23 -0
  4. package/{esm2020 → esm2022}/lib/common-dialog/common-dialog.module.mjs +34 -34
  5. package/{esm2020 → esm2022}/lib/common-dialog/common-dialog.service.mjs +33 -33
  6. package/esm2022/lib/contact/contact.component.mjs +140 -0
  7. package/{esm2020 → esm2022}/lib/email.services.mjs +29 -29
  8. package/esm2022/lib/intake.service.mjs +57 -0
  9. package/{esm2020 → esm2022}/lib/safetyPlan/serviceProvider.component.mjs +62 -62
  10. package/esm2022/lib/safetyPlan/victimSafetyPlan.component.mjs +116 -0
  11. package/esm2022/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +340 -0
  12. package/{esm2020 → esm2022}/lib/shared/app.shared.module.mjs +215 -215
  13. package/esm2022/lib/shared/validators/date.validator.mjs +59 -0
  14. package/{esm2020 → esm2022}/lib/shared/validators/index.mjs +1 -1
  15. package/esm2022/lib/smart-victim-delete-confirm.component.mjs +44 -0
  16. package/esm2022/lib/smart-victim-detail/smart-victim-detail.component.mjs +1104 -0
  17. package/esm2022/lib/smart-victim.component.mjs +314 -0
  18. package/{esm2020 → esm2022}/lib/smart-victim.model.mjs +132 -132
  19. package/{esm2020 → esm2022}/lib/smart-victim.module.mjs +128 -128
  20. package/esm2022/lib/smart-victim.service.mjs +352 -0
  21. package/{esm2020 → esm2022}/lib/victim-routing.module.mjs +41 -41
  22. package/{esm2020 → esm2022}/lib/victimSearch/VictimSearchFilter.mjs +2 -2
  23. package/esm2022/lib/victimSearch/victimSearchForm.component.mjs +38 -0
  24. package/{esm2020 → esm2022}/public-api.mjs +10 -10
  25. package/fesm2022/csmart-ngc-smart-victim.mjs +3261 -0
  26. package/fesm2022/csmart-ngc-smart-victim.mjs.map +1 -0
  27. package/index.d.ts +5 -5
  28. package/lib/caseNote/caseNote.component.d.ts +51 -51
  29. package/lib/common-dialog/common-dialog.component.d.ts +14 -14
  30. package/lib/common-dialog/common-dialog.module.d.ts +8 -8
  31. package/lib/common-dialog/common-dialog.service.d.ts +11 -11
  32. package/lib/contact/contact.component.d.ts +40 -40
  33. package/lib/email.services.d.ts +11 -11
  34. package/lib/intake.service.d.ts +57 -57
  35. package/lib/safetyPlan/serviceProvider.component.d.ts +19 -19
  36. package/lib/safetyPlan/victimSafetyPlan.component.d.ts +54 -54
  37. package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +62 -62
  38. package/lib/shared/app.shared.module.d.ts +33 -33
  39. package/lib/shared/validators/date.validator.d.ts +9 -9
  40. package/lib/shared/validators/index.d.ts +1 -1
  41. package/lib/smart-victim-delete-confirm.component.d.ts +12 -12
  42. package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +129 -129
  43. package/lib/smart-victim.component.d.ts +68 -68
  44. package/lib/smart-victim.model.d.ts +205 -205
  45. package/lib/smart-victim.module.d.ts +49 -49
  46. package/lib/smart-victim.service.d.ts +71 -71
  47. package/lib/victim-routing.module.d.ts +7 -7
  48. package/lib/victimSearch/VictimSearchFilter.d.ts +7 -7
  49. package/lib/victimSearch/victimSearchForm.component.d.ts +14 -14
  50. package/package.json +5 -11
  51. package/public-api.d.ts +7 -7
  52. package/esm2020/lib/caseNote/caseNote.component.mjs +0 -194
  53. package/esm2020/lib/common-dialog/common-dialog.component.mjs +0 -23
  54. package/esm2020/lib/contact/contact.component.mjs +0 -140
  55. package/esm2020/lib/intake.service.mjs +0 -57
  56. package/esm2020/lib/safetyPlan/victimSafetyPlan.component.mjs +0 -116
  57. package/esm2020/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +0 -340
  58. package/esm2020/lib/shared/validators/date.validator.mjs +0 -59
  59. package/esm2020/lib/smart-victim-delete-confirm.component.mjs +0 -44
  60. package/esm2020/lib/smart-victim-detail/smart-victim-detail.component.mjs +0 -1104
  61. package/esm2020/lib/smart-victim.component.mjs +0 -314
  62. package/esm2020/lib/smart-victim.service.mjs +0 -352
  63. package/esm2020/lib/victimSearch/victimSearchForm.component.mjs +0 -38
  64. package/fesm2015/csmart-ngc-smart-victim.mjs +0 -3273
  65. package/fesm2015/csmart-ngc-smart-victim.mjs.map +0 -1
  66. package/fesm2020/csmart-ngc-smart-victim.mjs +0 -3261
  67. package/fesm2020/csmart-ngc-smart-victim.mjs.map +0 -1
@@ -1,352 +0,0 @@
1
- import { HttpClient, HttpHeaders } from '@angular/common/http';
2
- import { Injectable, Inject } from '@angular/core';
3
- import { SMART_LOOKUP_SERVICE_URL, SMART_OFFENDER_SERVICE_URL, SMART_VICTIM_SERVICE_URL } from './smart-victim.model';
4
- import { throwError as observableThrowError } from 'rxjs';
5
- import { map, catchError } from 'rxjs/operators';
6
- import { Apollo } from 'apollo-angular';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common/http";
9
- import * as i2 from "apollo-angular";
10
- const headers = new HttpHeaders({ 'Content-Type': 'application/json' });
11
- const options = { headers: headers };
12
- export class NgcSmartVictimService {
13
- constructor(http, smartOffenderServiceUrl, smartLookupServiceUrl, smartVictimServiceUrl, apollo) {
14
- this.http = http;
15
- this.smartOffenderServiceUrl = smartOffenderServiceUrl;
16
- this.smartLookupServiceUrl = smartLookupServiceUrl;
17
- this.smartVictimServiceUrl = smartVictimServiceUrl;
18
- this.apollo = apollo;
19
- this.serviceApiUrl = 'https://smart-service-test.azurewebsites.net/graphql';
20
- }
21
- // getVictimInsurances(offenderId: any) {
22
- // return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?offenderId=' + offenderId).pipe();
23
- // }
24
- // getVictimInsurance(id: any) {
25
- // return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();
26
- // }
27
- // postVictimInsurance(val: any) {
28
- // return this.http.post(this.smartOffenderServiceUrl + '/VictimInsurances', val).pipe();
29
- // }
30
- // putVictimInsurance(id: any, val: any) {
31
- // return this.http.put(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id, val).pipe();
32
- // }
33
- // deleteVictimInsurance(id: any) {
34
- // return this.http.delete(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();
35
- // }
36
- // getVictimInsuranceTypes() {
37
- // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceTypes').pipe();
38
- // }
39
- // getVictimInsurancePolicyHolders() {
40
- // return this.http.get(this.smartLookupServiceUrl + '/VictimInsurancePolicyHolders').pipe();
41
- // }
42
- // getVictimInsuranceSwitchReasons() {
43
- // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceSwitchReasons').pipe();
44
- // }
45
- // getVictimInsuranceProviders() {
46
- // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProvider').pipe();
47
- // }
48
- // getVictimInsuranceProvider(id) {
49
- // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProviders/' + id).pipe();
50
- // }
51
- // postProviderInformation(val: any) {
52
- // return this.http.post(this.smartLookupServiceUrl + '/VictimInsuranceProviders', val).pipe();
53
- // }
54
- getCurrentHousing(offenderId) {
55
- return this.http
56
- .get(this.smartOffenderServiceUrl + 'Housings/current/' + offenderId)
57
- .pipe();
58
- }
59
- handleError(error) {
60
- console.error(error);
61
- return observableThrowError(error.json().error || 'Server error');
62
- }
63
- getDrugsTypes() {
64
- return this.http.get(this.smartLookupServiceUrl + 'DrugTypes', options).pipe(map(res => res));
65
- }
66
- getDocketList(offenderId) {
67
- const queryString = `
68
- {
69
- findDockets(input: { where: { offenderId:${offenderId} } }) {
70
- totalCount
71
- message
72
- data {
73
- docketId
74
- docketNumber
75
-
76
- }
77
- }
78
- }`;
79
- return this.http.post(this.serviceApiUrl, { query: queryString }).pipe(map(({ data }) => {
80
- console.log('dockets for this offender:', data.findDockets.data);
81
- return data.findDockets.data;
82
- }));
83
- }
84
- getSupportTypes() {
85
- return this.http.get(this.smartLookupServiceUrl + 'VictimSupportTypes', options).pipe(map(res => res));
86
- }
87
- getPrefixes() {
88
- return this.http.get(this.smartLookupServiceUrl + 'Prefixes', options).pipe(map(res => res));
89
- }
90
- getSuffixes() {
91
- return this.http.get(this.smartLookupServiceUrl + 'Suffixes', options).pipe(map(res => res));
92
- }
93
- getRelationshipTypes() {
94
- return this.http.get(this.smartLookupServiceUrl + 'RelationshipTypes', options).pipe(map(res => res));
95
- }
96
- getGenders() {
97
- return this.http.get(this.smartLookupServiceUrl + 'Genders', options).pipe(map(res => res));
98
- }
99
- getWeaponTypes() {
100
- return this.http.get(this.smartLookupServiceUrl + 'WeaponTypes', options).pipe(map(res => res));
101
- }
102
- getFlagOptionYesNoUnknowns() {
103
- return this.http.get(this.smartLookupServiceUrl + 'FlagOptionYesNoUnknowns', options).pipe(map(res => {
104
- return res;
105
- }));
106
- }
107
- getContactTypes() {
108
- return this.http.get(this.smartLookupServiceUrl + 'ContactTypes', options).pipe(map(res => {
109
- return res;
110
- }));
111
- }
112
- getContactMethods() {
113
- return this.http.get(this.smartLookupServiceUrl + 'VictimContactMethods', options).pipe(map(res => {
114
- return res;
115
- }));
116
- }
117
- getContactBys() {
118
- return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe(map(res => {
119
- return res;
120
- }));
121
- }
122
- getVictimContactPurposes() {
123
- return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe(map(res => {
124
- return res;
125
- }));
126
- }
127
- getVictimServiceTypes() {
128
- return this.http.get(this.smartLookupServiceUrl + 'VictimServiceTypes', options).pipe(map(res => {
129
- return res;
130
- }));
131
- }
132
- getVictimServiceStatus() {
133
- return this.http.get(this.smartLookupServiceUrl + 'VictimServiceStatus', options).pipe(map(res => {
134
- return res;
135
- }));
136
- }
137
- getvVictimServiceTypeProgramProviders() {
138
- return this.http.get(this.smartLookupServiceUrl + 'vVictimServiceTypeProgramProviders', options).pipe(map(res => {
139
- return res;
140
- }));
141
- }
142
- getVictim(val) {
143
- return this.http.get(this.smartVictimServiceUrl + 'Victims/' + val, options).pipe(map(res => {
144
- console.log('victim return data');
145
- console.log(res);
146
- return res;
147
- }));
148
- }
149
- getVictimAdvocate(val) {
150
- return this.http.get(this.smartVictimServiceUrl + 'VictimAdvocates/' + val, options).pipe(map(res => {
151
- return res;
152
- }));
153
- }
154
- getVictimGuardian(val) {
155
- return this.http.get(this.smartVictimServiceUrl + 'VictimGuardians/' + val, options).pipe(map(res => {
156
- return res;
157
- }));
158
- }
159
- postVictims(val) {
160
- const tempVal = JSON.stringify(val);
161
- return this.http.post(this.smartVictimServiceUrl + 'Victims', tempVal, options).pipe(map(res => { return res; }));
162
- }
163
- putVictims(id, val) {
164
- const tempVal = JSON.stringify(val);
165
- return this.http.put(this.smartVictimServiceUrl + 'Victims/' + id, tempVal, options).pipe(map(res => { return res; }));
166
- }
167
- putVictimAdvocate(id, val) {
168
- let body;
169
- body = JSON.stringify(val);
170
- return this.http.put(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, body, options).pipe(map(res => { return res; }));
171
- }
172
- postVictimAdvocate(id, val) {
173
- const tempVal = JSON.stringify(val);
174
- return this.http.post(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, tempVal, options).pipe(map(res => { return res; }));
175
- }
176
- putVictimGuardian(id, val) {
177
- console.log('update victim guardian');
178
- console.log(val);
179
- const tempVal = JSON.stringify(val);
180
- return this.http.put(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe(map(res => { return res; }));
181
- }
182
- postVictimGuardian(id, val) {
183
- const tempVal = JSON.stringify(val);
184
- return this.http.post(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe(map(res => { return res; }));
185
- }
186
- getVictimDrugUse(val) {
187
- return this.http.get(this.smartVictimServiceUrl + 'VictimDrugUses/' + val, options).pipe(map((res) => {
188
- return res;
189
- }));
190
- }
191
- putVictimDrugUse(id, val) {
192
- const tempVal = JSON.stringify(val);
193
- return this.http.put(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe(map(res => { return res; }));
194
- }
195
- postVictimDrugUse(id, val) {
196
- const tempVal = JSON.stringify(val);
197
- return this.http.post(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe(map(res => { return res; }));
198
- }
199
- putVictimWeaponUse(id, val) {
200
- const tempVal = JSON.stringify(val);
201
- return this.http.put(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe(map(res => { return res; }));
202
- }
203
- postVictimWeaponUse(id, val) {
204
- const tempVal = JSON.stringify(val);
205
- return this.http.post(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe(map(res => { return res; }));
206
- }
207
- putVictimSupport(id, val) {
208
- const tempVal = JSON.stringify(val);
209
- return this.http.put(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe(map(res => { return res; }));
210
- }
211
- postVictimSupport(id, val) {
212
- const tempVal = JSON.stringify(val);
213
- return this.http.post(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe(map(res => { return res; }));
214
- }
215
- deleteVictims(val, staffId) {
216
- return this.http.delete(this.smartVictimServiceUrl + 'Victims/' + val + '?staffId=' + staffId, options).pipe(map(res => { return res; }));
217
- }
218
- // //==============Victim Serive===================================
219
- getVictims(offenderId) {
220
- return this.http.get(this.smartVictimServiceUrl + 'Victims/offender/' + offenderId)
221
- .pipe(map((res) => {
222
- return res;
223
- }), catchError(this.handleError));
224
- }
225
- getVictimsByFilter(filter) {
226
- return this.http
227
- .post(this.smartVictimServiceUrl + '/Victims', JSON.stringify(filter), { headers: headers })
228
- .pipe(map((res) => {
229
- return res;
230
- }), catchError(this.handleError));
231
- }
232
- getVictimListByFilter(filter) {
233
- console.log('filer in service');
234
- console.log(filter);
235
- return this.http
236
- .post(this.smartVictimServiceUrl + 'vVictims/Filter', JSON.stringify(filter), options)
237
- .pipe();
238
- }
239
- getCasetNotes(victimId) {
240
- return this.http.get(this.smartVictimServiceUrl + 'VictimCaseNotes/victim/' + victimId)
241
- .pipe(map((res) => {
242
- return res;
243
- }), catchError(this.handleError));
244
- }
245
- addCaseNote(caseNote) {
246
- let body;
247
- body = JSON.stringify(caseNote);
248
- return this.http
249
- .post(this.smartVictimServiceUrl + 'VictimCaseNotes/', body, options);
250
- }
251
- updateCaseNote(caseNote) {
252
- let body;
253
- body = JSON.stringify(caseNote);
254
- return this.http
255
- .put(this.smartVictimServiceUrl + 'VictimCaseNotes/' + caseNote.victimCaseNoteId, body, options);
256
- }
257
- deleteCaseNote(id, staffId) {
258
- return this.http.delete(`${this.smartVictimServiceUrl}VictimCaseNotes/${id}?staffId=${staffId}`);
259
- }
260
- getContacts(victimId) {
261
- return this.http.get(this.smartVictimServiceUrl + 'VictimContacts/victim/' + victimId)
262
- .pipe(map((res) => {
263
- return res;
264
- }), catchError(this.handleError));
265
- }
266
- addContact(contact) {
267
- let body;
268
- body = JSON.stringify(contact);
269
- return this.http
270
- .post(this.smartVictimServiceUrl + 'VictimContacts/', body, options);
271
- }
272
- updateContact(contact) {
273
- let body;
274
- body = JSON.stringify(contact);
275
- return this.http
276
- .put(this.smartVictimServiceUrl + 'VictimContacts/' + contact.victimContactId, body, options);
277
- }
278
- getSafetyPlans(victimId) {
279
- return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victim/' + victimId)
280
- .pipe(map((res) => {
281
- return res;
282
- }), catchError(this.handleError));
283
- }
284
- getVictimServices(victimServiceId) {
285
- return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victimServiceId/' + victimServiceId)
286
- .pipe(map((res) => {
287
- return res;
288
- }), catchError(this.handleError));
289
- }
290
- getVictimServiceDetail(victimServiceId) {
291
- return this.http.get(this.smartVictimServiceUrl + 'VictimServiceDetails/' + victimServiceId)
292
- .pipe(map((res) => {
293
- return res;
294
- }), catchError(this.handleError));
295
- }
296
- addSafetyPlan(victimSafetyPlan) {
297
- let body;
298
- body = JSON.stringify(victimSafetyPlan);
299
- return this.http
300
- .post(this.smartVictimServiceUrl + 'VictimServices/', body, options)
301
- .pipe();
302
- }
303
- updateSafetyPlan(victimSafetyPlan) {
304
- let body;
305
- body = JSON.stringify(victimSafetyPlan);
306
- return this.http
307
- .put(this.smartVictimServiceUrl + 'VictimServices/' + victimSafetyPlan.victimServiceId, body, options);
308
- }
309
- addVictimServiceStatus(victimServiceStatusHistory) {
310
- let body;
311
- body = JSON.stringify(victimServiceStatusHistory);
312
- return this.http
313
- .post(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/', body, options);
314
- }
315
- getServiceStatusHistories(victimServiceId) {
316
- return this.http.get(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/victimServiceId/' + victimServiceId)
317
- .pipe(map((res) => {
318
- return res;
319
- }), catchError(this.handleError));
320
- }
321
- deleteSafetyPlan(victimServiceId, staffId) {
322
- return this.http.delete(`${this.smartVictimServiceUrl}VictimServices/${victimServiceId}?staffId=${staffId}`);
323
- }
324
- addPlanProvider(victimServiceDetail) {
325
- let body;
326
- body = JSON.stringify(victimServiceDetail);
327
- return this.http
328
- .post(this.smartVictimServiceUrl + 'VictimServiceDetails/', body, options)
329
- .pipe();
330
- }
331
- deleteProvider(victimProgramProviderId, staffId) {
332
- return this.http.delete(`${this.smartVictimServiceUrl}VictimServiceDetails/${victimProgramProviderId}?staffId=${staffId}`);
333
- }
334
- }
335
- /** @nocollapse */ NgcSmartVictimService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgcSmartVictimService, deps: [{ token: i1.HttpClient }, { token: SMART_OFFENDER_SERVICE_URL }, { token: SMART_LOOKUP_SERVICE_URL }, { token: SMART_VICTIM_SERVICE_URL }, { token: i2.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
336
- /** @nocollapse */ NgcSmartVictimService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgcSmartVictimService, providedIn: 'root' });
337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgcSmartVictimService, decorators: [{
338
- type: Injectable,
339
- args: [{
340
- providedIn: 'root'
341
- }]
342
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
343
- type: Inject,
344
- args: [SMART_OFFENDER_SERVICE_URL]
345
- }] }, { type: undefined, decorators: [{
346
- type: Inject,
347
- args: [SMART_LOOKUP_SERVICE_URL]
348
- }] }, { type: undefined, decorators: [{
349
- type: Inject,
350
- args: [SMART_VICTIM_SERVICE_URL]
351
- }] }, { type: i2.Apollo }]; } });
352
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmljdGltLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvc21hcnQtdmljdGltLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUMsd0JBQXdCLEVBRVcsTUFBTSxzQkFBc0IsQ0FBQztBQUM5SCxPQUFPLEVBQWMsVUFBVSxJQUFJLG9CQUFvQixFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxHQUFHLEVBQUMsVUFBVSxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSXhDLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztBQUN4RSxNQUFNLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUtyQyxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLElBQWdCLEVBRVUsdUJBQStCLEVBQ2pDLHFCQUE2QixFQUM3QixxQkFBNkIsRUFDL0QsTUFBYztRQUxKLFNBQUksR0FBSixJQUFJLENBQVk7UUFFVSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQVE7UUFDakMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQzdCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBUTtRQUMvRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTmhCLGtCQUFhLEdBQUksc0RBQXNELENBQUM7SUFRMUUsQ0FBQztJQUVQLHlDQUF5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QUMsbUJBQXVDO1FBQ2pELElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNmLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQzthQUN6RSxJQUFJLEVBQUUsQ0FBQztJQUVaLENBQUM7SUFFSCxjQUFjLENBQUMsdUJBQStCLEVBQUUsT0FBZTtRQUM3RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQix3QkFBd0IsdUJBQXVCLFlBQVksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUU3SCxDQUFDOztxSUF2aEJZLHFCQUFxQiw0Q0FJdEIsMEJBQTBCLGFBQzFCLHdCQUF3QixhQUN4Qix3QkFBd0I7eUlBTnZCLHFCQUFxQixjQUZwQixNQUFNOzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUtJLE1BQU07MkJBQUMsMEJBQTBCOzswQkFDakMsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMvQixNQUFNOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsSHR0cFJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNNQVJUX0xPT0tVUF9TRVJWSUNFX1VSTCwgU01BUlRfT0ZGRU5ERVJfU0VSVklDRV9VUkwsU01BUlRfVklDVElNX1NFUlZJQ0VfVVJMLFxyXG4gICAgVmljdGltTGlzdEZpbHRlcixWaWN0aW1EcnVnVXNlLFZpY3RpbSxWaWN0aW1TYWZldHlQbGFuLFxyXG4gICBDYXNlTm90ZSxDb250YWN0LFZpY3RpbVNlcnZpY2VEZXRhaWwsVmljdGltU2VydmljZVN0YXR1c0hpc3RvcnksVmljdGltQWR2b2NhdGUsVmljdGltR3VhcmRpYW59IGZyb20gJy4vc21hcnQtdmljdGltLm1vZGVsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciBhcyBvYnNlcnZhYmxlVGhyb3dFcnJvcn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCxjYXRjaEVycm9yLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFwb2xsbyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuXHJcblxyXG5cclxuY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSk7XHJcbmNvbnN0IG9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nY1NtYXJ0VmljdGltU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBzZXJ2aWNlQXBpVXJsID0gICdodHRwczovL3NtYXJ0LXNlcnZpY2UtdGVzdC5henVyZXdlYnNpdGVzLm5ldC9ncmFwaHFsJztcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgIFxyXG4gICAgQEluamVjdChTTUFSVF9PRkZFTkRFUl9TRVJWSUNFX1VSTCkgcHJpdmF0ZSBzbWFydE9mZmVuZGVyU2VydmljZVVybDogc3RyaW5nLFxyXG4gICAgQEluamVjdChTTUFSVF9MT09LVVBfU0VSVklDRV9VUkwpIHByaXZhdGUgc21hcnRMb29rdXBTZXJ2aWNlVXJsOiBzdHJpbmcsXHJcbiAgICBASW5qZWN0KFNNQVJUX1ZJQ1RJTV9TRVJWSUNFX1VSTCkgcHJpdmF0ZSBzbWFydFZpY3RpbVNlcnZpY2VVcmw6IHN0cmluZyxcclxuICAgIHByaXZhdGUgYXBvbGxvOiBBcG9sbG9cclxuXHJcbiAgICApIHsgfVxyXG5cclxuICAvLyBnZXRWaWN0aW1JbnN1cmFuY2VzKG9mZmVuZGVySWQ6IGFueSkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydE9mZmVuZGVyU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlcy8/b2ZmZW5kZXJJZD0nICsgb2ZmZW5kZXJJZCkucGlwZSgpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gZ2V0VmljdGltSW5zdXJhbmNlKGlkOiBhbnkpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRPZmZlbmRlclNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZXMvP2lkPScgKyBpZCkucGlwZSgpO1xyXG4gIC8vIH0gXHJcblxyXG4gIC8vIHBvc3RWaWN0aW1JbnN1cmFuY2UodmFsOiBhbnkpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnNtYXJ0T2ZmZW5kZXJTZXJ2aWNlVXJsICsgJy9WaWN0aW1JbnN1cmFuY2VzJywgdmFsKS5waXBlKCk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdXRWaWN0aW1JbnN1cmFuY2UoaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuc21hcnRPZmZlbmRlclNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZXMvP2lkPScgKyBpZCwgdmFsKS5waXBlKCk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBkZWxldGVWaWN0aW1JbnN1cmFuY2UoaWQ6IGFueSkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodGhpcy5zbWFydE9mZmVuZGVyU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlcy8/aWQ9JyArIGlkKS5waXBlKCk7XHJcbiAgLy8gfVxyXG4gIFxyXG4gIC8vIGdldFZpY3RpbUluc3VyYW5jZVR5cGVzKCkge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlVHlwZXMnKS5waXBlKCk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBnZXRWaWN0aW1JbnN1cmFuY2VQb2xpY3lIb2xkZXJzKCkge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlUG9saWN5SG9sZGVycycpLnBpcGUoKTtcclxuICAvLyB9XHJcblxyXG4vLyAgIGdldFZpY3RpbUluc3VyYW5jZVN3aXRjaFJlYXNvbnMoKSB7XHJcbi8vICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJy9WaWN0aW1JbnN1cmFuY2VTd2l0Y2hSZWFzb25zJykucGlwZSgpO1xyXG4vLyAgIH1cclxuXHJcbi8vICAgZ2V0VmljdGltSW5zdXJhbmNlUHJvdmlkZXJzKCkge1xyXG4vLyAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlUHJvdmlkZXInKS5waXBlKCk7XHJcbi8vICAgfVxyXG5cclxuLy8gICBnZXRWaWN0aW1JbnN1cmFuY2VQcm92aWRlcihpZCkge1xyXG4vLyAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZVByb3ZpZGVycy8nICsgaWQpLnBpcGUoKTtcclxuLy8gfVxyXG5cclxuLy8gICBwb3N0UHJvdmlkZXJJbmZvcm1hdGlvbih2YWw6IGFueSkge1xyXG4vLyAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZVByb3ZpZGVycycsIHZhbCkucGlwZSgpO1xyXG4vLyAgIH1cclxuXHJcbmdldEN1cnJlbnRIb3VzaW5nKG9mZmVuZGVySWQ6IG51bWJlcikge1xyXG5cclxuICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAuZ2V0KHRoaXMuc21hcnRPZmZlbmRlclNlcnZpY2VVcmwgKyAnSG91c2luZ3MvY3VycmVudC8nICsgb2ZmZW5kZXJJZClcclxuICAgIC5waXBlKCk7XHJcbn1cclxuXHJcbnByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSkge1xyXG4gIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvci5qc29uKCkuZXJyb3IgfHwgJ1NlcnZlciBlcnJvcicpO1xyXG59XHJcblxyXG5nZXREcnVnc1R5cGVzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICArICdEcnVnVHlwZXMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiByZXMpXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldERvY2tldExpc3Qob2ZmZW5kZXJJZDogbnVtYmVyKSB7XHJcbiAgY29uc3QgcXVlcnlTdHJpbmcgPSBgXHJcbiAge1xyXG4gICAgZmluZERvY2tldHMoaW5wdXQ6IHsgd2hlcmU6IHsgb2ZmZW5kZXJJZDoke29mZmVuZGVySWR9IH0gfSkge1xyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICAgIG1lc3NhZ2VcclxuICAgICAgZGF0YSB7XHJcbiAgICAgICAgZG9ja2V0SWRcclxuICAgICAgICBkb2NrZXROdW1iZXJcclxuICAgICAgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9YDtcclxuXHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odGhpcy5zZXJ2aWNlQXBpVXJsLCB7IHF1ZXJ5OiBxdWVyeVN0cmluZyB9KS5waXBlKFxyXG4gICAgbWFwKCh7IGRhdGEgfSkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZygnZG9ja2V0cyBmb3IgdGhpcyBvZmZlbmRlcjonLCBkYXRhLmZpbmREb2NrZXRzLmRhdGEpO1xyXG4gICAgICByZXR1cm4gZGF0YS5maW5kRG9ja2V0cy5kYXRhO1xyXG4gICAgfSkpO1xyXG5cclxuXHJcbn1cclxuXHJcbmdldFN1cHBvcnRUeXBlcygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICdWaWN0aW1TdXBwb3J0VHlwZXMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiByZXMpXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldFByZWZpeGVzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICArICdQcmVmaXhlcycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHJlcylcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0U3VmZml4ZXMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgICsgJ1N1ZmZpeGVzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4gcmVzKVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXRSZWxhdGlvbnNoaXBUeXBlcygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCAgKyAnUmVsYXRpb25zaGlwVHlwZXMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiByZXMpXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldEdlbmRlcnMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgICsgJ0dlbmRlcnMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiByZXMpXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldFdlYXBvblR5cGVzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICArICdXZWFwb25UeXBlcycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHJlcylcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0RmxhZ09wdGlvblllc05vVW5rbm93bnMoKSB7XHJcbiByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICdGbGFnT3B0aW9uWWVzTm9Vbmtub3ducycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgXHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICB9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXRDb250YWN0VHlwZXMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnQ29udGFjdFR5cGVzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAgKFxyXG4gICAgICAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICB9KVxyXG4gICAgICAgKTtcclxuIH1cclxuIGdldENvbnRhY3RNZXRob2RzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJ1ZpY3RpbUNvbnRhY3RNZXRob2RzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAgKFxyXG4gICAgICAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICB9KVxyXG4gICAgICAgKTtcclxuIH1cclxuIGdldENvbnRhY3RCeXMoKXtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICdWaWN0aW1Db250YWN0UHVycG9zZXMnLCBvcHRpb25zKS5waXBlXHJcbiAgKFxyXG4gIG1hcChyZXMgPT4geyBcclxuICAgICAgcmV0dXJuIHJlcztcclxuICB9KVxyXG4gICk7XHJcblxyXG4gfVxyXG5cclxuZ2V0VmljdGltQ29udGFjdFB1cnBvc2VzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJ1ZpY3RpbUNvbnRhY3RQdXJwb3NlcycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgIChcclxuICAgICAgIG1hcChyZXMgPT4geyBcclxuICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgfSlcclxuICAgICAgICk7XHJcbiB9XHJcblxyXG4gZ2V0VmljdGltU2VydmljZVR5cGVzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJ1ZpY3RpbVNlcnZpY2VUeXBlcycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgIChcclxuICAgICAgIG1hcChyZXMgPT4geyBcclxuICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgfSlcclxuICAgICAgICk7XHJcbiB9XHJcbiBnZXRWaWN0aW1TZXJ2aWNlU3RhdHVzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJ1ZpY3RpbVNlcnZpY2VTdGF0dXMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgICAoXHJcbiAgICAgICBtYXAocmVzID0+IHsgXHJcbiAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gfVxyXG5cclxuIGdldHZWaWN0aW1TZXJ2aWNlVHlwZVByb2dyYW1Qcm92aWRlcnMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAndlZpY3RpbVNlcnZpY2VUeXBlUHJvZ3JhbVByb3ZpZGVycycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgIChcclxuICAgICAgIG1hcChyZXMgPT4geyBcclxuICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgfSlcclxuICAgICAgICk7XHJcbiB9XHJcblxyXG5cclxuZ2V0VmljdGltKHZhbDogYW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltcy8nICsgdmFsLCBvcHRpb25zKS5waXBlXHJcbiAgKFxyXG4gICAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICBjb25zb2xlLmxvZygndmljdGltIHJldHVybiBkYXRhJyk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHJlcyk7ICBcclxuICAgICAgcmV0dXJuIHJlcztcclxuXHJcbiAgICB9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXRWaWN0aW1BZHZvY2F0ZSh2YWw6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUFkdm9jYXRlcy8nICsgdmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuXHJcbiAgICAgIG1hcChyZXMgPT4geyBcclxuICAgICAgICAgIHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0VmljdGltR3VhcmRpYW4odmFsOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1HdWFyZGlhbnMvJyArIHZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcblxyXG4gICAgICBtYXAocmVzID0+IHsgXHJcbiAgICAgICAgICByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbnBvc3RWaWN0aW1zKHZhbDogYW55KSB7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsKyAnVmljdGltcycsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5wdXRWaWN0aW1zKGlkOiBhbnksIHZhbDogYW55KSB7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltcy8nICsgaWQsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5wdXRWaWN0aW1BZHZvY2F0ZShpZDogYW55LCB2YWw6IFZpY3RpbUFkdm9jYXRlKSB7XHJcbiAgbGV0IGJvZHk6IHN0cmluZztcclxuICBib2R5ID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1BZHZvY2F0ZXMvJyArIGlkLCBib2R5LCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxuXHJcblxyXG5cclxuXHJcbn1cclxuXHJcbnBvc3RWaWN0aW1BZHZvY2F0ZShpZDogYW55LCB2YWw6IGFueSkge1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1BZHZvY2F0ZXMvJyArIGlkLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxucHV0VmljdGltR3VhcmRpYW4oaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICBjb25zb2xlLmxvZygndXBkYXRlIHZpY3RpbSBndWFyZGlhbicpO1xyXG4gIGNvbnNvbGUubG9nKHZhbCk7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltR3VhcmRpYW5zLycgKyBpZCwgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbnBvc3RWaWN0aW1HdWFyZGlhbihpZDogYW55LCB2YWw6IGFueSkge1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1HdWFyZGlhbnMvJyArIGlkLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0VmljdGltRHJ1Z1VzZSh2YWw6IGFueSk6IE9ic2VydmFibGU8VmljdGltRHJ1Z1VzZVtdPntcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1EcnVnVXNlcy8nICsgdmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKChyZXM6IFZpY3RpbURydWdVc2VbXSkgPT4geyBcclxuICAgICAgICAgICAgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5wdXRWaWN0aW1EcnVnVXNlKGlkOiBhbnksIHZhbDogVmljdGltRHJ1Z1VzZVtdKSB7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcblxyXG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbURydWdVc2VzLycgKyBpZCwgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbnBvc3RWaWN0aW1EcnVnVXNlKGlkOiBhbnksIHZhbDogYW55KSB7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbURydWdVc2VzLycgKyBpZCwgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbnB1dFZpY3RpbVdlYXBvblVzZShpZDogYW55LCB2YWw6IGFueSkge1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbVdlYXBvblVzZXMvJyArIGlkLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxucG9zdFZpY3RpbVdlYXBvblVzZShpZDogYW55LCB2YWw6IGFueSkge1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1XZWFwb25Vc2VzLycgKyBpZCwgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxucHV0VmljdGltU3VwcG9ydChpZDogYW55LCB2YWw6IGFueSkge1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbVN1cHBvcnRzLycgKyBpZCwgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbnBvc3RWaWN0aW1TdXBwb3J0KGlkOiBhbnksIHZhbDogYW55KSB7XHJcbiAgY29uc3QgdGVtcFZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbVN1cHBvcnRzLycgKyBpZCwgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmRlbGV0ZVZpY3RpbXModmFsOiBhbnksICBzdGFmZklkOiBudW1iZXIpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZSh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCsgJ1ZpY3RpbXMvJyArIHZhbCArICc/c3RhZmZJZD0nKyBzdGFmZklkLCBvcHRpb25zKS5waXBlXHJcbiAgKFxyXG4gIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgKTtcclxufVxyXG5cclxuXHJcbi8vIC8vPT09PT09PT09PT09PT1WaWN0aW0gU2VyaXZlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbmdldFZpY3RpbXMob2ZmZW5kZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZSA8VmljdGltW10+IHtcclxuXHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgICsgJ1ZpY3RpbXMvb2ZmZW5kZXIvJyArIG9mZmVuZGVySWQpXHJcbiAgLnBpcGUobWFwKChyZXM6IFZpY3RpbVtdKSA9PiB7XHJcbiAgICBcclxuICAgICAgcmV0dXJuIHJlcztcclxuICB9KVxyXG4gICxjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxufVxyXG5cclxuZ2V0VmljdGltc0J5RmlsdGVyKGZpbHRlcjogVmljdGltTGlzdEZpbHRlcik6IE9ic2VydmFibGU8VmljdGltW10+e1xyXG4gIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgIC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJy9WaWN0aW1zJywgSlNPTi5zdHJpbmdpZnkoZmlsdGVyKSwgeyBoZWFkZXJzOiBoZWFkZXJzIH0pXHJcbiAgICAgICAgICAucGlwZShtYXAoKHJlczogVmljdGltW10pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgICxjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxufVxyXG5cclxuZ2V0VmljdGltTGlzdEJ5RmlsdGVyKGZpbHRlcjogVmljdGltTGlzdEZpbHRlcikgXHJcbntcclxuICBjb25zb2xlLmxvZygnZmlsZXIgaW4gc2VydmljZScpO1xyXG4gIGNvbnNvbGUubG9nKGZpbHRlcik7XHJcblxyXG4gIHJldHVybiB0aGlzLmh0dHBcclxuICAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICd2VmljdGltcy9GaWx0ZXInLCBKU09OLnN0cmluZ2lmeShmaWx0ZXIpLCBvcHRpb25zKVxyXG4gIC5waXBlKCk7XHJcblxyXG59XHJcblxyXG5cclxuZ2V0Q2FzZXROb3Rlcyh2aWN0aW1JZDogbnVtYmVyKTogT2JzZXJ2YWJsZSA8Q2FzZU5vdGVbXT4ge1xyXG5cclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1DYXNlTm90ZXMvdmljdGltLycgKyB2aWN0aW1JZClcclxuICAucGlwZShtYXAoKHJlczogQ2FzZU5vdGVbXSkgPT4ge1xyXG4gICAgICByZXR1cm4gcmVzO1xyXG4gIH0pXHJcbiAgLGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gXHJcblxyXG59XHJcbmFkZENhc2VOb3RlKGNhc2VOb3RlOiBDYXNlTm90ZSkge1xyXG4gIGxldCBib2R5OiBzdHJpbmc7XHJcbiAgICAgICAgIGJvZHkgPSBKU09OLnN0cmluZ2lmeShjYXNlTm90ZSk7XHJcbiAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgIC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUNhc2VOb3Rlcy8nLCBib2R5LCBvcHRpb25zKTtcclxuIFxyXG4gfVxyXG5cclxuIFxyXG51cGRhdGVDYXNlTm90ZShjYXNlTm90ZTogQ2FzZU5vdGUpe1xyXG5cclxuICBsZXQgYm9keTogc3RyaW5nO1xyXG4gIGJvZHkgPSBKU09OLnN0cmluZ2lmeShjYXNlTm90ZSk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucHV0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUNhc2VOb3Rlcy8nICsgY2FzZU5vdGUudmljdGltQ2FzZU5vdGVJZCwgYm9keSwgb3B0aW9ucylcclxuXHJcbiAgICAgIDtcclxuIH1cclxuXHJcbmRlbGV0ZUNhc2VOb3RlKGlkOiBudW1iZXIsIHN0YWZmSWQ6IG51bWJlcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybH1WaWN0aW1DYXNlTm90ZXMvJHtpZH0/c3RhZmZJZD0ke3N0YWZmSWR9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb250YWN0cyh2aWN0aW1JZDogbnVtYmVyKTogT2JzZXJ2YWJsZSA8Q29udGFjdFtdPiB7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltQ29udGFjdHMvdmljdGltLycgKyB2aWN0aW1JZClcclxuICAgIC5waXBlKG1hcCgocmVzOiBDb250YWN0W10pID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgfSlcclxuICAgICxjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICBcclxuICB9XHJcbiAgYWRkQ29udGFjdChjb250YWN0OiBDb250YWN0KSB7XHJcbiAgICBsZXQgYm9keTogc3RyaW5nO1xyXG4gICAgICAgICAgIGJvZHkgPSBKU09OLnN0cmluZ2lmeShjb250YWN0KTtcclxuICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgIC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUNvbnRhY3RzLycsIGJvZHksIG9wdGlvbnMpO1xyXG4gICBcclxuICAgfVxyXG4gIFxyXG4gICBcclxuICB1cGRhdGVDb250YWN0KGNvbnRhY3Q6IENvbnRhY3Qpe1xyXG4gIFxyXG4gICAgbGV0IGJvZHk6IHN0cmluZztcclxuICAgIGJvZHkgPSBKU09OLnN0cmluZ2lmeShjb250YWN0KTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAucHV0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUNvbnRhY3RzLycgKyBjb250YWN0LnZpY3RpbUNvbnRhY3RJZCwgYm9keSwgb3B0aW9ucylcclxuICBcclxuICAgICAgICA7XHJcbiAgIH1cclxuICBcclxuZ2V0U2FmZXR5UGxhbnModmljdGltSWQ6IG51bWJlcik6IE9ic2VydmFibGUgPFZpY3RpbVNhZmV0eVBsYW5bXT4ge1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAndlZpY3RpbVNlcnZpY2VMaXN0cy92aWN0aW0vJyArIHZpY3RpbUlkKVxyXG4gICAgICAucGlwZShtYXAoKHJlczogVmljdGltU2FmZXR5UGxhbltdKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICB9KVxyXG4gICAgICAsY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgfVxyXG5cclxuZ2V0VmljdGltU2VydmljZXModmljdGltU2VydmljZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlIDxWaWN0aW1TYWZldHlQbGFuW10+IHtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ3ZWaWN0aW1TZXJ2aWNlTGlzdHMvdmljdGltU2VydmljZUlkLycgKyB2aWN0aW1TZXJ2aWNlSWQpXHJcbiAgICAgIC5waXBlKG1hcCgocmVzOiBWaWN0aW1TYWZldHlQbGFuW10pID0+IHtcclxuICAgICAgICAgIHJldHVybiAgcmVzO1xyXG4gICAgICB9KVxyXG4gICAgICAsY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgXHJcbiAgfVxyXG5cclxuZ2V0VmljdGltU2VydmljZURldGFpbCh2aWN0aW1TZXJ2aWNlSWQ6IG51bWJlcik6IE9ic2VydmFibGUgPFZpY3RpbVNlcnZpY2VEZXRhaWxbXT4ge1xyXG5cclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1TZXJ2aWNlRGV0YWlscy8nICsgdmljdGltU2VydmljZUlkKVxyXG4gIC5waXBlKG1hcCgocmVzOiBWaWN0aW1TZXJ2aWNlRGV0YWlsW10pID0+IHtcclxuICBcclxuICAgICAgcmV0dXJuIHJlcztcclxuICB9KVxyXG4gICxjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHJcbn1cclxuYWRkU2FmZXR5UGxhbih2aWN0aW1TYWZldHlQbGFuOiBWaWN0aW1TYWZldHlQbGFuKSB7XHJcblxyXG4gIGxldCBib2R5OiBzdHJpbmc7XHJcbiAgICAgICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkodmljdGltU2FmZXR5UGxhbik7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1TZXJ2aWNlcy8nLCBib2R5LCBvcHRpb25zKVxyXG4gICAgICAgICAgLnBpcGUoKTtcclxuICBcclxuICB9XHJcbnVwZGF0ZVNhZmV0eVBsYW4odmljdGltU2FmZXR5UGxhbjogVmljdGltU2FmZXR5UGxhbil7XHJcblxyXG4gICAgICBsZXQgYm9keTogc3RyaW5nO1xyXG4gICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkodmljdGltU2FmZXR5UGxhbik7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgIC5wdXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltU2VydmljZXMvJyArIHZpY3RpbVNhZmV0eVBsYW4udmljdGltU2VydmljZUlkLCBib2R5LCBvcHRpb25zKVxyXG5cclxuICAgICAgICAgIDtcclxuICAgICB9XHJcbmFkZFZpY3RpbVNlcnZpY2VTdGF0dXModmljdGltU2VydmljZVN0YXR1c0hpc3Rvcnk6IFZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3J5KXtcclxuICBsZXQgYm9keTogc3RyaW5nO1xyXG4gIGJvZHkgPSBKU09OLnN0cmluZ2lmeSh2aWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yeSk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gIC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3JpZXMvJywgYm9keSwgb3B0aW9ucyk7XHJcblxyXG4gIH1cclxuXHJcbmdldFNlcnZpY2VTdGF0dXNIaXN0b3JpZXModmljdGltU2VydmljZUlkOiBudW1iZXIpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3JpZXMvdmljdGltU2VydmljZUlkLycgKyB2aWN0aW1TZXJ2aWNlSWQpXHJcbiAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzOiBWaWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yeVtdKSA9PiB7XHJcbiAgXHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICB9KVxyXG4gICAgICAsY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICk7XHJcbn1cclxuXHJcbmRlbGV0ZVNhZmV0eVBsYW4odmljdGltU2VydmljZUlkOiBudW1iZXIsIHN0YWZmSWQ6IG51bWJlcikge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsfVZpY3RpbVNlcnZpY2VzLyR7dmljdGltU2VydmljZUlkfT9zdGFmZklkPSR7c3RhZmZJZH1gKTtcclxuXHJcbiAgfVxyXG5hZGRQbGFuUHJvdmlkZXIodmljdGltU2VydmljZURldGFpbDpWaWN0aW1TZXJ2aWNlRGV0YWlsKXtcclxuICAgICAgbGV0IGJvZHk6IHN0cmluZztcclxuICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KHZpY3RpbVNlcnZpY2VEZXRhaWwpO1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbVNlcnZpY2VEZXRhaWxzLycsIGJvZHksIG9wdGlvbnMpXHJcbiAgICAgIC5waXBlKCk7XHJcblxyXG4gIH1cclxuXHJcbmRlbGV0ZVByb3ZpZGVyKHZpY3RpbVByb2dyYW1Qcm92aWRlcklkOiBzdHJpbmcsIHN0YWZmSWQ6IG51bWJlcil7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmx9VmljdGltU2VydmljZURldGFpbHMvJHt2aWN0aW1Qcm9ncmFtUHJvdmlkZXJJZH0/c3RhZmZJZD0ke3N0YWZmSWR9YCk7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbn1cclxuIl19
@@ -1,38 +0,0 @@
1
- import { Component, ViewEncapsulation, Output, EventEmitter } from '@angular/core';
2
- import { VictimListFilter } from './VictimSearchFilter';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/material/button";
6
- import * as i3 from "@angular/material/expansion";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/input";
9
- export class VictimSearchFormComponent {
10
- constructor() {
11
- this.onSearch = new EventEmitter();
12
- this.change = new EventEmitter();
13
- this.filter = new VictimListFilter();
14
- }
15
- ngOnInit() {
16
- }
17
- ngAfterViewInit() {
18
- // var element = <HTMLInputElement> document.getElementById("victimSearchButton");
19
- // element.disabled = true;
20
- // setTimeout(function() {
21
- // element.disabled = false;
22
- // }, 10000);
23
- }
24
- onChange() {
25
- console.log('this.filter in serach form.');
26
- console.log(this.filter);
27
- this.onSearch.emit(this.filter);
28
- }
29
- }
30
- /** @nocollapse */ VictimSearchFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: VictimSearchFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- /** @nocollapse */ VictimSearchFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: VictimSearchFormComponent, selector: "app-victim-search-form", outputs: { onSearch: "onSearch" }, ngImport: i0, template: "<form name=\"victimSearchFrom\" #From=\"ngForm\">\r\n<mat-expansion-panel [expanded]=\"true\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n Search for Victims\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div class=\"victimSearch\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Victim Last Name\" [(ngModel)]=\"filter.lastName\" name=\"lastName\" id=\"lastName\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Victim First Name\" [(ngModel)]=\"filter.firstName\" name=\"firstName\" id=\"firstName\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Victim Date of Birth\" type=\"date\" [(ngModel)]=\"filter.birthDate\" name=\"birthDate\" id=\"birthDate\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Offender PDID\" [(ngModel)]=\"filter.pdid\" name=\"pdid\" id=\"pdid\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Offender CSOSA #\"[(ngModel)]=\"filter.offenderId\" name=\"offenderId\" id=\"offenderId\">\r\n </mat-form-field>\r\n \r\n \r\n <section>\r\n <button id=\"victimSearchButton\" mat-raised-button color=\"primary\" (click)=\"onChange()\">Search</button>\r\n <span style=\"padding-right: 5px;\"></span>\r\n <button mat-raised-button color=\"primary\" type=\"reset\" value=\"Reset\">Clear Changes</button>\r\n </section>\r\n </div>\r\n </mat-expansion-panel>\r\n</form>\r\n\r\n\r\n", styles: ["div.services{max-width:500px;margin:auto;border:3px solid #73AD21}.rTable{display:block;width:100%}.rTableHeading,.rTableBody,.rTableFoot,.rTableRow{clear:both}.rTableHead,.rTableFoot{background-color:#ddd;font-weight:700}.rTableCell,.rTableHead{border:0px;float:left;padding:1px;width:28%}.rTable:after{visibility:hidden;display:block;font-size:0;content:\" \";clear:both;height:0}.victimSearch{display:grid;grid-template-columns:1fr 1fr 1fr;grid-column-gap:10px}.edit-btn{margin-right:4px}.main-container{display:flex;margin-top:8px}.add-action{display:flex;justify-content:flex-end;margin-bottom:8px}.example-headers-align .mat-expansion-panel-header-title,.example-headers-align .mat-expansion-panel-header-description{flex-basis:0}.example-headers-align .mat-expansion-panel-header-description{justify-content:space-between;align-items:center}mat-form-field{margin-right:12px}.actions{display:flex;justify-content:space-around}.Row{display:table;width:100%;table-layout:fixed}.Column{display:table-cell}.sp-form textarea{float:left;margin-top:20px;margin-bottom:10px;width:462px;height:70px;overflow:auto;box-sizing:border-box}.mat-column-lastName,.mat-column-firstName,.mat-column-relationship,.mat-column-homePhone,.mat-column-offenderName{word-wrap:break-word!important;white-space:unset!important;flex:0 0 15%!important;width:15%!important;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.mat-column-victimId{word-wrap:break-word!important;white-space:unset!important;flex:0 0 25%!important;width:25%!important;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: VictimSearchFormComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'app-victim-search-form', encapsulation: ViewEncapsulation.None, template: "<form name=\"victimSearchFrom\" #From=\"ngForm\">\r\n<mat-expansion-panel [expanded]=\"true\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n Search for Victims\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div class=\"victimSearch\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Victim Last Name\" [(ngModel)]=\"filter.lastName\" name=\"lastName\" id=\"lastName\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Victim First Name\" [(ngModel)]=\"filter.firstName\" name=\"firstName\" id=\"firstName\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Victim Date of Birth\" type=\"date\" [(ngModel)]=\"filter.birthDate\" name=\"birthDate\" id=\"birthDate\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Offender PDID\" [(ngModel)]=\"filter.pdid\" name=\"pdid\" id=\"pdid\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Offender CSOSA #\"[(ngModel)]=\"filter.offenderId\" name=\"offenderId\" id=\"offenderId\">\r\n </mat-form-field>\r\n \r\n \r\n <section>\r\n <button id=\"victimSearchButton\" mat-raised-button color=\"primary\" (click)=\"onChange()\">Search</button>\r\n <span style=\"padding-right: 5px;\"></span>\r\n <button mat-raised-button color=\"primary\" type=\"reset\" value=\"Reset\">Clear Changes</button>\r\n </section>\r\n </div>\r\n </mat-expansion-panel>\r\n</form>\r\n\r\n\r\n", styles: ["div.services{max-width:500px;margin:auto;border:3px solid #73AD21}.rTable{display:block;width:100%}.rTableHeading,.rTableBody,.rTableFoot,.rTableRow{clear:both}.rTableHead,.rTableFoot{background-color:#ddd;font-weight:700}.rTableCell,.rTableHead{border:0px;float:left;padding:1px;width:28%}.rTable:after{visibility:hidden;display:block;font-size:0;content:\" \";clear:both;height:0}.victimSearch{display:grid;grid-template-columns:1fr 1fr 1fr;grid-column-gap:10px}.edit-btn{margin-right:4px}.main-container{display:flex;margin-top:8px}.add-action{display:flex;justify-content:flex-end;margin-bottom:8px}.example-headers-align .mat-expansion-panel-header-title,.example-headers-align .mat-expansion-panel-header-description{flex-basis:0}.example-headers-align .mat-expansion-panel-header-description{justify-content:space-between;align-items:center}mat-form-field{margin-right:12px}.actions{display:flex;justify-content:space-around}.Row{display:table;width:100%;table-layout:fixed}.Column{display:table-cell}.sp-form textarea{float:left;margin-top:20px;margin-bottom:10px;width:462px;height:70px;overflow:auto;box-sizing:border-box}.mat-column-lastName,.mat-column-firstName,.mat-column-relationship,.mat-column-homePhone,.mat-column-offenderName{word-wrap:break-word!important;white-space:unset!important;flex:0 0 15%!important;width:15%!important;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.mat-column-victimId{word-wrap:break-word!important;white-space:unset!important;flex:0 0 25%!important;width:25%!important;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}\n"] }]
35
- }], ctorParameters: function () { return []; }, propDecorators: { onSearch: [{
36
- type: Output
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmljdGltU2VhcmNoRm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvdmljdGltU2VhcmNoL3ZpY3RpbVNlYXJjaEZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdjLXNtYXJ0LXZpY3RpbS9zcmMvbGliL3ZpY3RpbVNlYXJjaC92aWN0aW1TZWFyY2hGb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQ3pDLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFRdEQsTUFBTSxPQUFPLHlCQUF5QjtJQU9wQztRQUxVLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRSxXQUFNLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRTlFLFdBQU0sR0FBcUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBRWxDLENBQUM7SUFFakIsUUFBUTtJQUVSLENBQUM7SUFFRCxlQUFlO1FBRWYsb0ZBQW9GO1FBQ3BGLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsZ0NBQWdDO1FBQ2hDLGFBQWE7SUFFYixDQUFDO0lBQ0QsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEMsQ0FBQzs7eUlBNUJVLHlCQUF5Qjs2SEFBekIseUJBQXlCLGlHQ1h4QyxneERBbUNBOzJGRHhCZSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0Usd0JBQXdCLGlCQUduQixpQkFBaUIsQ0FBQyxJQUFJOzBFQUkzQixRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gICAgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuICBcclxuaW1wb3J0IHsgVmljdGltTGlzdEZpbHRlciB9IGZyb20gJy4vVmljdGltU2VhcmNoRmlsdGVyJztcclxuICBcclxuICBAQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXZpY3RpbS1zZWFyY2gtZm9ybScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdmljdGltU2VhcmNoRm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi4vc21hcnQtdmljdGltLmNvbXBvbmVudC5jc3MnXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxuICB9KVxyXG4gIGV4cG9ydCBjbGFzcyBWaWN0aW1TZWFyY2hGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgXHJcbiAgICBAT3V0cHV0KCkgb25TZWFyY2g6RXZlbnRFbWl0dGVyPE9iamVjdD49bmV3IEV2ZW50RW1pdHRlcjxPYmplY3Q+KCk7XHJcbiAgICBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxWaWN0aW1MaXN0RmlsdGVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8VmljdGltTGlzdEZpbHRlcj4oKTtcclxuICBcclxuICAgIGZpbHRlcjogVmljdGltTGlzdEZpbHRlciA9IG5ldyBWaWN0aW1MaXN0RmlsdGVyKCk7XHJcbiAgXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG4gIFxyXG4gICAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHJcbiAgICAvLyAgIHZhciBlbGVtZW50ID0gPEhUTUxJbnB1dEVsZW1lbnQ+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidmljdGltU2VhcmNoQnV0dG9uXCIpO1xyXG4gICAgLy8gICBlbGVtZW50LmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIC8vICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuICAgIC8vICAgICBlbGVtZW50LmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAvLyB9LCAxMDAwMCk7XHJcblxyXG4gICAgfVxyXG4gICAgb25DaGFuZ2UoKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCd0aGlzLmZpbHRlciBpbiBzZXJhY2ggZm9ybS4nKTtcclxuICAgICAgY29uc29sZS5sb2codGhpcy5maWx0ZXIpO1xyXG5cclxuICAgICAgdGhpcy5vblNlYXJjaC5lbWl0KHRoaXMuZmlsdGVyKTtcclxuICAgICBcclxuICAgIH1cclxuICB9XHJcbiIsIjxmb3JtIG5hbWU9XCJ2aWN0aW1TZWFyY2hGcm9tXCIgICNGcm9tPVwibmdGb3JtXCI+XHJcbjxtYXQtZXhwYW5zaW9uLXBhbmVsIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgICAgICAgICAgU2VhcmNoIGZvciBWaWN0aW1zXHJcbiAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZpY3RpbVNlYXJjaFwiPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJWaWN0aW0gTGFzdCBOYW1lXCIgIFsobmdNb2RlbCldPVwiZmlsdGVyLmxhc3ROYW1lXCIgbmFtZT1cImxhc3ROYW1lXCIgaWQ9XCJsYXN0TmFtZVwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJWaWN0aW0gRmlyc3QgTmFtZVwiICBbKG5nTW9kZWwpXT1cImZpbHRlci5maXJzdE5hbWVcIiBuYW1lPVwiZmlyc3ROYW1lXCIgaWQ9XCJmaXJzdE5hbWVcIj5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiVmljdGltIERhdGUgb2YgQmlydGhcIiB0eXBlPVwiZGF0ZVwiICAgIFsobmdNb2RlbCldPVwiZmlsdGVyLmJpcnRoRGF0ZVwiIG5hbWU9XCJiaXJ0aERhdGVcIiBpZD1cImJpcnRoRGF0ZVwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJPZmZlbmRlciBQRElEXCIgIFsobmdNb2RlbCldPVwiZmlsdGVyLnBkaWRcIiBuYW1lPVwicGRpZFwiIGlkPVwicGRpZFwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJPZmZlbmRlciBDU09TQSAjXCJbKG5nTW9kZWwpXT1cImZpbHRlci5vZmZlbmRlcklkXCIgbmFtZT1cIm9mZmVuZGVySWRcIiBpZD1cIm9mZmVuZGVySWRcIj5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICBcclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uICBpZD1cInZpY3RpbVNlYXJjaEJ1dHRvblwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkNoYW5nZSgpXCI+U2VhcmNoPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDVweDtcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uICAgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgIHR5cGU9XCJyZXNldFwiIHZhbHVlPVwiUmVzZXRcIj5DbGVhciBDaGFuZ2VzPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuPC9mb3JtPlxyXG5cclxuXHJcbiJdfQ==