@acorex/modules 21.0.0-next.12 → 21.0.0-next.13

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 (34) hide show
  1. package/data-management/index.d.ts +35 -2
  2. package/document-management/index.d.ts +76 -261
  3. package/fesm2022/acorex-modules-data-management.mjs +231 -2
  4. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  5. package/fesm2022/acorex-modules-document-management.mjs +529 -2717
  6. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  7. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-BDSyXKSF.mjs → acorex-modules-human-capital-management-leave-request.entity-CviI9xJC.mjs} +2 -2
  8. package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-CviI9xJC.mjs.map +1 -0
  9. package/fesm2022/acorex-modules-human-capital-management.mjs +350 -695
  10. package/fesm2022/acorex-modules-human-capital-management.mjs.map +1 -1
  11. package/fesm2022/{acorex-modules-task-management-task-board.page-Cgxdk78j.mjs → acorex-modules-task-management-task-board.page-B_S373L-.mjs} +47 -54
  12. package/fesm2022/acorex-modules-task-management-task-board.page-B_S373L-.mjs.map +1 -0
  13. package/fesm2022/acorex-modules-task-management.mjs +39 -11
  14. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  15. package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-BbBEPTBa.mjs +258 -0
  16. package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-BbBEPTBa.mjs.map +1 -0
  17. package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-nJMBL0qt.mjs +371 -0
  18. package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-nJMBL0qt.mjs.map +1 -0
  19. package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-Pso0oRN5.mjs +313 -0
  20. package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-Pso0oRN5.mjs.map +1 -0
  21. package/fesm2022/acorex-modules-workflow-management.mjs +710 -2536
  22. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  23. package/human-capital-management/index.d.ts +19 -79
  24. package/package.json +14 -14
  25. package/task-management/index.d.ts +12 -1
  26. package/workflow-management/index.d.ts +220 -265
  27. package/fesm2022/acorex-modules-human-capital-management-leave-request-task-popover.component-yGvT9kSL.mjs +0 -381
  28. package/fesm2022/acorex-modules-human-capital-management-leave-request-task-popover.component-yGvT9kSL.mjs.map +0 -1
  29. package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-BDSyXKSF.mjs.map +0 -1
  30. package/fesm2022/acorex-modules-task-management-task-board.page-Cgxdk78j.mjs.map +0 -1
  31. package/fesm2022/acorex-modules-workflow-management-cartable-page.component-Bso0XRkJ.mjs +0 -296
  32. package/fesm2022/acorex-modules-workflow-management-cartable-page.component-Bso0XRkJ.mjs.map +0 -1
  33. package/fesm2022/acorex-modules-workflow-management-index-xB36g4F1.mjs +0 -469
  34. package/fesm2022/acorex-modules-workflow-management-index-xB36g4F1.mjs.map +0 -1
