jconsumer-shared 0.0.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/esm2022/lib/account-service.mjs +156 -7
  2. package/esm2022/lib/auth-service.mjs +9 -1
  3. package/esm2022/lib/booking-service.mjs +480 -0
  4. package/esm2022/lib/common.service.mjs +155 -5
  5. package/esm2022/lib/confirm/confirm-box.component.mjs +159 -0
  6. package/esm2022/lib/confirm/confirm-box.module.mjs +62 -0
  7. package/esm2022/lib/consumer-service.mjs +780 -0
  8. package/esm2022/lib/currency-service.mjs +12 -0
  9. package/esm2022/lib/environment.service.mjs +23 -0
  10. package/esm2022/lib/error-message.module.mjs +23 -0
  11. package/esm2022/lib/file-service.mjs +23 -17
  12. package/esm2022/lib/form-message/field-error-display/field-error-display.component.mjs +21 -0
  13. package/esm2022/lib/form-message/form-message-display.module.mjs +35 -0
  14. package/esm2022/lib/form-message/form-message-display.service.mjs +44 -0
  15. package/esm2022/lib/form-message/form-success-display/form-success-display.component.mjs +18 -0
  16. package/esm2022/lib/injector-resolver.mjs +28 -0
  17. package/esm2022/lib/media-service.mjs +49 -0
  18. package/esm2022/lib/order.service.mjs +16 -1
  19. package/esm2022/lib/payment/modes/payment-modes.component.mjs +35 -0
  20. package/esm2022/lib/payment/modes/payment-modes.module.mjs +24 -0
  21. package/esm2022/lib/payment/payment.module.mjs +26 -0
  22. package/esm2022/lib/paytm.service.mjs +131 -0
  23. package/esm2022/lib/phone-input/phone-input.component.mjs +48 -44
  24. package/esm2022/lib/pipes/autolink/autolink.module.mjs +20 -0
  25. package/esm2022/lib/pipes/date-format/date-format.module.mjs +19 -0
  26. package/esm2022/lib/pipes/date-format/date-format.pipe.mjs +42 -0
  27. package/esm2022/lib/project-constants.mjs +310 -0
  28. package/esm2022/lib/questionaire/edit/questionnaire.component.mjs +20 -15
  29. package/esm2022/lib/questionaire/edit/questionnaire.module.mjs +5 -4
  30. package/esm2022/lib/razorpay.service.mjs +157 -0
  31. package/esm2022/lib/request-dialog/request-dialog.component.mjs +29 -0
  32. package/esm2022/lib/request-dialog/request-dialog.module.mjs +24 -0
  33. package/esm2022/lib/shared-account.guard.mjs +41 -0
  34. package/esm2022/lib/shared-account.resolver.mjs +22 -0
  35. package/esm2022/lib/shared.service.mjs +85 -10
  36. package/esm2022/lib/showuploadfile/showuploadfile.component.mjs +3 -3
  37. package/esm2022/lib/theme.service.mjs +30 -0
  38. package/esm2022/lib/timezone-converter.mjs +49 -0
  39. package/esm2022/lib/toast.service.mjs +2 -2
  40. package/esm2022/lib/twilio-service.mjs +466 -0
  41. package/esm2022/public-api.mjs +32 -1
  42. package/fesm2022/jconsumer-shared.mjs +3852 -398
  43. package/fesm2022/jconsumer-shared.mjs.map +1 -1
  44. package/jconsumer-shared-1.0.0.tgz +0 -0
  45. package/lib/account-service.d.ts +41 -2
  46. package/lib/auth-service.d.ts +1 -0
  47. package/lib/booking-service.d.ts +101 -0
  48. package/lib/common.service.d.ts +12 -1
  49. package/lib/confirm/confirm-box.component.d.ts +43 -0
  50. package/lib/confirm/confirm-box.module.d.ts +16 -0
  51. package/lib/consumer-service.d.ts +178 -0
  52. package/lib/currency-service.d.ts +4 -0
  53. package/lib/environment.service.d.ts +9 -0
  54. package/lib/error-message.module.d.ts +7 -0
  55. package/lib/file-service.d.ts +5 -2
  56. package/lib/form-message/field-error-display/field-error-display.component.d.ts +8 -0
  57. package/lib/form-message/form-message-display.module.d.ts +10 -0
  58. package/lib/form-message/form-message-display.service.d.ts +13 -0
  59. package/lib/form-message/form-success-display/form-success-display.component.d.ts +7 -0
  60. package/lib/injector-resolver.d.ts +2 -0
  61. package/lib/media-service.d.ts +9 -0
  62. package/lib/order.service.d.ts +4 -0
  63. package/lib/payment/modes/payment-modes.component.d.ts +15 -0
  64. package/lib/payment/modes/payment-modes.module.d.ts +9 -0
  65. package/lib/payment/payment.module.d.ts +7 -0
  66. package/lib/paytm.service.d.ts +13 -0
  67. package/lib/phone-input/phone-input.component.d.ts +5 -3
  68. package/lib/pipes/autolink/autolink.module.d.ts +8 -0
  69. package/lib/pipes/date-format/date-format.module.d.ts +8 -0
  70. package/lib/pipes/date-format/date-format.pipe.d.ts +12 -0
  71. package/lib/project-constants.d.ts +227 -0
  72. package/lib/questionaire/edit/questionnaire.component.d.ts +4 -1
  73. package/lib/questionaire/edit/questionnaire.module.d.ts +3 -2
  74. package/lib/razorpay.service.d.ts +26 -0
  75. package/lib/request-dialog/request-dialog.component.d.ts +11 -0
  76. package/lib/request-dialog/request-dialog.module.d.ts +9 -0
  77. package/lib/shared-account.guard.d.ts +11 -0
  78. package/lib/shared-account.resolver.d.ts +10 -0
  79. package/lib/shared.service.d.ts +31 -4
  80. package/lib/theme.service.d.ts +10 -0
  81. package/lib/timezone-converter.d.ts +8 -0
  82. package/lib/twilio-service.d.ts +60 -0
  83. package/package.json +1 -1
  84. package/public-api.d.ts +31 -0
  85. package/jconsumer-shared-0.0.3.tgz +0 -0
@@ -1,13 +1,47 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ import * as i1 from "./shared.service";
3
4
  export class CommonService {
4
- constructor() { }
5
+ sharedService;
6
+ constructor(sharedService) {
7
+ this.sharedService = sharedService;
8
+ }
5
9
  groupBy(xs, key) {
6
10
  return xs.reduce(function (rv, x) {
7
11
  (rv[x[key]] = rv[x[key]] || []).push(x);
8
12
  return rv;
9
13
  }, {});
10
14
  }
15
+ isValid(evt) {
16
+ const value = parseInt(evt.target.value);
17
+ const max = parseInt(evt.target.max);
18
+ if (value > max) {
19
+ let numString = evt.target.value;
20
+ evt.preventDefault();
21
+ numString = numString.substr(0, numString.length - 1);
22
+ evt.target.value = parseInt(numString);
23
+ return false;
24
+ }
25
+ return true;
26
+ }
27
+ isNumericwithoutdot(evt) {
28
+ const inputKeyCode = evt.keyCode ? evt.keyCode : evt.which;
29
+ if ((inputKeyCode >= 48 && inputKeyCode <= 57) || inputKeyCode === 8) {
30
+ return true;
31
+ }
32
+ else {
33
+ evt.preventDefault();
34
+ return false;
35
+ }
36
+ }
37
+ isNumber(evt) {
38
+ evt = (evt) ? evt : window.event;
39
+ const charCode = (evt.which) ? evt.which : evt.keyCode;
40
+ if (charCode > 31 && (charCode < 48 || charCode > 57)) {
41
+ return false;
42
+ }
43
+ return true;
44
+ }
11
45
  isNumeric(evt) {
12
46
  const inputKeyCode = evt.keyCode ? evt.keyCode : evt.which;
13
47
  if ((inputKeyCode >= 48 && inputKeyCode <= 57) || inputKeyCode === 8 || inputKeyCode === 46) {
@@ -18,15 +52,131 @@ export class CommonService {
18
52
  return false;
19
53
  }
20
54
  }
55
+ isNumericSign(evt) {
56
+ const inputKeyCode = evt.keyCode ? evt.keyCode : evt.which;
57
+ if ((inputKeyCode >= 48 && inputKeyCode <= 57) || inputKeyCode === 8 || inputKeyCode === 46 || inputKeyCode === 43) {
58
+ return true;
59
+ }
60
+ else {
61
+ evt.preventDefault();
62
+ return false;
63
+ }
64
+ }
21
65
  showlogoicon(logo) {
22
66
  if (logo == null || logo === '') {
23
- return '../../assets/images/no_image_icon.png';
67
+ return this.sharedService.getCDNPath() + 'assets/images/no_image_icon.png';
24
68
  }
25
69
  else {
26
70
  return logo;
27
71
  }
28
72
  }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CommonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
73
+ getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) {
74
+ const R = 6371; // Radius of the earth in km
75
+ const dLat = this.deg2rad(lat2 - lat1); // deg2rad below
76
+ const dLon = this.deg2rad(lon2 - lon1);
77
+ const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
78
+ Math.cos(this.deg2rad(lat1)) * Math.cos(this.deg2rad(lat2)) *
79
+ Math.sin(dLon / 2) * Math.sin(dLon / 2);
80
+ const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
81
+ const d = R * c; // Distance in km
82
+ return d;
83
+ }
84
+ deg2rad(deg) {
85
+ return deg * Math.PI / 180;
86
+ }
87
+ getCurrentLocation() {
88
+ return new Promise(function (resolve, reject) {
89
+ if (navigator) {
90
+ let lat_lng = {
91
+ latitude: 0,
92
+ longitude: 0
93
+ };
94
+ navigator.geolocation.getCurrentPosition(pos => {
95
+ lat_lng.longitude = +pos.coords.longitude;
96
+ lat_lng.latitude = +pos.coords.latitude;
97
+ resolve(lat_lng);
98
+ }, error => {
99
+ reject(error);
100
+ });
101
+ }
102
+ });
103
+ }
104
+ sortVfields(dataF) {
105
+ let temp;
106
+ const temp1 = new Array();
107
+ let temp2 = new Array();
108
+ let temp3 = new Array();
109
+ console.log(dataF);
110
+ for (let i = 0; i < dataF.length; i++) {
111
+ temp2 = [];
112
+ let str = '';
113
+ dataF[i]['type'] = typeof dataF[i].value;
114
+ switch (dataF[i].dataType) {
115
+ case 'Gender':
116
+ break;
117
+ case 'Enum':
118
+ break;
119
+ case 'EnumList':
120
+ str = '';
121
+ temp3 = [];
122
+ for (let jj = 0; jj < dataF[i].value.length; jj++) {
123
+ if (str !== '') {
124
+ str += ', ';
125
+ }
126
+ str += dataF[i].value[jj].displayName;
127
+ }
128
+ temp3.push(str);
129
+ temp2.push(temp3);
130
+ dataF[i].value = temp2;
131
+ temp1.push(dataF[i]);
132
+ break;
133
+ case 'DataGrid':
134
+ for (let ii = 0; ii < dataF[i].value.length; ii++) {
135
+ temp3 = [];
136
+ Object.keys(dataF[i].value[ii]).forEach(nkeys => {
137
+ temp3.push(dataF[i].value[ii][nkeys]);
138
+ });
139
+ temp2.push(temp3);
140
+ }
141
+ dataF[i].value = temp2;
142
+ temp1.push(dataF[i]);
143
+ break;
144
+ case 'Boolean':
145
+ if (dataF[i].value === 'true') {
146
+ dataF[i].value = 'Yes';
147
+ }
148
+ else {
149
+ dataF[i].value = 'No';
150
+ }
151
+ temp1.push(dataF[i]);
152
+ break;
153
+ default:
154
+ temp1.push(dataF[i]);
155
+ break;
156
+ }
157
+ }
158
+ dataF = temp1;
159
+ for (let i = 0; i < dataF.length; i++) {
160
+ for (let j = i + 1; j < dataF.length; j++) {
161
+ if (parseInt(dataF[i].order, 10) > parseInt(dataF[j].order, 10)) {
162
+ temp = dataF[i];
163
+ dataF[i] = dataF[j];
164
+ dataF[j] = temp;
165
+ }
166
+ }
167
+ }
168
+ return dataF;
169
+ }
170
+ b64toBlobforSign(b64Data) {
171
+ const byteString = atob(b64Data.split(',')[1]);
172
+ const ab = new ArrayBuffer(byteString.length);
173
+ const ia = new Uint8Array(ab);
174
+ for (let i = 0; i < byteString.length; i++) {
175
+ ia[i] = byteString.charCodeAt(i);
176
+ }
177
+ return new Blob([ab], { type: 'image/jpeg' });
178
+ }
179
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CommonService, deps: [{ token: i1.SharedService }], target: i0.ɵɵFactoryTarget.Injectable });
30
180
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CommonService, providedIn: 'root' });
31
181
  }
