@csmart/ngc-smart-victim 1.14.44 → 1.14.45

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. package/README.md +25 -25
  2. package/esm2020/lib/caseNote/caseNote.component.mjs +194 -0
  3. package/esm2020/lib/common-dialog/common-dialog.component.mjs +23 -0
  4. package/esm2020/lib/common-dialog/common-dialog.module.mjs +34 -0
  5. package/esm2020/lib/common-dialog/common-dialog.service.mjs +33 -0
  6. package/esm2020/lib/contact/contact.component.mjs +140 -0
  7. package/esm2020/lib/email.services.mjs +42 -0
  8. package/esm2020/lib/intake.service.mjs +57 -0
  9. package/esm2020/lib/safetyPlan/serviceProvider.component.mjs +99 -0
  10. package/esm2020/lib/safetyPlan/victimSafetyPlan.component.mjs +116 -0
  11. package/esm2020/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +340 -0
  12. package/esm2020/lib/shared/app.shared.module.mjs +215 -0
  13. package/esm2020/lib/shared/validators/date.validator.mjs +59 -0
  14. package/esm2020/lib/smart-victim-delete-confirm.component.mjs +44 -0
  15. package/esm2020/lib/smart-victim-detail/smart-victim-detail.component.mjs +1104 -0
  16. package/esm2020/lib/smart-victim.component.mjs +314 -0
  17. package/esm2020/lib/smart-victim.model.mjs +133 -0
  18. package/esm2020/lib/smart-victim.module.mjs +128 -0
  19. package/esm2020/lib/smart-victim.service.mjs +352 -0
  20. package/{esm2022 → esm2020}/lib/victim-routing.module.mjs +5 -5
  21. package/esm2020/lib/victimSearch/VictimSearchFilter.mjs +3 -0
  22. package/esm2020/lib/victimSearch/victimSearchForm.component.mjs +38 -0
  23. package/{esm2022 → esm2020}/public-api.mjs +1 -1
  24. package/fesm2015/csmart-ngc-smart-victim.mjs +3273 -0
  25. package/fesm2015/csmart-ngc-smart-victim.mjs.map +1 -0
  26. package/fesm2020/csmart-ngc-smart-victim.mjs +3261 -0
  27. package/fesm2020/csmart-ngc-smart-victim.mjs.map +1 -0
  28. package/lib/caseNote/caseNote.component.d.ts +2 -2
  29. package/lib/common-dialog/common-dialog.component.d.ts +1 -1
  30. package/lib/contact/contact.component.d.ts +1 -1
  31. package/lib/safetyPlan/serviceProvider.component.d.ts +1 -1
  32. package/lib/safetyPlan/victimSafetyPlan.component.d.ts +2 -2
  33. package/lib/safetyPlan/victimSafetyPlanDetail.component.d.ts +2 -2
  34. package/lib/smart-victim-delete-confirm.component.d.ts +1 -1
  35. package/lib/smart-victim-detail/smart-victim-detail.component.d.ts +2 -2
  36. package/lib/smart-victim.component.d.ts +2 -2
  37. package/lib/victimSearch/victimSearchForm.component.d.ts +1 -1
  38. package/package.json +11 -5
  39. package/esm2022/lib/caseNote/caseNote.component.mjs +0 -219
  40. package/esm2022/lib/common-dialog/common-dialog.component.mjs +0 -26
  41. package/esm2022/lib/common-dialog/common-dialog.module.mjs +0 -34
  42. package/esm2022/lib/common-dialog/common-dialog.service.mjs +0 -34
  43. package/esm2022/lib/contact/contact.component.mjs +0 -158
  44. package/esm2022/lib/email.services.mjs +0 -43
  45. package/esm2022/lib/intake.service.mjs +0 -59
  46. package/esm2022/lib/safetyPlan/serviceProvider.component.mjs +0 -105
  47. package/esm2022/lib/safetyPlan/victimSafetyPlan.component.mjs +0 -146
  48. package/esm2022/lib/safetyPlan/victimSafetyPlanDetail.component.mjs +0 -372
  49. package/esm2022/lib/shared/app.shared.module.mjs +0 -215
  50. package/esm2022/lib/shared/validators/date.validator.mjs +0 -59
  51. package/esm2022/lib/smart-victim-delete-confirm.component.mjs +0 -46
  52. package/esm2022/lib/smart-victim-detail/smart-victim-detail.component.mjs +0 -1141
  53. package/esm2022/lib/smart-victim.component.mjs +0 -343
  54. package/esm2022/lib/smart-victim.model.mjs +0 -233
  55. package/esm2022/lib/smart-victim.module.mjs +0 -128
  56. package/esm2022/lib/smart-victim.service.mjs +0 -357
  57. package/esm2022/lib/victimSearch/VictimSearchFilter.mjs +0 -8
  58. package/esm2022/lib/victimSearch/victimSearchForm.component.mjs +0 -37
  59. package/fesm2022/csmart-ngc-smart-victim.mjs +0 -3556
  60. package/fesm2022/csmart-ngc-smart-victim.mjs.map +0 -1
  61. /package/{esm2022 → esm2020}/csmart-ngc-smart-victim.mjs +0 -0
  62. /package/{esm2022 → esm2020}/lib/shared/validators/index.mjs +0 -0