@@ -1,381 +0,0 @@
1
- import * as i1 from '@acorex/components/button';
2
- import { AXButtonModule } from '@acorex/components/button';
3
- import * as i2 from '@acorex/components/decorators';
4
- import { AXDecoratorModule } from '@acorex/components/decorators';
5
- import * as i4 from '@acorex/core/translation';
6
- import { AXTranslationModule } from '@acorex/core/translation';
7
- import { AXPCommandExecutor } from '@acorex/platform/runtime';
8
- import * as i3 from '@angular/common';
9
- import { CommonModule } from '@angular/common';
10
- import * as i0 from '@angular/core';
11
- import { input, inject, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
12
- import { AXPLeaveRequestDialogService } from './acorex-modules-human-capital-management.mjs';
13
- import { AXPSystemStatuses } from '@acorex/platform/common';
14
-
15
- class AXMLeaveRequestTaskPopoverComponent {
16
- constructor() {
17
- this.task = input.required(...(ngDevMode ? [{ debugName: "task" }] : []));
18
- this.commandExecutor = inject(AXPCommandExecutor);
19
- this.dialogService = inject(AXPLeaveRequestDialogService);
20
- this.taskData = computed(() => {
21
- const task = this.task();
22
- return (task.data ||
23
- task.payload);
24
- }, ...(ngDevMode ? [{ debugName: "taskData" }] : []));
25
- this.employeeName = computed(() => {
26
- const data = this.taskData();
27
- return data?.employee?.person?.displayName || this.task().reporter?.fullName || 'Unknown';
28
- }, ...(ngDevMode ? [{ debugName: "employeeName" }] : []));
29
- this.managerName = computed(() => {
30
- const data = this.taskData();
31
- return data?.employee?.manager?.person?.displayName || this.task().assignee?.fullName || '';
32
- }, ...(ngDevMode ? [{ debugName: "managerName" }] : []));
33
- this.leaveType = computed(() => {
34
- const data = this.taskData();
35
- // Extract leave type from task title or data
36
- const title = this.task().title || '';
37
- const parts = title.split(' - ');
38
- return parts.length > 1 ? parts[1] : data?.leaveType?.title || 'N/A';
39
- }, ...(ngDevMode ? [{ debugName: "leaveType" }] : []));
40
- this.canApprove = computed(() => {
41
- const statusId = this.task().status?.id;
42
- return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Rejected.name;
43
- }, ...(ngDevMode ? [{ debugName: "canApprove" }] : []));
44
- this.canReject = computed(() => {
45
- const statusId = this.task().status?.id;
46
- return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Approved.name;
47
- }, ...(ngDevMode ? [{ debugName: "canReject" }] : []));
48
- this.canCancel = computed(() => {
49
- const statusId = this.task().status?.id;
50
- return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Approved.name;
51
- }, ...(ngDevMode ? [{ debugName: "canCancel" }] : []));
52
- }
53
- formatDate(date) {
54
- return new Intl.DateTimeFormat('en-US', {
55
- year: 'numeric',
56
- month: 'short',
57
- day: 'numeric',
58
- }).format(new Date(date));
59
- }
60
- calculateDuration() {
61
- const start = new Date(this.task().startDate);
62
- const end = new Date(this.task().endDate);
63
- const diffTime = Math.abs(end.getTime() - start.getTime());
64
- const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
65
- return diffDays + 1; // Include both start and end days
66
- }
67
- async handleApprove() {
68
- const task = this.task();
69
- const leaveRequestId = task.id;
70
- try {
71
- const dialogResult = await this.dialogService.showApprovalDialog();
72
- if (dialogResult?.cancelled) {
73
- return;
74
- }
75
- const commandKey = 'HumanCapitalManagement.LeaveRequest:Approve';
76
- const result = await this.commandExecutor.execute(commandKey, {
77
- id: leaveRequestId,
78
- reason: dialogResult?.reason,
79
- note: dialogResult?.note,
80
- });
81
- if (result?.success) {
82
- // Optionally emit an event or refresh the task
83
- console.log('Leave request approved successfully');
84
- }
85
- }
86
- catch (error) {
87
- console.error('Failed to approve leave request:', error);
88
- }
89
- }
90
- async handleReject() {
91
- const task = this.task();
92
- const leaveRequestId = task.id;
93
- try {
94
- const dialogResult = await this.dialogService.showRejectionDialog();
95
- if (dialogResult?.cancelled) {
96
- return;
97
- }
98
- const commandKey = 'HumanCapitalManagement.LeaveRequest:Reject';
99
- const result = await this.commandExecutor.execute(commandKey, {
100
- id: leaveRequestId,
101
- reason: dialogResult?.reason,
102
- note: dialogResult?.note,
103
- });
104
- if (result?.success) {
105
- console.log('Leave request rejected successfully');
106
- }
107
- }
108
- catch (error) {
109
- console.error('Failed to reject leave request:', error);
110
- }
111
- }
112
- async handleCancel() {
113
- const task = this.task();
114
- const leaveRequestId = task.id;
115
- try {
116
- const dialogResult = await this.dialogService.showCancellationDialog();
117
- if (dialogResult?.cancelled) {
118
- return;
119
- }
120
- const commandKey = 'HumanCapitalManagement.LeaveRequest:Cancel';
121
- const result = await this.commandExecutor.execute(commandKey, {
122
- id: leaveRequestId,
123
- reason: dialogResult?.reason,
124
- note: dialogResult?.note,
125
- });
126
- if (result?.success) {
127
- console.log('Leave request cancelled successfully');
128
- }
129
- }
130
- catch (error) {
131
- console.error('Failed to cancel leave request:', error);
132
- }
133
- }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMLeaveRequestTaskPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXMLeaveRequestTaskPopoverComponent, isStandalone: true, selector: "axm-leave-request-task-popover", inputs: { task: { classPropertyName: "task", publicName: "task", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
136
- <div class="leave-request-popover">
137
- <!-- Employee Info -->
138
- <div class="leave-request-popover__section">
139
- <div class="leave-request-popover__section-header">
140
- <i class="fa-light fa-user"></i>
141
- <span>Employee Information</span>
142
- </div>
143
- <div class="leave-request-popover__section-content">
144
- <div class="leave-request-popover__info-row">
145
- <span class="leave-request-popover__label">Employee:</span>
146
- <span class="leave-request-popover__value">{{ employeeName() }}</span>
147
- </div>
148
- @if (managerName(); as manager) {
149
- <div class="leave-request-popover__info-row">
150
- <span class="leave-request-popover__label">Manager:</span>
151
- <span class="leave-request-popover__value">{{ manager }}</span>
152
- </div>
153
- }
154
- </div>
155
- </div>
156
-
157
- <!-- Leave Details -->
158
- <div class="leave-request-popover__section">
159
- <div class="leave-request-popover__section-header">
160
- <i class="fa-light fa-calendar"></i>
161
- <span>Leave Details</span>
162
- </div>
163
- <div class="leave-request-popover__section-content">
164
- <div class="leave-request-popover__info-row">
165
- <span class="leave-request-popover__label">Leave Type:</span>
166
- <span class="leave-request-popover__value">{{ leaveType() }}</span>
167
- </div>
168
- <div class="leave-request-popover__info-row">
169
- <span class="leave-request-popover__label">Start Date:</span>
170
- <span class="leave-request-popover__value">{{ formatDate(task().startDate) }}</span>
171
- </div>
172
- <div class="leave-request-popover__info-row">
173
- <span class="leave-request-popover__label">End Date:</span>
174
- <span class="leave-request-popover__value">{{ formatDate(task().endDate) }}</span>
175
- </div>
176
- <div class="leave-request-popover__info-row">
177
- <span class="leave-request-popover__label">Duration:</span>
178
- <span class="leave-request-popover__value">{{ calculateDuration() }} days</span>
179
- </div>
180
- </div>
181
- </div>
182
-
183
- <!-- Reason -->
184
- @if (task().description) {
185
- <div class="leave-request-popover__section">
186
- <div class="leave-request-popover__section-header">
187
- <i class="fa-light fa-note-sticky"></i>
188
- <span>Reason</span>
189
- </div>
190
- <div class="leave-request-popover__section-content">
191
- <p class="leave-request-popover__reason">{{ task().description }}</p>
192
- </div>
193
- </div>
194
- }
195
-
196
- <!-- Status -->
197
- <div class="leave-request-popover__section">
198
- <div class="leave-request-popover__section-header">
199
- <i class="fa-light fa-flag"></i>
200
- <span>Status</span>
201
- </div>
202
- <div class="leave-request-popover__section-content">
203
- <div class="leave-request-popover__status-badge" [attr.data-status]="task().status.id">
204
- {{ task().status.title }}
205
- </div>
206
- </div>
207
- </div>
208
-
209
- <!-- Actions -->
210
- <div class="leave-request-popover__actions">
211
- @if (canApprove()) {
212
- <ax-button
213
- [color]="'success'"
214
- [look]="'blank'"
215
- [text]="'@general:actions.approve.title' | translate | async"
216
- (onClick)="handleApprove()"
217
- class="leave-request-popover__action-btn"
218
- >
219
- <ax-prefix>
220
- <i class="fa-light fa-check"></i>
221
- </ax-prefix>
222
- </ax-button>
223
- }
224
-
225
- @if (canReject()) {
226
- <ax-button
227
- [color]="'danger'"
228
- [look]="'blank'"
229
- [text]="'@general:actions.reject.title' | translate | async"
230
- (onClick)="handleReject()"
231
- class="leave-request-popover__action-btn"
232
- >
233
- <ax-prefix>
234
- <i class="fa-light fa-xmark"></i>
235
- </ax-prefix>
236
- </ax-button>
237
- }
238
-
239
- @if (canCancel()) {
240
- <ax-button
241
- [color]="'secondary'"
242
- [look]="'blank'"
243
- [text]="'@general:actions.cancel.title' | translate | async"
244
- (onClick)="handleCancel()"
245
- class="leave-request-popover__action-btn"
246
- >
247
- <ax-prefix>
248
- <i class="fa-light fa-ban"></i>
249
- </ax-prefix>
250
- </ax-button>
251
- }
252
- </div>
253
- </div>
254
- `, isInline: true, styles: [".leave-request-popover{padding:12px;display:flex;flex-direction:column;gap:10px;min-width:280px;max-width:360px}.leave-request-popover__section{display:flex;flex-direction:column;gap:6px}.leave-request-popover__section-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--ax-sys-color-text-primary);padding-bottom:6px;border-bottom:1px solid var(--ax-sys-color-border)}.leave-request-popover__section-header i{font-size:13px;color:var(--ax-sys-color-text-neutral-600)}.leave-request-popover__section-content{display:flex;flex-direction:column;gap:6px}.leave-request-popover__info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4}.leave-request-popover__label{color:var(--ax-sys-color-text-neutral-600);font-weight:500;flex-shrink:0}.leave-request-popover__value{color:var(--ax-sys-color-text-primary);text-align:right;word-break:break-word}.leave-request-popover__reason{margin:0;padding:8px;background:var(--ax-sys-color-lighter-surface);border-radius:4px;font-size:12px;line-height:1.4;color:var(--ax-sys-color-text-primary)}.leave-request-popover__status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.leave-request-popover__status-badge[data-status=pending]{background:var(--ax-sys-color-warning-lightest);color:var(--ax-sys-color-warning)}.leave-request-popover__status-badge[data-status=approved]{background:var(--ax-sys-color-success-lightest);color:var(--ax-sys-color-success)}.leave-request-popover__status-badge[data-status=rejected]{background:var(--ax-sys-color-danger-lightest);color:var(--ax-sys-color-danger)}.leave-request-popover__status-badge[data-status=cancelled]{background:var(--ax-sys-color-neutral-lightest);color:var(--ax-sys-color-neutral)}.leave-request-popover__actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--ax-sys-color-border)}.leave-request-popover__action-btn{flex:1;min-width:90px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
255
- }
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMLeaveRequestTaskPopoverComponent, decorators: [{
257
- type: Component,
258
- args: [{ selector: 'axm-leave-request-task-popover', template: `
259
- <div class="leave-request-popover">
260
- <!-- Employee Info -->
261
- <div class="leave-request-popover__section">
262
- <div class="leave-request-popover__section-header">
263
- <i class="fa-light fa-user"></i>
264
- <span>Employee Information</span>
265
- </div>
266
- <div class="leave-request-popover__section-content">
267
- <div class="leave-request-popover__info-row">
268
- <span class="leave-request-popover__label">Employee:</span>
269
- <span class="leave-request-popover__value">{{ employeeName() }}</span>
270
- </div>
271
- @if (managerName(); as manager) {
272
- <div class="leave-request-popover__info-row">
273
- <span class="leave-request-popover__label">Manager:</span>
274
- <span class="leave-request-popover__value">{{ manager }}</span>
275
- </div>
276
- }
277
- </div>
278
- </div>
279
-
280
- <!-- Leave Details -->
281
- <div class="leave-request-popover__section">
282
- <div class="leave-request-popover__section-header">
283
- <i class="fa-light fa-calendar"></i>
284
- <span>Leave Details</span>
285
- </div>
286
- <div class="leave-request-popover__section-content">
287
- <div class="leave-request-popover__info-row">
288
- <span class="leave-request-popover__label">Leave Type:</span>
289
- <span class="leave-request-popover__value">{{ leaveType() }}</span>
290
- </div>
291
- <div class="leave-request-popover__info-row">
292
- <span class="leave-request-popover__label">Start Date:</span>
293
- <span class="leave-request-popover__value">{{ formatDate(task().startDate) }}</span>
294
- </div>
295
- <div class="leave-request-popover__info-row">
296
- <span class="leave-request-popover__label">End Date:</span>
297
- <span class="leave-request-popover__value">{{ formatDate(task().endDate) }}</span>
298
- </div>
299
- <div class="leave-request-popover__info-row">
300
- <span class="leave-request-popover__label">Duration:</span>
301
- <span class="leave-request-popover__value">{{ calculateDuration() }} days</span>
302
- </div>
303
- </div>
304
- </div>
305
-
306
- <!-- Reason -->
307
- @if (task().description) {
308
- <div class="leave-request-popover__section">
309
- <div class="leave-request-popover__section-header">
310
- <i class="fa-light fa-note-sticky"></i>
311
- <span>Reason</span>
312
- </div>
313
- <div class="leave-request-popover__section-content">
314
- <p class="leave-request-popover__reason">{{ task().description }}</p>
315
- </div>
316
- </div>
317
- }
318
-
319
- <!-- Status -->
320
- <div class="leave-request-popover__section">
321
- <div class="leave-request-popover__section-header">
322
- <i class="fa-light fa-flag"></i>
323
- <span>Status</span>
324
- </div>
325
- <div class="leave-request-popover__section-content">
326
- <div class="leave-request-popover__status-badge" [attr.data-status]="task().status.id">
327
- {{ task().status.title }}
328
- </div>
329
- </div>
330
- </div>
331
-
332
- <!-- Actions -->
333
- <div class="leave-request-popover__actions">
334
- @if (canApprove()) {
335
- <ax-button
336
- [color]="'success'"
337
- [look]="'blank'"
338
- [text]="'@general:actions.approve.title' | translate | async"
339
- (onClick)="handleApprove()"
340
- class="leave-request-popover__action-btn"
341
- >
342
- <ax-prefix>
343
- <i class="fa-light fa-check"></i>
344
- </ax-prefix>
345
- </ax-button>
346
- }
347
-
348
- @if (canReject()) {
349
- <ax-button
350
- [color]="'danger'"
351
- [look]="'blank'"
352
- [text]="'@general:actions.reject.title' | translate | async"
353
- (onClick)="handleReject()"
354
- class="leave-request-popover__action-btn"
355
- >
356
- <ax-prefix>
357
- <i class="fa-light fa-xmark"></i>
358
- </ax-prefix>
359
- </ax-button>
360
- }
361
-
362
- @if (canCancel()) {
363
- <ax-button
364
- [color]="'secondary'"
365
- [look]="'blank'"
366
- [text]="'@general:actions.cancel.title' | translate | async"
367
- (onClick)="handleCancel()"
368
- class="leave-request-popover__action-btn"
369
- >
370
- <ax-prefix>
371
- <i class="fa-light fa-ban"></i>
372
- </ax-prefix>
373
- </ax-button>
374
- }
375
- </div>
376
- </div>
377
- `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule], styles: [".leave-request-popover{padding:12px;display:flex;flex-direction:column;gap:10px;min-width:280px;max-width:360px}.leave-request-popover__section{display:flex;flex-direction:column;gap:6px}.leave-request-popover__section-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--ax-sys-color-text-primary);padding-bottom:6px;border-bottom:1px solid var(--ax-sys-color-border)}.leave-request-popover__section-header i{font-size:13px;color:var(--ax-sys-color-text-neutral-600)}.leave-request-popover__section-content{display:flex;flex-direction:column;gap:6px}.leave-request-popover__info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4}.leave-request-popover__label{color:var(--ax-sys-color-text-neutral-600);font-weight:500;flex-shrink:0}.leave-request-popover__value{color:var(--ax-sys-color-text-primary);text-align:right;word-break:break-word}.leave-request-popover__reason{margin:0;padding:8px;background:var(--ax-sys-color-lighter-surface);border-radius:4px;font-size:12px;line-height:1.4;color:var(--ax-sys-color-text-primary)}.leave-request-popover__status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.leave-request-popover__status-badge[data-status=pending]{background:var(--ax-sys-color-warning-lightest);color:var(--ax-sys-color-warning)}.leave-request-popover__status-badge[data-status=approved]{background:var(--ax-sys-color-success-lightest);color:var(--ax-sys-color-success)}.leave-request-popover__status-badge[data-status=rejected]{background:var(--ax-sys-color-danger-lightest);color:var(--ax-sys-color-danger)}.leave-request-popover__status-badge[data-status=cancelled]{background:var(--ax-sys-color-neutral-lightest);color:var(--ax-sys-color-neutral)}.leave-request-popover__actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--ax-sys-color-border)}.leave-request-popover__action-btn{flex:1;min-width:90px}\n"] }]
378
- }], propDecorators: { task: [{ type: i0.Input, args: [{ isSignal: true, alias: "task", required: true }] }] } });
379
-
380
- export { AXMLeaveRequestTaskPopoverComponent };
381
- //# sourceMappingURL=acorex-modules-human-capital-management-leave-request-task-popover.component-yGvT9kSL.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-human-capital-management-leave-request-task-popover.component-yGvT9kSL.mjs","sources":["../tmp-esm2022/human-capital-management/lib/features/leave-request/workflow-tasks/leave-request-task-popover.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPCommandExecutor } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXPLeaveRequestDialogService } from '../services/leave-request-dialog.service';\nimport { AXPSystemStatuses } from '@acorex/platform/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\nexport class AXMLeaveRequestTaskPopoverComponent {\n constructor() {\n this.task = input.required(...(ngDevMode ? [{ debugName: \"task\" }] : []));\n this.commandExecutor = inject(AXPCommandExecutor);\n this.dialogService = inject(AXPLeaveRequestDialogService);\n this.taskData = computed(() => {\n const task = this.task();\n return (task.data ||\n task.payload);\n }, ...(ngDevMode ? [{ debugName: \"taskData\" }] : []));\n this.employeeName = computed(() => {\n const data = this.taskData();\n return data?.employee?.person?.displayName || this.task().reporter?.fullName || 'Unknown';\n }, ...(ngDevMode ? [{ debugName: \"employeeName\" }] : []));\n this.managerName = computed(() => {\n const data = this.taskData();\n return data?.employee?.manager?.person?.displayName || this.task().assignee?.fullName || '';\n }, ...(ngDevMode ? [{ debugName: \"managerName\" }] : []));\n this.leaveType = computed(() => {\n const data = this.taskData();\n // Extract leave type from task title or data\n const title = this.task().title || '';\n const parts = title.split(' - ');\n return parts.length > 1 ? parts[1] : data?.leaveType?.title || 'N/A';\n }, ...(ngDevMode ? [{ debugName: \"leaveType\" }] : []));\n this.canApprove = computed(() => {\n const statusId = this.task().status?.id;\n return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Rejected.name;\n }, ...(ngDevMode ? [{ debugName: \"canApprove\" }] : []));\n this.canReject = computed(() => {\n const statusId = this.task().status?.id;\n return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Approved.name;\n }, ...(ngDevMode ? [{ debugName: \"canReject\" }] : []));\n this.canCancel = computed(() => {\n const statusId = this.task().status?.id;\n return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Approved.name;\n }, ...(ngDevMode ? [{ debugName: \"canCancel\" }] : []));\n }\n formatDate(date) {\n return new Intl.DateTimeFormat('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }).format(new Date(date));\n }\n calculateDuration() {\n const start = new Date(this.task().startDate);\n const end = new Date(this.task().endDate);\n const diffTime = Math.abs(end.getTime() - start.getTime());\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n return diffDays + 1; // Include both start and end days\n }\n async handleApprove() {\n const task = this.task();\n const leaveRequestId = task.id;\n try {\n const dialogResult = await this.dialogService.showApprovalDialog();\n if (dialogResult?.cancelled) {\n return;\n }\n const commandKey = 'HumanCapitalManagement.LeaveRequest:Approve';\n const result = await this.commandExecutor.execute(commandKey, {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n if (result?.success) {\n // Optionally emit an event or refresh the task\n console.log('Leave request approved successfully');\n }\n }\n catch (error) {\n console.error('Failed to approve leave request:', error);\n }\n }\n async handleReject() {\n const task = this.task();\n const leaveRequestId = task.id;\n try {\n const dialogResult = await this.dialogService.showRejectionDialog();\n if (dialogResult?.cancelled) {\n return;\n }\n const commandKey = 'HumanCapitalManagement.LeaveRequest:Reject';\n const result = await this.commandExecutor.execute(commandKey, {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n if (result?.success) {\n console.log('Leave request rejected successfully');\n }\n }\n catch (error) {\n console.error('Failed to reject leave request:', error);\n }\n }\n async handleCancel() {\n const task = this.task();\n const leaveRequestId = task.id;\n try {\n const dialogResult = await this.dialogService.showCancellationDialog();\n if (dialogResult?.cancelled) {\n return;\n }\n const commandKey = 'HumanCapitalManagement.LeaveRequest:Cancel';\n const result = await this.commandExecutor.execute(commandKey, {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n if (result?.success) {\n console.log('Leave request cancelled successfully');\n }\n }\n catch (error) {\n console.error('Failed to cancel leave request:', error);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestTaskPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.16\", type: AXMLeaveRequestTaskPopoverComponent, isStandalone: true, selector: \"axm-leave-request-task-popover\", inputs: { task: { classPropertyName: \"task\", publicName: \"task\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `\n <div class=\"leave-request-popover\">\n <!-- Employee Info -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-user\"></i>\n <span>Employee Information</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Employee:</span>\n <span class=\"leave-request-popover__value\">{{ employeeName() }}</span>\n </div>\n @if (managerName(); as manager) {\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Manager:</span>\n <span class=\"leave-request-popover__value\">{{ manager }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Leave Details -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-calendar\"></i>\n <span>Leave Details</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Leave Type:</span>\n <span class=\"leave-request-popover__value\">{{ leaveType() }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Start Date:</span>\n <span class=\"leave-request-popover__value\">{{ formatDate(task().startDate) }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">End Date:</span>\n <span class=\"leave-request-popover__value\">{{ formatDate(task().endDate) }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Duration:</span>\n <span class=\"leave-request-popover__value\">{{ calculateDuration() }} days</span>\n </div>\n </div>\n </div>\n\n <!-- Reason -->\n @if (task().description) {\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-note-sticky\"></i>\n <span>Reason</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <p class=\"leave-request-popover__reason\">{{ task().description }}</p>\n </div>\n </div>\n }\n\n <!-- Status -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-flag\"></i>\n <span>Status</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__status-badge\" [attr.data-status]=\"task().status.id\">\n {{ task().status.title }}\n </div>\n </div>\n </div>\n\n <!-- Actions -->\n <div class=\"leave-request-popover__actions\">\n @if (canApprove()) {\n <ax-button\n [color]=\"'success'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.approve.title' | translate | async\"\n (onClick)=\"handleApprove()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-check\"></i>\n </ax-prefix>\n </ax-button>\n }\n\n @if (canReject()) {\n <ax-button\n [color]=\"'danger'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.reject.title' | translate | async\"\n (onClick)=\"handleReject()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-xmark\"></i>\n </ax-prefix>\n </ax-button>\n }\n\n @if (canCancel()) {\n <ax-button\n [color]=\"'secondary'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCancel()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-ban\"></i>\n </ax-prefix>\n </ax-button>\n }\n </div>\n </div>\n `, isInline: true, styles: [\".leave-request-popover{padding:12px;display:flex;flex-direction:column;gap:10px;min-width:280px;max-width:360px}.leave-request-popover__section{display:flex;flex-direction:column;gap:6px}.leave-request-popover__section-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--ax-sys-color-text-primary);padding-bottom:6px;border-bottom:1px solid var(--ax-sys-color-border)}.leave-request-popover__section-header i{font-size:13px;color:var(--ax-sys-color-text-neutral-600)}.leave-request-popover__section-content{display:flex;flex-direction:column;gap:6px}.leave-request-popover__info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4}.leave-request-popover__label{color:var(--ax-sys-color-text-neutral-600);font-weight:500;flex-shrink:0}.leave-request-popover__value{color:var(--ax-sys-color-text-primary);text-align:right;word-break:break-word}.leave-request-popover__reason{margin:0;padding:8px;background:var(--ax-sys-color-lighter-surface);border-radius:4px;font-size:12px;line-height:1.4;color:var(--ax-sys-color-text-primary)}.leave-request-popover__status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.leave-request-popover__status-badge[data-status=pending]{background:var(--ax-sys-color-warning-lightest);color:var(--ax-sys-color-warning)}.leave-request-popover__status-badge[data-status=approved]{background:var(--ax-sys-color-success-lightest);color:var(--ax-sys-color-success)}.leave-request-popover__status-badge[data-status=rejected]{background:var(--ax-sys-color-danger-lightest);color:var(--ax-sys-color-danger)}.leave-request-popover__status-badge[data-status=cancelled]{background:var(--ax-sys-color-neutral-lightest);color:var(--ax-sys-color-neutral)}.leave-request-popover__actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--ax-sys-color-border)}.leave-request-popover__action-btn{flex:1;min-width:90px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestTaskPopoverComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-leave-request-task-popover', template: `\n <div class=\"leave-request-popover\">\n <!-- Employee Info -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-user\"></i>\n <span>Employee Information</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Employee:</span>\n <span class=\"leave-request-popover__value\">{{ employeeName() }}</span>\n </div>\n @if (managerName(); as manager) {\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Manager:</span>\n <span class=\"leave-request-popover__value\">{{ manager }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Leave Details -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-calendar\"></i>\n <span>Leave Details</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Leave Type:</span>\n <span class=\"leave-request-popover__value\">{{ leaveType() }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Start Date:</span>\n <span class=\"leave-request-popover__value\">{{ formatDate(task().startDate) }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">End Date:</span>\n <span class=\"leave-request-popover__value\">{{ formatDate(task().endDate) }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Duration:</span>\n <span class=\"leave-request-popover__value\">{{ calculateDuration() }} days</span>\n </div>\n </div>\n </div>\n\n <!-- Reason -->\n @if (task().description) {\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-note-sticky\"></i>\n <span>Reason</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <p class=\"leave-request-popover__reason\">{{ task().description }}</p>\n </div>\n </div>\n }\n\n <!-- Status -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-flag\"></i>\n <span>Status</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__status-badge\" [attr.data-status]=\"task().status.id\">\n {{ task().status.title }}\n </div>\n </div>\n </div>\n\n <!-- Actions -->\n <div class=\"leave-request-popover__actions\">\n @if (canApprove()) {\n <ax-button\n [color]=\"'success'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.approve.title' | translate | async\"\n (onClick)=\"handleApprove()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-check\"></i>\n </ax-prefix>\n </ax-button>\n }\n\n @if (canReject()) {\n <ax-button\n [color]=\"'danger'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.reject.title' | translate | async\"\n (onClick)=\"handleReject()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-xmark\"></i>\n </ax-prefix>\n </ax-button>\n }\n\n @if (canCancel()) {\n <ax-button\n [color]=\"'secondary'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCancel()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-ban\"></i>\n </ax-prefix>\n </ax-button>\n }\n </div>\n </div>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule], styles: [\".leave-request-popover{padding:12px;display:flex;flex-direction:column;gap:10px;min-width:280px;max-width:360px}.leave-request-popover__section{display:flex;flex-direction:column;gap:6px}.leave-request-popover__section-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--ax-sys-color-text-primary);padding-bottom:6px;border-bottom:1px solid var(--ax-sys-color-border)}.leave-request-popover__section-header i{font-size:13px;color:var(--ax-sys-color-text-neutral-600)}.leave-request-popover__section-content{display:flex;flex-direction:column;gap:6px}.leave-request-popover__info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4}.leave-request-popover__label{color:var(--ax-sys-color-text-neutral-600);font-weight:500;flex-shrink:0}.leave-request-popover__value{color:var(--ax-sys-color-text-primary);text-align:right;word-break:break-word}.leave-request-popover__reason{margin:0;padding:8px;background:var(--ax-sys-color-lighter-surface);border-radius:4px;font-size:12px;line-height:1.4;color:var(--ax-sys-color-text-primary)}.leave-request-popover__status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.leave-request-popover__status-badge[data-status=pending]{background:var(--ax-sys-color-warning-lightest);color:var(--ax-sys-color-warning)}.leave-request-popover__status-badge[data-status=approved]{background:var(--ax-sys-color-success-lightest);color:var(--ax-sys-color-success)}.leave-request-popover__status-badge[data-status=rejected]{background:var(--ax-sys-color-danger-lightest);color:var(--ax-sys-color-danger)}.leave-request-popover__status-badge[data-status=cancelled]{background:var(--ax-sys-color-neutral-lightest);color:var(--ax-sys-color-neutral)}.leave-request-popover__actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--ax-sys-color-border)}.leave-request-popover__action-btn{flex:1;min-width:90px}\\n\"] }]\n }], propDecorators: { task: [{ type: i0.Input, args: [{ isSignal: true, alias: \"task\", required: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC10YXNrLXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2xlYXZlLXJlcXVlc3Qvd29ya2Zsb3ctdGFza3MvbGVhdmUtcmVxdWVzdC10YXNrLXBvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBK081RCxNQUFNLE9BQU8sbUNBQW1DO0lBN09oRDtRQThPRSxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsK0NBQVcsQ0FBQztRQUVoQixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzdDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFFNUQsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxD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Z0hnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQVGFzaywgQVhQVGFza1BvcG92ZXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvdGFzay1tYW5hZ2VtZW50JztcbmltcG9ydCB7IEFYUENvbW1hbmRFeGVjdXRvciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9lbnRpdGllcy9sZWF2ZS1yZXF1ZXN0L2xlYXZlLXJlcXVlc3QudHlwZXMnO1xuaW1wb3J0IHsgQVhQTGVhdmVSZXF1ZXN0RGlhbG9nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xlYXZlLXJlcXVlc3QtZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQU3lzdGVtU3RhdHVzZXMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4bS1sZWF2ZS1yZXF1ZXN0LXRhc2stcG9wb3ZlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3ZlclwiPlxuICAgICAgPCEtLSBFbXBsb3llZSBJbmZvIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc2VjdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19zZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtdXNlclwiPjwvaT5cbiAgICAgICAgICA8c3Bhbj5FbXBsb3llZSBJbmZvcm1hdGlvbjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3NlY3Rpb24tY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX2luZm8tcm93XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fbGFiZWxcIj5FbXBsb3llZTo8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fdmFsdWVcIj57eyBlbXBsb3llZU5hbWUoKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBAaWYgKG1hbmFnZXJOYW1lKCk7IGFzIG1hbmFnZXIpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX2luZm8tcm93XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19sYWJlbFwiPk1hbmFnZXI6PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fdmFsdWVcIj57eyBtYW5hZ2VyIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIExlYXZlIERldGFpbHMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19zZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3NlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1jYWxlbmRhclwiPjwvaT5cbiAgICAgICAgICA8c3Bhbj5MZWF2ZSBEZXRhaWxzPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc2VjdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9faW5mby1yb3dcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19sYWJlbFwiPkxlYXZlIFR5cGU6PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3ZhbHVlXCI+e3sgbGVhdmVUeXBlKCkgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9faW5mby1yb3dcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19sYWJlbFwiPlN0YXJ0IERhdGU6PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3ZhbHVlXCI+e3sgZm9ybWF0RGF0ZSh0YXNrKCkuc3RhcnREYXRlKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19pbmZvLXJvd1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX2xhYmVsXCI+RW5kIERhdGU6PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3ZhbHVlXCI+e3sgZm9ybWF0RGF0ZSh0YXNrKCkuZW5kRGF0ZSkgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9faW5mby1yb3dcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19sYWJlbFwiPkR1cmF0aW9uOjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX192YWx1ZVwiPnt7IGNhbGN1bGF0ZUR1cmF0aW9uKCkgfX0gZGF5czwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBSZWFzb24gLS0+XG4gICAgICBAaWYgKHRhc2soKS5kZXNjcmlwdGlvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19zZWN0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtbm90ZS1zdGlja3lcIj48L2k+XG4gICAgICAgICAgICA8c3Bhbj5SZWFzb248L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc2VjdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fcmVhc29uXCI+e3sgdGFzaygpLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBTdGF0dXMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19zZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3NlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1mbGFnXCI+PC9pPlxuICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3NlY3Rpb24tY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3N0YXR1cy1iYWRnZVwiIFthdHRyLmRhdGEtc3RhdHVzXT1cInRhc2soKS5zdGF0dXMuaWRcIj5cbiAgICAgICAgICAgIHt7IHRhc2soKS5zdGF0dXMudGl0bGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBBY3Rpb25zIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fYWN0aW9uc1wiPlxuICAgICAgICBAaWYgKGNhbkFwcHJvdmUoKSkge1xuICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgIFtjb2xvcl09XCInc3VjY2VzcydcIlxuICAgICAgICAgICAgW2xvb2tdPVwiJ2JsYW5rJ1wiXG4gICAgICAgICAgICBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5hcHByb3ZlLnRpdGxlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUFwcHJvdmUoKVwiXG4gICAgICAgICAgICBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fYWN0aW9uLWJ0blwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChjYW5SZWplY3QoKSkge1xuICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgIFtjb2xvcl09XCInZGFuZ2VyJ1wiXG4gICAgICAgICAgICBbbG9va109XCInYmxhbmsnXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cIidAZ2VuZXJhbDphY3Rpb25zLnJlamVjdC50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVSZWplY3QoKVwiXG4gICAgICAgICAgICBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fYWN0aW9uLWJ0blwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS14bWFya1wiPjwvaT5cbiAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChjYW5DYW5jZWwoKSkge1xuICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgIFtjb2xvcl09XCInc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBbbG9va109XCInYmxhbmsnXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cIidAZ2VuZXJhbDphY3Rpb25zLmNhbmNlbC50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVDYW5jZWwoKVwiXG4gICAgICAgICAgICBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fYWN0aW9uLWJ0blwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1iYW5cIj48L2k+XG4gICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogYFxuICAgIC5sZWF2ZS1yZXF1ZXN0LXBvcG92ZXIge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgbWluLXdpZHRoOiAyODBweDtcbiAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgfVxuXG4gICAgLmxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogNnB4O1xuICAgIH1cblxuICAgIC5sZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3NlY3Rpb24taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6IHZhcigtLWF4LXN5cy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1heC1zeXMtY29sb3ItYm9yZGVyKTtcblxuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWF4LXN5cy1jb2xvci10ZXh0LW5ldXRyYWwtNjAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGVhdmUtcmVxdWVzdC1wb3BvdmVyX19zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDZweDtcbiAgICB9XG5cbiAgICAubGVhdmUtcmVxdWVzdC1wb3BvdmVyX19pbmZvLXJvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxuICAgIC5sZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1heC1zeXMtY29sb3ItdGV4dC1uZXV0cmFsLTYwMCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fdmFsdWUge1xuICAgICAgY29sb3I6IHZhcigtLWF4LXN5cy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIC5sZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3JlYXNvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1heC1zeXMtY29sb3ItbGlnaHRlci1zdXJmYWNlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBjb2xvcjogdmFyKC0tYXgtc3lzLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc3RhdHVzLWJhZGdlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAgICAgJltkYXRhLXN0YXR1cz0ncGVuZGluZyddIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXgtc3lzLWNvbG9yLXdhcm5pbmctbGlnaHRlc3QpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYXgtc3lzLWNvbG9yLXdhcm5pbmcpO1xuICAgICAgfVxuXG4gICAgICAmW2RhdGEtc3RhdHVzPSdhcHByb3ZlZCddIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXgtc3lzLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlc3QpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYXgtc3lzLWNvbG9yLXN1Y2Nlc3MpO1xuICAgICAgfVxuXG4gICAgICAmW2RhdGEtc3RhdHVzPSdyZWplY3RlZCddIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXgtc3lzLWNvbG9yLWRhbmdlci1saWdodGVzdCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1heC1zeXMtY29sb3ItZGFuZ2VyKTtcbiAgICAgIH1cblxuICAgICAgJltkYXRhLXN0YXR1cz0nY2FuY2VsbGVkJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1heC1zeXMtY29sb3ItbmV1dHJhbC1saWdodGVzdCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1heC1zeXMtY29sb3ItbmV1dHJhbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fYWN0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiA2cHg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWF4LXN5cy1jb2xvci1ib3JkZXIpO1xuICAgIH1cblxuICAgIC5sZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX2FjdGlvbi1idG4ge1xuICAgICAgZmxleDogMTtcbiAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICB9XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBWEJ1dHRvbk1vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIEFYVHJhbnNsYXRpb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1MZWF2ZVJlcXVlc3RUYXNrUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFYUFRhc2tQb3BvdmVyQ29tcG9uZW50IHtcbiAgdGFzayA9IGlucHV0LnJlcXVpcmVkPEFYUFRhc2s+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kRXhlY3V0b3IgPSBpbmplY3QoQVhQQ29tbWFuZEV4ZWN1dG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYUExlYXZlUmVxdWVzdERpYWxvZ1NlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCB0YXNrRGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB0YXNrID0gdGhpcy50YXNrKCk7XG4gICAgcmV0dXJuIChcbiAgICAgICh0YXNrLmRhdGEgYXMgQVhNSHVtYW5DYXBpdGFsTWFuYWdlbWVudExlYXZlUmVxdWVzdEVudGl0eU1vZGVsKSB8fFxuICAgICAgKCh0YXNrIGFzIGFueSkucGF5bG9hZCBhcyBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWwpXG4gICAgKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGVtcGxveWVlTmFtZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy50YXNrRGF0YSgpO1xuICAgIHJldHVybiBkYXRhPy5lbXBsb3llZT8ucGVyc29uPy5kaXNwbGF5TmFtZSB8fCB0aGlzLnRhc2soKS5yZXBvcnRlcj8uZnVsbE5hbWUgfHwgJ1Vua25vd24nO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgbWFuYWdlck5hbWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMudGFza0RhdGEoKTtcbiAgICByZXR1cm4gZGF0YT8uZW1wbG95ZWU/Lm1hbmFnZXI/LnBlcnNvbj8uZGlzcGxheU5hbWUgfHwgdGhpcy50YXNrKCkuYXNzaWduZWU/LmZ1bGxOYW1lIHx8ICcnO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgbGVhdmVUeXBlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnRhc2tEYXRhKCk7XG4gICAgLy8gRXh0cmFjdCBsZWF2ZSB0eXBlIGZyb20gdGFzayB0aXRsZSBvciBkYXRhXG4gICAgY29uc3QgdGl0bGUgPSB0aGlzLnRhc2soKS50aXRsZSB8fCAnJztcbiAgICBjb25zdCBwYXJ0cyA9IHRpdGxlLnNwbGl0KCcgLSAnKTtcbiAgICByZXR1cm4gcGFydHMubGVuZ3RoID4gMSA/IHBhcnRzWzFdIDogZGF0YT8ubGVhdmVUeXBlPy50aXRsZSB8fCAnTi9BJztcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGNhbkFwcHJvdmUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc3RhdHVzSWQgPSB0aGlzLnRhc2soKS5zdGF0dXM/LmlkO1xuICAgIHJldHVybiBzdGF0dXNJZCA9PT0gQVhQU3lzdGVtU3RhdHVzZXMuUGVuZGluZy5uYW1lIHx8IHN0YXR1c0lkID09PSBBWFBTeXN0ZW1TdGF0dXNlcy5SZWplY3RlZC5uYW1lO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgY2FuUmVqZWN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXR1c0lkID0gdGhpcy50YXNrKCkuc3RhdHVzPy5pZDtcbiAgICByZXR1cm4gc3RhdHVzSWQgPT09IEFYUFN5c3RlbVN0YXR1c2VzLlBlbmRpbmcubmFtZSB8fCBzdGF0dXNJZCA9PT0gQVhQU3lzdGVtU3RhdHVzZXMuQXBwcm92ZWQubmFtZTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGNhbkNhbmNlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdGF0dXNJZCA9IHRoaXMudGFzaygpLnN0YXR1cz8uaWQ7XG4gICAgcmV0dXJuIHN0YXR1c0lkID09PSBBWFBTeXN0ZW1TdGF0dXNlcy5QZW5kaW5nLm5hbWUgfHwgc3RhdHVzSWQgPT09IEFYUFN5c3RlbVN0YXR1c2VzLkFwcHJvdmVkLm5hbWU7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBmb3JtYXREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tVVMnLCB7XG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgIGRheTogJ251bWVyaWMnLFxuICAgIH0pLmZvcm1hdChuZXcgRGF0ZShkYXRlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FsY3VsYXRlRHVyYXRpb24oKTogbnVtYmVyIHtcbiAgICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKHRoaXMudGFzaygpLnN0YXJ0RGF0ZSk7XG4gICAgY29uc3QgZW5kID0gbmV3IERhdGUodGhpcy50YXNrKCkuZW5kRGF0ZSk7XG4gICAgY29uc3QgZGlmZlRpbWUgPSBNYXRoLmFicyhlbmQuZ2V0VGltZSgpIC0gc3RhcnQuZ2V0VGltZSgpKTtcbiAgICBjb25zdCBkaWZmRGF5cyA9IE1hdGguY2VpbChkaWZmVGltZSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XG4gICAgcmV0dXJuIGRpZmZEYXlzICsgMTsgLy8gSW5jbHVkZSBib3RoIHN0YXJ0IGFuZCBlbmQgZGF5c1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUFwcHJvdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdGFzayA9IHRoaXMudGFzaygpO1xuICAgIGNvbnN0IGxlYXZlUmVxdWVzdElkID0gdGFzay5pZDtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0FwcHJvdmFsRGlhbG9nKCk7XG4gICAgICBpZiAoZGlhbG9nUmVzdWx0Py5jYW5jZWxsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb21tYW5kS2V5ID0gJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuTGVhdmVSZXF1ZXN0OkFwcHJvdmUnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21tYW5kRXhlY3V0b3IuZXhlY3V0ZShjb21tYW5kS2V5LCB7XG4gICAgICAgIGlkOiBsZWF2ZVJlcXVlc3RJZCxcbiAgICAgICAgcmVhc29uOiBkaWFsb2dSZXN1bHQ/LnJlYXNvbixcbiAgICAgICAgbm90ZTogZGlhbG9nUmVzdWx0Py5ub3RlLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZXN1bHQ/LnN1Y2Nlc3MpIHtcbiAgICAgICAgLy8gT3B0aW9uYWxseSBlbWl0IGFuIGV2ZW50IG9yIHJlZnJlc2ggdGhlIHRhc2tcbiAgICAgICAgY29uc29sZS5sb2coJ0xlYXZlIHJlcXVlc3QgYXBwcm92ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBhcHByb3ZlIGxlYXZlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVSZWplY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdGFzayA9IHRoaXMudGFzaygpO1xuICAgIGNvbnN0IGxlYXZlUmVxdWVzdElkID0gdGFzay5pZDtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd1JlamVjdGlvbkRpYWxvZygpO1xuICAgICAgaWYgKGRpYWxvZ1Jlc3VsdD8uY2FuY2VsbGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29tbWFuZEtleSA9ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50LkxlYXZlUmVxdWVzdDpSZWplY3QnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21tYW5kRXhlY3V0b3IuZXhlY3V0ZShjb21tYW5kS2V5LCB7XG4gICAgICAgIGlkOiBsZWF2ZVJlcXVlc3RJZCxcbiAgICAgICAgcmVhc29uOiBkaWFsb2dSZXN1bHQ/LnJlYXNvbixcbiAgICAgICAgbm90ZTogZGlhbG9nUmVzdWx0Py5ub3RlLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZXN1bHQ/LnN1Y2Nlc3MpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0xlYXZlIHJlcXVlc3QgcmVqZWN0ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZWplY3QgbGVhdmUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUNhbmNlbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB0YXNrID0gdGhpcy50YXNrKCk7XG4gICAgY29uc3QgbGVhdmVSZXF1ZXN0SWQgPSB0YXNrLmlkO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5zaG93Q2FuY2VsbGF0aW9uRGlhbG9nKCk7XG4gICAgICBpZiAoZGlhbG9nUmVzdWx0Py5jYW5jZWxsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb21tYW5kS2V5ID0gJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuTGVhdmVSZXF1ZXN0OkNhbmNlbCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbW1hbmRFeGVjdXRvci5leGVjdXRlKGNvbW1hbmRLZXksIHtcbiAgICAgICAgaWQ6IGxlYXZlUmVxdWVzdElkLFxuICAgICAgICByZWFzb246IGRpYWxvZ1Jlc3VsdD8ucmVhc29uLFxuICAgICAgICBub3RlOiBkaWFsb2dSZXN1bHQ/Lm5vdGUsXG4gICAgICB9KTtcblxuICAgICAgaWYgKHJlc3VsdD8uc3VjY2Vzcykge1xuICAgICAgICBjb25zb2xlLmxvZygnTGVhdmUgcmVxdWVzdCBjYW5jZWxsZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjYW5jZWwgbGVhdmUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0="],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-human-capital-management-leave-request.entity-BDSyXKSF.mjs","sources":["../tmp-esm2022/human-capital-management/lib/entities/leave-request/leave-request.entity.js"],"sourcesContent":["//#region ---- Imports ----\nimport { AXPEntityCommandScope, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\n//#endregion\nexport async function factory() {\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.leaveRequest.name,\n title: RootConfig.entities.leaveRequest.title,\n icon: RootConfig.entities.leaveRequest.icon,\n plugins: [\n { name: 'history' },\n { name: 'attachments' },\n { name: 'workflow' },\n {\n name: 'status',\n options: {\n field: 'statusId',\n definition: 'human-capital-management.status.leave-request',\n },\n },\n {\n name: 'meta-data-form', options: {\n path: 'leaveTypeId',\n // display: {\n // // section: {\n // // title: 'Sample Form'\n // // },\n // popup: {\n // enabled: true,\n // title: \"Sample Form\"\n // }\n // }\n }\n },\n ],\n formats: {\n individual: RootConfig.entities.leaveRequest.title,\n plural: RootConfig.entities.leaveRequest.titlePlural,\n searchResult: { title: '{{ employee.person.displayName }}', description: RootConfig.module.title },\n },\n groups: [\n { id: 'basic-info', title: '@human-capital-management:leave-requests.entities.leave-request.groups.basic-info' },\n { id: 'period', title: '@general:terms.datetime.period' },\n { id: 'additional', title: '@general:terms.interface.additional-info' },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'employeeId',\n title: '@general:terms.people.employee',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.employee.name}`,\n textField: 'person.displayName',\n valueField: 'id',\n look: 'select',\n columns: ['person.displayName', 'employeeCode'],\n expose: [\n { source: 'id', target: 'employee.id' },\n { source: 'person.displayName', target: 'employee.person.displayName' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'leaveTypeId',\n title: '@human-capital-management:leave-requests.entities.leave-request.fields.leave-type-id',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.leaveType.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n columns: ['title'],\n expose: [\n { source: 'id', target: 'leaveType.id' },\n { source: 'title', target: 'leaveType.title' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'startDate',\n title: '@general:terms.datetime.start-date',\n groupId: 'period',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'endDate',\n title: '@general:terms.datetime.end-date',\n groupId: 'period',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'durationDays',\n title: '@human-capital-management:leave-requests.entities.leave-request.fields.duration-days',\n groupId: 'period',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number } },\n },\n {\n name: 'reason',\n title: '@human-capital-management:leave-requests.entities.leave-request.fields.reason',\n groupId: 'additional',\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n },\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.largeText } },\n },\n ],\n columns: [\n { name: 'employeeId', options: { dataPath: 'employee.person.displayName' } },\n { name: 'leaveTypeId', options: { dataPath: 'leaveType.title' } },\n { name: 'startDate' },\n { name: 'endDate' },\n { name: 'durationDays' },\n { name: 'statusId' },\n { name: 'reason' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'period' }, { id: 'additional' }],\n properties: [\n { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'leaveTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'durationDays', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'reason', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'period' }, { id: 'additional' }],\n properties: [\n { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'leaveTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'durationDays', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'reason', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: '{{employee.person.displayName}}',\n sections: [\n { id: 'basic-info', order: 1 },\n { id: 'period', order: 2 },\n { id: 'additional', order: 3 },\n ],\n properties: [\n { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'leaveTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'durationDays', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'reason', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n actions: entityMasterRecordActions(),\n },\n list: {\n actions: [\n // Override create action to use workflow instead of default Entity:Create\n {\n title: '@general:actions.create.title',\n command: {\n name: 'WorkflowManagement.WorkflowDefinition:Execute',\n options: {\n workflowId: 'create-leave-request',\n input: {},\n },\n },\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n // Keep other default actions (delete, view)\n ...entityMasterCrudActions({ create: false }),\n ],\n views: [createAllQueryView({ sorts: [{ name: 'startDate', dir: 'desc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC5lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvbGVhdmUtcmVxdWVzdC9sZWF2ZS1yZXF1ZXN0LmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUFhLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV6QyxZQUFZO0FBRVosTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPO0lBRTNCLE1BQU0sU0FBUyxHQUFjO1FBQzNCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUk7UUFDM0MsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUs7UUFDN0MsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUk7UUFDM0MsT0FBTyxFQUFFO1lBQ1AsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ25CLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUN2QixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDcEI7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRSxVQUFVO29CQUNqQixVQUFVLEVBQUUsK0NBQStDO2lCQUM1RDthQUNGO1lBQ0Q7Z0JB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U0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBjcmVhdGVBbGxRdWVyeVZpZXcgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBlbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucywgZW50aXR5TWFzdGVyUmVjb3JkQWN0aW9ucyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzQ2F0YWxvZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldC1jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5cbi8vI2VuZHJlZ2lvblxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmFjdG9yeSgpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcblxuICBjb25zdCBlbnRpdHlEZWY6IEFYUEVudGl0eSA9IHtcbiAgICBtb2R1bGU6IFJvb3RDb25maWcubW9kdWxlLm5hbWUsXG4gICAgbmFtZTogUm9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVJlcXVlc3QubmFtZSxcbiAgICB0aXRsZTogUm9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVJlcXVlc3QudGl0bGUsXG4gICAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVJlcXVlc3QuaWNvbixcbiAgICBwbHVnaW5zOiBbXG4gICAgICB7IG5hbWU6ICdoaXN0b3J5JyB9LFxuICAgICAgeyBuYW1lOiAnYXR0YWNobWVudHMnIH0sXG4gICAgICB7IG5hbWU6ICd3b3JrZmxvdycgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3N0YXR1cycsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBmaWVsZDogJ3N0YXR1c0lkJyxcbiAgICAgICAgICBkZWZpbml0aW9uOiAnaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50LnN0YXR1cy5sZWF2ZS1yZXF1ZXN0JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdtZXRhLWRhdGEtZm9ybScsIG9wdGlvbnM6XG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnbGVhdmVUeXBlSWQnLFxuICAgICAgICAgIC8vIGRpc3BsYXk6IHtcbiAgICAgICAgICAvLyAgIC8vIHNlY3Rpb246IHtcbiAgICAgICAgICAvLyAgIC8vICAgdGl0bGU6ICdTYW1wbGUgRm9ybSdcbiAgICAgICAgICAvLyAgIC8vIH0sXG4gICAgICAgICAgLy8gICBwb3B1cDoge1xuICAgICAgICAgIC8vICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIC8vICAgICB0aXRsZTogXCJTYW1wbGUgRm9ybVwiXG4gICAgICAgICAgLy8gICB9XG4gICAgICAgICAgLy8gfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIF0sXG4gICAgZm9ybWF0czoge1xuICAgICAgaW5kaXZpZHVhbDogUm9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVJlcXVlc3QudGl0bGUsXG4gICAgICBwbHVyYWw6IFJvb3RDb25maWcuZW50aXRpZXMubGVhdmVSZXF1ZXN0LnRpdGxlUGx1cmFsLFxuICAgICAgc2VhcmNoUmVzdWx0OiB7IHRpdGxlOiAne3sgZW1wbG95ZWUucGVyc29uLmRpc3BsYXlOYW1lIH19JywgZGVzY3JpcHRpb246IFJvb3RDb25maWcubW9kdWxlLnRpdGxlIH0sXG4gICAgfSxcbiAgICBncm91cHM6IFtcbiAgICAgIHsgaWQ6ICdiYXNpYy1pbmZvJywgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmVudGl0aWVzLmxlYXZlLXJlcXVlc3QuZ3JvdXBzLmJhc2ljLWluZm8nIH0sXG4gICAgICB7IGlkOiAncGVyaW9kJywgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5kYXRldGltZS5wZXJpb2QnIH0sXG4gICAgICB7IGlkOiAnYWRkaXRpb25hbCcsIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuaW50ZXJmYWNlLmFkZGl0aW9uYWwtaW5mbycgfSxcbiAgICBdLFxuICAgIHByb3BlcnRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgdGl0bGU6ICdJRCcsXG4gICAgICAgIGdyb3VwSWQ6ICdiYXNpYy1pbmZvJyxcbiAgICAgICAgc2NoZW1hOiB7IGRhdGFUeXBlOiAndXVpZCcsIHZpc2libGU6IGZhbHNlLCBudWxsYWJsZTogZmFsc2UsIHJlYWRvbmx5OiB0cnVlLCB1bmlxdWU6IHsgZW5hYmxlZDogdHJ1ZSB9IH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZW1wbG95ZWVJZCcsXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMucGVvcGxlLmVtcGxveWVlJyxcbiAgICAgICAgZ3JvdXBJZDogJ2Jhc2ljLWluZm8nLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDogeyBlbmFibGVkOiB0cnVlIH0sXG4gICAgICAgICAgZmlsdGVyOiB7IGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LCBpbmxpbmU6IHsgZW5hYmxlZDogdHJ1ZSB9IH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmxvb2t1cCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW50aXR5OiBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZW1wbG95ZWUubmFtZX1gLFxuICAgICAgICAgICAgICB0ZXh0RmllbGQ6ICdwZXJzb24uZGlzcGxheU5hbWUnLFxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnaWQnLFxuICAgICAgICAgICAgICBsb29rOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgY29sdW1uczogWydwZXJzb24uZGlzcGxheU5hbWUnLCAnZW1wbG95ZWVDb2RlJ10sXG4gICAgICAgICAgICAgIGV4cG9zZTogW1xuICAgICAgICAgICAgICAgIHsgc291cmNlOiAnaWQnLCB0YXJnZXQ6ICdlbXBsb3llZS5pZCcgfSxcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ3BlcnNvbi5kaXNwbGF5TmFtZScsIHRhcmdldDogJ2VtcGxveWVlLnBlcnNvbi5kaXNwbGF5TmFtZScgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnbGVhdmVUeXBlSWQnLFxuICAgICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuZW50aXRpZXMubGVhdmUtcmVxdWVzdC5maWVsZHMubGVhdmUtdHlwZS1pZCcsXG4gICAgICAgIGdyb3VwSWQ6ICdiYXNpYy1pbmZvJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgIGZpbHRlcjogeyBhZHZhbmNlOiB7IGVuYWJsZWQ6IHRydWUgfSwgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfSB9LFxuICAgICAgICB9LFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5sb29rdXAsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGVudGl0eTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmxlYXZlVHlwZS5uYW1lfWAsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ2lkJyxcbiAgICAgICAgICAgICAgbG9vazogJ3NlbGVjdCcsXG4gICAgICAgICAgICAgIGNvbHVtbnM6IFsndGl0bGUnXSxcbiAgICAgICAgICAgICAgZXhwb3NlOiBbXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICdpZCcsIHRhcmdldDogJ2xlYXZlVHlwZS5pZCcgfSxcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ3RpdGxlJywgdGFyZ2V0OiAnbGVhdmVUeXBlLnRpdGxlJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW3sgcnVsZTogJ3JlcXVpcmVkJyB9XSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzdGFydERhdGUnLFxuICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmRhdGV0aW1lLnN0YXJ0LWRhdGUnLFxuICAgICAgICBncm91cElkOiAncGVyaW9kJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgIGZpbHRlcjogeyBhZHZhbmNlOiB7IGVuYWJsZWQ6IHRydWUgfSwgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfSB9LFxuICAgICAgICB9LFxuICAgICAgICBzY2hlbWE6IHsgZGF0YVR5cGU6ICdkYXRlJywgaW50ZXJmYWNlOiB7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmRhdGVUaW1lIH0gfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZW5kRGF0ZScsXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuZGF0ZXRpbWUuZW5kLWRhdGUnLFxuICAgICAgICBncm91cElkOiAncGVyaW9kJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgIGZpbHRlcjogeyBhZHZhbmNlOiB7IGVuYWJsZWQ6IHRydWUgfSwgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfSB9LFxuICAgICAgICB9LFxuICAgICAgICBzY2hlbWE6IHsgZGF0YVR5cGU6ICdkYXRlJywgaW50ZXJmYWNlOiB7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmRhdGVUaW1lIH0gfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZHVyYXRpb25EYXlzJyxcbiAgICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmVudGl0aWVzLmxlYXZlLXJlcXVlc3QuZmllbGRzLmR1cmF0aW9uLWRheXMnLFxuICAgICAgICBncm91cElkOiAncGVyaW9kJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgIGZpbHRlcjogeyBhZHZhbmNlOiB7IGVuYWJsZWQ6IHRydWUgfSwgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfSB9LFxuICAgICAgICB9LFxuICAgICAgICBzY2hlbWE6IHsgZGF0YVR5cGU6ICdudW1iZXInLCBpbnRlcmZhY2U6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cubnVtYmVyIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdyZWFzb24nLFxuICAgICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuZW50aXRpZXMubGVhdmUtcmVxdWVzdC5maWVsZHMucmVhc29uJyxcbiAgICAgICAgZ3JvdXBJZDogJ2FkZGl0aW9uYWwnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDogeyBlbmFibGVkOiBmYWxzZSB9LFxuICAgICAgICAgIGZpbHRlcjogeyBhZHZhbmNlOiB7IGVuYWJsZWQ6IHRydWUgfSwgaW5saW5lOiB7IGVuYWJsZWQ6IGZhbHNlIH0gfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hOiB7IGRhdGFUeXBlOiAnc3RyaW5nJywgaW50ZXJmYWNlOiB7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmxhcmdlVGV4dCB9IH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29sdW1uczogW1xuICAgICAgeyBuYW1lOiAnZW1wbG95ZWVJZCcsIG9wdGlvbnM6IHsgZGF0YVBhdGg6ICdlbXBsb3llZS5wZXJzb24uZGlzcGxheU5hbWUnIH0gfSxcbiAgICAgIHsgbmFtZTogJ2xlYXZlVHlwZUlkJywgb3B0aW9uczogeyBkYXRhUGF0aDogJ2xlYXZlVHlwZS50aXRsZScgfSB9LFxuICAgICAgeyBuYW1lOiAnc3RhcnREYXRlJyB9LFxuICAgICAgeyBuYW1lOiAnZW5kRGF0ZScgfSxcbiAgICAgIHsgbmFtZTogJ2R1cmF0aW9uRGF5cycgfSxcbiAgICAgIHsgbmFtZTogJ3N0YXR1c0lkJyB9LFxuICAgICAgeyBuYW1lOiAncmVhc29uJyB9LFxuICAgIF0sXG4gICAgaW50ZXJmYWNlczoge1xuICAgICAgbWFzdGVyOiB7XG4gICAgICAgIGNyZWF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbeyBpZDogJ2Jhc2ljLWluZm8nIH0sIHsgaWQ6ICdwZXJpb2QnIH0sIHsgaWQ6ICdhZGRpdGlvbmFsJyB9XSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdlbXBsb3llZUlkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdsZWF2ZVR5cGVJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnc3RhcnREYXRlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdlbmREYXRlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdkdXJhdGlvbkRheXMnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3JlYXNvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIgfSB9IH0gfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB1cGRhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW3sgaWQ6ICdiYXNpYy1pbmZvJyB9LCB7IGlkOiAncGVyaW9kJyB9LCB7IGlkOiAnYWRkaXRpb25hbCcgfV0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgeyBuYW1lOiAnZW1wbG95ZWVJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnbGVhdmVUeXBlSWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3N0YXJ0RGF0ZScsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnZW5kRGF0ZScsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnZHVyYXRpb25EYXlzJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdyZWFzb24nLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyIH0gfSB9IH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgdGl0bGU6ICd7e2VtcGxveWVlLnBlcnNvbi5kaXNwbGF5TmFtZX19JyxcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAgeyBpZDogJ2Jhc2ljLWluZm8nLCBvcmRlcjogMSB9LFxuICAgICAgICAgICAgeyBpZDogJ3BlcmlvZCcsIG9yZGVyOiAyIH0sXG4gICAgICAgICAgICB7IGlkOiAnYWRkaXRpb25hbCcsIG9yZGVyOiAzIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdlbXBsb3llZUlkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdsZWF2ZVR5cGVJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnc3RhcnREYXRlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdlbmREYXRlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdkdXJhdGlvbkRheXMnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3JlYXNvbicsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIgfSB9IH0gfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IGVudGl0eU1hc3RlclJlY29yZEFjdGlvbnMoKSxcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdDoge1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGNyZWF0ZSBhY3Rpb24gdG8gdXNlIHdvcmtmbG93IGluc3RlYWQgb2YgZGVmYXVsdCBFbnRpdHk6Q3JlYXRlXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6YWN0aW9ucy5jcmVhdGUudGl0bGUnLFxuICAgICAgICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ1dvcmtmbG93TWFuYWdlbWVudC5Xb3JrZmxvd0RlZmluaXRpb246RXhlY3V0ZScsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgd29ya2Zsb3dJZDogJ2NyZWF0ZS1sZWF2ZS1yZXF1ZXN0JyxcbiAgICAgICAgICAgICAgICAgIGlucHV0OiB7fSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnY3JlYXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5UeXBlTGV2ZWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gS2VlcCBvdGhlciBkZWZhdWx0IGFjdGlvbnMgKGRlbGV0ZSwgdmlldylcbiAgICAgICAgICAgIC4uLmVudGl0eU1hc3RlckNydWRBY3Rpb25zKHsgY3JlYXRlOiBmYWxzZSB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZpZXdzOiBbY3JlYXRlQWxsUXVlcnlWaWV3KHsgc29ydHM6IFt7IG5hbWU6ICdzdGFydERhdGUnLCBkaXI6ICdkZXNjJyB9XSB9KV0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGVudGl0eURlZjtcbn1cbiJdfQ=="],"names":[],"mappings":"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"}