32
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CommonService, decorators: [{
@@ -34,5 +184,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
34
184
  args: [{
35
185
  providedIn: 'root'
36
186
  }]
37
- }], ctorParameters: () => [] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvY29tbW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGFBQWE7SUFFeEIsZ0JBQWdCLENBQUM7SUFFakIsT0FBTyxDQUFDLEVBQU8sRUFBRSxHQUFRO1FBQ3ZCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQU8sRUFBRSxDQUFNO1lBQ3hDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVE7UUFDaEIsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUMzRCxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUUsSUFBSSxZQUFZLElBQUksRUFBRSxDQUFDLElBQUksWUFBWSxLQUFLLENBQUMsSUFBSSxZQUFZLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDNUYsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxDQUFDLElBQVM7UUFDcEIsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNoQyxPQUFPLHVDQUF1QyxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzt1R0F6QlUsYUFBYTsyR0FBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tb25TZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgZ3JvdXBCeSh4czogYW55LCBrZXk6IGFueSkge1xyXG4gICAgcmV0dXJuIHhzLnJlZHVjZShmdW5jdGlvbiAocnY6IGFueSwgeDogYW55KSB7XHJcbiAgICAgIChydlt4W2tleV1dID0gcnZbeFtrZXldXSB8fCBbXSkucHVzaCh4KTtcclxuICAgICAgcmV0dXJuIHJ2O1xyXG4gICAgfSwge30pO1xyXG4gIH1cclxuICBpc051bWVyaWMoZXZ0OiBhbnkpIHtcclxuICAgIGNvbnN0IGlucHV0S2V5Q29kZSA9IGV2dC5rZXlDb2RlID8gZXZ0LmtleUNvZGUgOiBldnQud2hpY2g7XHJcbiAgICBpZiAoKGlucHV0S2V5Q29kZSA+PSA0OCAmJiBpbnB1dEtleUNvZGUgPD0gNTcpIHx8IGlucHV0S2V5Q29kZSA9PT0gOCB8fCBpbnB1dEtleUNvZGUgPT09IDQ2KSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgc2hvd2xvZ29pY29uKGxvZ286IGFueSkge1xyXG4gICAgaWYgKGxvZ28gPT0gbnVsbCB8fCBsb2dvID09PSAnJykge1xyXG4gICAgICByZXR1cm4gJy4uLy4uL2Fzc2V0cy9pbWFnZXMvbm9faW1hZ2VfaWNvbi5wbmcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGxvZ287XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
187
+ }], ctorParameters: () => [{ type: i1.SharedService }] });
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvY29tbW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBRUo7SUFBcEIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBSSxDQUFDO0lBRXJELE9BQU8sQ0FBQyxFQUFPLEVBQUUsR0FBUTtRQUN2QixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFPLEVBQUUsQ0FBTTtZQUN4QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHO1FBQ1QsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDakMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3JCLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3RELEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxHQUFHO1FBQ3JCLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDM0QsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLElBQUksWUFBWSxJQUFJLEVBQUUsQ0FBQyxJQUFJLFlBQVksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFDRCxRQUFRLENBQUMsR0FBRztRQUNWLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDakMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDdkQsSUFBSSxRQUFRLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN0RCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxTQUFTLENBQUMsR0FBUTtRQUNoQixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxJQUFJLFlBQVksSUFBSSxFQUFFLENBQUMsSUFBSSxZQUFZLEtBQUssQ0FBQyxJQUFJLFlBQVksS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1RixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFDRCxhQUFhLENBQUMsR0FBRztRQUNmLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDM0QsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLElBQUksWUFBWSxJQUFJLEVBQUUsQ0FBQyxJQUFJLFlBQVksS0FBSyxDQUFDLElBQUksWUFBWSxLQUFLLEVBQUUsSUFBSSxZQUFZLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkgsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxDQUFDLElBQVM7UUFDcEIsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEdBQUcsaUNBQWlDLENBQUM7UUFDN0UsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBQ0QseUJBQXlCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTtRQUM5QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyw0QkFBNEI7UUFDNUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBRSxnQkFBZ0I7UUFDekQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxDQUFDLEdBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7UUFDbEMsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUc7UUFDVCxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUM3QixDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxPQUFPLEVBQUUsTUFBTTtZQUMxQyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLElBQUksT0FBTyxHQUFHO29CQUNaLFFBQVEsRUFBRSxDQUFDO29CQUNYLFNBQVMsRUFBRSxDQUFDO2lCQUNiLENBQUM7Z0JBQ0YsU0FBUyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDN0MsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO29CQUMxQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7b0JBQ3hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbkIsQ0FBQyxFQUNDLEtBQUssQ0FBQyxFQUFFO29CQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxJQUFJLENBQUM7UUFDVCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDeEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNYLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNiLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDekMsUUFBUSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzFCLEtBQUssUUFBUTtvQkFDWCxNQUFNO2dCQUNSLEtBQUssTUFBTTtvQkFDVCxNQUFNO2dCQUNSLEtBQUssVUFBVTtvQkFDYixHQUFHLEdBQUcsRUFBRSxDQUFDO29CQUNULEtBQUssR0FBRyxFQUFFLENBQUM7b0JBQ1gsS0FBSyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7d0JBQ2xELElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDOzRCQUNmLEdBQUcsSUFBSSxJQUFJLENBQUM7d0JBQ2QsQ0FBQzt3QkFDRCxHQUFHLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUM7b0JBQ3hDLENBQUM7b0JBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDaEIsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1IsS0FBSyxVQUFVO29CQUNiLEtBQUssSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO3dCQUNsRCxLQUFLLEdBQUcsRUFBRSxDQUFDO3dCQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTs0QkFDOUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7d0JBQ3hDLENBQUMsQ0FBQyxDQUFDO3dCQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3BCLENBQUM7b0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1IsS0FBSyxTQUFTO29CQUNaLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQzt3QkFDOUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQ3pCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztvQkFDeEIsQ0FBQztvQkFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyQixNQUFNO2dCQUNSO29CQUNFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JCLE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQ2hFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2hCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELGdCQUFnQixDQUFDLE9BQU87UUFDdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxNQUFNLEVBQUUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQzt1R0E1S1UsYUFBYTsyR0FBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1vblNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UpIHsgfVxyXG5cclxuICBncm91cEJ5KHhzOiBhbnksIGtleTogYW55KSB7XHJcbiAgICByZXR1cm4geHMucmVkdWNlKGZ1bmN0aW9uIChydjogYW55LCB4OiBhbnkpIHtcclxuICAgICAgKHJ2W3hba2V5XV0gPSBydlt4W2tleV1dIHx8IFtdKS5wdXNoKHgpO1xyXG4gICAgICByZXR1cm4gcnY7XHJcbiAgICB9LCB7fSk7XHJcbiAgfVxyXG5cclxuICBpc1ZhbGlkKGV2dCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZUludChldnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIGNvbnN0IG1heCA9IHBhcnNlSW50KGV2dC50YXJnZXQubWF4KTtcclxuICAgIGlmICh2YWx1ZSA+IG1heCkge1xyXG4gICAgICBsZXQgbnVtU3RyaW5nID0gZXZ0LnRhcmdldC52YWx1ZTtcclxuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIG51bVN0cmluZyA9IG51bVN0cmluZy5zdWJzdHIoMCwgbnVtU3RyaW5nLmxlbmd0aCAtIDEpO1xyXG4gICAgICBldnQudGFyZ2V0LnZhbHVlID0gcGFyc2VJbnQobnVtU3RyaW5nKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIGlzTnVtZXJpY3dpdGhvdXRkb3QoZXZ0KSB7XHJcbiAgICBjb25zdCBpbnB1dEtleUNvZGUgPSBldnQua2V5Q29kZSA/IGV2dC5rZXlDb2RlIDogZXZ0LndoaWNoO1xyXG4gICAgaWYgKChpbnB1dEtleUNvZGUgPj0gNDggJiYgaW5wdXRLZXlDb2RlIDw9IDU3KSB8fCBpbnB1dEtleUNvZGUgPT09IDgpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBpc051bWJlcihldnQpIHtcclxuICAgIGV2dCA9IChldnQpID8gZXZ0IDogd2luZG93LmV2ZW50O1xyXG4gICAgY29uc3QgY2hhckNvZGUgPSAoZXZ0LndoaWNoKSA/IGV2dC53aGljaCA6IGV2dC5rZXlDb2RlO1xyXG4gICAgaWYgKGNoYXJDb2RlID4gMzEgJiYgKGNoYXJDb2RlIDwgNDggfHwgY2hhckNvZGUgPiA1NykpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIGlzTnVtZXJpYyhldnQ6IGFueSkge1xyXG4gICAgY29uc3QgaW5wdXRLZXlDb2RlID0gZXZ0LmtleUNvZGUgPyBldnQua2V5Q29kZSA6IGV2dC53aGljaDtcclxuICAgIGlmICgoaW5wdXRLZXlDb2RlID49IDQ4ICYmIGlucHV0S2V5Q29kZSA8PSA1NykgfHwgaW5wdXRLZXlDb2RlID09PSA4IHx8IGlucHV0S2V5Q29kZSA9PT0gNDYpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBpc051bWVyaWNTaWduKGV2dCkge1xyXG4gICAgY29uc3QgaW5wdXRLZXlDb2RlID0gZXZ0LmtleUNvZGUgPyBldnQua2V5Q29kZSA6IGV2dC53aGljaDtcclxuICAgIGlmICgoaW5wdXRLZXlDb2RlID49IDQ4ICYmIGlucHV0S2V5Q29kZSA8PSA1NykgfHwgaW5wdXRLZXlDb2RlID09PSA4IHx8IGlucHV0S2V5Q29kZSA9PT0gNDYgfHwgaW5wdXRLZXlDb2RlID09PSA0Mykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNob3dsb2dvaWNvbihsb2dvOiBhbnkpIHtcclxuICAgIGlmIChsb2dvID09IG51bGwgfHwgbG9nbyA9PT0gJycpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hhcmVkU2VydmljZS5nZXRDRE5QYXRoKCkgKyAnYXNzZXRzL2ltYWdlcy9ub19pbWFnZV9pY29uLnBuZyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbG9nbztcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0RGlzdGFuY2VGcm9tTGF0TG9uSW5LbShsYXQxLCBsb24xLCBsYXQyLCBsb24yKSB7XHJcbiAgICBjb25zdCBSID0gNjM3MTsgLy8gUmFkaXVzIG9mIHRoZSBlYXJ0aCBpbiBrbVxyXG4gICAgY29uc3QgZExhdCA9IHRoaXMuZGVnMnJhZChsYXQyIC0gbGF0MSk7ICAvLyBkZWcycmFkIGJlbG93XHJcbiAgICBjb25zdCBkTG9uID0gdGhpcy5kZWcycmFkKGxvbjIgLSBsb24xKTtcclxuICAgIGNvbnN0IGEgPVxyXG4gICAgICBNYXRoLnNpbihkTGF0IC8gMikgKiBNYXRoLnNpbihkTGF0IC8gMikgK1xyXG4gICAgICBNYXRoLmNvcyh0aGlzLmRlZzJyYWQobGF0MSkpICogTWF0aC5jb3ModGhpcy5kZWcycmFkKGxhdDIpKSAqXHJcbiAgICAgIE1hdGguc2luKGRMb24gLyAyKSAqIE1hdGguc2luKGRMb24gLyAyKTtcclxuICAgIGNvbnN0IGMgPSAyICogTWF0aC5hdGFuMihNYXRoLnNxcnQoYSksIE1hdGguc3FydCgxIC0gYSkpO1xyXG4gICAgY29uc3QgZCA9IFIgKiBjOyAvLyBEaXN0YW5jZSBpbiBrbVxyXG4gICAgcmV0dXJuIGQ7XHJcbiAgfVxyXG4gIGRlZzJyYWQoZGVnKSB7XHJcbiAgICByZXR1cm4gZGVnICogTWF0aC5QSSAvIDE4MDtcclxuICB9XHJcbiAgZ2V0Q3VycmVudExvY2F0aW9uKCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgaWYgKG5hdmlnYXRvcikge1xyXG4gICAgICAgIGxldCBsYXRfbG5nID0ge1xyXG4gICAgICAgICAgbGF0aXR1ZGU6IDAsXHJcbiAgICAgICAgICBsb25naXR1ZGU6IDBcclxuICAgICAgICB9O1xyXG4gICAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24ocG9zID0+IHtcclxuICAgICAgICAgIGxhdF9sbmcubG9uZ2l0dWRlID0gK3Bvcy5jb29yZHMubG9uZ2l0dWRlO1xyXG4gICAgICAgICAgbGF0X2xuZy5sYXRpdHVkZSA9ICtwb3MuY29vcmRzLmxhdGl0dWRlO1xyXG4gICAgICAgICAgcmVzb2x2ZShsYXRfbG5nKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIHNvcnRWZmllbGRzKGRhdGFGOiBhbnkpIHtcclxuICAgIGxldCB0ZW1wO1xyXG4gICAgY29uc3QgdGVtcDEgPSBuZXcgQXJyYXkoKTtcclxuICAgIGxldCB0ZW1wMiA9IG5ldyBBcnJheSgpO1xyXG4gICAgbGV0IHRlbXAzID0gbmV3IEFycmF5KCk7XHJcbiAgICBjb25zb2xlLmxvZyhkYXRhRik7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFGLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHRlbXAyID0gW107XHJcbiAgICAgIGxldCBzdHIgPSAnJztcclxuICAgICAgZGF0YUZbaV1bJ3R5cGUnXSA9IHR5cGVvZiBkYXRhRltpXS52YWx1ZTtcclxuICAgICAgc3dpdGNoIChkYXRhRltpXS5kYXRhVHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ0dlbmRlcic6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdFbnVtJzpcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ0VudW1MaXN0JzpcclxuICAgICAgICAgIHN0ciA9ICcnO1xyXG4gICAgICAgICAgdGVtcDMgPSBbXTtcclxuICAgICAgICAgIGZvciAobGV0IGpqID0gMDsgamogPCBkYXRhRltpXS52YWx1ZS5sZW5ndGg7IGpqKyspIHtcclxuICAgICAgICAgICAgaWYgKHN0ciAhPT0gJycpIHtcclxuICAgICAgICAgICAgICBzdHIgKz0gJywgJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdHIgKz0gZGF0YUZbaV0udmFsdWVbampdLmRpc3BsYXlOYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGVtcDMucHVzaChzdHIpO1xyXG4gICAgICAgICAgdGVtcDIucHVzaCh0ZW1wMyk7XHJcbiAgICAgICAgICBkYXRhRltpXS52YWx1ZSA9IHRlbXAyO1xyXG4gICAgICAgICAgdGVtcDEucHVzaChkYXRhRltpXSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdEYXRhR3JpZCc6XHJcbiAgICAgICAgICBmb3IgKGxldCBpaSA9IDA7IGlpIDwgZGF0YUZbaV0udmFsdWUubGVuZ3RoOyBpaSsrKSB7XHJcbiAgICAgICAgICAgIHRlbXAzID0gW107XHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGRhdGFGW2ldLnZhbHVlW2lpXSkuZm9yRWFjaChua2V5cyA9PiB7XHJcbiAgICAgICAgICAgICAgdGVtcDMucHVzaChkYXRhRltpXS52YWx1ZVtpaV1bbmtleXNdKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRlbXAyLnB1c2godGVtcDMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZGF0YUZbaV0udmFsdWUgPSB0ZW1wMjtcclxuICAgICAgICAgIHRlbXAxLnB1c2goZGF0YUZbaV0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnQm9vbGVhbic6XHJcbiAgICAgICAgICBpZiAoZGF0YUZbaV0udmFsdWUgPT09ICd0cnVlJykge1xyXG4gICAgICAgICAgICBkYXRhRltpXS52YWx1ZSA9ICdZZXMnO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGF0YUZbaV0udmFsdWUgPSAnTm8nO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGVtcDEucHVzaChkYXRhRltpXSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdGVtcDEucHVzaChkYXRhRltpXSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZGF0YUYgPSB0ZW1wMTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YUYubGVuZ3RoOyBpKyspIHtcclxuICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgZGF0YUYubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICBpZiAocGFyc2VJbnQoZGF0YUZbaV0ub3JkZXIsIDEwKSA+IHBhcnNlSW50KGRhdGFGW2pdLm9yZGVyLCAxMCkpIHtcclxuICAgICAgICAgIHRlbXAgPSBkYXRhRltpXTtcclxuICAgICAgICAgIGRhdGFGW2ldID0gZGF0YUZbal07XHJcbiAgICAgICAgICBkYXRhRltqXSA9IHRlbXA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YUY7XHJcbiAgfVxyXG4gIGI2NHRvQmxvYmZvclNpZ24oYjY0RGF0YSkge1xyXG4gICAgY29uc3QgYnl0ZVN0cmluZyA9IGF0b2IoYjY0RGF0YS5zcGxpdCgnLCcpWzFdKTtcclxuICAgIGNvbnN0IGFiID0gbmV3IEFycmF5QnVmZmVyKGJ5dGVTdHJpbmcubGVuZ3RoKTtcclxuICAgIGNvbnN0IGlhID0gbmV3IFVpbnQ4QXJyYXkoYWIpO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZVN0cmluZy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpYVtpXSA9IGJ5dGVTdHJpbmcuY2hhckNvZGVBdChpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgQmxvYihbYWJdLCB7IHR5cGU6ICdpbWFnZS9qcGVnJyB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,159 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import { Messages } from '../project-messages';
5
+ import { projectConstantsLocal } from '../project-constants';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/dialog";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "../form-message/form-message-display.service";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "primeng/accordion";
12
+ import * as i6 from "primeng/api";
13
+ import * as i7 from "@angular/material/chips";
14
+ import * as i8 from "@angular/material/checkbox";
15
+ import * as i9 from "@angular/material/button";
16
+ import * as i10 from "../form-message/field-error-display/field-error-display.component";
17
+ import * as i11 from "../form-message/form-success-display/form-success-display.component";
18
+ import * as i12 from "primeng/inputtextarea";
19
+ export class ConfirmBoxComponent {
20
+ dialogRef;
21
+ data;
22
+ formBuilder;
23
+ fed_service;
24
+ ok_btn_cap = Messages.CONFIRM_BTN;
25
+ cancel_btn_cap = Messages.CANCEL_BTN;
26
+ newDateFormat = projectConstantsLocal.DATE_MM_DD_YY_FORMAT;
27
+ send_message_cap = Messages.POPUP_SEND_MSG_CAP;
28
+ select_reason_cap = Messages.POPUP_SELECT_REASON_CAP;
29
+ messgae_cap = Messages.OTHERMESSAGE_CAP;
30
+ amForm;
31
+ api_error = null;
32
+ api_success = null;
33
+ cancel_reasonobj;
34
+ cancel_reason = '';
35
+ cancel_reason_key = '';
36
+ default_message_arr = [];
37
+ def_msg = '';
38
+ deptName;
39
+ showError = false;
40
+ okCancelBtn = false;
41
+ cancel_reasons = [];
42
+ rep_username;
43
+ rep_service;
44
+ rep_date;
45
+ rep_time;
46
+ rep_provname;
47
+ constructor(dialogRef, data, formBuilder, fed_service) {
48
+ this.dialogRef = dialogRef;
49
+ this.data = data;
50
+ this.formBuilder = formBuilder;
51
+ this.fed_service = fed_service;
52
+ this.amForm = this.formBuilder.group({
53
+ reason: ['', Validators.compose([Validators.required])],
54
+ message: [''],
55
+ send_message: [{ value: false, disabled: true }]
56
+ });
57
+ }
58
+ ngOnInit() {
59
+ console.log("data-data", this.data);
60
+ if (this.data && this.data.wtlist && this.data.wtlist.providerAccount && this.data.wtlist.providerAccount.businessName) {
61
+ this.rep_username = this.data.wtlist.providerAccount.businessName;
62
+ }
63
+ const reasons_list = [];
64
+ const reasons = projectConstantsLocal.WAITLIST_CANCEL_REASON;
65
+ for (let i = 0; i < reasons.length; i++) {
66
+ if (reasons[i].type) {
67
+ reasons_list.push(reasons[i]);
68
+ }
69
+ }
70
+ this.cancel_reasons = reasons_list;
71
+ console.log("this.cancel_reasons", this.cancel_reasons);
72
+ if (this.data.type) {
73
+ this.ok_btn_cap = Messages.CONFIRM_BTN;
74
+ this.cancel_btn_cap = Messages.CANCEL_BTN;
75
+ }
76
+ if (this.data.buttons === 'okCancel') {
77
+ this.ok_btn_cap = Messages.CONFIRM_BTN;
78
+ this.cancel_btn_cap = Messages.CANCEL_BTN;
79
+ }
80
+ }
81
+ onClick(data) {
82
+ if (this.data.filterByDept && data) {
83
+ const param = {};
84
+ if (this.deptName) {
85
+ param['deptName'] = this.deptName;
86
+ data = param;
87
+ this.dialogRef.close(data);
88
+ }
89
+ else {
90
+ this.showError = true;
91
+ }
92
+ }
93
+ else {
94
+ this.dialogRef.close(data);
95
+ }
96
+ }
97
+ selectReason(cancel_reason) {
98
+ this.amForm.get('reason').setValue(cancel_reason.value);
99
+ this.cancel_reasonobj = cancel_reason;
100
+ this.cancel_reason = cancel_reason.title;
101
+ this.cancel_reason_key = cancel_reason.reasonkey;
102
+ this.amForm.controls['send_message'].enable();
103
+ if (this.data.isBatch) {
104
+ }
105
+ else {
106
+ this.def_msg = this.replacedMessage();
107
+ }
108
+ }
109
+ replacedMessage() {
110
+ let retmsg = '';
111
+ if (this.cancel_reason_key) {
112
+ retmsg = this.default_message_arr[this.cancel_reason_key];
113
+ }
114
+ if (retmsg && retmsg !== '') {
115
+ retmsg = retmsg.replace(/\[consumer\]/g, this.rep_username);
116
+ retmsg = retmsg.replace(/\[service\]/g, this.rep_service);
117
+ retmsg = retmsg.replace(/\[date\]/g, this.rep_date);
118
+ retmsg = retmsg.replace(/\[time\]/g, this.rep_time);
119
+ retmsg = retmsg.replace(/\[.*?\]/g, this.rep_provname);
120
+ if (this.cancel_reason && this.cancel_reason !== '') {
121
+ retmsg = retmsg.replace('[reason]', this.cancel_reason);
122
+ }
123
+ }
124
+ return retmsg;
125
+ }
126
+ resetApiErrors() {
127
+ this.api_error = null;
128
+ this.api_success = null;
129
+ }
130
+ onSubmit(form_data) {
131
+ console.log(form_data);
132
+ this.resetApiErrors();
133
+ let post_data = {
134
+ 'cancelReason': form_data.reason
135
+ };
136
+ if (form_data.send_message) {
137
+ if (!form_data.message.replace(/\s/g, '').length) {
138
+ this.api_error = 'Message cannot be empty';
139
+ return;
140
+ }
141
+ post_data['communicationMessage'] = form_data.message;
142
+ }
143
+ if (this.data.isBatch && !post_data['communicationMessage']) {
144
+ this.api_error = 'Message cannot be empty';
145
+ return;
146
+ }
147
+ this.dialogRef.close(post_data);
148
+ }
149
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ConfirmBoxComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }, { token: i3.FormMessageDisplayService }], target: i0.ɵɵFactoryTarget.Component });
150
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ConfirmBoxComponent, selector: "app-confirm-box", ngImport: i0, template: "<form [formGroup]=\"amForm\" [ngClass]=\"this.data.theme\" novalidate (ngSubmit)=\"amForm.valid && onSubmit(amForm.value)\">\r\n <h1 class=\"mat-dialog-title\">\r\n <button #queue mat-dialog-close class=\"modal_close\">\r\n <i class=\"fa fa-window-close\" aria-hidden=\"true\"></i>\r\n </button>\r\n </h1>\r\n <div mat-dialog-content>\r\n <p class=\"mb-4 fontsize\"> {{data.message}}</p>\r\n <div *ngIf=\"data && data.cancelPolicy\" class=\"policies\">\r\n <p-accordion [multiple]=\"true\">\r\n <p-accordionTab>\r\n <ng-template pTemplate=\"header\">\r\n <h4>Cancellation Policies</h4>\r\n </ng-template>\r\n <p>You can cancel your {{data.book}}s any time until\r\n <span *ngIf=\"data.wtlist.date\">{{data.wtlist.date| date:\r\n newDateFormat}}</span><span *ngIf=\"data.wtlist.appmtDate\">{{data.wtlist.appmtDate| date:\r\n newDateFormat}}</span><span *ngIf=\"data.wtlist.orderDate\">{{data.wtlist.orderDate| date:\r\n newDateFormat}}</span>.<span\r\n *ngIf=\"data.wtlist && data.wtlist.providerAccount && data.wtlist.providerAccount.businessName\">\r\n If the system doesn\u2019t permit your cancellation,\r\n contact your provider, {{data.wtlist.providerAccount.businessName}}.\r\n It\u2019s important to note that the\r\n provider may cancel your bookings at their discretion for their own reasons.\r\n Jaldee will keep you informed promptly regarding the changes through timely notifications.\r\n </span>\r\n </p>\r\n </p-accordionTab>\r\n <p-accordionTab>\r\n <ng-template pTemplate=\"header\">\r\n <h4>Refund policy for Advance Payments(only)</h4>\r\n </ng-template>\r\n <p>\r\n In the case of your cancellation, a 3% (payment gateway fee) will be deducted from the refund\r\n of the advanced payment made. For same-day cancellations, kindly contact your service provider,\r\n {{data.wtlist.providerAccount.businessName}} to initiate the refund. For any refund-related queries, reach\r\n out to\r\n {{data.wtlist.providerAccount.businessName}} for assistance.\r\n </p>\r\n </p-accordionTab>\r\n </p-accordion>\r\n <p class=\"mt-4\"> Are you sure you want to cancel this {{data.book}}? </p>\r\n </div>\r\n <div *ngIf=\"data.book !== 'Order' && data.cancelPolicy\">\r\n <div class=\"form-group\">\r\n <label class=\"col-form-label\" for=\"displayName\">{{select_reason_cap}}*</label>\r\n <mat-chip-list>\r\n <mat-chip *ngFor=\"let cancel_reason of cancel_reasons\" class=\"me-2 mb-2\"\r\n color=\"{{(cancel_reason.value === amForm.get('reason').value) ? 'primary' : ''}}\"\r\n selected=\"{{(cancel_reason.value === amForm.get('reason').value) ? true : false}}\"\r\n [class.selected]=\"(cancel_reason.value === amForm.get('reason').value) ? true : false\"\r\n (click)=\"selectReason(cancel_reason)\">\r\n {{cancel_reason.title}}\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"form-group mt-2\">\r\n <mat-checkbox formControlName=\"send_message\">{{send_message_cap}} {{rep_username}}</mat-checkbox>\r\n </div>\r\n <div class=\"form-group reason-area\" *ngIf=\"amForm.get('send_message').value\">\r\n <textarea class=\"form-control\" rows=\"3\" id=\"message\" pInputTextarea placeholder=\"Message\" formControlName=\"message\"></textarea>\r\n <app-field-error-display [displayError]=\"fed_service.isFieldValid(amForm,'message')\"\r\n errorMsg=\"Please enter a message.\">\r\n </app-field-error-display>\r\n </div>\r\n </div>\r\n </div>\r\n <div mat-dialog-actions *ngIf=\"data.book !== 'Order'&& data.cancelPolicy\" class=\"mb-2\">\r\n <div class=\"col-md-12\" style=\"margin-top: 15px;display: inline-flex;\">\r\n <button type=\"button\" mat-dialog-close class=\"cs-btn bt2\">{{cancel_btn_cap}}</button>\r\n <button type=\"submit\" mat-button [disabled]=\"!amForm.valid\" class=\"cs-btn bt1\">{{ok_btn_cap}}</button>\r\n </div>\r\n </div>\r\n <app-field-error-display [displayError]=\"true\" *ngIf=\"api_error\" errorMsg=\"{{api_error}}\"></app-field-error-display>\r\n <app-form-success-display [displayMsg]=\"true\" *ngIf=\"api_success\" successMsg=\"{{api_success}}\">\r\n </app-form-success-display>\r\n <div mat-dialog-actions class=\"paddingtop\" *ngIf=\"data.book !== 'Order' && !data.cancelPolicy\">\r\n <button tabindex=\"-1\" (click)=\"onClick(0)\" class=\"cs-btn bt2\">{{cancel_btn_cap}}</button>\r\n <button tabindex=\"2\" (click)=\"onClick(1)\"\r\n class=\"cs-btn bt1 reddelete checkavailabilitybutton\">{{ok_btn_cap}}</button>\r\n </div>\r\n <app-field-error-display [displayError]=\"true\" *ngIf=\"showError\" errorMsg=\"Department name is required\">\r\n </app-field-error-display>\r\n</form>", styles: [".mat-dialog-actions button{padding:10px 25px!important}.mat-dialog-title{color:#222223;background:#183e79;height:50px!important}.mat-dialog-title{margin:0;padding:15px 20px}p{font-size:12px!important}ul{margin-top:0;margin-bottom:10px}.paddingtop{padding-top:20px}.mat-dialog-actions{display:flex;justify-content:center;border:none}.mat-dialog-actions:last-child{margin:0;padding:20px}.mat-dialog-actions{box-shadow:0 0 30px #0000001a;position:relative;z-index:99}.bt1{margin-left:10px}.reddelete{background:#08b363}.cs-btn{position:relative;display:inline-block;margin-bottom:0;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:none;white-space:nowrap;outline:0;padding:10px 40px;font-size:inherit;line-height:1.4;z-index:2}.bt1,.bt2{border-radius:3px}.mat-dialog-content>.ng-star-inserted{margin-bottom:20px}ul{padding-left:40px}.reddelete{background:#183e79;color:#fff}::ng-deep .policies .p-accordion p-accordiontab .p-accordion-header .p-accordion-header-link{text-decoration:none!important}.fontsize{font-size:16px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i5.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i5.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i10.FieldErrorDisplayComponent, selector: "app-field-error-display", inputs: ["errorMsg", "displayError", "errorMsgs"] }, { kind: "component", type: i11.FormSuccessDisplayComponent, selector: "app-form-success-display", inputs: ["successMsg", "displayMsg"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i12.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }, { kind: "pipe", type: i4.DatePipe, name: "date" }] });
151
+ }
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ConfirmBoxComponent, decorators: [{
153
+ type: Component,
154
+ args: [{ selector: 'app-confirm-box', template: "<form [formGroup]=\"amForm\" [ngClass]=\"this.data.theme\" novalidate (ngSubmit)=\"amForm.valid && onSubmit(amForm.value)\">\r\n <h1 class=\"mat-dialog-title\">\r\n <button #queue mat-dialog-close class=\"modal_close\">\r\n <i class=\"fa fa-window-close\" aria-hidden=\"true\"></i>\r\n </button>\r\n </h1>\r\n <div mat-dialog-content>\r\n <p class=\"mb-4 fontsize\"> {{data.message}}</p>\r\n <div *ngIf=\"data && data.cancelPolicy\" class=\"policies\">\r\n <p-accordion [multiple]=\"true\">\r\n <p-accordionTab>\r\n <ng-template pTemplate=\"header\">\r\n <h4>Cancellation Policies</h4>\r\n </ng-template>\r\n <p>You can cancel your {{data.book}}s any time until\r\n <span *ngIf=\"data.wtlist.date\">{{data.wtlist.date| date:\r\n newDateFormat}}</span><span *ngIf=\"data.wtlist.appmtDate\">{{data.wtlist.appmtDate| date:\r\n newDateFormat}}</span><span *ngIf=\"data.wtlist.orderDate\">{{data.wtlist.orderDate| date:\r\n newDateFormat}}</span>.<span\r\n *ngIf=\"data.wtlist && data.wtlist.providerAccount && data.wtlist.providerAccount.businessName\">\r\n If the system doesn\u2019t permit your cancellation,\r\n contact your provider, {{data.wtlist.providerAccount.businessName}}.\r\n It\u2019s important to note that the\r\n provider may cancel your bookings at their discretion for their own reasons.\r\n Jaldee will keep you informed promptly regarding the changes through timely notifications.\r\n </span>\r\n </p>\r\n </p-accordionTab>\r\n <p-accordionTab>\r\n <ng-template pTemplate=\"header\">\r\n <h4>Refund policy for Advance Payments(only)</h4>\r\n </ng-template>\r\n <p>\r\n In the case of your cancellation, a 3% (payment gateway fee) will be deducted from the refund\r\n of the advanced payment made. For same-day cancellations, kindly contact your service provider,\r\n {{data.wtlist.providerAccount.businessName}} to initiate the refund. For any refund-related queries, reach\r\n out to\r\n {{data.wtlist.providerAccount.businessName}} for assistance.\r\n </p>\r\n </p-accordionTab>\r\n </p-accordion>\r\n <p class=\"mt-4\"> Are you sure you want to cancel this {{data.book}}? </p>\r\n </div>\r\n <div *ngIf=\"data.book !== 'Order' && data.cancelPolicy\">\r\n <div class=\"form-group\">\r\n <label class=\"col-form-label\" for=\"displayName\">{{select_reason_cap}}*</label>\r\n <mat-chip-list>\r\n <mat-chip *ngFor=\"let cancel_reason of cancel_reasons\" class=\"me-2 mb-2\"\r\n color=\"{{(cancel_reason.value === amForm.get('reason').value) ? 'primary' : ''}}\"\r\n selected=\"{{(cancel_reason.value === amForm.get('reason').value) ? true : false}}\"\r\n [class.selected]=\"(cancel_reason.value === amForm.get('reason').value) ? true : false\"\r\n (click)=\"selectReason(cancel_reason)\">\r\n {{cancel_reason.title}}\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"form-group mt-2\">\r\n <mat-checkbox formControlName=\"send_message\">{{send_message_cap}} {{rep_username}}</mat-checkbox>\r\n </div>\r\n <div class=\"form-group reason-area\" *ngIf=\"amForm.get('send_message').value\">\r\n <textarea class=\"form-control\" rows=\"3\" id=\"message\" pInputTextarea placeholder=\"Message\" formControlName=\"message\"></textarea>\r\n <app-field-error-display [displayError]=\"fed_service.isFieldValid(amForm,'message')\"\r\n errorMsg=\"Please enter a message.\">\r\n </app-field-error-display>\r\n </div>\r\n </div>\r\n </div>\r\n <div mat-dialog-actions *ngIf=\"data.book !== 'Order'&& data.cancelPolicy\" class=\"mb-2\">\r\n <div class=\"col-md-12\" style=\"margin-top: 15px;display: inline-flex;\">\r\n <button type=\"button\" mat-dialog-close class=\"cs-btn bt2\">{{cancel_btn_cap}}</button>\r\n <button type=\"submit\" mat-button [disabled]=\"!amForm.valid\" class=\"cs-btn bt1\">{{ok_btn_cap}}</button>\r\n </div>\r\n </div>\r\n <app-field-error-display [displayError]=\"true\" *ngIf=\"api_error\" errorMsg=\"{{api_error}}\"></app-field-error-display>\r\n <app-form-success-display [displayMsg]=\"true\" *ngIf=\"api_success\" successMsg=\"{{api_success}}\">\r\n </app-form-success-display>\r\n <div mat-dialog-actions class=\"paddingtop\" *ngIf=\"data.book !== 'Order' && !data.cancelPolicy\">\r\n <button tabindex=\"-1\" (click)=\"onClick(0)\" class=\"cs-btn bt2\">{{cancel_btn_cap}}</button>\r\n <button tabindex=\"2\" (click)=\"onClick(1)\"\r\n class=\"cs-btn bt1 reddelete checkavailabilitybutton\">{{ok_btn_cap}}</button>\r\n </div>\r\n <app-field-error-display [displayError]=\"true\" *ngIf=\"showError\" errorMsg=\"Department name is required\">\r\n </app-field-error-display>\r\n</form>", styles: [".mat-dialog-actions button{padding:10px 25px!important}.mat-dialog-title{color:#222223;background:#183e79;height:50px!important}.mat-dialog-title{margin:0;padding:15px 20px}p{font-size:12px!important}ul{margin-top:0;margin-bottom:10px}.paddingtop{padding-top:20px}.mat-dialog-actions{display:flex;justify-content:center;border:none}.mat-dialog-actions:last-child{margin:0;padding:20px}.mat-dialog-actions{box-shadow:0 0 30px #0000001a;position:relative;z-index:99}.bt1{margin-left:10px}.reddelete{background:#08b363}.cs-btn{position:relative;display:inline-block;margin-bottom:0;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:none;white-space:nowrap;outline:0;padding:10px 40px;font-size:inherit;line-height:1.4;z-index:2}.bt1,.bt2{border-radius:3px}.mat-dialog-content>.ng-star-inserted{margin-bottom:20px}ul{padding-left:40px}.reddelete{background:#183e79;color:#fff}::ng-deep .policies .p-accordion p-accordiontab .p-accordion-header .p-accordion-header-link{text-decoration:none!important}.fontsize{font-size:16px!important}\n"] }]
155
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
156
+ type: Inject,
157
+ args: [MAT_DIALOG_DATA]
158
+ }] }, { type: i2.FormBuilder }, { type: i3.FormMessageDisplayService }] });
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2NvbmZpcm0vY29uZmlybS1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2NvbmZpcm0vY29uZmlybS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRN0QsTUFBTSxPQUFPLG1CQUFtQjtJQXlCckI7SUFDeUI7SUFDeEI7SUFDRDtJQTNCVCxVQUFVLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUNsQyxjQUFjLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsb0JBQW9CLENBQUM7SUFDM0QsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDO0lBQy9DLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQztJQUNyRCxXQUFXLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDO0lBQ3hDLE1BQU0sQ0FBWTtJQUNsQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbkIsZ0JBQWdCLENBQUM7SUFDakIsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNu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QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLHlCQUF5QixDQUFDO2dCQUMzQyxPQUFPO1lBQ1QsQ0FBQztZQUNELFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDeEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxTQUFTLEdBQUcseUJBQXlCLENBQUM7WUFDM0MsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO3VHQTVIVSxtQkFBbUIsOENBMEJwQixlQUFlOzJGQTFCZCxtQkFBbUIsdURDYmhDLG0rSkFtRk87OzJGRHRFTSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzswQkE4QnhCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWVzc2FnZXMgfSBmcm9tICcuLi9wcm9qZWN0LW1lc3NhZ2VzJztcclxuaW1wb3J0IHsgcHJvamVjdENvbnN0YW50c0xvY2FsIH0gZnJvbSAnLi4vcHJvamVjdC1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBGb3JtTWVzc2FnZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vZm9ybS1tZXNzYWdlL2Zvcm0tbWVzc2FnZS1kaXNwbGF5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY29uZmlybS1ib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLWJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS1ib3guY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBva19idG5fY2FwID0gTWVzc2FnZXMuQ09ORklSTV9CVE47XHJcbiAgY2FuY2VsX2J0bl9jYXAgPSBNZXNzYWdlcy5DQU5DRUxfQlROO1xyXG4gIG5ld0RhdGVGb3JtYXQgPSBwcm9qZWN0Q29uc3RhbnRzTG9jYWwuREFURV9NTV9ERF9ZWV9GT1JNQVQ7XHJcbiAgc2VuZF9tZXNzYWdlX2NhcCA9IE1lc3NhZ2VzLlBPUFVQX1NFTkRfTVNHX0NBUDtcclxuICBzZWxlY3RfcmVhc29uX2NhcCA9IE1lc3NhZ2VzLlBPUFVQX1NFTEVDVF9SRUFTT05fQ0FQO1xyXG4gIG1lc3NnYWVfY2FwID0gTWVzc2FnZXMuT1RIRVJNRVNTQUdFX0NBUDtcclxuICBhbUZvcm06IEZvcm1Hcm91cDtcclxuICBhcGlfZXJyb3IgPSBudWxsO1xyXG4gIGFwaV9zdWNjZXNzID0gbnVsbDtcclxuICBjYW5jZWxfcmVhc29ub2JqO1xyXG4gIGNhbmNlbF9yZWFzb24gPSAnJztcclxuICBjYW5jZWxfcmVhc29uX2tleSA9ICcnO1xyXG4gIGRlZmF1bHRfbWVzc2FnZV9hcnI6IGFueSA9IFtdO1xyXG4gIGRlZl9tc2cgPSAnJztcclxuICBkZXB0TmFtZTtcclxuICBzaG93RXJyb3IgPSBmYWxzZTtcclxuICBva0NhbmNlbEJ0biA9IGZhbHNlO1xyXG4gIGNhbmNlbF9yZWFzb25zOiBhbnkgPSBbXTtcclxuICByZXBfdXNlcm5hbWU6IHN0cmluZztcclxuICByZXBfc2VydmljZTogc3RyaW5nO1xyXG4gIHJlcF9kYXRlOiBzdHJpbmc7XHJcbiAgcmVwX3RpbWU6IHN0cmluZztcclxuICByZXBfcHJvdm5hbWU6IHN0cmluZztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25maXJtQm94Q29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjpGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyBmZWRfc2VydmljZTogRm9ybU1lc3NhZ2VEaXNwbGF5U2VydmljZSxcclxuICApIHsgXHJcbiAgICB0aGlzLmFtRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgcmVhc29uOiBbJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcclxuICAgIG1lc3NhZ2U6IFsnJ10sXHJcbiAgICBzZW5kX21lc3NhZ2U6IFt7IHZhbHVlOiBmYWxzZSwgZGlzYWJsZWQ6IHRydWUgfV1cclxuICB9KTtcclxufVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc29sZS5sb2coXCJkYXRhLWRhdGFcIix0aGlzLmRhdGEpXHJcbiAgICBpZiAodGhpcy5kYXRhICYmIHRoaXMuZGF0YS53dGxpc3QgJiYgdGhpcy5kYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQgJiYgdGhpcy5kYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQuYnVzaW5lc3NOYW1lKSB7XHJcbiAgICAgIHRoaXMucmVwX3VzZXJuYW1lID0gdGhpcy5kYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQuYnVzaW5lc3NOYW1lO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVhc29uc19saXN0ID0gW107XHJcbiAgICBjb25zdCByZWFzb25zID0gcHJvamVjdENvbnN0YW50c0xvY2FsLldBSVRMSVNUX0NBTkNFTF9SRUFTT047XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlYXNvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHJlYXNvbnNbaV0udHlwZSkge1xyXG4gICAgICAgIHJlYXNvbnNfbGlzdC5wdXNoKHJlYXNvbnNbaV0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNhbmNlbF9yZWFzb25zID0gcmVhc29uc19saXN0O1xyXG4gICAgY29uc29sZS5sb2coXCJ0aGlzLmNhbmNlbF9yZWFzb25zXCIsdGhpcy5jYW5jZWxfcmVhc29ucyk7XHJcbiAgICBpZiAodGhpcy5kYXRhLnR5cGUpIHtcclxuICAgICAgdGhpcy5va19idG5fY2FwID0gTWVzc2FnZXMuQ09ORklSTV9CVE47XHJcbiAgICAgIHRoaXMuY2FuY2VsX2J0bl9jYXAgPSBNZXNzYWdlcy5DQU5DRUxfQlROO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGF0YS5idXR0b25zID09PSAnb2tDYW5jZWwnKSB7XHJcbiAgICAgIHRoaXMub2tfYnRuX2NhcCA9IE1lc3NhZ2VzLkNPTkZJUk1fQlROO1xyXG4gICAgICB0aGlzLmNhbmNlbF9idG5fY2FwID0gTWVzc2FnZXMuQ0FOQ0VMX0JUTjtcclxuICAgIH1cclxuICB9XHJcbiAgb25DbGljayhkYXRhKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLmZpbHRlckJ5RGVwdCAmJiBkYXRhKSB7XHJcbiAgICAgIGNvbnN0IHBhcmFtID0ge307XHJcbiAgICAgIGlmICh0aGlzLmRlcHROYW1lKSB7XHJcbiAgICAgICAgcGFyYW1bJ2RlcHROYW1lJ10gPSB0aGlzLmRlcHROYW1lO1xyXG4gICAgICAgIGRhdGEgPSBwYXJhbTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZWxlY3RSZWFzb24oY2FuY2VsX3JlYXNvbikge1xyXG4gICAgdGhpcy5hbUZvcm0uZ2V0KCdyZWFzb24nKS5zZXRWYWx1ZShjYW5jZWxfcmVhc29uLnZhbHVlKTtcclxuICAgIHRoaXMuY2FuY2VsX3JlYXNvbm9iaiA9IGNhbmNlbF9yZWFzb247XHJcbiAgICB0aGlzLmNhbmNlbF9yZWFzb24gPSBjYW5jZWxfcmVhc29uLnRpdGxlO1xyXG4gICAgdGhpcy5jYW5jZWxfcmVhc29uX2tleSA9IGNhbmNlbF9yZWFzb24ucmVhc29ua2V5O1xyXG4gICAgdGhpcy5hbUZvcm0uY29udHJvbHNbJ3NlbmRfbWVzc2FnZSddLmVuYWJsZSgpO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5pc0JhdGNoKSB7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlZl9tc2cgPSB0aGlzLnJlcGxhY2VkTWVzc2FnZSgpO1xyXG4gICAgfSAgICBcclxuICB9XHJcbiAgcmVwbGFjZWRNZXNzYWdlKCkge1xyXG4gICAgbGV0IHJldG1zZyA9ICcnO1xyXG4gICAgaWYgKHRoaXMuY2FuY2VsX3JlYXNvbl9rZXkpIHtcclxuICAgICAgcmV0bXNnID0gdGhpcy5kZWZhdWx0X21lc3NhZ2VfYXJyW3RoaXMuY2FuY2VsX3JlYXNvbl9rZXldO1xyXG4gICAgfVxyXG4gICAgaWYgKHJldG1zZyAmJiByZXRtc2cgIT09ICcnKSB7XHJcbiAgICAgIHJldG1zZyA9IHJldG1zZy5yZXBsYWNlKC9cXFtjb25zdW1lclxcXS9nLCB0aGlzLnJlcF91c2VybmFtZSk7XHJcbiAgICAgIHJldG1zZyA9IHJldG1zZy5yZXBsYWNlKC9cXFtzZXJ2aWNlXFxdL2csIHRoaXMucmVwX3NlcnZpY2UpO1xyXG4gICAgICByZXRtc2cgPSByZXRtc2cucmVwbGFjZSgvXFxbZGF0ZVxcXS9nLCB0aGlzLnJlcF9kYXRlKTtcclxuICAgICAgcmV0bXNnID0gcmV0bXNnLnJlcGxhY2UoL1xcW3RpbWVcXF0vZywgdGhpcy5yZXBfdGltZSk7XHJcbiAgICAgIHJldG1zZyA9IHJldG1zZy5yZXBsYWNlKC9cXFsuKj9cXF0vZywgdGhpcy5yZXBfcHJvdm5hbWUpO1xyXG4gICAgICBpZiAodGhpcy5jYW5jZWxfcmVhc29uICYmIHRoaXMuY2FuY2VsX3JlYXNvbiAhPT0gJycpIHtcclxuICAgICAgICByZXRtc2cgPSByZXRtc2cucmVwbGFjZSgnW3JlYXNvbl0nLCB0aGlzLmNhbmNlbF9yZWFzb24pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmV0bXNnO1xyXG4gIH1cclxuICByZXNldEFwaUVycm9ycygpIHtcclxuICAgIHRoaXMuYXBpX2Vycm9yID0gbnVsbDtcclxuICAgIHRoaXMuYXBpX3N1Y2Nlc3MgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoZm9ybV9kYXRhKSB7XHJcbiAgICBjb25zb2xlLmxvZyhmb3JtX2RhdGEpXHJcbiAgICB0aGlzLnJlc2V0QXBpRXJyb3JzKCk7XHJcbiAgICAgbGV0IHBvc3RfZGF0YSA9IHtcclxuICAgICAgJ2NhbmNlbFJlYXNvbic6IGZvcm1fZGF0YS5yZWFzb25cclxuICAgIH07XHJcbiAgICBpZiAoZm9ybV9kYXRhLnNlbmRfbWVzc2FnZSkge1xyXG4gICAgICBpZiAoIWZvcm1fZGF0YS5tZXNzYWdlLnJlcGxhY2UoL1xccy9nLCAnJykubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5hcGlfZXJyb3IgPSAnTWVzc2FnZSBjYW5ub3QgYmUgZW1wdHknO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBwb3N0X2RhdGFbJ2NvbW11bmljYXRpb25NZXNzYWdlJ10gPSBmb3JtX2RhdGEubWVzc2FnZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGEuaXNCYXRjaCAmJiAhcG9zdF9kYXRhWydjb21tdW5pY2F0aW9uTWVzc2FnZSddKSB7XHJcbiAgICAgIHRoaXMuYXBpX2Vycm9yID0gJ01lc3NhZ2UgY2Fubm90IGJlIGVtcHR5JztcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocG9zdF9kYXRhKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiYW1Gb3JtXCIgW25nQ2xhc3NdPVwidGhpcy5kYXRhLnRoZW1lXCIgbm92YWxpZGF0ZSAobmdTdWJtaXQpPVwiYW1Gb3JtLnZhbGlkICYmIG9uU3VibWl0KGFtRm9ybS52YWx1ZSlcIj5cclxuICA8aDEgY2xhc3M9XCJtYXQtZGlhbG9nLXRpdGxlXCI+XHJcbiAgICA8YnV0dG9uICNxdWV1ZSBtYXQtZGlhbG9nLWNsb3NlIGNsYXNzPVwibW9kYWxfY2xvc2VcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS13aW5kb3ctY2xvc2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2gxPlxyXG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgPHAgY2xhc3M9XCJtYi00IGZvbnRzaXplXCI+IHt7ZGF0YS5tZXNzYWdlfX08L3A+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YSAmJiBkYXRhLmNhbmNlbFBvbGljeVwiIGNsYXNzPVwicG9saWNpZXNcIj5cclxuICAgICAgPHAtYWNjb3JkaW9uIFttdWx0aXBsZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgPHAtYWNjb3JkaW9uVGFiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aDQ+Q2FuY2VsbGF0aW9uIFBvbGljaWVzPC9oND5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8cD5Zb3UgY2FuIGNhbmNlbCB5b3VyIHt7ZGF0YS5ib29rfX1zIGFueSB0aW1lIHVudGlsXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGF0YS53dGxpc3QuZGF0ZVwiPnt7ZGF0YS53dGxpc3QuZGF0ZXwgZGF0ZTpcclxuICAgICAgICAgICAgICBuZXdEYXRlRm9ybWF0fX08L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRhLnd0bGlzdC5hcHBtdERhdGVcIj57e2RhdGEud3RsaXN0LmFwcG10RGF0ZXwgZGF0ZTpcclxuICAgICAgICAgICAgICBuZXdEYXRlRm9ybWF0fX08L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRhLnd0bGlzdC5vcmRlckRhdGVcIj57e2RhdGEud3RsaXN0Lm9yZGVyRGF0ZXwgZGF0ZTpcclxuICAgICAgICAgICAgICBuZXdEYXRlRm9ybWF0fX08L3NwYW4+LjxzcGFuXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhLnd0bGlzdCAmJiBkYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQgJiYgZGF0YS53dGxpc3QucHJvdmlkZXJBY2NvdW50LmJ1c2luZXNzTmFtZVwiPlxyXG4gICAgICAgICAgICAgIElmIHRoZSBzeXN0ZW0gZG9lc27igJl0IHBlcm1pdCB5b3VyIGNhbmNlbGxhdGlvbixcclxuICAgICAgICAgICAgICBjb250YWN0IHlvdXIgcHJvdmlkZXIsIHt7ZGF0YS53dGxpc3QucHJvdmlkZXJBY2NvdW50LmJ1c2luZXNzTmFtZX19LlxyXG4gICAgICAgICAgICAgIEl04oCZcyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHRoZVxyXG4gICAgICAgICAgICAgIHByb3ZpZGVyIG1heSBjYW5jZWwgeW91ciBib29raW5ncyBhdCB0aGVpciBkaXNjcmV0aW9uIGZvciB0aGVpciBvd24gcmVhc29ucy5cclxuICAgICAgICAgICAgICBKYWxkZWUgd2lsbCBrZWVwIHlvdSBpbmZvcm1lZCBwcm9tcHRseSByZWdhcmRpbmcgdGhlIGNoYW5nZXMgdGhyb3VnaCB0aW1lbHkgbm90aWZpY2F0aW9ucy5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvcC1hY2NvcmRpb25UYWI+XHJcbiAgICAgICAgPHAtYWNjb3JkaW9uVGFiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aDQ+UmVmdW5kIHBvbGljeSBmb3IgQWR2YW5jZSBQYXltZW50cyhvbmx5KTwvaDQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPHA+XHJcbiAgICAgICAgICAgIEluIHRoZSBjYXNlIG9mIHlvdXIgY2FuY2VsbGF0aW9uLCBhIDMlIChwYXltZW50IGdhdGV3YXkgZmVlKSB3aWxsIGJlIGRlZHVjdGVkIGZyb20gdGhlIHJlZnVuZFxyXG4gICAgICAgICAgICBvZiB0aGUgYWR2YW5jZWQgcGF5bWVudCBtYWRlLiBGb3Igc2FtZS1kYXkgY2FuY2VsbGF0aW9ucywga2luZGx5IGNvbnRhY3QgeW91ciBzZXJ2aWNlIHByb3ZpZGVyLFxyXG4gICAgICAgICAgICB7e2RhdGEud3RsaXN0LnByb3ZpZGVyQWNjb3VudC5idXNpbmVzc05hbWV9fSB0byBpbml0aWF0ZSB0aGUgcmVmdW5kLiBGb3IgYW55IHJlZnVuZC1yZWxhdGVkIHF1ZXJpZXMsIHJlYWNoXHJcbiAgICAgICAgICAgIG91dCB0b1xyXG4gICAgICAgICAgICB7e2RhdGEud3RsaXN0LnByb3ZpZGVyQWNjb3VudC5idXNpbmVzc05hbWV9fSBmb3IgYXNzaXN0YW5jZS5cclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L3AtYWNjb3JkaW9uVGFiPlxyXG4gICAgICA8L3AtYWNjb3JkaW9uPlxyXG4gICAgICA8cCBjbGFzcz1cIm10LTRcIj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNhbmNlbCB0aGlzIHt7ZGF0YS5ib29rfX0/IDwvcD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYm9vayAhPT0gJ09yZGVyJyAmJiBkYXRhLmNhbmNlbFBvbGljeVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1mb3JtLWxhYmVsXCIgZm9yPVwiZGlzcGxheU5hbWVcIj57e3NlbGVjdF9yZWFzb25fY2FwfX0qPC9sYWJlbD5cclxuICAgICAgICA8bWF0LWNoaXAtbGlzdD5cclxuICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9XCJsZXQgY2FuY2VsX3JlYXNvbiBvZiBjYW5jZWxfcmVhc29uc1wiIGNsYXNzPVwibWUtMiBtYi0yXCJcclxuICAgICAgICAgICAgY29sb3I9XCJ7eyhjYW5jZWxfcmVhc29uLnZhbHVlID09PSBhbUZvcm0uZ2V0KCdyZWFzb24nKS52YWx1ZSkgPyAncHJpbWFyeScgOiAnJ319XCJcclxuICAgICAgICAgICAgc2VsZWN0ZWQ9XCJ7eyhjYW5jZWxfcmVhc29uLnZhbHVlID09PSBhbUZvcm0uZ2V0KCdyZWFzb24nKS52YWx1ZSkgPyB0cnVlIDogZmFsc2V9fVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCIoY2FuY2VsX3JlYXNvbi52YWx1ZSA9PT0gYW1Gb3JtLmdldCgncmVhc29uJykudmFsdWUpID8gdHJ1ZSA6IGZhbHNlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJlYXNvbihjYW5jZWxfcmVhc29uKVwiPlxyXG4gICAgICAgICAgICB7e2NhbmNlbF9yZWFzb24udGl0bGV9fVxyXG4gICAgICAgICAgPC9tYXQtY2hpcD5cclxuICAgICAgICA8L21hdC1jaGlwLWxpc3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtdC0yXCI+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJzZW5kX21lc3NhZ2VcIj57e3NlbmRfbWVzc2FnZV9jYXB9fSB7e3JlcF91c2VybmFtZX19PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByZWFzb24tYXJlYVwiICpuZ0lmPVwiYW1Gb3JtLmdldCgnc2VuZF9tZXNzYWdlJykudmFsdWVcIj5cclxuICAgICAgICA8dGV4dGFyZWEgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcm93cz1cIjNcIiAgaWQ9XCJtZXNzYWdlXCIgcElucHV0VGV4dGFyZWEgcGxhY2Vob2xkZXI9XCJNZXNzYWdlXCIgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZVwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgPGFwcC1maWVsZC1lcnJvci1kaXNwbGF5IFtkaXNwbGF5RXJyb3JdPVwiZmVkX3NlcnZpY2UuaXNGaWVsZFZhbGlkKGFtRm9ybSwnbWVzc2FnZScpXCJcclxuICAgICAgICAgIGVycm9yTXNnPVwiUGxlYXNlIGVudGVyIGEgbWVzc2FnZS5cIj5cclxuICAgICAgICA8L2FwcC1maWVsZC1lcnJvci1kaXNwbGF5PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zICpuZ0lmPVwiZGF0YS5ib29rICE9PSAnT3JkZXInJiYgZGF0YS5jYW5jZWxQb2xpY3lcIiBjbGFzcz1cIm1iLTJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDE1cHg7ZGlzcGxheTogaW5saW5lLWZsZXg7XCI+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1kaWFsb2ctY2xvc2UgY2xhc3M9XCJjcy1idG4gYnQyXCI+e3tjYW5jZWxfYnRuX2NhcH19PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIG1hdC1idXR0b24gW2Rpc2FibGVkXT1cIiFhbUZvcm0udmFsaWRcIiBjbGFzcz1cImNzLWJ0biBidDFcIj57e29rX2J0bl9jYXB9fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGFwcC1maWVsZC1lcnJvci1kaXNwbGF5IFtkaXNwbGF5RXJyb3JdPVwidHJ1ZVwiICpuZ0lmPVwiYXBpX2Vycm9yXCIgZXJyb3JNc2c9XCJ7e2FwaV9lcnJvcn19XCI+PC9hcHAtZmllbGQtZXJyb3ItZGlzcGxheT5cclxuICA8YXBwLWZvcm0tc3VjY2Vzcy1kaXNwbGF5IFtkaXNwbGF5TXNnXT1cInRydWVcIiAqbmdJZj1cImFwaV9zdWNjZXNzXCIgc3VjY2Vzc01zZz1cInt7YXBpX3N1Y2Nlc3N9fVwiPlxyXG4gIDwvYXBwLWZvcm0tc3VjY2Vzcy1kaXNwbGF5PlxyXG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwicGFkZGluZ3RvcFwiICpuZ0lmPVwiZGF0YS5ib29rICE9PSAnT3JkZXInICYmICFkYXRhLmNhbmNlbFBvbGljeVwiPlxyXG4gICAgPGJ1dHRvbiB0YWJpbmRleD1cIi0xXCIgKGNsaWNrKT1cIm9uQ2xpY2soMClcIiBjbGFzcz1cImNzLWJ0biBidDJcIj57e2NhbmNlbF9idG5fY2FwfX08L2J1dHRvbj5cclxuICAgIDxidXR0b24gdGFiaW5kZXg9XCIyXCIgKGNsaWNrKT1cIm9uQ2xpY2soMSlcIlxyXG4gICAgICBjbGFzcz1cImNzLWJ0biBidDEgcmVkZGVsZXRlIGNoZWNrYXZhaWxhYmlsaXR5YnV0dG9uXCI+e3tva19idG5fY2FwfX08L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8YXBwLWZpZWxkLWVycm9yLWRpc3BsYXkgW2Rpc3BsYXlFcnJvcl09XCJ0cnVlXCIgKm5nSWY9XCJzaG93RXJyb3JcIiBlcnJvck1zZz1cIkRlcGFydG1lbnQgbmFtZSBpcyByZXF1aXJlZFwiPlxyXG4gIDwvYXBwLWZpZWxkLWVycm9yLWRpc3BsYXk+XHJcbjwvZm9ybT4iXX0=
@@ -0,0 +1,62 @@
1
+ import { CommonModule, DatePipe } from "@angular/common";
2
+ import { NgModule } from "@angular/core";
3
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
4
+ import { MatDialogModule } from "@angular/material/dialog";
5
+ import { ConfirmBoxComponent } from "./confirm-box.component";
6
+ import { AccordionModule } from 'primeng/accordion';
7
+ import { MatChipsModule } from "@angular/material/chips";
8
+ import { MatButtonModule } from "@angular/material/button";
9
+ import { MatCheckboxModule } from "@angular/material/checkbox";
10
+ import { InputTextareaModule } from "primeng/inputtextarea";
11
+ import { FormMessageDisplayModule } from "../form-message/form-message-display.module";
12
+ import * as i0 from "@angular/core";
13
+ export class ConfirmBoxModule {
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ConfirmBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: ConfirmBoxModule, declarations: [ConfirmBoxComponent], imports: [CommonModule,
16
+ MatDialogModule,
17
+ FormsModule,
18
+ AccordionModule,
19
+ MatChipsModule,
20
+ MatCheckboxModule,
21
+ MatButtonModule,
22
+ FormMessageDisplayModule,
23
+ ReactiveFormsModule,
24
+ InputTextareaModule], exports: [ConfirmBoxComponent] });
25
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ConfirmBoxModule, providers: [
26
+ DatePipe
27
+ ], imports: [CommonModule,
28
+ MatDialogModule,
29
+ FormsModule,
30
+ AccordionModule,
31
+ MatChipsModule,
32
+ MatCheckboxModule,
33
+ MatButtonModule,
34
+ FormMessageDisplayModule,
35
+ ReactiveFormsModule,
36
+ InputTextareaModule] });
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ConfirmBoxModule, decorators: [{
39
+ type: NgModule,
40
+ args: [{
41
+ imports: [
42
+ CommonModule,
43
+ MatDialogModule,
44
+ FormsModule,
45
+ AccordionModule,
46
+ MatChipsModule,
47
+ MatCheckboxModule,
48
+ MatButtonModule,
49
+ FormMessageDisplayModule,
50
+ ReactiveFormsModule,
51
+ InputTextareaModule
52
+ ],
53
+ exports: [ConfirmBoxComponent],
54
+ declarations: [
55
+ ConfirmBoxComponent
56
+ ],
57
+ providers: [
58
+ DatePipe
59
+ ]
60
+ }]
61
+ }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1ib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2NvbmZpcm0vY29uZmlybS1ib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQXdCdkYsTUFBTSxPQUFPLGdCQUFnQjt1R0FBaEIsZ0JBQWdCO3dHQUFoQixnQkFBZ0IsaUJBTnJCLG1CQUFtQixhQWRuQixZQUFZO1lBQ1osZUFBZTtZQUNmLFdBQVc7WUFDWCxlQUFlO1lBQ2YsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2Ysd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixtQkFBbUIsYUFHYixtQkFBbUI7d0dBUXBCLGdCQUFnQixhQUpkO1lBQ1AsUUFBUTtTQUNYLFlBbEJHLFlBQVk7WUFDWixlQUFlO1lBQ2YsV0FBVztZQUNYLGVBQWU7WUFDZixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZix3QkFBd0I7WUFDeEIsbUJBQW1CO1lBQ25CLG1CQUFtQjs7MkZBV2QsZ0JBQWdCO2tCQXRCNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3FCQUV0QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDOUIsWUFBWSxFQUFFO3dCQUNWLG1CQUFtQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLFFBQVE7cUJBQ1g7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERhdGVQaXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgQ29uZmlybUJveENvbXBvbmVudCB9IGZyb20gXCIuL2NvbmZpcm0tYm94LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0FjY29yZGlvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9hY2NvcmRpb24nO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGlwc1wiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XHJcbmltcG9ydCB7IElucHV0VGV4dGFyZWFNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9pbnB1dHRleHRhcmVhXCI7XHJcbmltcG9ydCB7IEZvcm1NZXNzYWdlRGlzcGxheU1vZHVsZSB9IGZyb20gXCIuLi9mb3JtLW1lc3NhZ2UvZm9ybS1tZXNzYWdlLWRpc3BsYXkubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgQWNjb3JkaW9uTW9kdWxlLFxyXG4gICAgICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBGb3JtTWVzc2FnZURpc3BsYXlNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBJbnB1dFRleHRhcmVhTW9kdWxlXHJcblxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtDb25maXJtQm94Q29tcG9uZW50XSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIENvbmZpcm1Cb3hDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBEYXRlUGlwZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybUJveE1vZHVsZSB7fSJdfQ==