@@ -1,357 +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
- http;
14
- smartOffenderServiceUrl;
15
- smartLookupServiceUrl;
16
- smartVictimServiceUrl;
17
- apollo;
18
- serviceApiUrl = 'https://smart-service-test.azurewebsites.net/graphql';
19
- constructor(http, smartOffenderServiceUrl, smartLookupServiceUrl, smartVictimServiceUrl, apollo) {
20
- this.http = http;
21
- this.smartOffenderServiceUrl = smartOffenderServiceUrl;
22
- this.smartLookupServiceUrl = smartLookupServiceUrl;
23
- this.smartVictimServiceUrl = smartVictimServiceUrl;
24
- this.apollo = apollo;
25
- }
26
- // getVictimInsurances(offenderId: any) {
27
- // return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?offenderId=' + offenderId).pipe();
28
- // }
29
- // getVictimInsurance(id: any) {
30
- // return this.http.get(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();
31
- // }
32
- // postVictimInsurance(val: any) {
33
- // return this.http.post(this.smartOffenderServiceUrl + '/VictimInsurances', val).pipe();
34
- // }
35
- // putVictimInsurance(id: any, val: any) {
36
- // return this.http.put(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id, val).pipe();
37
- // }
38
- // deleteVictimInsurance(id: any) {
39
- // return this.http.delete(this.smartOffenderServiceUrl + '/VictimInsurances/?id=' + id).pipe();
40
- // }
41
- // getVictimInsuranceTypes() {
42
- // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceTypes').pipe();
43
- // }
44
- // getVictimInsurancePolicyHolders() {
45
- // return this.http.get(this.smartLookupServiceUrl + '/VictimInsurancePolicyHolders').pipe();
46
- // }
47
- // getVictimInsuranceSwitchReasons() {
48
- // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceSwitchReasons').pipe();
49
- // }
50
- // getVictimInsuranceProviders() {
51
- // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProvider').pipe();
52
- // }
53
- // getVictimInsuranceProvider(id) {
54
- // return this.http.get(this.smartLookupServiceUrl + '/VictimInsuranceProviders/' + id).pipe();
55
- // }
56
- // postProviderInformation(val: any) {
57
- // return this.http.post(this.smartLookupServiceUrl + '/VictimInsuranceProviders', val).pipe();
58
- // }
59
- getCurrentHousing(offenderId) {
60
- return this.http
61
- .get(this.smartOffenderServiceUrl + 'Housings/current/' + offenderId)
62
- .pipe();
63
- }
64
- handleError(error) {
65
- console.error(error);
66
- return observableThrowError(error.json().error || 'Server error');
67
- }
68
- getDrugsTypes() {
69
- return this.http.get(this.smartLookupServiceUrl + 'DrugTypes', options).pipe(map(res => res));
70
- }
71
- getDocketList(offenderId) {
72
- const queryString = `
73
- {
74
- findDockets(input: { where: { offenderId:${offenderId} } }) {
75
- totalCount
76
- message
77
- data {
78
- docketId
79
- docketNumber
80
-
81
- }
82
- }
83
- }`;
84
- return this.http.post(this.serviceApiUrl, { query: queryString }).pipe(map(({ data }) => {
85
- console.log('dockets for this offender:', data.findDockets.data);
86
- return data.findDockets.data;
87
- }));
88
- }
89
- getSupportTypes() {
90
- return this.http.get(this.smartLookupServiceUrl + 'VictimSupportTypes', options).pipe(map(res => res));
91
- }
92
- getPrefixes() {
93
- return this.http.get(this.smartLookupServiceUrl + 'Prefixes', options).pipe(map(res => res));
94
- }
95
- getSuffixes() {
96
- return this.http.get(this.smartLookupServiceUrl + 'Suffixes', options).pipe(map(res => res));
97
- }
98
- getRelationshipTypes() {
99
- return this.http.get(this.smartLookupServiceUrl + 'RelationshipTypes', options).pipe(map(res => res));
100
- }
101
- getGenders() {
102
- return this.http.get(this.smartLookupServiceUrl + 'Genders', options).pipe(map(res => res));
103
- }
104
- getWeaponTypes() {
105
- return this.http.get(this.smartLookupServiceUrl + 'WeaponTypes', options).pipe(map(res => res));
106
- }
107
- getFlagOptionYesNoUnknowns() {
108
- return this.http.get(this.smartLookupServiceUrl + 'FlagOptionYesNoUnknowns', options).pipe(map(res => {
109
- return res;
110
- }));
111
- }
112
- getContactTypes() {
113
- return this.http.get(this.smartLookupServiceUrl + 'ContactTypes', options).pipe(map(res => {
114
- return res;
115
- }));
116
- }
117
- getContactMethods() {
118
- return this.http.get(this.smartLookupServiceUrl + 'VictimContactMethods', options).pipe(map(res => {
119
- return res;
120
- }));
121
- }
122
- getContactBys() {
123
- return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe(map(res => {
124
- return res;
125
- }));
126
- }
127
- getVictimContactPurposes() {
128
- return this.http.get(this.smartLookupServiceUrl + 'VictimContactPurposes', options).pipe(map(res => {
129
- return res;
130
- }));
131
- }
132
- getVictimServiceTypes() {
133
- return this.http.get(this.smartLookupServiceUrl + 'VictimServiceTypes', options).pipe(map(res => {
134
- return res;
135
- }));
136
- }
137
- getVictimServiceStatus() {
138
- return this.http.get(this.smartLookupServiceUrl + 'VictimServiceStatus', options).pipe(map(res => {
139
- return res;
140
- }));
141
- }
142
- getvVictimServiceTypeProgramProviders() {
143
- return this.http.get(this.smartLookupServiceUrl + 'vVictimServiceTypeProgramProviders', options).pipe(map(res => {
144
- return res;
145
- }));
146
- }
147
- getVictim(val) {
148
- return this.http.get(this.smartVictimServiceUrl + 'Victims/' + val, options).pipe(map(res => {
149
- console.log('victim return data');
150
- console.log(res);
151
- return res;
152
- }));
153
- }
154
- getVictimAdvocate(val) {
155
- return this.http.get(this.smartVictimServiceUrl + 'VictimAdvocates/' + val, options).pipe(map(res => {
156
- return res;
157
- }));
158
- }
159
- getVictimGuardian(val) {
160
- return this.http.get(this.smartVictimServiceUrl + 'VictimGuardians/' + val, options).pipe(map(res => {
161
- return res;
162
- }));
163
- }
164
- postVictims(val) {
165
- const tempVal = JSON.stringify(val);
166
- return this.http.post(this.smartVictimServiceUrl + 'Victims', tempVal, options).pipe(map(res => { return res; }));
167
- }
168
- putVictims(id, val) {
169
- const tempVal = JSON.stringify(val);
170
- return this.http.put(this.smartVictimServiceUrl + 'Victims/' + id, tempVal, options).pipe(map(res => { return res; }));
171
- }
172
- putVictimAdvocate(id, val) {
173
- let body;
174
- body = JSON.stringify(val);
175
- return this.http.put(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, body, options).pipe(map(res => { return res; }));
176
- }
177
- postVictimAdvocate(id, val) {
178
- const tempVal = JSON.stringify(val);
179
- return this.http.post(this.smartVictimServiceUrl + 'VictimAdvocates/' + id, tempVal, options).pipe(map(res => { return res; }));
180
- }
181
- putVictimGuardian(id, val) {
182
- console.log('update victim guardian');
183
- console.log(val);
184
- const tempVal = JSON.stringify(val);
185
- return this.http.put(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe(map(res => { return res; }));
186
- }
187
- postVictimGuardian(id, val) {
188
- const tempVal = JSON.stringify(val);
189
- return this.http.post(this.smartVictimServiceUrl + 'VictimGuardians/' + id, tempVal, options).pipe(map(res => { return res; }));
190
- }
191
- getVictimDrugUse(val) {
192
- return this.http.get(this.smartVictimServiceUrl + 'VictimDrugUses/' + val, options).pipe(map((res) => {
193
- return res;
194
- }));
195
- }
196
- putVictimDrugUse(id, val) {
197
- const tempVal = JSON.stringify(val);
198
- return this.http.put(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe(map(res => { return res; }));
199
- }
200
- postVictimDrugUse(id, val) {
201
- const tempVal = JSON.stringify(val);
202
- return this.http.post(this.smartVictimServiceUrl + 'VictimDrugUses/' + id, tempVal, options).pipe(map(res => { return res; }));
203
- }
204
- putVictimWeaponUse(id, val) {
205
- const tempVal = JSON.stringify(val);
206
- return this.http.put(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe(map(res => { return res; }));
207
- }
208
- postVictimWeaponUse(id, val) {
209
- const tempVal = JSON.stringify(val);
210
- return this.http.post(this.smartVictimServiceUrl + 'VictimWeaponUses/' + id, tempVal, options).pipe(map(res => { return res; }));
211
- }
212
- putVictimSupport(id, val) {
213
- const tempVal = JSON.stringify(val);
214
- return this.http.put(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe(map(res => { return res; }));
215
- }
216
- postVictimSupport(id, val) {
217
- const tempVal = JSON.stringify(val);
218
- return this.http.post(this.smartVictimServiceUrl + 'VictimSupports/' + id, tempVal, options).pipe(map(res => { return res; }));
219
- }
220
- deleteVictims(val, staffId) {
221
- return this.http.delete(this.smartVictimServiceUrl + 'Victims/' + val + '?staffId=' + staffId, options).pipe(map(res => { return res; }));
222
- }
223
- // //==============Victim Serive===================================
224
- getVictims(offenderId) {
225
- return this.http.get(this.smartVictimServiceUrl + 'Victims/offender/' + offenderId)
226
- .pipe(map((res) => {
227
- return res;
228
- }), catchError(this.handleError));
229
- }
230
- getVictimsByFilter(filter) {
231
- return this.http
232
- .post(this.smartVictimServiceUrl + '/Victims', JSON.stringify(filter), { headers: headers })
233
- .pipe(map((res) => {
234
- return res;
235
- }), catchError(this.handleError));
236
- }
237
- getVictimListByFilter(filter) {
238
- console.log('filer in service');
239
- console.log(filter);
240
- return this.http
241
- .post(this.smartVictimServiceUrl + 'vVictims/Filter', JSON.stringify(filter), options)
242
- .pipe();
243
- }
244
- getCasetNotes(victimId) {
245
- return this.http.get(this.smartVictimServiceUrl + 'VictimCaseNotes/victim/' + victimId)
246
- .pipe(map((res) => {
247
- return res;
248
- }), catchError(this.handleError));
249
- }
250
- addCaseNote(caseNote) {
251
- let body;
252
- body = JSON.stringify(caseNote);
253
- return this.http
254
- .post(this.smartVictimServiceUrl + 'VictimCaseNotes/', body, options);
255
- }
256
- updateCaseNote(caseNote) {
257
- let body;
258
- body = JSON.stringify(caseNote);
259
- return this.http
260
- .put(this.smartVictimServiceUrl + 'VictimCaseNotes/' + caseNote.victimCaseNoteId, body, options);
261
- }
262
- deleteCaseNote(id, staffId) {
263
- return this.http.delete(`${this.smartVictimServiceUrl}VictimCaseNotes/${id}?staffId=${staffId}`);
264
- }
265
- getContacts(victimId) {
266
- return this.http.get(this.smartVictimServiceUrl + 'VictimContacts/victim/' + victimId)
267
- .pipe(map((res) => {
268
- return res;
269
- }), catchError(this.handleError));
270
- }
271
- addContact(contact) {
272
- let body;
273
- body = JSON.stringify(contact);
274
- return this.http
275
- .post(this.smartVictimServiceUrl + 'VictimContacts/', body, options);
276
- }
277
- updateContact(contact) {
278
- let body;
279
- body = JSON.stringify(contact);
280
- return this.http
281
- .put(this.smartVictimServiceUrl + 'VictimContacts/' + contact.victimContactId, body, options);
282
- }
283
- getSafetyPlans(victimId) {
284
- return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victim/' + victimId)
285
- .pipe(map((res) => {
286
- return res;
287
- }), catchError(this.handleError));
288
- }
289
- getVictimServices(victimServiceId) {
290
- return this.http.get(this.smartVictimServiceUrl + 'vVictimServiceLists/victimServiceId/' + victimServiceId)
291
- .pipe(map((res) => {
292
- return res;
293
- }), catchError(this.handleError));
294
- }
295
- getVictimServiceDetail(victimServiceId) {
296
- return this.http.get(this.smartVictimServiceUrl + 'VictimServiceDetails/' + victimServiceId)
297
- .pipe(map((res) => {
298
- return res;
299
- }), catchError(this.handleError));
300
- }
301
- addSafetyPlan(victimSafetyPlan) {
302
- let body;
303
- body = JSON.stringify(victimSafetyPlan);
304
- return this.http
305
- .post(this.smartVictimServiceUrl + 'VictimServices/', body, options)
306
- .pipe();
307
- }
308
- updateSafetyPlan(victimSafetyPlan) {
309
- let body;
310
- body = JSON.stringify(victimSafetyPlan);
311
- return this.http
312
- .put(this.smartVictimServiceUrl + 'VictimServices/' + victimSafetyPlan.victimServiceId, body, options);
313
- }
314
- addVictimServiceStatus(victimServiceStatusHistory) {
315
- let body;
316
- body = JSON.stringify(victimServiceStatusHistory);
317
- return this.http
318
- .post(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/', body, options);
319
- }
320
- getServiceStatusHistories(victimServiceId) {
321
- return this.http.get(this.smartVictimServiceUrl + 'VictimServiceStatusHistories/victimServiceId/' + victimServiceId)
322
- .pipe(map((res) => {
323
- return res;
324
- }), catchError(this.handleError));
325
- }
326
- deleteSafetyPlan(victimServiceId, staffId) {
327
- return this.http.delete(`${this.smartVictimServiceUrl}VictimServices/${victimServiceId}?staffId=${staffId}`);
328
- }
329
- addPlanProvider(victimServiceDetail) {
330
- let body;
331
- body = JSON.stringify(victimServiceDetail);
332
- return this.http
333
- .post(this.smartVictimServiceUrl + 'VictimServiceDetails/', body, options)
334
- .pipe();
335
- }
336
- deleteProvider(victimProgramProviderId, staffId) {
337
- return this.http.delete(`${this.smartVictimServiceUrl}VictimServiceDetails/${victimProgramProviderId}?staffId=${staffId}`);
338
- }
339
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.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 });
340
- /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgcSmartVictimService, providedIn: 'root' });
341
- }
342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgcSmartVictimService, decorators: [{
343
- type: Injectable,
344
- args: [{
345
- providedIn: 'root'
346
- }]
347
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
348
- type: Inject,
349
- args: [SMART_OFFENDER_SERVICE_URL]
350
- }] }, { type: undefined, decorators: [{
351
- type: Inject,
352
- args: [SMART_LOOKUP_SERVICE_URL]
353
- }] }, { type: undefined, decorators: [{
354
- type: Inject,
355
- args: [SMART_VICTIM_SERVICE_URL]
356
- }] }, { type: i2.Apollo }] });
357
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmljdGltLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvc21hcnQtdmljdGltLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUMsd0JBQXdCLEVBRVcsTUFBTSxzQkFBc0IsQ0FBQztBQUM5SCxPQUFPLEVBQWMsVUFBVSxJQUFJLG9CQUFvQixFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxHQUFHLEVBQUMsVUFBVSxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSXhDLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztBQUN4RSxNQUFNLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUtyQyxNQUFNLE9BQU8scUJBQXFCO0lBRVo7SUFFMEI7SUFDRjtJQUNBO0lBQ2xDO0lBTkYsYUFBYSxHQUFJLHNEQUFzRCxDQUFDO0lBQ2hGLFlBQW9CLElBQWdCLEVBRVUsdUJBQStCLEVBQ2pDLHFCQUE2QixFQUM3QixxQkFBNkIsRUFDL0QsTUFBYztRQUxKLFNBQUksR0FBSixJQUFJLENBQVk7UUFFVSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQVE7UUFDakMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQzdCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBUTtRQUMvRCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBRWxCLENBQUM7SUFFUCx5Q0FBeUM7SUFDekMsK0dBQStHO0lBQy9HLElBQUk7SUFFSixnQ0FBZ0M7SUFDaEMsK0ZBQStGO0lBQy9GLEtBQUs7SUFFTCxrQ0FBa0M7SUFDbEMsMkZBQTJGO0lBQzNGLElBQUk7SUFFSiwwQ0FBMEM7SUFDMUMsb0dBQW9HO0lBQ3BHLElBQUk7SUFFSixtQ0FBbUM7SUFDbkMsa0dBQWtHO0lBQ2xHLElBQUk7SUFFSiw4QkFBOEI7SUFDOUIseUZBQXlGO0lBQ3pGLElBQUk7SUFFSixzQ0FBc0M7SUFDdEMsaUdBQWlHO0lBQ2pHLElBQUk7SUFFTix3Q0FBd0M7SUFDeEMsbUdBQW1HO0lBQ25HLE1BQU07SUFFTixvQ0FBb0M7SUFDcEMsOEZBQThGO0lBQzlGLE1BQU07SUFFTixxQ0FBcUM7SUFDckMsbUdBQW1HO0lBQ25HLElBQUk7SUFFSix3Q0FBd0M7SUFDeEMscUdBQXFHO0lBQ3JHLE1BQU07SUFFTixpQkFBaUIsQ0FBQyxVQUFrQjtRQUVsQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxtQkFBbUIsR0FBRyxVQUFVLENBQUM7YUFDcEUsSUFBSSxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQVU7UUFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLElBQUksY0FBYyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBSSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUV6RSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FDZCxDQUFDO0lBQ1IsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixNQUFNLFdBQVcsR0FBRzs7K0NBRXlCLFVBQVU7Ozs7Ozs7OztJQVNyRCxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN6RSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBR1IsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBRWpGLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUNkLENBQUM7SUFDUixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFJLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBRXhFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUNkLENBQUM7SUFDUixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFJLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBRXhFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUNkLENBQUM7SUFDUixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFJLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFakYsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQ2QsQ0FBQztJQUNSLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUksU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFdkUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQ2QsQ0FBQztJQUNSLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUksYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFM0UsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQ2QsQ0FBQztJQUNSLENBQUM7SUFFRCwwQkFBMEI7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcseUJBQXlCLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUVyRixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDTixPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNELENBQUM7SUFDUixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBRTFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNOLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0QsQ0FBQztJQUNSLENBQUM7SUFDRCxpQkFBaUI7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUVsRixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDTixPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNELENBQUM7SUFDUixDQUFDO0lBQ0QsYUFBYTtRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFeEYsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ04sT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDRCxDQUFDO0lBRUgsQ0FBQztJQUVGLHdCQUF3QjtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBRW5GLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNOLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0QsQ0FBQztJQUNSLENBQUM7SUFFRCxxQkFBcUI7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUVoRixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDTixPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNELENBQUM7SUFDUixDQUFDO0lBQ0Qsc0JBQXNCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFakYsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ04sT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDRCxDQUFDO0lBQ1IsQ0FBQztJQUVELHFDQUFxQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxvQ0FBb0MsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBRWhHLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNOLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0QsQ0FBQztJQUNSLENBQUM7SUFHRixTQUFTLENBQUMsR0FBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFL0UsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsT0FBTyxHQUFHLENBQUM7UUFFYixDQUFDLENBQUMsQ0FDQyxDQUFDO0lBQ1IsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQVE7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsa0JBQWtCLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FHckYsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ04sT0FBTyxHQUFHLENBQUM7UUFBQSxDQUFDLENBQUMsQ0FDaEIsQ0FBQztJQUNSLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFRO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBR3JGLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNOLE9BQU8sR0FBRyxDQUFDO1FBQUEsQ0FBQyxDQUFDLENBQ2hCLENBQUM7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVE7UUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFL0UsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FDekIsQ0FBQztJQUNSLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBTyxFQUFFLEdBQVE7UUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBRXJGLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQ3pCLENBQUM7SUFDUixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTyxFQUFFLEdBQW1CO1FBQzVDLElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUUxRixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUN6QixDQUFDO0lBS1IsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQU8sRUFBRSxHQUFRO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsa0JBQWtCLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBRTlGLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQ3pCLENBQUM7SUFDUixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTyxFQUFFLEdBQVE7UUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxrQkFBa0IsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFN0YsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FDekIsQ0FBQztJQUNSLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFPLEVBQUUsR0FBUTtRQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUU5RixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUN6QixDQUFDO0lBQ1IsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVE7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsaUJBQWlCLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFcEYsR0FBRyxDQUFDLENBQUMsR0FBb0IsRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sR0FBRyxDQUFDO1FBQUEsQ0FBQyxDQUFDLENBQ2xCLENBQUM7SUFDUixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTyxFQUFFLEdBQW9CO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsaUJBQWlCLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBRTVGLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQ3pCLENBQUM7SUFDUixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTyxFQUFFLEdBQVE7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxpQkFBaUIsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFN0YsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FDekIsQ0FBQztJQUNSLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFPLEVBQUUsR0FBUTtRQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLG1CQUFtQixHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUU5RixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUN6QixDQUFDO0lBQ1IsQ0FBQztJQUVELG1CQUFtQixDQUFDLEVBQU8sRUFBRSxHQUFRO1FBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsbUJBQW1CLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBRS9GLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQ3pCLENBQUM7SUFDUixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBTyxFQUFFLEdBQVE7UUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxpQkFBaUIsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FFNUYsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FDekIsQ0FBQztJQUNSLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPLEVBQUUsR0FBUTtRQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGlCQUFpQixHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUU3RixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUN6QixDQUFDO0lBQ1IsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFRLEVBQUcsT0FBZTtRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRSxVQUFVLEdBQUcsR0FBRyxHQUFHLFdBQVcsR0FBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUUxRyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUdELG1FQUFtRTtJQUVuRSxVQUFVLENBQUMsVUFBa0I7UUFFM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUksbUJBQW1CLEdBQUcsVUFBVSxDQUFDO2FBQ25GLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFhLEVBQUUsRUFBRTtZQUV4QixPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxFQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBd0I7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNQLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDM0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQWEsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLEVBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUF3QjtRQUU1QyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVwQixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQzthQUNyRixJQUFJLEVBQUUsQ0FBQztJQUVWLENBQUM7SUFHRCxhQUFhLENBQUMsUUFBZ0I7UUFFNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcseUJBQXlCLEdBQUcsUUFBUSxDQUFDO2FBQ3RGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFlLEVBQUUsRUFBRTtZQUMxQixPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxFQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUdqQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLFFBQWtCO1FBQzVCLElBQUksSUFBWSxDQUFDO1FBQ1YsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU1RSxDQUFDO0lBR0YsY0FBYyxDQUFDLFFBQWtCO1FBRS9CLElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBRS9GO0lBQ04sQ0FBQztJQUVGLGNBQWMsQ0FBQyxFQUFVLEVBQUUsT0FBZTtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixtQkFBbUIsRUFBRSxZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUUxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyx3QkFBd0IsR0FBRyxRQUFRLENBQUM7YUFDckYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQWMsRUFBRSxFQUFFO1lBQ3pCLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLEVBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBRWpDLENBQUM7SUFDRCxVQUFVLENBQUMsT0FBZ0I7UUFDekIsSUFBSSxJQUFZLENBQUM7UUFDVixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTNFLENBQUM7SUFHRixhQUFhLENBQUMsT0FBZ0I7UUFFNUIsSUFBSSxJQUFZLENBQUM7UUFDakIsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBRTVGO0lBQ04sQ0FBQztJQUVKLGNBQWMsQ0FBQyxRQUFnQjtRQUV6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyw2QkFBNkIsR0FBRyxRQUFRLENBQUM7YUFDMUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQXVCLEVBQUUsRUFBRTtZQUNsQyxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxFQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUgsaUJBQWlCLENBQUMsZUFBdUI7UUFFbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsc0NBQXNDLEdBQUcsZUFBZSxDQUFDO2FBQzFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUF1QixFQUFFLEVBQUU7WUFDbEMsT0FBUSxHQUFHLENBQUM7UUFDaEIsQ0FBQyxDQUFDLEVBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBRW5DLENBQUM7SUFFSCxzQkFBc0IsQ0FBQyxlQUF1QjtRQUU1QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyx1QkFBdUIsR0FBRyxlQUFlLENBQUM7YUFDM0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQTBCLEVBQUUsRUFBRTtZQUVyQyxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxFQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUVqQyxDQUFDO0lBQ0QsYUFBYSxDQUFDLGdCQUFrQztRQUU5QyxJQUFJLElBQVksQ0FBQztRQUNULElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNmLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQzthQUNuRSxJQUFJLEVBQUUsQ0FBQztJQUVoQixDQUFDO0lBQ0gsZ0JBQWdCLENBQUMsZ0JBQWtDO1FBRTdDLElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FFckc7SUFDTixDQUFDO0lBQ04sc0JBQXNCLENBQUMsMEJBQXNEO1FBQzNFLElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNmLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsK0JBQStCLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRW5GLENBQUM7SUFFSCx5QkFBeUIsQ0FBQyxlQUF1QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRywrQ0FBK0MsR0FBRyxlQUFlLENBQUM7YUFDbkgsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLEdBQWlDLEVBQUUsRUFBRTtZQUV0QyxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxFQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ2hDLENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsZUFBdUIsRUFBRSxPQUFlO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMscUJBQXFCLGtCQUFrQixlQUFlLFlBQVksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUU3RyxDQUFDO0lBQ0gsZUFBZSxDQUFDLG1CQUF1QztRQUNqRCxJQUFJLElBQVksQ0FBQztRQUNqQixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHVCQUF1QixFQUFFLElBQUksRUFBRSxPQUFPLENBQUM7YUFDekUsSUFBSSxFQUFFLENBQUM7SUFFWixDQUFDO0lBRUgsY0FBYyxDQUFDLHVCQUErQixFQUFFLE9BQWU7UUFDN0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsd0JBQXdCLHVCQUF1QixZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFN0gsQ0FBQzswSEF2aEJZLHFCQUFxQiw0Q0FJdEIsMEJBQTBCLGFBQzFCLHdCQUF3QixhQUN4Qix3QkFBd0I7OEhBTnZCLHFCQUFxQixjQUZwQixNQUFNOzsyRkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFLSSxNQUFNOzJCQUFDLDBCQUEwQjs7MEJBQ2pDLE1BQU07MkJBQUMsd0JBQXdCOzswQkFDL0IsTUFBTTsyQkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LEh0dHBSZXNwb25zZSwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTTUFSVF9MT09LVVBfU0VSVklDRV9VUkwsIFNNQVJUX09GRkVOREVSX1NFUlZJQ0VfVVJMLFNNQVJUX1ZJQ1RJTV9TRVJWSUNFX1VSTCxcclxuICAgIFZpY3RpbUxpc3RGaWx0ZXIsVmljdGltRHJ1Z1VzZSxWaWN0aW0sVmljdGltU2FmZXR5UGxhbixcclxuICAgQ2FzZU5vdGUsQ29udGFjdCxWaWN0aW1TZXJ2aWNlRGV0YWlsLFZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3J5LFZpY3RpbUFkdm9jYXRlLFZpY3RpbUd1YXJkaWFufSBmcm9tICcuL3NtYXJ0LXZpY3RpbS5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsY2F0Y2hFcnJvciwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcG9sbG8gfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XHJcblxyXG5cclxuXHJcbmNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pO1xyXG5jb25zdCBvcHRpb25zID0geyBoZWFkZXJzOiBoZWFkZXJzIH07XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ2NTbWFydFZpY3RpbVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgc2VydmljZUFwaVVybCA9ICAnaHR0cHM6Ly9zbWFydC1zZXJ2aWNlLXRlc3QuYXp1cmV3ZWJzaXRlcy5uZXQvZ3JhcGhxbCc7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICBcclxuICAgIEBJbmplY3QoU01BUlRfT0ZGRU5ERVJfU0VSVklDRV9VUkwpIHByaXZhdGUgc21hcnRPZmZlbmRlclNlcnZpY2VVcmw6IHN0cmluZyxcclxuICAgIEBJbmplY3QoU01BUlRfTE9PS1VQX1NFUlZJQ0VfVVJMKSBwcml2YXRlIHNtYXJ0TG9va3VwU2VydmljZVVybDogc3RyaW5nLFxyXG4gICAgQEluamVjdChTTUFSVF9WSUNUSU1fU0VSVklDRV9VUkwpIHByaXZhdGUgc21hcnRWaWN0aW1TZXJ2aWNlVXJsOiBzdHJpbmcsXHJcbiAgICBwcml2YXRlIGFwb2xsbzogQXBvbGxvXHJcblxyXG4gICAgKSB7IH1cclxuXHJcbiAgLy8gZ2V0VmljdGltSW5zdXJhbmNlcyhvZmZlbmRlcklkOiBhbnkpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRPZmZlbmRlclNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZXMvP29mZmVuZGVySWQ9JyArIG9mZmVuZGVySWQpLnBpcGUoKTtcclxuICAvLyB9XHJcblxyXG4gIC8vIGdldFZpY3RpbUluc3VyYW5jZShpZDogYW55KSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0T2ZmZW5kZXJTZXJ2aWNlVXJsICsgJy9WaWN0aW1JbnN1cmFuY2VzLz9pZD0nICsgaWQpLnBpcGUoKTtcclxuICAvLyB9IFxyXG5cclxuICAvLyBwb3N0VmljdGltSW5zdXJhbmNlKHZhbDogYW55KSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5zbWFydE9mZmVuZGVyU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlcycsIHZhbCkucGlwZSgpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHV0VmljdGltSW5zdXJhbmNlKGlkOiBhbnksIHZhbDogYW55KSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLnNtYXJ0T2ZmZW5kZXJTZXJ2aWNlVXJsICsgJy9WaWN0aW1JbnN1cmFuY2VzLz9pZD0nICsgaWQsIHZhbCkucGlwZSgpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gZGVsZXRlVmljdGltSW5zdXJhbmNlKGlkOiBhbnkpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHRoaXMuc21hcnRPZmZlbmRlclNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZXMvP2lkPScgKyBpZCkucGlwZSgpO1xyXG4gIC8vIH1cclxuICBcclxuICAvLyBnZXRWaWN0aW1JbnN1cmFuY2VUeXBlcygpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZVR5cGVzJykucGlwZSgpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gZ2V0VmljdGltSW5zdXJhbmNlUG9saWN5SG9sZGVycygpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZVBvbGljeUhvbGRlcnMnKS5waXBlKCk7XHJcbiAgLy8gfVxyXG5cclxuLy8gICBnZXRWaWN0aW1JbnN1cmFuY2VTd2l0Y2hSZWFzb25zKCkge1xyXG4vLyAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICcvVmljdGltSW5zdXJhbmNlU3dpdGNoUmVhc29ucycpLnBpcGUoKTtcclxuLy8gICB9XHJcblxyXG4vLyAgIGdldFZpY3RpbUluc3VyYW5jZVByb3ZpZGVycygpIHtcclxuLy8gICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnL1ZpY3RpbUluc3VyYW5jZVByb3ZpZGVyJykucGlwZSgpO1xyXG4vLyAgIH1cclxuXHJcbi8vICAgZ2V0VmljdGltSW5zdXJhbmNlUHJvdmlkZXIoaWQpIHtcclxuLy8gICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJy9WaWN0aW1JbnN1cmFuY2VQcm92aWRlcnMvJyArIGlkKS5waXBlKCk7XHJcbi8vIH1cclxuXHJcbi8vICAgcG9zdFByb3ZpZGVySW5mb3JtYXRpb24odmFsOiBhbnkpIHtcclxuLy8gICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJy9WaWN0aW1JbnN1cmFuY2VQcm92aWRlcnMnLCB2YWwpLnBpcGUoKTtcclxuLy8gICB9XHJcblxyXG5nZXRDdXJyZW50SG91c2luZyhvZmZlbmRlcklkOiBudW1iZXIpIHtcclxuXHJcbiAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgLmdldCh0aGlzLnNtYXJ0T2ZmZW5kZXJTZXJ2aWNlVXJsICsgJ0hvdXNpbmdzL2N1cnJlbnQvJyArIG9mZmVuZGVySWQpXHJcbiAgICAucGlwZSgpO1xyXG59XHJcblxyXG5wcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpIHtcclxuICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IuanNvbigpLmVycm9yIHx8ICdTZXJ2ZXIgZXJyb3InKTtcclxufVxyXG5cclxuZ2V0RHJ1Z3NUeXBlcygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCAgKyAnRHJ1Z1R5cGVzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4gcmVzKVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXREb2NrZXRMaXN0KG9mZmVuZGVySWQ6IG51bWJlcikge1xyXG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gYFxyXG4gIHtcclxuICAgIGZpbmREb2NrZXRzKGlucHV0OiB7IHdoZXJlOiB7IG9mZmVuZGVySWQ6JHtvZmZlbmRlcklkfSB9IH0pIHtcclxuICAgICAgdG90YWxDb3VudFxyXG4gICAgICBtZXNzYWdlXHJcbiAgICAgIGRhdGEge1xyXG4gICAgICAgIGRvY2tldElkXHJcbiAgICAgICAgZG9ja2V0TnVtYmVyXHJcbiAgICAgIFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfWA7XHJcblxyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHRoaXMuc2VydmljZUFwaVVybCwgeyBxdWVyeTogcXVlcnlTdHJpbmcgfSkucGlwZShcclxuICAgIG1hcCgoeyBkYXRhIH0pID0+IHtcclxuICAgICAgY29uc29sZS5sb2coJ2RvY2tldHMgZm9yIHRoaXMgb2ZmZW5kZXI6JywgZGF0YS5maW5kRG9ja2V0cy5kYXRhKTtcclxuICAgICAgcmV0dXJuIGRhdGEuZmluZERvY2tldHMuZGF0YTtcclxuICAgIH0pKTtcclxuXHJcblxyXG59XHJcblxyXG5nZXRTdXBwb3J0VHlwZXMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnVmljdGltU3VwcG9ydFR5cGVzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4gcmVzKVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXRQcmVmaXhlcygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCAgKyAnUHJlZml4ZXMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiByZXMpXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldFN1ZmZpeGVzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICArICdTdWZmaXhlcycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHJlcylcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0UmVsYXRpb25zaGlwVHlwZXMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgICsgJ1JlbGF0aW9uc2hpcFR5cGVzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4gcmVzKVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXRHZW5kZXJzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICArICdHZW5kZXJzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4gcmVzKVxyXG4gICAgICApO1xyXG59XHJcblxyXG5nZXRXZWFwb25UeXBlcygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCAgKyAnV2VhcG9uVHlwZXMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiByZXMpXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldEZsYWdPcHRpb25ZZXNOb1Vua25vd25zKCkge1xyXG4gcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnRmxhZ09wdGlvblllc05vVW5rbm93bnMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgfSlcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0Q29udGFjdFR5cGVzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJ0NvbnRhY3RUeXBlcycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgIChcclxuICAgICAgIG1hcChyZXMgPT4geyBcclxuICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgfSlcclxuICAgICAgICk7XHJcbiB9XHJcbiBnZXRDb250YWN0TWV0aG9kcygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICdWaWN0aW1Db250YWN0TWV0aG9kcycsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgIChcclxuICAgICAgIG1hcChyZXMgPT4geyBcclxuICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgfSlcclxuICAgICAgICk7XHJcbiB9XHJcbiBnZXRDb250YWN0QnlzKCl7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydExvb2t1cFNlcnZpY2VVcmwgKyAnVmljdGltQ29udGFjdFB1cnBvc2VzJywgb3B0aW9ucykucGlwZVxyXG4gIChcclxuICBtYXAocmVzID0+IHsgXHJcbiAgICAgIHJldHVybiByZXM7XHJcbiAgfSlcclxuICApO1xyXG5cclxuIH1cclxuXHJcbmdldFZpY3RpbUNvbnRhY3RQdXJwb3NlcygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICdWaWN0aW1Db250YWN0UHVycG9zZXMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgICAoXHJcbiAgICAgICBtYXAocmVzID0+IHsgXHJcbiAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gfVxyXG5cclxuIGdldFZpY3RpbVNlcnZpY2VUeXBlcygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICdWaWN0aW1TZXJ2aWNlVHlwZXMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgICAoXHJcbiAgICAgICBtYXAocmVzID0+IHsgXHJcbiAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gfVxyXG4gZ2V0VmljdGltU2VydmljZVN0YXR1cygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0TG9va3VwU2VydmljZVVybCArICdWaWN0aW1TZXJ2aWNlU3RhdHVzJywgb3B0aW9ucykucGlwZVxyXG4gICAgICAgKFxyXG4gICAgICAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICB9KVxyXG4gICAgICAgKTtcclxuIH1cclxuXHJcbiBnZXR2VmljdGltU2VydmljZVR5cGVQcm9ncmFtUHJvdmlkZXJzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRMb29rdXBTZXJ2aWNlVXJsICsgJ3ZWaWN0aW1TZXJ2aWNlVHlwZVByb2dyYW1Qcm92aWRlcnMnLCBvcHRpb25zKS5waXBlXHJcbiAgICAgICAoXHJcbiAgICAgICBtYXAocmVzID0+IHsgXHJcbiAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gfVxyXG5cclxuXHJcbmdldFZpY3RpbSh2YWw6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbXMvJyArIHZhbCwgb3B0aW9ucykucGlwZVxyXG4gIChcclxuICAgIG1hcChyZXMgPT4geyBcclxuICAgICAgY29uc29sZS5sb2coJ3ZpY3RpbSByZXR1cm4gZGF0YScpO1xyXG4gICAgICBjb25zb2xlLmxvZyhyZXMpOyAgXHJcbiAgICAgIHJldHVybiByZXM7XHJcblxyXG4gICAgfSlcclxuICAgICAgKTtcclxufVxyXG5cclxuZ2V0VmljdGltQWR2b2NhdGUodmFsOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1BZHZvY2F0ZXMvJyArIHZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcblxyXG4gICAgICBtYXAocmVzID0+IHsgXHJcbiAgICAgICAgICByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldFZpY3RpbUd1YXJkaWFuKHZhbDogYW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltR3VhcmRpYW5zLycgKyB2YWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG5cclxuICAgICAgbWFwKHJlcyA9PiB7IFxyXG4gICAgICAgICAgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5wb3N0VmljdGltcyh2YWw6IGFueSkge1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCsgJ1ZpY3RpbXMnLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxucHV0VmljdGltcyhpZDogYW55LCB2YWw6IGFueSkge1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbXMvJyArIGlkLCB0ZW1wVmFsLCBvcHRpb25zKS5waXBlXHJcbiAgICAgIChcclxuICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxucHV0VmljdGltQWR2b2NhdGUoaWQ6IGFueSwgdmFsOiBWaWN0aW1BZHZvY2F0ZSkge1xyXG4gIGxldCBib2R5OiBzdHJpbmc7XHJcbiAgYm9keSA9IEpTT04uc3RyaW5naWZ5KHZhbCk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltQWR2b2NhdGVzLycgKyBpZCwgYm9keSwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcblxyXG5cclxuXHJcblxyXG59XHJcblxyXG5wb3N0VmljdGltQWR2b2NhdGUoaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltQWR2b2NhdGVzLycgKyBpZCwgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbnB1dFZpY3RpbUd1YXJkaWFuKGlkOiBhbnksIHZhbDogYW55KSB7XHJcbiAgY29uc29sZS5sb2coJ3VwZGF0ZSB2aWN0aW0gZ3VhcmRpYW4nKTtcclxuICBjb25zb2xlLmxvZyh2YWwpO1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUd1YXJkaWFucy8nICsgaWQsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5wb3N0VmljdGltR3VhcmRpYW4oaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltR3VhcmRpYW5zLycgKyBpZCwgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbmdldFZpY3RpbURydWdVc2UodmFsOiBhbnkpOiBPYnNlcnZhYmxlPFZpY3RpbURydWdVc2VbXT57XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltRHJ1Z1VzZXMvJyArIHZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcCgocmVzOiBWaWN0aW1EcnVnVXNlW10pID0+IHsgXHJcbiAgICAgICAgICAgIHJldHVybiByZXM7fSlcclxuICAgICAgKTtcclxufVxyXG5cclxucHV0VmljdGltRHJ1Z1VzZShpZDogYW55LCB2YWw6IFZpY3RpbURydWdVc2VbXSkge1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG5cclxuICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1EcnVnVXNlcy8nICsgaWQsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5wb3N0VmljdGltRHJ1Z1VzZShpZDogYW55LCB2YWw6IGFueSkge1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1EcnVnVXNlcy8nICsgaWQsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5wdXRWaWN0aW1XZWFwb25Vc2UoaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1XZWFwb25Vc2VzLycgKyBpZCwgdGVtcFZhbCwgb3B0aW9ucykucGlwZVxyXG4gICAgICAoXHJcbiAgICAgIG1hcChyZXMgPT4geyByZXR1cm4gcmVzO30pXHJcbiAgICAgICk7XHJcbn1cclxuXHJcbnBvc3RWaWN0aW1XZWFwb25Vc2UoaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltV2VhcG9uVXNlcy8nICsgaWQsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcbnB1dFZpY3RpbVN1cHBvcnQoaWQ6IGFueSwgdmFsOiBhbnkpIHtcclxuICBjb25zdCB0ZW1wVmFsID0gSlNPTi5zdHJpbmdpZnkodmFsKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1TdXBwb3J0cy8nICsgaWQsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5wb3N0VmljdGltU3VwcG9ydChpZDogYW55LCB2YWw6IGFueSkge1xyXG4gIGNvbnN0IHRlbXBWYWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1TdXBwb3J0cy8nICsgaWQsIHRlbXBWYWwsIG9wdGlvbnMpLnBpcGVcclxuICAgICAgKFxyXG4gICAgICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICAgICApO1xyXG59XHJcblxyXG5kZWxldGVWaWN0aW1zKHZhbDogYW55LCAgc3RhZmZJZDogbnVtYmVyKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwrICdWaWN0aW1zLycgKyB2YWwgKyAnP3N0YWZmSWQ9Jysgc3RhZmZJZCwgb3B0aW9ucykucGlwZVxyXG4gIChcclxuICBtYXAocmVzID0+IHsgcmV0dXJuIHJlczt9KVxyXG4gICk7XHJcbn1cclxuXHJcblxyXG4vLyAvLz09PT09PT09PT09PT09VmljdGltIFNlcml2ZT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5nZXRWaWN0aW1zKG9mZmVuZGVySWQ6IG51bWJlcik6IE9ic2VydmFibGUgPFZpY3RpbVtdPiB7XHJcblxyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICArICdWaWN0aW1zL29mZmVuZGVyLycgKyBvZmZlbmRlcklkKVxyXG4gIC5waXBlKG1hcCgocmVzOiBWaWN0aW1bXSkgPT4ge1xyXG4gICAgXHJcbiAgICAgIHJldHVybiByZXM7XHJcbiAgfSlcclxuICAsY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbn1cclxuXHJcbmdldFZpY3RpbXNCeUZpbHRlcihmaWx0ZXI6IFZpY3RpbUxpc3RGaWx0ZXIpOiBPYnNlcnZhYmxlPFZpY3RpbVtdPntcclxuICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICcvVmljdGltcycsIEpTT04uc3RyaW5naWZ5KGZpbHRlciksIHsgaGVhZGVyczogaGVhZGVycyB9KVxyXG4gICAgICAgICAgLnBpcGUobWFwKChyZXM6IFZpY3RpbVtdKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAsY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbn1cclxuXHJcbmdldFZpY3RpbUxpc3RCeUZpbHRlcihmaWx0ZXI6IFZpY3RpbUxpc3RGaWx0ZXIpIFxyXG57XHJcbiAgY29uc29sZS5sb2coJ2ZpbGVyIGluIHNlcnZpY2UnKTtcclxuICBjb25zb2xlLmxvZyhmaWx0ZXIpO1xyXG5cclxuICByZXR1cm4gdGhpcy5odHRwXHJcbiAgLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAndlZpY3RpbXMvRmlsdGVyJywgSlNPTi5zdHJpbmdpZnkoZmlsdGVyKSwgb3B0aW9ucylcclxuICAucGlwZSgpO1xyXG5cclxufVxyXG5cclxuXHJcbmdldENhc2V0Tm90ZXModmljdGltSWQ6IG51bWJlcik6IE9ic2VydmFibGUgPENhc2VOb3RlW10+IHtcclxuXHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltQ2FzZU5vdGVzL3ZpY3RpbS8nICsgdmljdGltSWQpXHJcbiAgLnBpcGUobWFwKChyZXM6IENhc2VOb3RlW10pID0+IHtcclxuICAgICAgcmV0dXJuIHJlcztcclxuICB9KVxyXG4gICxjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuIFxyXG5cclxufVxyXG5hZGRDYXNlTm90ZShjYXNlTm90ZTogQ2FzZU5vdGUpIHtcclxuICBsZXQgYm9keTogc3RyaW5nO1xyXG4gICAgICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoY2FzZU5vdGUpO1xyXG4gICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1DYXNlTm90ZXMvJywgYm9keSwgb3B0aW9ucyk7XHJcbiBcclxuIH1cclxuXHJcbiBcclxudXBkYXRlQ2FzZU5vdGUoY2FzZU5vdGU6IENhc2VOb3RlKXtcclxuXHJcbiAgbGV0IGJvZHk6IHN0cmluZztcclxuICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoY2FzZU5vdGUpO1xyXG4gIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnB1dCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1DYXNlTm90ZXMvJyArIGNhc2VOb3RlLnZpY3RpbUNhc2VOb3RlSWQsIGJvZHksIG9wdGlvbnMpXHJcblxyXG4gICAgICA7XHJcbiB9XHJcblxyXG5kZWxldGVDYXNlTm90ZShpZDogbnVtYmVyLCBzdGFmZklkOiBudW1iZXIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmx9VmljdGltQ2FzZU5vdGVzLyR7aWR9P3N0YWZmSWQ9JHtzdGFmZklkfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29udGFjdHModmljdGltSWQ6IG51bWJlcik6IE9ic2VydmFibGUgPENvbnRhY3RbXT4ge1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbUNvbnRhY3RzL3ZpY3RpbS8nICsgdmljdGltSWQpXHJcbiAgICAucGlwZShtYXAoKHJlczogQ29udGFjdFtdKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHJlcztcclxuICAgIH0pXHJcbiAgICAsY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgXHJcbiAgfVxyXG4gIGFkZENvbnRhY3QoY29udGFjdDogQ29udGFjdCkge1xyXG4gICAgbGV0IGJvZHk6IHN0cmluZztcclxuICAgICAgICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoY29udGFjdCk7XHJcbiAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1Db250YWN0cy8nLCBib2R5LCBvcHRpb25zKTtcclxuICAgXHJcbiAgIH1cclxuICBcclxuICAgXHJcbiAgdXBkYXRlQ29udGFjdChjb250YWN0OiBDb250YWN0KXtcclxuICBcclxuICAgIGxldCBib2R5OiBzdHJpbmc7XHJcbiAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoY29udGFjdCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgLnB1dCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1Db250YWN0cy8nICsgY29udGFjdC52aWN0aW1Db250YWN0SWQsIGJvZHksIG9wdGlvbnMpXHJcbiAgXHJcbiAgICAgICAgO1xyXG4gICB9XHJcbiAgXHJcbmdldFNhZmV0eVBsYW5zKHZpY3RpbUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlIDxWaWN0aW1TYWZldHlQbGFuW10+IHtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ3ZWaWN0aW1TZXJ2aWNlTGlzdHMvdmljdGltLycgKyB2aWN0aW1JZClcclxuICAgICAgLnBpcGUobWFwKChyZXM6IFZpY3RpbVNhZmV0eVBsYW5bXSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgfSlcclxuICAgICAgLGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gIH1cclxuXHJcbmdldFZpY3RpbVNlcnZpY2VzKHZpY3RpbVNlcnZpY2VJZDogbnVtYmVyKTogT2JzZXJ2YWJsZSA8VmljdGltU2FmZXR5UGxhbltdPiB7XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICd2VmljdGltU2VydmljZUxpc3RzL3ZpY3RpbVNlcnZpY2VJZC8nICsgdmljdGltU2VydmljZUlkKVxyXG4gICAgICAucGlwZShtYXAoKHJlczogVmljdGltU2FmZXR5UGxhbltdKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gIHJlcztcclxuICAgICAgfSlcclxuICAgICAgLGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gIFxyXG4gIH1cclxuXHJcbmdldFZpY3RpbVNlcnZpY2VEZXRhaWwodmljdGltU2VydmljZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlIDxWaWN0aW1TZXJ2aWNlRGV0YWlsW10+IHtcclxuXHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltU2VydmljZURldGFpbHMvJyArIHZpY3RpbVNlcnZpY2VJZClcclxuICAucGlwZShtYXAoKHJlczogVmljdGltU2VydmljZURldGFpbFtdKSA9PiB7XHJcbiAgXHJcbiAgICAgIHJldHVybiByZXM7XHJcbiAgfSlcclxuICAsY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblxyXG59XHJcbmFkZFNhZmV0eVBsYW4odmljdGltU2FmZXR5UGxhbjogVmljdGltU2FmZXR5UGxhbikge1xyXG5cclxuICBsZXQgYm9keTogc3RyaW5nO1xyXG4gICAgICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KHZpY3RpbVNhZmV0eVBsYW4pO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgLnBvc3QodGhpcy5zbWFydFZpY3RpbVNlcnZpY2VVcmwgKyAnVmljdGltU2VydmljZXMvJywgYm9keSwgb3B0aW9ucylcclxuICAgICAgICAgIC5waXBlKCk7XHJcbiAgXHJcbiAgfVxyXG51cGRhdGVTYWZldHlQbGFuKHZpY3RpbVNhZmV0eVBsYW46IFZpY3RpbVNhZmV0eVBsYW4pe1xyXG5cclxuICAgICAgbGV0IGJvZHk6IHN0cmluZztcclxuICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KHZpY3RpbVNhZmV0eVBsYW4pO1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAucHV0KHRoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsICsgJ1ZpY3RpbVNlcnZpY2VzLycgKyB2aWN0aW1TYWZldHlQbGFuLnZpY3RpbVNlcnZpY2VJZCwgYm9keSwgb3B0aW9ucylcclxuXHJcbiAgICAgICAgICA7XHJcbiAgICAgfVxyXG5hZGRWaWN0aW1TZXJ2aWNlU3RhdHVzKHZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3J5OiBWaWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yeSl7XHJcbiAgbGV0IGJvZHk6IHN0cmluZztcclxuICBib2R5ID0gSlNPTi5zdHJpbmdpZnkodmljdGltU2VydmljZVN0YXR1c0hpc3RvcnkpO1xyXG4gIHJldHVybiB0aGlzLmh0dHBcclxuICAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yaWVzLycsIGJvZHksIG9wdGlvbnMpO1xyXG5cclxuICB9XHJcblxyXG5nZXRTZXJ2aWNlU3RhdHVzSGlzdG9yaWVzKHZpY3RpbVNlcnZpY2VJZDogbnVtYmVyKXtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yaWVzL3ZpY3RpbVNlcnZpY2VJZC8nICsgdmljdGltU2VydmljZUlkKVxyXG4gIC5waXBlKFxyXG4gICAgICBtYXAoKHJlczogVmljdGltU2VydmljZVN0YXR1c0hpc3RvcnlbXSkgPT4ge1xyXG4gIFxyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgfSlcclxuICAgICAgLGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICApO1xyXG59XHJcblxyXG5kZWxldGVTYWZldHlQbGFuKHZpY3RpbVNlcnZpY2VJZDogbnVtYmVyLCBzdGFmZklkOiBudW1iZXIpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybH1WaWN0aW1TZXJ2aWNlcy8ke3ZpY3RpbVNlcnZpY2VJZH0/c3RhZmZJZD0ke3N0YWZmSWR9YCk7XHJcblxyXG4gIH1cclxuYWRkUGxhblByb3ZpZGVyKHZpY3RpbVNlcnZpY2VEZXRhaWw6VmljdGltU2VydmljZURldGFpbCl7XHJcbiAgICAgIGxldCBib2R5OiBzdHJpbmc7XHJcbiAgICAgIGJvZHkgPSBKU09OLnN0cmluZ2lmeSh2aWN0aW1TZXJ2aWNlRGV0YWlsKTtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdCh0aGlzLnNtYXJ0VmljdGltU2VydmljZVVybCArICdWaWN0aW1TZXJ2aWNlRGV0YWlscy8nLCBib2R5LCBvcHRpb25zKVxyXG4gICAgICAucGlwZSgpO1xyXG5cclxuICB9XHJcblxyXG5kZWxldGVQcm92aWRlcih2aWN0aW1Qcm9ncmFtUHJvdmlkZXJJZDogc3RyaW5nLCBzdGFmZklkOiBudW1iZXIpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuc21hcnRWaWN0aW1TZXJ2aWNlVXJsfVZpY3RpbVNlcnZpY2VEZXRhaWxzLyR7dmljdGltUHJvZ3JhbVByb3ZpZGVySWR9P3N0YWZmSWQ9JHtzdGFmZklkfWApO1xyXG5cclxufVxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
@@ -1,8 +0,0 @@
1
- export class VictimListFilter {
2
- offenderId;
3
- lastName;
4
- firstName;
5
- pdid;
6
- birthDate;
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmljdGltU2VhcmNoRmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdjLXNtYXJ0LXZpY3RpbS9zcmMvbGliL3ZpY3RpbVNlYXJjaC9WaWN0aW1TZWFyY2hGaWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixVQUFVLENBQVM7SUFDbkIsUUFBUSxDQUFTO0lBQ2pCLFNBQVMsQ0FBUztJQUNsQixJQUFJLENBQVM7SUFDYixTQUFTLENBQU87Q0FFbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVmljdGltTGlzdEZpbHRlciB7XHJcbiBcclxuICAgIG9mZmVuZGVySWQ6IG51bWJlcjtcclxuICAgIGxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcclxuICAgIHBkaWQ6IHN0cmluZztcclxuICAgIGJpcnRoRGF0ZTogRGF0ZTtcclxuICBcclxufSJdfQ==
@@ -1,37 +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/input";
8
- import * as i5 from "@angular/material/form-field";
9
- export class VictimSearchFormComponent {
10
- onSearch = new EventEmitter();
11
- change = new EventEmitter();
12
- filter = new VictimListFilter();
13
- constructor() { }
14
- ngOnInit() {
15
- }
16
- ngAfterViewInit() {
17
- // var element = <HTMLInputElement> document.getElementById("victimSearchButton");
18
- // element.disabled = true;
19
- // setTimeout(function() {
20
- // element.disabled = false;
21
- // }, 10000);
22
- }
23
- onChange() {
24
- console.log('this.filter in serach form.');
25
- console.log(this.filter);
26
- this.onSearch.emit(this.filter);
27
- }
28
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: VictimSearchFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.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;-ms-hyphens:auto;-moz-hyphens:auto;-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;-ms-hyphens:auto;-moz-hyphens:auto;-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-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i4.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: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { 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 });
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: VictimSearchFormComponent, decorators: [{
32
- type: Component,
33
- 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;-ms-hyphens:auto;-moz-hyphens:auto;-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;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}\n"] }]
34
- }], ctorParameters: () => [], propDecorators: { onSearch: [{
35
- type: Output
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmljdGltU2VhcmNoRm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvdmljdGltU2VhcmNoL3ZpY3RpbVNlYXJjaEZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdjLXNtYXJ0LXZpY3RpbS9zcmMvbGliL3ZpY3RpbVNlYXJjaC92aWN0aW1TZWFyY2hGb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQ3pDLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFRdEQsTUFBTSxPQUFPLHlCQUF5QjtJQUUxQixRQUFRLEdBQXNCLElBQUksWUFBWSxFQUFVLENBQUM7SUFDbkUsTUFBTSxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUU5RSxNQUFNLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUVsRCxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBRVIsQ0FBQztJQUVELGVBQWU7UUFFZixvRkFBb0Y7UUFDcEYsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQUM1QixnQ0FBZ0M7UUFDaEMsYUFBYTtJQUViLENBQUM7SUFDRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVsQyxDQUFDOzBIQTVCVSx5QkFBeUI7OEdBQXpCLHlCQUF5QixpR0NYeEMsZ3hEQW1DQTs7MkZEeEJlLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSx3QkFBd0IsaUJBR25CLGlCQUFpQixDQUFDLElBQUk7d0RBSTNCLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgICBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4gIFxyXG5pbXBvcnQgeyBWaWN0aW1MaXN0RmlsdGVyIH0gZnJvbSAnLi9WaWN0aW1TZWFyY2hGaWx0ZXInO1xyXG4gIFxyXG4gIEBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtdmljdGltLXNlYXJjaC1mb3JtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi92aWN0aW1TZWFyY2hGb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuLi9zbWFydC12aWN0aW0uY29tcG9uZW50LmNzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG4gIH0pXHJcbiAgZXhwb3J0IGNsYXNzIFZpY3RpbVNlYXJjaEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICBcclxuICAgIEBPdXRwdXQoKSBvblNlYXJjaDpFdmVudEVtaXR0ZXI8T2JqZWN0Pj1uZXcgRXZlbnRFbWl0dGVyPE9iamVjdD4oKTtcclxuICAgIGNoYW5nZTogRXZlbnRFbWl0dGVyPFZpY3RpbUxpc3RGaWx0ZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxWaWN0aW1MaXN0RmlsdGVyPigpO1xyXG4gIFxyXG4gICAgZmlsdGVyOiBWaWN0aW1MaXN0RmlsdGVyID0gbmV3IFZpY3RpbUxpc3RGaWx0ZXIoKTtcclxuICBcclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgIC8vICAgdmFyIGVsZW1lbnQgPSA8SFRNTElucHV0RWxlbWVudD4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ2aWN0aW1TZWFyY2hCdXR0b25cIik7XHJcbiAgICAvLyAgIGVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgLy8gICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xyXG4gICAgLy8gICAgIGVsZW1lbnQuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIC8vIH0sIDEwMDAwKTtcclxuXHJcbiAgICB9XHJcbiAgICBvbkNoYW5nZSgpIHtcclxuICAgICAgY29uc29sZS5sb2coJ3RoaXMuZmlsdGVyIGluIHNlcmFjaCBmb3JtLicpO1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmZpbHRlcik7XHJcblxyXG4gICAgICB0aGlzLm9uU2VhcmNoLmVtaXQodGhpcy5maWx0ZXIpO1xyXG4gICAgIFxyXG4gICAgfVxyXG4gIH1cclxuIiwiPGZvcm0gbmFtZT1cInZpY3RpbVNlYXJjaEZyb21cIiAgI0Zyb209XCJuZ0Zvcm1cIj5cclxuPG1hdC1leHBhbnNpb24tcGFuZWwgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIFZpY3RpbXNcclxuICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidmljdGltU2VhcmNoXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIlZpY3RpbSBMYXN0IE5hbWVcIiAgWyhuZ01vZGVsKV09XCJmaWx0ZXIubGFzdE5hbWVcIiBuYW1lPVwibGFzdE5hbWVcIiBpZD1cImxhc3ROYW1lXCI+XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIlZpY3RpbSBGaXJzdCBOYW1lXCIgIFsobmdNb2RlbCldPVwiZmlsdGVyLmZpcnN0TmFtZVwiIG5hbWU9XCJmaXJzdE5hbWVcIiBpZD1cImZpcnN0TmFtZVwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJWaWN0aW0gRGF0ZSBvZiBCaXJ0aFwiIHR5cGU9XCJkYXRlXCIgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXIuYmlydGhEYXRlXCIgbmFtZT1cImJpcnRoRGF0ZVwiIGlkPVwiYmlydGhEYXRlXCI+XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIk9mZmVuZGVyIFBESURcIiAgWyhuZ01vZGVsKV09XCJmaWx0ZXIucGRpZFwiIG5hbWU9XCJwZGlkXCIgaWQ9XCJwZGlkXCI+XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIk9mZmVuZGVyIENTT1NBICNcIlsobmdNb2RlbCldPVwiZmlsdGVyLm9mZmVuZGVySWRcIiBuYW1lPVwib2ZmZW5kZXJJZFwiIGlkPVwib2ZmZW5kZXJJZFwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gIGlkPVwidmljdGltU2VhcmNoQnV0dG9uXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQ2hhbmdlKClcIj5TZWFyY2g8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gICBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAgdHlwZT1cInJlc2V0XCIgdmFsdWU9XCJSZXNldFwiPkNsZWFyIENoYW5nZXM8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG48L2Zvcm0+XHJcblxyXG5cclxuIl19