dts-backoffice-util 3.0.0 → 6.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.
- package/README.md +1 -1
- package/dts-backoffice-util.d.ts +1 -0
- package/esm2020/dts-backoffice-util.mjs +5 -0
- package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.mjs +269 -0
- package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.mjs +7 -0
- package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.mjs +183 -0
- package/esm2020/lib/dts-backoffice-util.module.mjs +56 -0
- package/esm2020/lib/interfaces/filter-range.interface.mjs +2 -0
- package/esm2020/lib/interfaces/totvs-response.interface.mjs +2 -0
- package/esm2020/lib/model/session-info.model.mjs +67 -0
- package/esm2020/lib/pipes/dts-date-format.pipe.mjs +20 -0
- package/esm2020/lib/services/breadcrumb-control.service.mjs +82 -0
- package/esm2020/lib/services/cache-params.service.mjs +25 -0
- package/esm2020/lib/services/menu-datasul.service.mjs +41 -0
- package/esm2020/lib/services/profile.service.mjs +55 -0
- package/esm2020/lib/services/report.service.mjs +57 -0
- package/esm2020/lib/services/session-info.service.mjs +36 -0
- package/esm2020/lib/services/translate.service.mjs +23 -0
- package/esm2020/lib/utils/date.util.mjs +56 -0
- package/esm2020/lib/utils/disclaimer.util.mjs +453 -0
- package/esm2020/lib/utils/field-validation.util.mjs +179 -0
- package/esm2020/lib/utils/file.util.mjs +122 -0
- package/esm2020/lib/utils/filter-range.util.mjs +33 -0
- package/esm2020/lib/utils/generic-functions.utils.mjs +170 -0
- package/esm2020/public-api.mjs +34 -0
- package/fesm2015/{dts-backoffice-util.js → dts-backoffice-util.mjs} +230 -1626
- package/fesm2015/dts-backoffice-util.mjs.map +1 -0
- package/fesm2020/dts-backoffice-util.mjs +1844 -0
- package/fesm2020/dts-backoffice-util.mjs.map +1 -0
- package/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.d.ts +3 -0
- package/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.d.ts +3 -0
- package/lib/dts-backoffice-util.module.d.ts +10 -0
- package/lib/pipes/dts-date-format.pipe.d.ts +3 -0
- package/lib/services/breadcrumb-control.service.d.ts +3 -0
- package/lib/services/cache-params.service.d.ts +3 -0
- package/lib/services/menu-datasul.service.d.ts +3 -0
- package/lib/services/profile.service.d.ts +3 -0
- package/lib/services/report.service.d.ts +3 -0
- package/lib/services/session-info.service.d.ts +3 -0
- package/lib/services/translate.service.d.ts +3 -0
- package/package.json +23 -11
- package/CHANGELOG.md +0 -159
- package/bundles/dts-backoffice-util.umd.js +0 -3296
- package/bundles/dts-backoffice-util.umd.js.map +0 -1
- package/bundles/dts-backoffice-util.umd.min.js +0 -2
- package/bundles/dts-backoffice-util.umd.min.js.map +0 -1
- package/dts-backoffice-util.metadata.json +0 -1
- package/esm2015/dts-backoffice-util.js +0 -10
- package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.js +0 -391
- package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.js +0 -132
- package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.js +0 -344
- package/esm2015/lib/dts-backoffice-util.module.js +0 -47
- package/esm2015/lib/interfaces/filter-range.interface.js +0 -48
- package/esm2015/lib/interfaces/totvs-response.interface.js +0 -17
- package/esm2015/lib/model/session-info.model.js +0 -183
- package/esm2015/lib/pipes/dts-date-format.pipe.js +0 -27
- package/esm2015/lib/services/breadcrumb-control.service.js +0 -124
- package/esm2015/lib/services/cache-params.service.js +0 -47
- package/esm2015/lib/services/menu-datasul.service.js +0 -57
- package/esm2015/lib/services/profile.service.js +0 -127
- package/esm2015/lib/services/report.service.js +0 -127
- package/esm2015/lib/services/session-info.service.js +0 -62
- package/esm2015/lib/services/translate.service.js +0 -35
- package/esm2015/lib/utils/date.util.js +0 -95
- package/esm2015/lib/utils/disclaimer.util.js +0 -738
- package/esm2015/lib/utils/field-validation.util.js +0 -275
- package/esm2015/lib/utils/file.util.js +0 -224
- package/esm2015/lib/utils/filter-range.util.js +0 -53
- package/esm2015/lib/utils/generic-functions.utils.js +0 -296
- package/esm2015/public-api.js +0 -38
- package/fesm2015/dts-backoffice-util.js.map +0 -1
|
@@ -1,344 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/components/totvs-schedule-execution/totvs-schedule-execution.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Injectable } from '@angular/core';
|
|
7
|
-
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
|
|
8
|
-
import { map } from 'rxjs/operators';
|
|
9
|
-
import { ExecutionStatus } from './totvs-schedule-execution.model';
|
|
10
|
-
export class TotvsScheduleExecutionService {
|
|
11
|
-
/**
|
|
12
|
-
* @param {?} http
|
|
13
|
-
*/
|
|
14
|
-
constructor(http) {
|
|
15
|
-
this.http = http;
|
|
16
|
-
this.headers = { headers: { 'X-PO-Screen-Lock': 'true' } };
|
|
17
|
-
this.urlCadServidor = '/dts/datasul-rest/resources/prg/btb/v1/servidoresExecucao';
|
|
18
|
-
this.urlJobScheduler = '/dts/datasul-rest/resources/prg/framework/v1/jobScheduler';
|
|
19
|
-
this.urlJobExecution = '/dts/datasul-rest/resources/prg/framework/v1/jobExecution';
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @param {?} params
|
|
23
|
-
* @return {?}
|
|
24
|
-
*/
|
|
25
|
-
getFilteredItems(params) {
|
|
26
|
-
/** @type {?} */
|
|
27
|
-
const urlParams = new Array();
|
|
28
|
-
urlParams.push(`pageSize=${params.pageSize.toString()}`);
|
|
29
|
-
urlParams.push(`page=${params.page.toString()}`);
|
|
30
|
-
if (params.filter && params.filter.length > 0) {
|
|
31
|
-
urlParams.push(`quickSearch=${params.filter}`);
|
|
32
|
-
}
|
|
33
|
-
return this.http.get(`${this.urlCadServidor}?${urlParams.join('&')}`);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* @param {?} id
|
|
37
|
-
* @return {?}
|
|
38
|
-
*/
|
|
39
|
-
getObjectByValue(id) {
|
|
40
|
-
return this.http.get(`${this.urlCadServidor}/${id}`, this.headers);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* @param {?} parameters
|
|
44
|
-
* @param {?} loading
|
|
45
|
-
* @return {?}
|
|
46
|
-
*/
|
|
47
|
-
createExecution(parameters, loading) {
|
|
48
|
-
/** @type {?} */
|
|
49
|
-
const params = JSON.parse(JSON.stringify(parameters).replace(/\\\\/g, '*|'));
|
|
50
|
-
if (loading) {
|
|
51
|
-
return this.http.post(`${this.urlJobScheduler}`, params, this.headers);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
return this.http.post(`${this.urlJobScheduler}`, params);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* @param {?} executionParams
|
|
59
|
-
* @param {?} loading
|
|
60
|
-
* @return {?}
|
|
61
|
-
*/
|
|
62
|
-
createExecutionForNow(executionParams, loading) {
|
|
63
|
-
/** @type {?} */
|
|
64
|
-
let jobScheduleParams;
|
|
65
|
-
/** @type {?} */
|
|
66
|
-
const date = new Date();
|
|
67
|
-
/** @type {?} */
|
|
68
|
-
const params = JSON.parse(JSON.stringify(executionParams).replace(/\\\\/g, '*|'));
|
|
69
|
-
if (!params.businessParams || params.businessParams.length === 0) {
|
|
70
|
-
params.businessParams = [{ chave: '', valor: '' }];
|
|
71
|
-
}
|
|
72
|
-
jobScheduleParams = {};
|
|
73
|
-
jobScheduleParams.status = 'active';
|
|
74
|
-
jobScheduleParams.processID = params.programName;
|
|
75
|
-
jobScheduleParams.firstExecution = `${date.getFullYear()}-${(date.getMonth() + 1)}-${date.getDate()}T${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}:00.000Z`;
|
|
76
|
-
jobScheduleParams.recurrent = false;
|
|
77
|
-
jobScheduleParams.executionParameter = {
|
|
78
|
-
parametros: [
|
|
79
|
-
{ chave: 'rpwServer', valor: params.executionServer },
|
|
80
|
-
{ chave: 'RPW_PROGRAM', valor: params.externalName },
|
|
81
|
-
{ chave: 'RPW_PRG_EMS5', valor: params.programEMS5 ? 'yes' : 'no' },
|
|
82
|
-
{ chave: 'RPW_PRG_VERS', valor: params.programVersion },
|
|
83
|
-
{ parametros_negocio: params.businessParams }
|
|
84
|
-
]
|
|
85
|
-
};
|
|
86
|
-
if (loading) {
|
|
87
|
-
return this.http.post(`${this.urlJobScheduler}`, jobScheduleParams, this.headers);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
return this.http.post(`${this.urlJobScheduler}`, jobScheduleParams);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* @param {?} jobScheduleID
|
|
95
|
-
* @param {?=} loading
|
|
96
|
-
* @return {?}
|
|
97
|
-
*/
|
|
98
|
-
getExecutionByJobScheduleID(jobScheduleID, loading = false) {
|
|
99
|
-
/** @type {?} */
|
|
100
|
-
const url = `${this.urlJobExecution}?jobScheduleID=${jobScheduleID}`;
|
|
101
|
-
return this.getExecution(url, loading).pipe(map((/**
|
|
102
|
-
* @param {?} response
|
|
103
|
-
* @return {?}
|
|
104
|
-
*/
|
|
105
|
-
(response) => this.transformExecution('jobScheduleID', response))));
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* @param {?} executionID
|
|
109
|
-
* @param {?=} loading
|
|
110
|
-
* @return {?}
|
|
111
|
-
*/
|
|
112
|
-
getExecutionByExecutionID(executionID, loading = false) {
|
|
113
|
-
/** @type {?} */
|
|
114
|
-
const url = `${this.urlJobExecution}/${executionID}`;
|
|
115
|
-
return this.getExecution(url, loading).pipe(map((/**
|
|
116
|
-
* @param {?} response
|
|
117
|
-
* @return {?}
|
|
118
|
-
*/
|
|
119
|
-
(response) => this.transformExecution('executionID', response))));
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* @private
|
|
123
|
-
* @param {?} url
|
|
124
|
-
* @param {?} loading
|
|
125
|
-
* @return {?}
|
|
126
|
-
*/
|
|
127
|
-
getExecution(url, loading) {
|
|
128
|
-
if (loading) {
|
|
129
|
-
return this.http.get(url, this.headers);
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
return this.http.get(url);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* @private
|
|
137
|
-
* @param {?} type
|
|
138
|
-
* @param {?} response
|
|
139
|
-
* @return {?}
|
|
140
|
-
*/
|
|
141
|
-
transformExecution(type, response) {
|
|
142
|
-
if (!response || !response.items || response.items.length === 0) {
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
response = response.items[0];
|
|
146
|
-
/** @type {?} */
|
|
147
|
-
const execStatus = new ExecutionStatus();
|
|
148
|
-
execStatus.jobScheduleID = response.jobScheduleID;
|
|
149
|
-
execStatus.executionID = response.executionID;
|
|
150
|
-
execStatus.startedDate = response.startedDate;
|
|
151
|
-
execStatus.error = response.error;
|
|
152
|
-
execStatus.status = response.status;
|
|
153
|
-
return execStatus;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* @param {?} jobScheduleID
|
|
157
|
-
* @param {?} intervalNum
|
|
158
|
-
* @param {?} fncCallBack
|
|
159
|
-
* @param {?=} loading
|
|
160
|
-
* @return {?}
|
|
161
|
-
*/
|
|
162
|
-
followUpExcByJobScheduleID(jobScheduleID, intervalNum, fncCallBack, loading = false) {
|
|
163
|
-
this.followUpExecution('jobScheduleID', jobScheduleID, intervalNum, fncCallBack, loading);
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* @param {?} executionID
|
|
167
|
-
* @param {?} intervalNum
|
|
168
|
-
* @param {?} fncCallBack
|
|
169
|
-
* @param {?=} loading
|
|
170
|
-
* @return {?}
|
|
171
|
-
*/
|
|
172
|
-
followUpExcByExecutionID(executionID, intervalNum, fncCallBack, loading = false) {
|
|
173
|
-
this.followUpExecution('executionID', executionID, intervalNum, fncCallBack, loading);
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* @private
|
|
177
|
-
* @param {?} type
|
|
178
|
-
* @param {?} execID
|
|
179
|
-
* @param {?} intervalNum
|
|
180
|
-
* @param {?} fncCallBack
|
|
181
|
-
* @param {?} loading
|
|
182
|
-
* @return {?}
|
|
183
|
-
*/
|
|
184
|
-
followUpExecution(type, execID, intervalNum, fncCallBack, loading) {
|
|
185
|
-
this.jobExecutionSubscription$ = null;
|
|
186
|
-
/** @type {?} */
|
|
187
|
-
const intervalID = setInterval((/**
|
|
188
|
-
* @return {?}
|
|
189
|
-
*/
|
|
190
|
-
() => {
|
|
191
|
-
/** @type {?} */
|
|
192
|
-
const execStatus = new ExecutionStatus();
|
|
193
|
-
execStatus.jobScheduleID = (type === 'jobScheduleID') ? execID : '';
|
|
194
|
-
execStatus.executionID = (type === 'executionID') ? execID : '';
|
|
195
|
-
execStatus.startedDate = null;
|
|
196
|
-
execStatus.error = '';
|
|
197
|
-
execStatus.status = 'PENDING'; // PENDING, RUNNING, SUCCESS, FAILURE
|
|
198
|
-
if (this.jobExecutionSubscription$) {
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
if (type === 'jobScheduleID') {
|
|
202
|
-
this.jobExecutionSubscription$ = this.getExecutionByJobScheduleID(execID, loading)
|
|
203
|
-
.subscribe((/**
|
|
204
|
-
* @param {?} response
|
|
205
|
-
* @return {?}
|
|
206
|
-
*/
|
|
207
|
-
(response) => {
|
|
208
|
-
this.followUpExecReturnOk(execID, execStatus, response, intervalID, fncCallBack);
|
|
209
|
-
}), (/**
|
|
210
|
-
* @param {?} error
|
|
211
|
-
* @return {?}
|
|
212
|
-
*/
|
|
213
|
-
(error) => {
|
|
214
|
-
this.followUpExecReturnError(error, execStatus, intervalID, fncCallBack);
|
|
215
|
-
}));
|
|
216
|
-
}
|
|
217
|
-
if (type === 'executionID') {
|
|
218
|
-
this.jobExecutionSubscription$ = this.getExecutionByExecutionID(execID, loading)
|
|
219
|
-
.subscribe((/**
|
|
220
|
-
* @param {?} response
|
|
221
|
-
* @return {?}
|
|
222
|
-
*/
|
|
223
|
-
(response) => {
|
|
224
|
-
this.followUpExecReturnOk(execID, execStatus, response, intervalID, fncCallBack);
|
|
225
|
-
}), (/**
|
|
226
|
-
* @param {?} error
|
|
227
|
-
* @return {?}
|
|
228
|
-
*/
|
|
229
|
-
(error) => {
|
|
230
|
-
this.followUpExecReturnError(error, execStatus, intervalID, fncCallBack);
|
|
231
|
-
}));
|
|
232
|
-
}
|
|
233
|
-
}), intervalNum);
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* @private
|
|
237
|
-
* @param {?} execID
|
|
238
|
-
* @param {?} execStatus
|
|
239
|
-
* @param {?} response
|
|
240
|
-
* @param {?} intervalID
|
|
241
|
-
* @param {?} fncCallBack
|
|
242
|
-
* @return {?}
|
|
243
|
-
*/
|
|
244
|
-
followUpExecReturnOk(execID, execStatus, response, intervalID, fncCallBack) {
|
|
245
|
-
if (response) {
|
|
246
|
-
execStatus = response;
|
|
247
|
-
}
|
|
248
|
-
else {
|
|
249
|
-
execStatus.error = `Agendamento não encontrado com ID: ${execID}`;
|
|
250
|
-
execStatus.status = 'FAILURE';
|
|
251
|
-
}
|
|
252
|
-
if (!fncCallBack(execStatus) ||
|
|
253
|
-
execStatus.status === 'SUCCESS' ||
|
|
254
|
-
execStatus.status === 'FAILURE') {
|
|
255
|
-
clearInterval(intervalID);
|
|
256
|
-
}
|
|
257
|
-
this.jobExecutionSubscription$ = null;
|
|
258
|
-
}
|
|
259
|
-
/**
|
|
260
|
-
* @private
|
|
261
|
-
* @param {?} error
|
|
262
|
-
* @param {?} execStatus
|
|
263
|
-
* @param {?} intervalID
|
|
264
|
-
* @param {?} fncCallBack
|
|
265
|
-
* @return {?}
|
|
266
|
-
*/
|
|
267
|
-
followUpExecReturnError(error, execStatus, intervalID, fncCallBack) {
|
|
268
|
-
/** @type {?} */
|
|
269
|
-
let erroDesc = '';
|
|
270
|
-
if (error instanceof HttpErrorResponse) {
|
|
271
|
-
erroDesc = error.message;
|
|
272
|
-
if (error.error) {
|
|
273
|
-
erroDesc = '';
|
|
274
|
-
if (error.error.code) {
|
|
275
|
-
erroDesc = error.error.code;
|
|
276
|
-
}
|
|
277
|
-
if (error.error.message) {
|
|
278
|
-
erroDesc = `${erroDesc} - ${error.error.message}`;
|
|
279
|
-
}
|
|
280
|
-
if (error.error.detailedMessage) {
|
|
281
|
-
erroDesc = `${erroDesc} - ${error.error.detailedMessage}`;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
erroDesc = error;
|
|
287
|
-
}
|
|
288
|
-
execStatus.error = erroDesc;
|
|
289
|
-
execStatus.status = 'FAILURE';
|
|
290
|
-
fncCallBack(execStatus);
|
|
291
|
-
clearInterval(intervalID);
|
|
292
|
-
this.jobExecutionSubscription$ = null;
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* @private
|
|
296
|
-
* @param {?} num
|
|
297
|
-
* @return {?}
|
|
298
|
-
*/
|
|
299
|
-
addZero(num) {
|
|
300
|
-
/** @type {?} */
|
|
301
|
-
let str = `${num}`;
|
|
302
|
-
if (num < 10) {
|
|
303
|
-
str = `0${num}`;
|
|
304
|
-
}
|
|
305
|
-
return str;
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
TotvsScheduleExecutionService.decorators = [
|
|
309
|
-
{ type: Injectable }
|
|
310
|
-
];
|
|
311
|
-
/** @nocollapse */
|
|
312
|
-
TotvsScheduleExecutionService.ctorParameters = () => [
|
|
313
|
-
{ type: HttpClient }
|
|
314
|
-
];
|
|
315
|
-
if (false) {
|
|
316
|
-
/**
|
|
317
|
-
* @type {?}
|
|
318
|
-
* @private
|
|
319
|
-
*/
|
|
320
|
-
TotvsScheduleExecutionService.prototype.headers;
|
|
321
|
-
/**
|
|
322
|
-
* @type {?}
|
|
323
|
-
* @private
|
|
324
|
-
*/
|
|
325
|
-
TotvsScheduleExecutionService.prototype.urlCadServidor;
|
|
326
|
-
/**
|
|
327
|
-
* @type {?}
|
|
328
|
-
* @private
|
|
329
|
-
*/
|
|
330
|
-
TotvsScheduleExecutionService.prototype.urlJobScheduler;
|
|
331
|
-
/**
|
|
332
|
-
* @type {?}
|
|
333
|
-
* @private
|
|
334
|
-
*/
|
|
335
|
-
TotvsScheduleExecutionService.prototype.urlJobExecution;
|
|
336
|
-
/**
|
|
337
|
-
* @type {?}
|
|
338
|
-
* @private
|
|
339
|
-
*/
|
|
340
|
-
TotvsScheduleExecutionService.prototype.jobExecutionSubscription$;
|
|
341
|
-
/** @type {?} */
|
|
342
|
-
TotvsScheduleExecutionService.prototype.http;
|
|
343
|
-
}
|
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovRGF0YXN1bC9USEYvZHRzLWJhY2tvZmZpY2UtdXRpbC12My9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZUFBZSxFQUEwQyxNQUFNLGtDQUFrQyxDQUFDO0FBRzNHLE1BQU0sT0FBTyw2QkFBNkI7Ozs7SUFhdEMsWUFBbUIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQVgzQixZQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBRXRELG1CQUFjLEdBQUcsMkRBQTJELENBQUM7UUFDN0Usb0JBQWUsR0FBRywyREFBMkQsQ0FBQztRQUM5RSxvQkFBZSxHQUFHLDJEQUEyRCxDQUFDO0lBTy9DLENBQUM7Ozs7O0lBRXhDLGdCQUFnQixDQUFDLE1BQW1DOztjQUMxQyxTQUFTLEdBQUcsSUFBSSxLQUFLLEVBQVU7UUFFckMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqRCxJ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R0FBRyxFQUFFLEVBQUU7WUFBRSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUFFO1FBQ2xDLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzs7O1lBMU1KLFVBQVU7Ozs7WUFORixVQUFVOzs7Ozs7O0lBU2YsZ0RBQThEOzs7OztJQUU5RCx1REFBcUY7Ozs7O0lBQ3JGLHdEQUFzRjs7Ozs7SUFDdEYsd0RBQXNGOzs7OztJQUt0RixrRUFBZ0Q7O0lBRXBDLDZDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFBvTG9va3VwRmlsdGVyZWRJdGVtc1BhcmFtcyB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgRXhlY3V0aW9uU3RhdHVzLCBJRXhlY3V0aW9uUGFyYW1ldGVycywgSUV4ZWN1dGlvblN0YXR1cyB9IGZyb20gJy4vdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRvdHZzU2NoZWR1bGVFeGVjdXRpb25TZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIGhlYWRlcnMgPSB7IGhlYWRlcnM6IHsgJ1gtUE8tU2NyZWVuLUxvY2snOiAndHJ1ZScgfSB9O1xyXG5cclxuICAgIHByaXZhdGUgdXJsQ2FkU2Vydmlkb3IgPSAnL2R0cy9kYXRhc3VsLXJlc3QvcmVzb3VyY2VzL3ByZy9idGIvdjEvc2Vydmlkb3Jlc0V4ZWN1Y2FvJztcclxuICAgIHByaXZhdGUgdXJsSm9iU2NoZWR1bGVyID0gJy9kdHMvZGF0YXN1bC1yZXN0L3Jlc291cmNlcy9wcmcvZnJhbWV3b3JrL3YxL2pvYlNjaGVkdWxlcic7XHJcbiAgICBwcml2YXRlIHVybEpvYkV4ZWN1dGlvbiA9ICcvZHRzL2RhdGFzdWwtcmVzdC9yZXNvdXJjZXMvcHJnL2ZyYW1ld29yay92MS9qb2JFeGVjdXRpb24nO1xyXG5cclxuICAgIC8vIHByaXZhdGUgdXJsQ2FkU2Vydmlkb3IgPSAnL2dlbmVyaWNzWm9vbSc7XHJcbiAgICAvLyBwcml2YXRlIHVybEpvYlNjaGVkdWxlciA9ICcvam9iU2NoZWR1bGVyJztcclxuXHJcbiAgICBwcml2YXRlIGpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gICAgZ2V0RmlsdGVyZWRJdGVtcyhwYXJhbXM6IFBvTG9va3VwRmlsdGVyZWRJdGVtc1BhcmFtcyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgdXJsUGFyYW1zID0gbmV3IEFycmF5PHN0cmluZz4oKTtcclxuXHJcbiAgICAgICAgdXJsUGFyYW1zLnB1c2goYHBhZ2VTaXplPSR7cGFyYW1zLnBhZ2VTaXplLnRvU3RyaW5nKCl9YCk7XHJcbiAgICAgICAgdXJsUGFyYW1zLnB1c2goYHBhZ2U9JHtwYXJhbXMucGFnZS50b1N0cmluZygpfWApO1xyXG5cclxuICAgICAgICBpZiAocGFyYW1zLmZpbHRlciAmJiBwYXJhbXMuZmlsdGVyLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdXJsUGFyYW1zLnB1c2goYHF1aWNrU2VhcmNoPSR7cGFyYW1zLmZpbHRlcn1gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudXJsQ2FkU2Vydmlkb3J9PyR7dXJsUGFyYW1zLmpvaW4oJyYnKX1gKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRPYmplY3RCeVZhbHVlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy51cmxDYWRTZXJ2aWRvcn0vJHtpZH1gLCB0aGlzLmhlYWRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUV4ZWN1dGlvbihwYXJhbWV0ZXJzOiBPYmplY3QsIGxvYWRpbmc6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykucmVwbGFjZSgvXFxcXFxcXFwvZywgJyp8JykpO1xyXG5cclxuICAgICAgICBpZiAobG9hZGluZykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy51cmxKb2JTY2hlZHVsZXJ9YCwgcGFyYW1zLCB0aGlzLmhlYWRlcnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnVybEpvYlNjaGVkdWxlcn1gLCBwYXJhbXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVFeGVjdXRpb25Gb3JOb3coZXhlY3V0aW9uUGFyYW1zOiBJRXhlY3V0aW9uUGFyYW1ldGVycywgbG9hZGluZzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgbGV0IGpvYlNjaGVkdWxlUGFyYW1zOiBhbnk7XHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZXhlY3V0aW9uUGFyYW1zKS5yZXBsYWNlKC9cXFxcXFxcXC9nLCAnKnwnKSk7XHJcbiAgICAgICAgaWYgKCFwYXJhbXMuYnVzaW5lc3NQYXJhbXMgfHwgcGFyYW1zLmJ1c2luZXNzUGFyYW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICBwYXJhbXMuYnVzaW5lc3NQYXJhbXMgPSBbeyBjaGF2ZTogJycsIHZhbG9yOiAnJyB9XTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGpvYlNjaGVkdWxlUGFyYW1zID0ge307XHJcbiAgICAgICAgam9iU2NoZWR1bGVQYXJhbXMuc3RhdHVzID0gJ2FjdGl2ZSc7XHJcbiAgICAgICAgam9iU2NoZWR1bGVQYXJhbXMucHJvY2Vzc0lEID0gcGFyYW1zLnByb2dyYW1OYW1lO1xyXG4gICAgICAgIGpvYlNjaGVkdWxlUGFyYW1zLmZpcnN0RXhlY3V0aW9uID0gYCR7ZGF0ZS5nZXRGdWxsWWVhcigpfS0keyhkYXRlLmdldE1vbnRoKCkgKyAxKX0tJHtkYXRlLmdldERhdGUoKX1UJHt0aGlzLmFkZFplcm8oZGF0ZS5nZXRIb3VycygpKX06JHt0aGlzLmFkZFplcm8oZGF0ZS5nZXRNaW51dGVzKCkpfTowMC4wMDBaYDtcclxuICAgICAgICBqb2JTY2hlZHVsZVBhcmFtcy5yZWN1cnJlbnQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgam9iU2NoZWR1bGVQYXJhbXMuZXhlY3V0aW9uUGFyYW1ldGVyID0ge1xyXG4gICAgICAgICAgICBwYXJhbWV0cm9zOiBbXHJcbiAgICAgICAgICAgICAgICB7IGNoYXZlOiAncnB3U2VydmVyJywgdmFsb3I6IHBhcmFtcy5leGVjdXRpb25TZXJ2ZXIgfSxcclxuICAgICAgICAgICAgICAgIHsgY2hhdmU6ICdSUFdfUFJPR1JBTScsIHZhbG9yOiBwYXJhbXMuZXh0ZXJuYWxOYW1lIH0sXHJcbiAgICAgICAgICAgICAgICB7IGNoYXZlOiAnUlBXX1BSR19FTVM1JywgdmFsb3I6IHBhcmFtcy5wcm9ncmFtRU1TNSA/ICd5ZXMnIDogJ25vJyB9LFxyXG4gICAgICAgICAgICAgICAgeyBjaGF2ZTogJ1JQV19QUkdfVkVSUycsIHZhbG9yOiBwYXJhbXMucHJvZ3JhbVZlcnNpb24gfSxcclxuICAgICAgICAgICAgICAgIHsgcGFyYW1ldHJvc19uZWdvY2lvOiBwYXJhbXMuYnVzaW5lc3NQYXJhbXMgfVxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKGxvYWRpbmcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudXJsSm9iU2NoZWR1bGVyfWAsIGpvYlNjaGVkdWxlUGFyYW1zLCB0aGlzLmhlYWRlcnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnVybEpvYlNjaGVkdWxlcn1gLCBqb2JTY2hlZHVsZVBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldEV4ZWN1dGlvbkJ5Sm9iU2NoZWR1bGVJRChqb2JTY2hlZHVsZUlEOiBzdHJpbmcsIGxvYWRpbmcgPSBmYWxzZSk6IE9ic2VydmFibGU8SUV4ZWN1dGlvblN0YXR1cz4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMudXJsSm9iRXhlY3V0aW9ufT9qb2JTY2hlZHVsZUlEPSR7am9iU2NoZWR1bGVJRH1gO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEV4ZWN1dGlvbih1cmwsIGxvYWRpbmcpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHRoaXMudHJhbnNmb3JtRXhlY3V0aW9uKCdqb2JTY2hlZHVsZUlEJywgcmVzcG9uc2UpKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RXhlY3V0aW9uQnlFeGVjdXRpb25JRChleGVjdXRpb25JRDogc3RyaW5nLCBsb2FkaW5nID0gZmFsc2UpOiBPYnNlcnZhYmxlPElFeGVjdXRpb25TdGF0dXM+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnVybEpvYkV4ZWN1dGlvbn0vJHtleGVjdXRpb25JRH1gO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEV4ZWN1dGlvbih1cmwsIGxvYWRpbmcpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHRoaXMudHJhbnNmb3JtRXhlY3V0aW9uKCdleGVjdXRpb25JRCcsIHJlc3BvbnNlKSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RXhlY3V0aW9uKHVybDogc3RyaW5nLCBsb2FkaW5nOiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBpZiAobG9hZGluZykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHRoaXMuaGVhZGVycyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB0cmFuc2Zvcm1FeGVjdXRpb24odHlwZTogc3RyaW5nLCByZXNwb25zZTogYW55KTogSUV4ZWN1dGlvblN0YXR1cyB7XHJcbiAgICAgICAgaWYgKCFyZXNwb25zZSB8fCAhcmVzcG9uc2UuaXRlbXMgfHwgcmVzcG9uc2UuaXRlbXMubGVuZ3RoID09PSAwKSB7IHJldHVybjsgfVxyXG4gICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UuaXRlbXNbMF07XHJcblxyXG4gICAgICAgIGNvbnN0IGV4ZWNTdGF0dXMgPSBuZXcgRXhlY3V0aW9uU3RhdHVzKCk7XHJcbiAgICAgICAgZXhlY1N0YXR1cy5qb2JTY2hlZHVsZUlEID0gcmVzcG9uc2Uuam9iU2NoZWR1bGVJRDtcclxuICAgICAgICBleGVjU3RhdHVzLmV4ZWN1dGlvbklEID0gcmVzcG9uc2UuZXhlY3V0aW9uSUQ7XHJcbiAgICAgICAgZXhlY1N0YXR1cy5zdGFydGVkRGF0ZSA9IHJlc3BvbnNlLnN0YXJ0ZWREYXRlO1xyXG4gICAgICAgIGV4ZWNTdGF0dXMuZXJyb3IgPSByZXNwb25zZS5lcnJvcjtcclxuICAgICAgICBleGVjU3RhdHVzLnN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1cztcclxuXHJcbiAgICAgICAgcmV0dXJuIGV4ZWNTdGF0dXM7XHJcbiAgICB9XHJcblxyXG4gICAgZm9sbG93VXBFeGNCeUpvYlNjaGVkdWxlSUQoam9iU2NoZWR1bGVJRDogc3RyaW5nLCBpbnRlcnZhbE51bTogbnVtYmVyLCBmbmNDYWxsQmFjazogRnVuY3Rpb24sIGxvYWRpbmcgPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9sbG93VXBFeGVjdXRpb24oJ2pvYlNjaGVkdWxlSUQnLCBqb2JTY2hlZHVsZUlELCBpbnRlcnZhbE51bSwgZm5jQ2FsbEJhY2ssIGxvYWRpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIGZvbGxvd1VwRXhjQnlFeGVjdXRpb25JRChleGVjdXRpb25JRDogc3RyaW5nLCBpbnRlcnZhbE51bTogbnVtYmVyLCBmbmNDYWxsQmFjazogRnVuY3Rpb24sIGxvYWRpbmcgPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9sbG93VXBFeGVjdXRpb24oJ2V4ZWN1dGlvbklEJywgZXhlY3V0aW9uSUQsIGludGVydmFsTnVtLCBmbmNDYWxsQmFjaywgbG9hZGluZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmb2xsb3dVcEV4ZWN1dGlvbih0eXBlOiBzdHJpbmcsIGV4ZWNJRDogc3RyaW5nLFxyXG4gICAgICAgIGludGVydmFsTnVtOiBudW1iZXIsIGZuY0NhbGxCYWNrOiBGdW5jdGlvbiwgbG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xyXG5cclxuICAgICAgICB0aGlzLmpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQgPSBudWxsO1xyXG5cclxuICAgICAgICBjb25zdCBpbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBleGVjU3RhdHVzID0gbmV3IEV4ZWN1dGlvblN0YXR1cygpO1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzLmpvYlNjaGVkdWxlSUQgPSAodHlwZSA9PT0gJ2pvYlNjaGVkdWxlSUQnKSA/IGV4ZWNJRCA6ICcnO1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzLmV4ZWN1dGlvbklEID0gKHR5cGUgPT09ICdleGVjdXRpb25JRCcpID8gZXhlY0lEIDogJyc7XHJcbiAgICAgICAgICAgIGV4ZWNTdGF0dXMuc3RhcnRlZERhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzLmVycm9yID0gJyc7XHJcbiAgICAgICAgICAgIGV4ZWNTdGF0dXMuc3RhdHVzID0gJ1BFTkRJTkcnOyAvLyBQRU5ESU5HLCBSVU5OSU5HLCBTVUNDRVNTLCBGQUlMVVJFXHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5qb2JFeGVjdXRpb25TdWJzY3JpcHRpb24kKSB7IHJldHVybjsgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdqb2JTY2hlZHVsZUlEJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5qb2JFeGVjdXRpb25TdWJzY3JpcHRpb24kID0gdGhpcy5nZXRFeGVjdXRpb25CeUpvYlNjaGVkdWxlSUQoZXhlY0lELCBsb2FkaW5nKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBJRXhlY3V0aW9uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9sbG93VXBFeGVjUmV0dXJuT2soZXhlY0lELCBleGVjU3RhdHVzLCByZXNwb25zZSwgaW50ZXJ2YWxJRCwgZm5jQ2FsbEJhY2spO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvbGxvd1VwRXhlY1JldHVybkVycm9yKGVycm9yLCBleGVjU3RhdHVzLCBpbnRlcnZhbElELCBmbmNDYWxsQmFjayk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnZXhlY3V0aW9uSUQnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQgPSB0aGlzLmdldEV4ZWN1dGlvbkJ5RXhlY3V0aW9uSUQoZXhlY0lELCBsb2FkaW5nKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBJRXhlY3V0aW9uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9sbG93VXBFeGVjUmV0dXJuT2soZXhlY0lELCBleGVjU3RhdHVzLCByZXNwb25zZSwgaW50ZXJ2YWxJRCwgZm5jQ2FsbEJhY2spO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvbGxvd1VwRXhlY1JldHVybkVycm9yKGVycm9yLCBleGVjU3RhdHVzLCBpbnRlcnZhbElELCBmbmNDYWxsQmFjayk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSwgaW50ZXJ2YWxOdW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9sbG93VXBFeGVjUmV0dXJuT2soZXhlY0lEOiBzdHJpbmcsIGV4ZWNTdGF0dXM6IElFeGVjdXRpb25TdGF0dXMsIHJlc3BvbnNlOiBJRXhlY3V0aW9uU3RhdHVzLFxyXG4gICAgICAgIGludGVydmFsSUQ6IGFueSwgZm5jQ2FsbEJhY2s6IEZ1bmN0aW9uKTogdm9pZCB7XHJcblxyXG4gICAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzID0gcmVzcG9uc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZXhlY1N0YXR1cy5lcnJvciA9IGBBZ2VuZGFtZW50byBuw6NvIGVuY29udHJhZG8gY29tIElEOiAke2V4ZWNJRH1gO1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzLnN0YXR1cyA9ICdGQUlMVVJFJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghZm5jQ2FsbEJhY2soZXhlY1N0YXR1cykgfHxcclxuICAgICAgICAgICAgZXhlY1N0YXR1cy5zdGF0dXMgPT09ICdTVUNDRVNTJyB8fFxyXG4gICAgICAgICAgICBleGVjU3RhdHVzLnN0YXR1cyA9PT0gJ0ZBSUxVUkUnKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJRCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9sbG93VXBFeGVjUmV0dXJuRXJyb3IoZXJyb3I6IGFueSwgZXhlY1N0YXR1czogSUV4ZWN1dGlvblN0YXR1cyxcclxuICAgICAgICBpbnRlcnZhbElEOiBhbnksIGZuY0NhbGxCYWNrOiBGdW5jdGlvbik6IHZvaWQge1xyXG5cclxuICAgICAgICBsZXQgZXJyb0Rlc2MgPSAnJztcclxuXHJcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgZXJyb0Rlc2MgPSBlcnJvci5tZXNzYWdlO1xyXG4gICAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIGVycm9EZXNjID0gJyc7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IuY29kZSkgeyBlcnJvRGVzYyA9IGVycm9yLmVycm9yLmNvZGU7IH1cclxuICAgICAgICAgICAgICAgIGlmIChlcnJvci5lcnJvci5tZXNzYWdlKSB7IGVycm9EZXNjID0gYCR7ZXJyb0Rlc2N9IC0gJHtlcnJvci5lcnJvci5tZXNzYWdlfWA7IH1cclxuICAgICAgICAgICAgICAgIGlmIChlcnJvci5lcnJvci5kZXRhaWxlZE1lc3NhZ2UpIHsgZXJyb0Rlc2MgPSBgJHtlcnJvRGVzY30gLSAke2Vycm9yLmVycm9yLmRldGFpbGVkTWVzc2FnZX1gOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBlcnJvRGVzYyA9IGVycm9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZXhlY1N0YXR1cy5lcnJvciA9IGVycm9EZXNjO1xyXG4gICAgICAgIGV4ZWNTdGF0dXMuc3RhdHVzID0gJ0ZBSUxVUkUnO1xyXG4gICAgICAgIGZuY0NhbGxCYWNrKGV4ZWNTdGF0dXMpO1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJRCk7XHJcbiAgICAgICAgdGhpcy5qb2JFeGVjdXRpb25TdWJzY3JpcHRpb24kID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZFplcm8obnVtOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBzdHIgPSBgJHtudW19YDtcclxuICAgICAgICBpZiAobnVtIDwgMTApIHsgc3RyID0gYDAke251bX1gOyB9XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/dts-backoffice-util.module.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { NgModule } from '@angular/core';
|
|
7
|
-
import { TotvsScheduleExecutionComponent } from './components/totvs-schedule-execution/totvs-schedule-execution.component';
|
|
8
|
-
import { FormsModule } from '@angular/forms';
|
|
9
|
-
import { PoModule } from '@po-ui/ng-components';
|
|
10
|
-
import { HttpClientModule } from '@angular/common/http';
|
|
11
|
-
// import { BrowserModule } from '@angular/platform-browser';
|
|
12
|
-
import { TotvsScheduleExecutionService } from './components/totvs-schedule-execution/totvs-schedule-execution.service';
|
|
13
|
-
import { CommonModule } from '@angular/common';
|
|
14
|
-
import { DtsDateFormatPipe } from './pipes/dts-date-format.pipe';
|
|
15
|
-
export class DtsBackofficeUtilsModule {
|
|
16
|
-
/**
|
|
17
|
-
* @return {?}
|
|
18
|
-
*/
|
|
19
|
-
static forRoot() {
|
|
20
|
-
return {
|
|
21
|
-
ngModule: DtsBackofficeUtilsModule,
|
|
22
|
-
providers: [TotvsScheduleExecutionService]
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
DtsBackofficeUtilsModule.decorators = [
|
|
27
|
-
{ type: NgModule, args: [{
|
|
28
|
-
declarations: [
|
|
29
|
-
TotvsScheduleExecutionComponent,
|
|
30
|
-
DtsDateFormatPipe
|
|
31
|
-
],
|
|
32
|
-
imports: [
|
|
33
|
-
CommonModule,
|
|
34
|
-
PoModule,
|
|
35
|
-
FormsModule,
|
|
36
|
-
HttpClientModule
|
|
37
|
-
],
|
|
38
|
-
exports: [
|
|
39
|
-
TotvsScheduleExecutionComponent,
|
|
40
|
-
DtsDateFormatPipe
|
|
41
|
-
],
|
|
42
|
-
providers: [
|
|
43
|
-
TotvsScheduleExecutionService
|
|
44
|
-
]
|
|
45
|
-
},] }
|
|
46
|
-
];
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHRzLWJhY2tvZmZpY2UtdXRpbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovRGF0YXN1bC9USEYvZHRzLWJhY2tvZmZpY2UtdXRpbC12My9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kdHMtYmFja29mZmljZS11dGlsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFDTCwrQkFBK0IsRUFDaEMsTUFBTSwwRUFBMEUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFeEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDdkgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBc0JqRSxNQUFNLE9BQU8sd0JBQXdCOzs7O0lBQ25DLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7U0FDM0MsQ0FBQztJQUNKLENBQUM7OztZQTFCRixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLCtCQUErQjtvQkFDL0IsaUJBQWlCO2lCQUNsQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixRQUFRO29CQUNSLFdBQVc7b0JBQ1gsZ0JBQWdCO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsK0JBQStCO29CQUMvQixpQkFBaUI7aUJBQ2xCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCw2QkFBNkI7aUJBQzlCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFRvdHZzU2NoZWR1bGVFeGVjdXRpb25Db21wb25lbnRcclxufSBmcm9tICcuL2NvbXBvbmVudHMvdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUG9Nb2R1bGUsIFBvSTE4blNlcnZpY2UgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbi8vIGltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgVG90dnNTY2hlZHVsZUV4ZWN1dGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbXBvbmVudHMvdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRHRzRGF0ZUZvcm1hdFBpcGUgfSBmcm9tICcuL3BpcGVzL2R0cy1kYXRlLWZvcm1hdC5waXBlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUb3R2c1NjaGVkdWxlRXhlY3V0aW9uQ29tcG9uZW50LFxyXG4gICAgRHRzRGF0ZUZvcm1hdFBpcGVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFBvTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUb3R2c1NjaGVkdWxlRXhlY3V0aW9uQ29tcG9uZW50LFxyXG4gICAgRHRzRGF0ZUZvcm1hdFBpcGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgVG90dnNTY2hlZHVsZUV4ZWN1dGlvblNlcnZpY2VcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRHRzQmFja29mZmljZVV0aWxzTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPER0c0JhY2tvZmZpY2VVdGlsc01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IER0c0JhY2tvZmZpY2VVdGlsc01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbVG90dnNTY2hlZHVsZUV4ZWN1dGlvblNlcnZpY2VdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/interfaces/filter-range.interface.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* @record
|
|
8
|
-
*/
|
|
9
|
-
export function IFilterRangeCharacter() { }
|
|
10
|
-
if (false) {
|
|
11
|
-
/** @type {?} */
|
|
12
|
-
IFilterRangeCharacter.prototype.iniInitial;
|
|
13
|
-
/** @type {?} */
|
|
14
|
-
IFilterRangeCharacter.prototype.iniFinal;
|
|
15
|
-
/** @type {?} */
|
|
16
|
-
IFilterRangeCharacter.prototype.valInitial;
|
|
17
|
-
/** @type {?} */
|
|
18
|
-
IFilterRangeCharacter.prototype.valFinal;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* @record
|
|
22
|
-
*/
|
|
23
|
-
export function IFilterRangeNumber() { }
|
|
24
|
-
if (false) {
|
|
25
|
-
/** @type {?} */
|
|
26
|
-
IFilterRangeNumber.prototype.iniInitial;
|
|
27
|
-
/** @type {?} */
|
|
28
|
-
IFilterRangeNumber.prototype.iniFinal;
|
|
29
|
-
/** @type {?} */
|
|
30
|
-
IFilterRangeNumber.prototype.valInitial;
|
|
31
|
-
/** @type {?} */
|
|
32
|
-
IFilterRangeNumber.prototype.valFinal;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* @record
|
|
36
|
-
*/
|
|
37
|
-
export function IFilterRangeDate() { }
|
|
38
|
-
if (false) {
|
|
39
|
-
/** @type {?} */
|
|
40
|
-
IFilterRangeDate.prototype.iniInitial;
|
|
41
|
-
/** @type {?} */
|
|
42
|
-
IFilterRangeDate.prototype.iniFinal;
|
|
43
|
-
/** @type {?} */
|
|
44
|
-
IFilterRangeDate.prototype.valInitial;
|
|
45
|
-
/** @type {?} */
|
|
46
|
-
IFilterRangeDate.prototype.valFinal;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXJhbmdlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9EYXRhc3VsL1RIRi9kdHMtYmFja29mZmljZS11dGlsLXYzL3Byb2plY3RzL2R0cy1iYWNrb2ZmaWNlLXV0aWwvc3JjLyIsInNvdXJjZXMiOlsibGliL2ludGVyZmFjZXMvZmlsdGVyLXJhbmdlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLDJDQUtDOzs7SUFKQywyQ0FBbUI7O0lBQ25CLHlDQUFpQjs7SUFDakIsMkNBQW1COztJQUNuQix5Q0FBaUI7Ozs7O0FBR25CLHdDQUtDOzs7SUFKQyx3Q0FBbUI7O0lBQ25CLHNDQUFpQjs7SUFDakIsd0NBQW1COztJQUNuQixzQ0FBaUI7Ozs7O0FBR25CLHNDQUtDOzs7SUFKQyxzQ0FBaUI7O0lBQ2pCLG9DQUFlOztJQUNmLHNDQUFpQjs7SUFDakIsb0NBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElGaWx0ZXJSYW5nZUNoYXJhY3RlciB7XHJcbiAgaW5pSW5pdGlhbDogc3RyaW5nO1xyXG4gIGluaUZpbmFsOiBzdHJpbmc7XHJcbiAgdmFsSW5pdGlhbDogc3RyaW5nO1xyXG4gIHZhbEZpbmFsOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUZpbHRlclJhbmdlTnVtYmVyIHtcclxuICBpbmlJbml0aWFsOiBudW1iZXI7XHJcbiAgaW5pRmluYWw6IG51bWJlcjtcclxuICB2YWxJbml0aWFsOiBudW1iZXI7XHJcbiAgdmFsRmluYWw6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRmlsdGVyUmFuZ2VEYXRlIHtcclxuICBpbmlJbml0aWFsOiBEYXRlO1xyXG4gIGluaUZpbmFsOiBEYXRlO1xyXG4gIHZhbEluaXRpYWw6IERhdGU7XHJcbiAgdmFsRmluYWw6IERhdGU7XHJcbn1cclxuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/interfaces/totvs-response.interface.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* @record
|
|
8
|
-
* @template T
|
|
9
|
-
*/
|
|
10
|
-
export function TotvsResponse() { }
|
|
11
|
-
if (false) {
|
|
12
|
-
/** @type {?} */
|
|
13
|
-
TotvsResponse.prototype.items;
|
|
14
|
-
/** @type {?|undefined} */
|
|
15
|
-
TotvsResponse.prototype.hasNext;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG90dnMtcmVzcG9uc2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IkM6L0RhdGFzdWwvVEhGL2R0cy1iYWNrb2ZmaWNlLXV0aWwtdjMvcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJmYWNlcy90b3R2cy1yZXNwb25zZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsbUNBR0M7OztJQUZHLDhCQUFXOztJQUNYLGdDQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVG90dnNSZXNwb25zZTxUPiB7XHJcbiAgICBpdGVtczogVFtdO1xyXG4gICAgaGFzTmV4dD86IGJvb2xlYW47XHJcbn1cclxuIl19
|