@webex/calling 3.7.0-next.8 → 3.7.0-wxcc.1
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/dist/CallHistory/CallHistory.js +67 -195
- package/dist/CallHistory/CallHistory.js.map +1 -1
- package/dist/CallHistory/CallHistory.test.js +108 -331
- package/dist/CallHistory/CallHistory.test.js.map +1 -1
- package/dist/CallHistory/callHistoryFixtures.js +1 -25
- package/dist/CallHistory/callHistoryFixtures.js.map +1 -1
- package/dist/CallHistory/constants.js +1 -4
- package/dist/CallHistory/constants.js.map +1 -1
- package/dist/CallHistory/types.js.map +1 -1
- package/dist/CallingClient/CallingClient.js +2 -2
- package/dist/CallingClient/CallingClient.js.map +1 -1
- package/dist/CallingClient/CallingClient.test.js +2 -2
- package/dist/CallingClient/CallingClient.test.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.js +5 -14
- package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
- package/dist/CallingClient/calling/CallerId/index.test.js +6 -6
- package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
- package/dist/CallingClient/calling/call.js +348 -434
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +386 -516
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/CallingClient/calling/callManager.js +6 -6
- package/dist/CallingClient/calling/callManager.js.map +1 -1
- package/dist/CallingClient/calling/callManager.test.js +3 -3
- package/dist/CallingClient/calling/callManager.test.js.map +1 -1
- package/dist/CallingClient/calling/types.js +1 -6
- package/dist/CallingClient/calling/types.js.map +1 -1
- package/dist/CallingClient/constants.js +3 -2
- package/dist/CallingClient/constants.js.map +1 -1
- package/dist/CallingClient/line/index.js +7 -14
- package/dist/CallingClient/line/index.js.map +1 -1
- package/dist/CallingClient/line/line.test.js +22 -84
- package/dist/CallingClient/line/line.test.js.map +1 -1
- package/dist/CallingClient/line/types.js.map +1 -1
- package/dist/CallingClient/registration/register.js +59 -79
- package/dist/CallingClient/registration/register.js.map +1 -1
- package/dist/CallingClient/registration/register.test.js +1 -1
- package/dist/CallingClient/registration/register.test.js.map +1 -1
- package/dist/CallingClient/types.js.map +1 -1
- package/dist/Contacts/ContactsClient.js +14 -14
- package/dist/Contacts/ContactsClient.js.map +1 -1
- package/dist/Events/types.js +0 -2
- package/dist/Events/types.js.map +1 -1
- package/dist/common/Utils.js +13 -18
- package/dist/common/Utils.js.map +1 -1
- package/dist/common/Utils.test.js +0 -97
- package/dist/common/Utils.test.js.map +1 -1
- package/dist/common/constants.js +3 -4
- package/dist/common/constants.js.map +1 -1
- package/dist/common/types.js +0 -1
- package/dist/common/types.js.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/module/CallHistory/CallHistory.js +2 -64
- package/dist/module/CallHistory/callHistoryFixtures.js +0 -24
- package/dist/module/CallHistory/constants.js +0 -3
- package/dist/module/CallingClient/CallingClient.js +1 -1
- package/dist/module/CallingClient/calling/CallerId/index.js +6 -6
- package/dist/module/CallingClient/calling/call.js +22 -66
- package/dist/module/CallingClient/calling/callManager.js +5 -5
- package/dist/module/CallingClient/calling/types.js +0 -5
- package/dist/module/CallingClient/constants.js +2 -1
- package/dist/module/CallingClient/line/index.js +8 -14
- package/dist/module/CallingClient/registration/register.js +4 -12
- package/dist/module/Contacts/ContactsClient.js +2 -2
- package/dist/module/Events/types.js +0 -2
- package/dist/module/common/Utils.js +5 -12
- package/dist/module/common/constants.js +2 -3
- package/dist/module/common/types.js +0 -1
- package/dist/module/index.js +1 -0
- package/dist/types/CallHistory/CallHistory.d.ts +2 -4
- package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
- package/dist/types/CallHistory/callHistoryFixtures.d.ts +2 -6
- package/dist/types/CallHistory/callHistoryFixtures.d.ts.map +1 -1
- package/dist/types/CallHistory/constants.d.ts +0 -3
- package/dist/types/CallHistory/constants.d.ts.map +1 -1
- package/dist/types/CallHistory/types.d.ts +0 -9
- package/dist/types/CallHistory/types.d.ts.map +1 -1
- package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/CallerId/index.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/call.d.ts +5 -7
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts +1 -1
- package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
- package/dist/types/CallingClient/calling/types.d.ts +2 -6
- package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
- package/dist/types/CallingClient/constants.d.ts +2 -1
- package/dist/types/CallingClient/constants.d.ts.map +1 -1
- package/dist/types/CallingClient/line/index.d.ts +2 -3
- package/dist/types/CallingClient/line/index.d.ts.map +1 -1
- package/dist/types/CallingClient/line/types.d.ts +1 -1
- package/dist/types/CallingClient/line/types.d.ts.map +1 -1
- package/dist/types/CallingClient/registration/register.d.ts +2 -4
- package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
- package/dist/types/CallingClient/types.d.ts +0 -1
- package/dist/types/CallingClient/types.d.ts.map +1 -1
- package/dist/types/Contacts/ContactsClient.d.ts +1 -1
- package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
- package/dist/types/Events/types.d.ts +2 -15
- package/dist/types/Events/types.d.ts.map +1 -1
- package/dist/types/Voicemail/UcmBackendConnector.d.ts +1 -1
- package/dist/types/Voicemail/WxCallBackendConnector.d.ts +1 -1
- package/dist/types/common/Utils.d.ts +2 -2
- package/dist/types/common/Utils.d.ts.map +1 -1
- package/dist/types/common/constants.d.ts +0 -1
- package/dist/types/common/constants.d.ts.map +1 -1
- package/dist/types/common/types.d.ts +1 -2
- package/dist/types/common/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -14,7 +14,6 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
14
14
|
exports.createCallHistoryClient = exports.CallHistory = void 0;
|
|
15
15
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
16
16
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
17
|
-
var _isNan = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/number/is-nan"));
|
|
18
17
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
19
18
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
20
19
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
@@ -101,24 +100,6 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
101
100
|
return _ref2.apply(this, arguments);
|
|
102
101
|
};
|
|
103
102
|
}());
|
|
104
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleUserSessionsDeletedEvents", /*#__PURE__*/function () {
|
|
105
|
-
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(event) {
|
|
106
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
107
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
108
|
-
case 0:
|
|
109
|
-
if (event && event.data.deletedSessions) {
|
|
110
|
-
_this.emit(_types2.COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED, event);
|
|
111
|
-
}
|
|
112
|
-
case 1:
|
|
113
|
-
case "end":
|
|
114
|
-
return _context3.stop();
|
|
115
|
-
}
|
|
116
|
-
}, _callee3);
|
|
117
|
-
}));
|
|
118
|
-
return function (_x3) {
|
|
119
|
-
return _ref3.apply(this, arguments);
|
|
120
|
-
};
|
|
121
|
-
}());
|
|
122
103
|
_this.sdkConnector = _SDKConnector.default;
|
|
123
104
|
if (!_this.sdkConnector.getWebex()) {
|
|
124
105
|
_SDKConnector.default.setWebex(webex);
|
|
@@ -140,7 +121,7 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
140
121
|
(0, _createClass2.default)(CallHistory, [{
|
|
141
122
|
key: "getCallHistoryData",
|
|
142
123
|
value: (function () {
|
|
143
|
-
var _getCallHistoryData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
124
|
+
var _getCallHistoryData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
144
125
|
var days,
|
|
145
126
|
limit,
|
|
146
127
|
sort,
|
|
@@ -158,14 +139,14 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
158
139
|
responseDetails,
|
|
159
140
|
errorInfo,
|
|
160
141
|
errorStatus,
|
|
161
|
-
|
|
162
|
-
return _regenerator.default.wrap(function
|
|
163
|
-
while (1) switch (
|
|
142
|
+
_args3 = arguments;
|
|
143
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
144
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
164
145
|
case 0:
|
|
165
|
-
days =
|
|
166
|
-
limit =
|
|
167
|
-
sort =
|
|
168
|
-
sortBy =
|
|
146
|
+
days = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : _constants.NUMBER_OF_DAYS;
|
|
147
|
+
limit = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : _constants.LIMIT;
|
|
148
|
+
sort = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : _types.SORT.DEFAULT;
|
|
149
|
+
sortBy = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : _types.SORT_BY.DEFAULT;
|
|
169
150
|
/*
|
|
170
151
|
1. Mandatory field for Janus API - fromDate
|
|
171
152
|
2. Calculating the fromDate by deducting the NUMBER_OF_DAYS with the current date
|
|
@@ -180,15 +161,15 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
180
161
|
_Logger.default.info("Call history sort type : ".concat(sortParam), this.loggerContext);
|
|
181
162
|
_Logger.default.info("Call history sortby type : ".concat(sortByParam), this.loggerContext);
|
|
182
163
|
url = "".concat(this.janusUrl, "/").concat(_constants.HISTORY, "/").concat(_constants2.USER_SESSIONS).concat(_constants.FROM_DATE, "=").concat(this.fromDate, "&limit=").concat(limit, "&includeNewSessionTypes=true&sort=").concat(sortParam);
|
|
183
|
-
|
|
184
|
-
|
|
164
|
+
_context3.prev = 14;
|
|
165
|
+
_context3.next = 17;
|
|
185
166
|
return this.webex.request({
|
|
186
167
|
uri: "".concat(url),
|
|
187
168
|
method: _types.HTTP_METHODS.GET,
|
|
188
169
|
service: _types.ALLOWED_SERVICES.JANUS
|
|
189
170
|
});
|
|
190
171
|
case 17:
|
|
191
|
-
janusResponse =
|
|
172
|
+
janusResponse = _context3.sent;
|
|
192
173
|
this.userSessions = janusResponse.body;
|
|
193
174
|
if (sortByParam === _types.SORT_BY.START_TIME) {
|
|
194
175
|
if (sortParam === _types.SORT.DESC) {
|
|
@@ -204,11 +185,11 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
204
185
|
// Check the calling backend
|
|
205
186
|
callingBackend = (0, _Utils.getCallingBackEnd)(this.webex);
|
|
206
187
|
if (!(callingBackend === _types.CALLING_BACKEND.UCM)) {
|
|
207
|
-
|
|
188
|
+
_context3.next = 29;
|
|
208
189
|
break;
|
|
209
190
|
}
|
|
210
191
|
if (!(this.userSessions[_constants2.USER_SESSIONS] && this.userSessions[_constants2.USER_SESSIONS].length > 0)) {
|
|
211
|
-
|
|
192
|
+
_context3.next = 29;
|
|
212
193
|
break;
|
|
213
194
|
}
|
|
214
195
|
// Check if cucmDN exists and is valid in any of the userSessions
|
|
@@ -216,13 +197,13 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
216
197
|
return session.self.cucmDN && session.self.cucmDN.length > 0;
|
|
217
198
|
}); // If any user session has cucmDN, proceed to fetch line data
|
|
218
199
|
if (!hasCucmDN) {
|
|
219
|
-
|
|
200
|
+
_context3.next = 29;
|
|
220
201
|
break;
|
|
221
202
|
}
|
|
222
|
-
|
|
203
|
+
_context3.next = 27;
|
|
223
204
|
return this.fetchUCMLinesData();
|
|
224
205
|
case 27:
|
|
225
|
-
ucmLinesResponse =
|
|
206
|
+
ucmLinesResponse = _context3.sent;
|
|
226
207
|
// Check if the Lines API response was successful
|
|
227
208
|
if (ucmLinesResponse.statusCode === 200 && (_ucmLinesResponse$dat = ucmLinesResponse.data.lines) !== null && _ucmLinesResponse$dat !== void 0 && _ucmLinesResponse$dat.devices) {
|
|
228
209
|
ucmLinesData = ucmLinesResponse.data.lines.devices; // Iterate over user sessions and match with Lines data
|
|
@@ -247,18 +228,18 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
247
228
|
},
|
|
248
229
|
message: _constants2.SUCCESS_MESSAGE
|
|
249
230
|
};
|
|
250
|
-
return
|
|
231
|
+
return _context3.abrupt("return", responseDetails);
|
|
251
232
|
case 33:
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
errorInfo =
|
|
233
|
+
_context3.prev = 33;
|
|
234
|
+
_context3.t0 = _context3["catch"](14);
|
|
235
|
+
errorInfo = _context3.t0;
|
|
255
236
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, this.loggerContext);
|
|
256
|
-
return
|
|
237
|
+
return _context3.abrupt("return", errorStatus);
|
|
257
238
|
case 38:
|
|
258
239
|
case "end":
|
|
259
|
-
return
|
|
240
|
+
return _context3.stop();
|
|
260
241
|
}
|
|
261
|
-
},
|
|
242
|
+
}, _callee3, this, [[14, 33]]);
|
|
262
243
|
}));
|
|
263
244
|
function getCallHistoryData() {
|
|
264
245
|
return _getCallHistoryData.apply(this, arguments);
|
|
@@ -274,10 +255,10 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
274
255
|
}, {
|
|
275
256
|
key: "updateMissedCalls",
|
|
276
257
|
value: (function () {
|
|
277
|
-
var _updateMissedCalls = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
258
|
+
var _updateMissedCalls = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(endTimeSessionIds) {
|
|
278
259
|
var loggerContext, santizedSessionIds, requestBody, updateMissedCallContentUrl, response, data, responseDetails, errorInfo, errorStatus;
|
|
279
|
-
return _regenerator.default.wrap(function
|
|
280
|
-
while (1) switch (
|
|
260
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
261
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
281
262
|
case 0:
|
|
282
263
|
loggerContext = {
|
|
283
264
|
file: _constants.CALL_HISTORY_FILE,
|
|
@@ -291,38 +272,38 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
291
272
|
requestBody = {
|
|
292
273
|
endTimeSessionIds: santizedSessionIds
|
|
293
274
|
};
|
|
294
|
-
|
|
275
|
+
_context4.prev = 3;
|
|
295
276
|
updateMissedCallContentUrl = "".concat(this.janusUrl, "/").concat(_constants.HISTORY, "/").concat(_constants2.USER_SESSIONS, "/").concat(_constants.UPDATE_MISSED_CALLS_ENDPOINT); // Make a POST request to update missed calls
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
277
|
+
_context4.t0 = fetch;
|
|
278
|
+
_context4.t1 = updateMissedCallContentUrl;
|
|
279
|
+
_context4.t2 = _types.HTTP_METHODS.POST;
|
|
280
|
+
_context4.t3 = _defineProperty2.default;
|
|
281
|
+
_context4.t4 = (0, _defineProperty2.default)({}, _constants.CONTENT_TYPE, _constants.APPLICATION_JSON);
|
|
282
|
+
_context4.next = 12;
|
|
302
283
|
return this.webex.credentials.getUserToken();
|
|
303
284
|
case 12:
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
method:
|
|
309
|
-
headers:
|
|
310
|
-
body:
|
|
285
|
+
_context4.t5 = _context4.sent;
|
|
286
|
+
_context4.t6 = (0, _context4.t3)(_context4.t4, "Authorization", _context4.t5);
|
|
287
|
+
_context4.t7 = (0, _stringify.default)(requestBody);
|
|
288
|
+
_context4.t8 = {
|
|
289
|
+
method: _context4.t2,
|
|
290
|
+
headers: _context4.t6,
|
|
291
|
+
body: _context4.t7
|
|
311
292
|
};
|
|
312
|
-
|
|
313
|
-
return (0,
|
|
293
|
+
_context4.next = 18;
|
|
294
|
+
return (0, _context4.t0)(_context4.t1, _context4.t8);
|
|
314
295
|
case 18:
|
|
315
|
-
response =
|
|
296
|
+
response = _context4.sent;
|
|
316
297
|
if (response.ok) {
|
|
317
|
-
|
|
298
|
+
_context4.next = 21;
|
|
318
299
|
break;
|
|
319
300
|
}
|
|
320
301
|
throw new Error("".concat(response.status));
|
|
321
302
|
case 21:
|
|
322
|
-
|
|
303
|
+
_context4.next = 23;
|
|
323
304
|
return response.json();
|
|
324
305
|
case 23:
|
|
325
|
-
data =
|
|
306
|
+
data = _context4.sent;
|
|
326
307
|
_Logger.default.info("Missed calls are succesfully read by the user", loggerContext);
|
|
327
308
|
responseDetails = {
|
|
328
309
|
statusCode: data.statusCode,
|
|
@@ -331,23 +312,23 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
331
312
|
},
|
|
332
313
|
message: _constants2.SUCCESS_MESSAGE
|
|
333
314
|
};
|
|
334
|
-
return
|
|
315
|
+
return _context4.abrupt("return", responseDetails);
|
|
335
316
|
case 29:
|
|
336
|
-
|
|
337
|
-
|
|
317
|
+
_context4.prev = 29;
|
|
318
|
+
_context4.t9 = _context4["catch"](3);
|
|
338
319
|
// Catch the 401 error from try block, return the error object to user
|
|
339
320
|
errorInfo = {
|
|
340
|
-
statusCode:
|
|
321
|
+
statusCode: _context4.t9 instanceof Error ? Number(_context4.t9.message) : ''
|
|
341
322
|
};
|
|
342
323
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
343
|
-
return
|
|
324
|
+
return _context4.abrupt("return", errorStatus);
|
|
344
325
|
case 34:
|
|
345
326
|
case "end":
|
|
346
|
-
return
|
|
327
|
+
return _context4.stop();
|
|
347
328
|
}
|
|
348
|
-
},
|
|
329
|
+
}, _callee4, this, [[3, 29]]);
|
|
349
330
|
}));
|
|
350
|
-
function updateMissedCalls(
|
|
331
|
+
function updateMissedCalls(_x3) {
|
|
351
332
|
return _updateMissedCalls.apply(this, arguments);
|
|
352
333
|
}
|
|
353
334
|
return updateMissedCalls;
|
|
@@ -360,10 +341,10 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
360
341
|
}, {
|
|
361
342
|
key: "fetchUCMLinesData",
|
|
362
343
|
value: (function () {
|
|
363
|
-
var _fetchUCMLinesData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
344
|
+
var _fetchUCMLinesData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
364
345
|
var loggerContext, vgEndpoint, userId, orgId, linesURIForUCM, response, ucmLineDetails, errorInfo, errorStatus;
|
|
365
|
-
return _regenerator.default.wrap(function
|
|
366
|
-
while (1) switch (
|
|
346
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
347
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
367
348
|
case 0:
|
|
368
349
|
loggerContext = {
|
|
369
350
|
file: _constants.CALL_HISTORY_FILE,
|
|
@@ -373,14 +354,14 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
373
354
|
userId = this.webex.internal.device.userId;
|
|
374
355
|
orgId = this.webex.internal.device.orgId;
|
|
375
356
|
linesURIForUCM = "".concat(vgEndpoint, "/").concat(_constants.VERSION_1, "/").concat(_constants.UNIFIED_COMMUNICATIONS, "/").concat(_constants.CONFIG, "/").concat(_constants.PEOPLE, "/").concat(userId, "/").concat(_constants.LINES, "?").concat(_constants.ORG_ID, "=").concat(orgId);
|
|
376
|
-
|
|
377
|
-
|
|
357
|
+
_context5.prev = 5;
|
|
358
|
+
_context5.next = 8;
|
|
378
359
|
return this.webex.request({
|
|
379
360
|
uri: "".concat(linesURIForUCM),
|
|
380
361
|
method: _types.HTTP_METHODS.GET
|
|
381
362
|
});
|
|
382
363
|
case 8:
|
|
383
|
-
response =
|
|
364
|
+
response = _context5.sent;
|
|
384
365
|
ucmLineDetails = {
|
|
385
366
|
statusCode: Number(response.statusCode),
|
|
386
367
|
data: {
|
|
@@ -389,131 +370,23 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
389
370
|
message: _constants2.SUCCESS_MESSAGE
|
|
390
371
|
};
|
|
391
372
|
_Logger.default.info("Line details fetched successfully", loggerContext);
|
|
392
|
-
return
|
|
373
|
+
return _context5.abrupt("return", ucmLineDetails);
|
|
393
374
|
case 14:
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
errorInfo =
|
|
375
|
+
_context5.prev = 14;
|
|
376
|
+
_context5.t0 = _context5["catch"](5);
|
|
377
|
+
errorInfo = _context5.t0;
|
|
397
378
|
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
398
|
-
return
|
|
379
|
+
return _context5.abrupt("return", errorStatus);
|
|
399
380
|
case 19:
|
|
400
381
|
case "end":
|
|
401
|
-
return
|
|
382
|
+
return _context5.stop();
|
|
402
383
|
}
|
|
403
|
-
},
|
|
384
|
+
}, _callee5, this, [[5, 14]]);
|
|
404
385
|
}));
|
|
405
386
|
function fetchUCMLinesData() {
|
|
406
387
|
return _fetchUCMLinesData.apply(this, arguments);
|
|
407
388
|
}
|
|
408
389
|
return fetchUCMLinesData;
|
|
409
|
-
}()
|
|
410
|
-
/**
|
|
411
|
-
* Function to delete the call history records using sessionId and endTime.
|
|
412
|
-
* @param deleteSessionIds - An array of objects containing endTime and sessionId of the call history records
|
|
413
|
-
* @returns {Promise} Resolves to an object of type {@link DeleteCallHistoryRecordsResponse}.Response details with success or error status.
|
|
414
|
-
*/
|
|
415
|
-
)
|
|
416
|
-
}, {
|
|
417
|
-
key: "deleteCallHistoryRecords",
|
|
418
|
-
value: (function () {
|
|
419
|
-
var _deleteCallHistoryRecords = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(deleteSessionIds) {
|
|
420
|
-
var loggerContext, invalidSessions, invalidSessionIds, santizedSessionIds, deleteRequestBody, deleteCallHistoryRecordContentUrl, response, data, responseDetails, errorInfo, errorStatus;
|
|
421
|
-
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
422
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
423
|
-
case 0:
|
|
424
|
-
loggerContext = {
|
|
425
|
-
file: _constants.CALL_HISTORY_FILE,
|
|
426
|
-
method: 'deleteCallHistoryRecords'
|
|
427
|
-
}; // Collect all sessions with invalid dates (endTime) in an array
|
|
428
|
-
invalidSessions = deleteSessionIds.filter(function (session) {
|
|
429
|
-
return (0, _isNan.default)(new Date(session.endTime).getTime());
|
|
430
|
-
});
|
|
431
|
-
if (!(invalidSessions.length > 0)) {
|
|
432
|
-
_context7.next = 6;
|
|
433
|
-
break;
|
|
434
|
-
}
|
|
435
|
-
// If there are invalid sessions, return an error with details
|
|
436
|
-
invalidSessionIds = invalidSessions.map(function (session) {
|
|
437
|
-
return session.sessionId;
|
|
438
|
-
}).join(', ');
|
|
439
|
-
_Logger.default.info("The provided date is malformed or invalid for session IDs: ".concat(invalidSessionIds), loggerContext);
|
|
440
|
-
return _context7.abrupt("return", {
|
|
441
|
-
statusCode: 400,
|
|
442
|
-
data: {
|
|
443
|
-
deleteStatusMessage: _constants.SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE
|
|
444
|
-
},
|
|
445
|
-
message: _constants2.FAILURE_MESSAGE
|
|
446
|
-
});
|
|
447
|
-
case 6:
|
|
448
|
-
// Convert endTime to milliseconds for each sessionId
|
|
449
|
-
santizedSessionIds = deleteSessionIds.map(function (session) {
|
|
450
|
-
return _objectSpread(_objectSpread({}, session), {}, {
|
|
451
|
-
endTime: new Date(session.endTime).getTime()
|
|
452
|
-
});
|
|
453
|
-
});
|
|
454
|
-
deleteRequestBody = {
|
|
455
|
-
deleteSessionIds: santizedSessionIds
|
|
456
|
-
};
|
|
457
|
-
_context7.prev = 8;
|
|
458
|
-
deleteCallHistoryRecordContentUrl = "".concat(this.janusUrl, "/").concat(_constants.HISTORY, "/").concat(_constants2.USER_SESSIONS, "/").concat(_constants.DELETE_CALL_HISTORY_RECORDS_ENDPOINT); // Make a POST request to delete call history records
|
|
459
|
-
_context7.t0 = fetch;
|
|
460
|
-
_context7.t1 = deleteCallHistoryRecordContentUrl;
|
|
461
|
-
_context7.t2 = _types.HTTP_METHODS.POST;
|
|
462
|
-
_context7.t3 = _defineProperty2.default;
|
|
463
|
-
_context7.t4 = (0, _defineProperty2.default)({}, _constants.CONTENT_TYPE, _constants.APPLICATION_JSON);
|
|
464
|
-
_context7.next = 17;
|
|
465
|
-
return this.webex.credentials.getUserToken();
|
|
466
|
-
case 17:
|
|
467
|
-
_context7.t5 = _context7.sent;
|
|
468
|
-
_context7.t6 = (0, _context7.t3)(_context7.t4, "Authorization", _context7.t5);
|
|
469
|
-
_context7.t7 = (0, _stringify.default)(deleteRequestBody);
|
|
470
|
-
_context7.t8 = {
|
|
471
|
-
method: _context7.t2,
|
|
472
|
-
headers: _context7.t6,
|
|
473
|
-
body: _context7.t7
|
|
474
|
-
};
|
|
475
|
-
_context7.next = 23;
|
|
476
|
-
return (0, _context7.t0)(_context7.t1, _context7.t8);
|
|
477
|
-
case 23:
|
|
478
|
-
response = _context7.sent;
|
|
479
|
-
if (response.ok) {
|
|
480
|
-
_context7.next = 26;
|
|
481
|
-
break;
|
|
482
|
-
}
|
|
483
|
-
throw new Error("".concat(response.status));
|
|
484
|
-
case 26:
|
|
485
|
-
_context7.next = 28;
|
|
486
|
-
return response.json();
|
|
487
|
-
case 28:
|
|
488
|
-
data = _context7.sent;
|
|
489
|
-
_Logger.default.info("Call history records are succesfully deleted by the user", loggerContext);
|
|
490
|
-
responseDetails = {
|
|
491
|
-
statusCode: data.statusCode,
|
|
492
|
-
data: {
|
|
493
|
-
deleteStatusMessage: _constants.SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE
|
|
494
|
-
},
|
|
495
|
-
message: _constants2.SUCCESS_MESSAGE
|
|
496
|
-
};
|
|
497
|
-
return _context7.abrupt("return", responseDetails);
|
|
498
|
-
case 34:
|
|
499
|
-
_context7.prev = 34;
|
|
500
|
-
_context7.t9 = _context7["catch"](8);
|
|
501
|
-
// Catch the 401 error from try block, return the error object to user
|
|
502
|
-
errorInfo = {
|
|
503
|
-
statusCode: _context7.t9 instanceof Error ? Number(_context7.t9.message) : ''
|
|
504
|
-
};
|
|
505
|
-
errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
|
|
506
|
-
return _context7.abrupt("return", errorStatus);
|
|
507
|
-
case 39:
|
|
508
|
-
case "end":
|
|
509
|
-
return _context7.stop();
|
|
510
|
-
}
|
|
511
|
-
}, _callee7, this, [[8, 34]]);
|
|
512
|
-
}));
|
|
513
|
-
function deleteCallHistoryRecords(_x5) {
|
|
514
|
-
return _deleteCallHistoryRecords.apply(this, arguments);
|
|
515
|
-
}
|
|
516
|
-
return deleteCallHistoryRecords;
|
|
517
390
|
}())
|
|
518
391
|
}, {
|
|
519
392
|
key: "registerSessionsListener",
|
|
@@ -525,7 +398,6 @@ var CallHistory = exports.CallHistory = /*#__PURE__*/function (_Eventing) {
|
|
|
525
398
|
this.sdkConnector.registerListener(_types2.MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE, this.handleSessionEvents);
|
|
526
399
|
this.sdkConnector.registerListener(_types2.MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY, this.handleSessionEvents);
|
|
527
400
|
this.sdkConnector.registerListener(_types2.MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED, this.handleUserReadSessionEvents);
|
|
528
|
-
this.sdkConnector.registerListener(_types2.MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED, this.handleUserSessionsDeletedEvents);
|
|
529
401
|
}
|
|
530
402
|
}]);
|
|
531
403
|
return CallHistory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_types","_Logger","_Utils","_constants","_constants2","_types2","_impl","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","CallHistory","exports","_Eventing","_inherits2","_super","webex","logger","_this","_classCallCheck2","_assertThisInitialized2","file","CALL_HISTORY_FILE","method","_ref","_asyncToGenerator2","_regenerator","mark","_callee","event","wrap","_callee$","_context","prev","next","data","userSessions","emit","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","stop","_x","_ref2","_callee2","_callee2$","_context2","userReadSessions","CALL_HISTORY_USER_VIEWED_SESSIONS","_x2","_ref3","_callee3","_callee3$","_context3","deletedSessions","CALL_HISTORY_USER_SESSIONS_DELETED","_x3","sdkConnector","SDKConnector","getWebex","setWebex","janusUrl","internal","services","_serviceUrls","janus","registerSessionsListener","log","setLogger","level","_createClass2","key","value","_getCallHistoryData","_callee4","days","limit","sort","sortBy","date","sortByParam","sortParam","url","janusResponse","callingBackend","hasCucmDN","_ucmLinesResponse$dat","ucmLinesResponse","ucmLinesData","responseDetails","errorInfo","errorStatus","_args4","_callee4$","_context4","undefined","NUMBER_OF_DAYS","LIMIT","SORT","DEFAULT","SORT_BY","Date","setDate","getDate","fromDate","toISOString","_values","includes","concat","loggerContext","info","HISTORY","USER_SESSIONS","FROM_DATE","request","uri","HTTP_METHODS","GET","service","ALLOWED_SERVICES","JANUS","sent","body","START_TIME","DESC","element","compareElement","getTime","ASC","getCallingBackEnd","CALLING_BACKEND","UCM","some","session","self","cucmDN","fetchUCMLinesData","statusCode","lines","devices","device","line","dnorpattern","ucmLineNumber","index","STATUS_CODE","message","SUCCESS_MESSAGE","abrupt","t0","serviceErrorCodeHandler","getCallHistoryData","_updateMissedCalls","_callee5","endTimeSessionIds","santizedSessionIds","requestBody","updateMissedCallContentUrl","response","_callee5$","_context5","map","endTime","UPDATE_MISSED_CALLS_ENDPOINT","fetch","t1","t2","POST","t3","t4","CONTENT_TYPE","APPLICATION_JSON","credentials","getUserToken","t5","t6","t7","_stringify","t8","headers","ok","Error","status","json","readStatusMessage","SET_READ_STATE_SUCCESS_MESSAGE","t9","Number","updateMissedCalls","_x4","_fetchUCMLinesData","_callee6","vgEndpoint","userId","orgId","linesURIForUCM","ucmLineDetails","_callee6$","_context6","getVgActionEndpoint","VERSION_1","UNIFIED_COMMUNICATIONS","CONFIG","PEOPLE","LINES","ORG_ID","_deleteCallHistoryRecords","_callee7","deleteSessionIds","invalidSessions","invalidSessionIds","deleteRequestBody","deleteCallHistoryRecordContentUrl","_callee7$","_context7","_isNan","sessionId","join","deleteStatusMessage","SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE","FAILURE_MESSAGE","DELETE_CALL_HISTORY_RECORDS_ENDPOINT","SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE","deleteCallHistoryRecords","_x5","registerListener","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","handleSessionEvents","CALL_SESSION_EVENT_LEGACY","CALL_SESSION_EVENT_VIEWED","handleUserReadSessionEvents","CALL_SESSION_EVENT_DELETED","handleUserSessionsDeletedEvents","Eventing","createCallHistoryClient"],"sources":["CallHistory.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n ALLOWED_SERVICES,\n HTTP_METHODS,\n WebexRequestPayload,\n SORT,\n SORT_BY,\n CALLING_BACKEND,\n} from '../common/types';\nimport {\n ICallHistory,\n JanusResponseEvent,\n LoggerInterface,\n UpdateMissedCallsResponse,\n UCMLinesResponse,\n DeleteCallHistoryRecordsResponse,\n} from './types';\nimport log from '../Logger';\nimport {serviceErrorCodeHandler, getVgActionEndpoint, getCallingBackEnd} from '../common/Utils';\nimport {\n APPLICATION_JSON,\n CALL_HISTORY_FILE,\n CONTENT_TYPE,\n FROM_DATE,\n HISTORY,\n LIMIT,\n NUMBER_OF_DAYS,\n UPDATE_MISSED_CALLS_ENDPOINT,\n SET_READ_STATE_SUCCESS_MESSAGE,\n VERSION_1,\n UNIFIED_COMMUNICATIONS,\n CONFIG,\n PEOPLE,\n LINES,\n ORG_ID,\n DELETE_CALL_HISTORY_RECORDS_ENDPOINT,\n SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE,\n SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE,\n} from './constants';\nimport {FAILURE_MESSAGE, STATUS_CODE, SUCCESS_MESSAGE, USER_SESSIONS} from '../common/constants';\nimport {\n COMMON_EVENT_KEYS,\n CallHistoryEventTypes,\n CallSessionEvent,\n MOBIUS_EVENT_KEYS,\n UserSession,\n EndTimeSessionId,\n CallSessionViewedEvent,\n SanitizedEndTimeAndSessionId,\n UCMLinesApiResponse,\n CallSessionDeletedEvent,\n} from '../Events/types';\nimport {Eventing} from '../Events/impl';\n/**\n * `CallHistory` module is designed to facilitate the retrieval of Call History Records by providing a set of APIs.\n *\n * This code snippet demonstrates how to create an instance of `CallHistory` using webex and logger.\n *\n * @example\n * ```javascript\n * const callHistory = createCallHistoryClient(webex, logger);\n * ```\n */\nexport class CallHistory extends Eventing<CallHistoryEventTypes> implements ICallHistory {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private janusUrl = '';\n\n private fromDate = '';\n\n private loggerContext = {\n file: CALL_HISTORY_FILE,\n method: 'getCallHistoryData',\n };\n\n private userSessions: UserSession[] | undefined;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n super();\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.janusUrl = this.webex.internal.services._serviceUrls.janus;\n this.registerSessionsListener();\n log.setLogger(logger.level, CALL_HISTORY_FILE);\n }\n\n /**\n * Function to display the Janus API response.\n * @param days - Number of days to fetch the call history data.\n * @param limit - Number of records to be fetched.\n * @param sort - Sort the records in ascending or descending order.\n * @param sortBy - Sort the records by start time or end time.\n */\n public async getCallHistoryData(\n days: number = NUMBER_OF_DAYS,\n limit: number = LIMIT,\n sort: SORT = SORT.DEFAULT,\n sortBy: SORT_BY = SORT_BY.DEFAULT\n ): Promise<JanusResponseEvent> {\n /*\n 1. Mandatory field for Janus API - fromDate\n 2. Calculating the fromDate by deducting the NUMBER_OF_DAYS with the current date\n */\n const date = new Date();\n\n date.setDate(date.getDate() - days);\n this.fromDate = date.toISOString();\n const sortByParam = Object.values(SORT_BY).includes(sortBy) ? sortBy : SORT_BY.DEFAULT;\n const sortParam = Object.values(SORT).includes(sort) ? sort : SORT.DEFAULT;\n\n log.log(`Janus API URL ${this.janusUrl}`, this.loggerContext);\n log.info(`Call history from date : ${this.fromDate}`, this.loggerContext);\n log.info(`Call history sort type : ${sortParam}`, this.loggerContext);\n log.info(`Call history sortby type : ${sortByParam}`, this.loggerContext);\n const url = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}${FROM_DATE}=${this.fromDate}&limit=${limit}&includeNewSessionTypes=true&sort=${sortParam}`;\n\n try {\n const janusResponse = <WebexRequestPayload>await this.webex.request({\n uri: `${url}`,\n method: HTTP_METHODS.GET,\n service: ALLOWED_SERVICES.JANUS,\n });\n\n this.userSessions = janusResponse.body as UserSession[];\n if (sortByParam === SORT_BY.START_TIME) {\n if (sortParam === SORT.DESC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(compareElement[sortByParam]).getTime() -\n new Date(element[sortByParam]).getTime()\n );\n } else if (sortParam === SORT.ASC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(element[sortByParam]).getTime() -\n new Date(compareElement[sortByParam]).getTime()\n );\n }\n }\n // Check the calling backend\n const callingBackend = getCallingBackEnd(this.webex);\n if (callingBackend === CALLING_BACKEND.UCM) {\n // Check if userSessions exist and the length is greater than 0\n if (this.userSessions[USER_SESSIONS] && this.userSessions[USER_SESSIONS].length > 0) {\n // Check if cucmDN exists and is valid in any of the userSessions\n const hasCucmDN = this.userSessions[USER_SESSIONS].some(\n (session: UserSession) => session.self.cucmDN && session.self.cucmDN.length > 0\n );\n // If any user session has cucmDN, proceed to fetch line data\n if (hasCucmDN) {\n // Fetch the Lines data\n const ucmLinesResponse = await this.fetchUCMLinesData();\n\n // Check if the Lines API response was successful\n if (ucmLinesResponse.statusCode === 200 && ucmLinesResponse.data.lines?.devices) {\n const ucmLinesData = ucmLinesResponse.data.lines.devices;\n\n // Iterate over user sessions and match with Lines data\n this.userSessions[USER_SESSIONS].forEach((session: UserSession) => {\n const cucmDN = session.self.cucmDN;\n\n if (cucmDN) {\n ucmLinesData.forEach((device) => {\n device.lines.forEach((line) => {\n if (line.dnorpattern === cucmDN) {\n session.self.ucmLineNumber = line.index; // Assign the ucmLineNumber\n }\n });\n });\n }\n });\n }\n }\n }\n }\n\n const responseDetails = {\n statusCode: this.userSessions[STATUS_CODE],\n data: {\n userSessions: this.userSessions[USER_SESSIONS],\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, this.loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to update the missed call status in the call history using sessionId and time.\n * @param endTimeSessionIds - An array of objects containing endTime and sessionId of the missed call history records\n * @returns {Promise} Resolves to an object of type {@link UpdateMissedCallsResponse}.Response details with success or error status.\n */\n public async updateMissedCalls(\n endTimeSessionIds: EndTimeSessionId[]\n ): Promise<UpdateMissedCallsResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: 'updateMissedCalls',\n };\n // Convert endTime to milliseconds for each session\n const santizedSessionIds: SanitizedEndTimeAndSessionId[] = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n const requestBody = {\n endTimeSessionIds: santizedSessionIds,\n };\n try {\n const updateMissedCallContentUrl = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}/${UPDATE_MISSED_CALLS_ENDPOINT}`;\n // Make a POST request to update missed calls\n const response = await fetch(updateMissedCallContentUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await this.webex.credentials.getUserToken(),\n },\n body: JSON.stringify(requestBody),\n });\n if (!response.ok) {\n throw new Error(`${response.status}`);\n }\n\n const data: UpdateMissedCallsResponse = await response.json();\n log.info(`Missed calls are succesfully read by the user`, loggerContext);\n const responseDetails: UpdateMissedCallsResponse = {\n statusCode: data.statusCode as number,\n data: {\n readStatusMessage: SET_READ_STATE_SUCCESS_MESSAGE,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n // Catch the 401 error from try block, return the error object to user\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to display the UCM Lines API response.\n * @returns {Promise} Resolves to an object of type {@link UCMLinesResponse}.Response details with success or error status.\n */\n private async fetchUCMLinesData(): Promise<UCMLinesResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: 'fetchLinesData',\n };\n const vgEndpoint = getVgActionEndpoint(this.webex, CALLING_BACKEND.UCM);\n const userId = this.webex.internal.device.userId;\n const orgId = this.webex.internal.device.orgId;\n const linesURIForUCM = `${vgEndpoint}/${VERSION_1}/${UNIFIED_COMMUNICATIONS}/${CONFIG}/${PEOPLE}/${userId}/${LINES}?${ORG_ID}=${orgId}`;\n\n try {\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${linesURIForUCM}`,\n method: HTTP_METHODS.GET,\n });\n\n const ucmLineDetails: UCMLinesResponse = {\n statusCode: Number(response.statusCode),\n data: {\n lines: response.body as UCMLinesApiResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.info(`Line details fetched successfully`, loggerContext);\n\n return ucmLineDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to delete the call history records using sessionId and endTime.\n * @param deleteSessionIds - An array of objects containing endTime and sessionId of the call history records\n * @returns {Promise} Resolves to an object of type {@link DeleteCallHistoryRecordsResponse}.Response details with success or error status.\n */\n public async deleteCallHistoryRecords(\n deleteSessionIds: EndTimeSessionId[]\n ): Promise<DeleteCallHistoryRecordsResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: 'deleteCallHistoryRecords',\n };\n\n // Collect all sessions with invalid dates (endTime) in an array\n const invalidSessions = deleteSessionIds.filter((session) =>\n Number.isNaN(new Date(session.endTime).getTime())\n );\n\n if (invalidSessions.length > 0) {\n // If there are invalid sessions, return an error with details\n const invalidSessionIds = invalidSessions.map((session) => session.sessionId).join(', ');\n log.info(\n `The provided date is malformed or invalid for session IDs: ${invalidSessionIds}`,\n loggerContext\n );\n\n return {\n statusCode: 400,\n data: {\n deleteStatusMessage: SET_DELETE_CALL_RECORDS_INVALID_DATE_FORMAT_MESSAGE,\n },\n message: FAILURE_MESSAGE,\n };\n }\n\n // Convert endTime to milliseconds for each sessionId\n const santizedSessionIds: SanitizedEndTimeAndSessionId[] = deleteSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n const deleteRequestBody = {\n deleteSessionIds: santizedSessionIds,\n };\n try {\n const deleteCallHistoryRecordContentUrl = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}/${DELETE_CALL_HISTORY_RECORDS_ENDPOINT}`;\n // Make a POST request to delete call history records\n const response = await fetch(deleteCallHistoryRecordContentUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await this.webex.credentials.getUserToken(),\n },\n body: JSON.stringify(deleteRequestBody),\n });\n if (!response.ok) {\n throw new Error(`${response.status}`);\n }\n\n const data: DeleteCallHistoryRecordsResponse = await response.json();\n log.info(`Call history records are succesfully deleted by the user`, loggerContext);\n const responseDetails: DeleteCallHistoryRecordsResponse = {\n statusCode: data.statusCode as number,\n data: {\n deleteStatusMessage: SET_DELETE_CALL_RECORDS_SUCCESS_MESSAGE,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n // Catch the 401 error from try block, return the error object to user\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n handleSessionEvents = async (event?: CallSessionEvent) => {\n if (event && event.data.userSessions.userSessions) {\n this.emit(COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO, event as CallSessionEvent);\n }\n };\n\n handleUserReadSessionEvents = async (event?: CallSessionViewedEvent) => {\n if (event && event.data.userReadSessions.userReadSessions) {\n this.emit(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS,\n event as CallSessionViewedEvent\n );\n }\n };\n\n handleUserSessionsDeletedEvents = async (event?: CallSessionDeletedEvent) => {\n if (event && event.data.deletedSessions) {\n this.emit(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED,\n event as CallSessionDeletedEvent\n );\n }\n };\n\n /**\n *\n */\n private registerSessionsListener() {\n this.sdkConnector.registerListener<CallSessionEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE,\n this.handleSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY,\n this.handleSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionViewedEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED,\n this.handleUserReadSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionDeletedEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED,\n this.handleUserSessionsDeletedEvents\n );\n }\n}\n/**\n * Creates a `CallHistory` client instance for accessing Call History APIs.\n *\n * @param {WebexSDK} webex - `Webex SDK` instance.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallHistoryClient = (webex: WebexSDK, logger: LoggerInterface): ICallHistory =>\n new CallHistory(webex, logger);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_types","_Logger","_Utils","_constants","_constants2","_types2","_impl","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","CallHistory","exports","_Eventing","_inherits2","_super","webex","logger","_this","_classCallCheck2","_assertThisInitialized2","file","CALL_HISTORY_FILE","method","_ref","_asyncToGenerator2","_regenerator","mark","_callee","event","wrap","_callee$","_context","prev","next","data","userSessions","emit","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","stop","_x","_ref2","_callee2","_callee2$","_context2","userReadSessions","CALL_HISTORY_USER_VIEWED_SESSIONS","_x2","sdkConnector","SDKConnector","getWebex","setWebex","janusUrl","internal","services","_serviceUrls","janus","registerSessionsListener","log","setLogger","level","_createClass2","key","value","_getCallHistoryData","_callee3","days","limit","sort","sortBy","date","sortByParam","sortParam","url","janusResponse","callingBackend","hasCucmDN","_ucmLinesResponse$dat","ucmLinesResponse","ucmLinesData","responseDetails","errorInfo","errorStatus","_args3","_callee3$","_context3","undefined","NUMBER_OF_DAYS","LIMIT","SORT","DEFAULT","SORT_BY","Date","setDate","getDate","fromDate","toISOString","_values","includes","concat","loggerContext","info","HISTORY","USER_SESSIONS","FROM_DATE","request","uri","HTTP_METHODS","GET","service","ALLOWED_SERVICES","JANUS","sent","body","START_TIME","DESC","element","compareElement","getTime","ASC","getCallingBackEnd","CALLING_BACKEND","UCM","some","session","self","cucmDN","fetchUCMLinesData","statusCode","lines","devices","device","line","dnorpattern","ucmLineNumber","index","STATUS_CODE","message","SUCCESS_MESSAGE","abrupt","t0","serviceErrorCodeHandler","getCallHistoryData","_updateMissedCalls","_callee4","endTimeSessionIds","santizedSessionIds","requestBody","updateMissedCallContentUrl","response","_callee4$","_context4","map","endTime","UPDATE_MISSED_CALLS_ENDPOINT","fetch","t1","t2","POST","t3","t4","CONTENT_TYPE","APPLICATION_JSON","credentials","getUserToken","t5","t6","t7","_stringify","t8","headers","ok","Error","status","json","readStatusMessage","SET_READ_STATE_SUCCESS_MESSAGE","t9","Number","updateMissedCalls","_x3","_fetchUCMLinesData","_callee5","vgEndpoint","userId","orgId","linesURIForUCM","ucmLineDetails","_callee5$","_context5","getVgActionEndpoint","VERSION_1","UNIFIED_COMMUNICATIONS","CONFIG","PEOPLE","LINES","ORG_ID","registerListener","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","handleSessionEvents","CALL_SESSION_EVENT_LEGACY","CALL_SESSION_EVENT_VIEWED","handleUserReadSessionEvents","Eventing","createCallHistoryClient"],"sources":["CallHistory.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {\n ALLOWED_SERVICES,\n HTTP_METHODS,\n WebexRequestPayload,\n SORT,\n SORT_BY,\n CALLING_BACKEND,\n} from '../common/types';\nimport {\n ICallHistory,\n JanusResponseEvent,\n LoggerInterface,\n UpdateMissedCallsResponse,\n UCMLinesResponse,\n} from './types';\nimport log from '../Logger';\nimport {serviceErrorCodeHandler, getVgActionEndpoint, getCallingBackEnd} from '../common/Utils';\nimport {\n APPLICATION_JSON,\n CALL_HISTORY_FILE,\n CONTENT_TYPE,\n FROM_DATE,\n HISTORY,\n LIMIT,\n NUMBER_OF_DAYS,\n UPDATE_MISSED_CALLS_ENDPOINT,\n SET_READ_STATE_SUCCESS_MESSAGE,\n VERSION_1,\n UNIFIED_COMMUNICATIONS,\n CONFIG,\n PEOPLE,\n LINES,\n ORG_ID,\n} from './constants';\nimport {STATUS_CODE, SUCCESS_MESSAGE, USER_SESSIONS} from '../common/constants';\nimport {\n COMMON_EVENT_KEYS,\n CallHistoryEventTypes,\n CallSessionEvent,\n MOBIUS_EVENT_KEYS,\n UserSession,\n EndTimeSessionId,\n CallSessionViewedEvent,\n SanitizedEndTimeAndSessionId,\n UCMLinesApiResponse,\n} from '../Events/types';\nimport {Eventing} from '../Events/impl';\n/**\n * `CallHistory` module is designed to facilitate the retrieval of Call History Records by providing a set of APIs.\n *\n * This code snippet demonstrates how to create an instance of `CallHistory` using webex and logger.\n *\n * @example\n * ```javascript\n * const callHistory = createCallHistoryClient(webex, logger);\n * ```\n */\nexport class CallHistory extends Eventing<CallHistoryEventTypes> implements ICallHistory {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private janusUrl = '';\n\n private fromDate = '';\n\n private loggerContext = {\n file: CALL_HISTORY_FILE,\n method: 'getCallHistoryData',\n };\n\n private userSessions: UserSession[] | undefined;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n super();\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.janusUrl = this.webex.internal.services._serviceUrls.janus;\n this.registerSessionsListener();\n log.setLogger(logger.level, CALL_HISTORY_FILE);\n }\n\n /**\n * Function to display the Janus API response.\n * @param days - Number of days to fetch the call history data.\n * @param limit - Number of records to be fetched.\n * @param sort - Sort the records in ascending or descending order.\n * @param sortBy - Sort the records by start time or end time.\n */\n public async getCallHistoryData(\n days: number = NUMBER_OF_DAYS,\n limit: number = LIMIT,\n sort: SORT = SORT.DEFAULT,\n sortBy: SORT_BY = SORT_BY.DEFAULT\n ): Promise<JanusResponseEvent> {\n /*\n 1. Mandatory field for Janus API - fromDate\n 2. Calculating the fromDate by deducting the NUMBER_OF_DAYS with the current date\n */\n const date = new Date();\n\n date.setDate(date.getDate() - days);\n this.fromDate = date.toISOString();\n const sortByParam = Object.values(SORT_BY).includes(sortBy) ? sortBy : SORT_BY.DEFAULT;\n const sortParam = Object.values(SORT).includes(sort) ? sort : SORT.DEFAULT;\n\n log.log(`Janus API URL ${this.janusUrl}`, this.loggerContext);\n log.info(`Call history from date : ${this.fromDate}`, this.loggerContext);\n log.info(`Call history sort type : ${sortParam}`, this.loggerContext);\n log.info(`Call history sortby type : ${sortByParam}`, this.loggerContext);\n const url = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}${FROM_DATE}=${this.fromDate}&limit=${limit}&includeNewSessionTypes=true&sort=${sortParam}`;\n\n try {\n const janusResponse = <WebexRequestPayload>await this.webex.request({\n uri: `${url}`,\n method: HTTP_METHODS.GET,\n service: ALLOWED_SERVICES.JANUS,\n });\n\n this.userSessions = janusResponse.body as UserSession[];\n if (sortByParam === SORT_BY.START_TIME) {\n if (sortParam === SORT.DESC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(compareElement[sortByParam]).getTime() -\n new Date(element[sortByParam]).getTime()\n );\n } else if (sortParam === SORT.ASC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(element[sortByParam]).getTime() -\n new Date(compareElement[sortByParam]).getTime()\n );\n }\n }\n // Check the calling backend\n const callingBackend = getCallingBackEnd(this.webex);\n if (callingBackend === CALLING_BACKEND.UCM) {\n // Check if userSessions exist and the length is greater than 0\n if (this.userSessions[USER_SESSIONS] && this.userSessions[USER_SESSIONS].length > 0) {\n // Check if cucmDN exists and is valid in any of the userSessions\n const hasCucmDN = this.userSessions[USER_SESSIONS].some(\n (session: UserSession) => session.self.cucmDN && session.self.cucmDN.length > 0\n );\n // If any user session has cucmDN, proceed to fetch line data\n if (hasCucmDN) {\n // Fetch the Lines data\n const ucmLinesResponse = await this.fetchUCMLinesData();\n\n // Check if the Lines API response was successful\n if (ucmLinesResponse.statusCode === 200 && ucmLinesResponse.data.lines?.devices) {\n const ucmLinesData = ucmLinesResponse.data.lines.devices;\n\n // Iterate over user sessions and match with Lines data\n this.userSessions[USER_SESSIONS].forEach((session: UserSession) => {\n const cucmDN = session.self.cucmDN;\n\n if (cucmDN) {\n ucmLinesData.forEach((device) => {\n device.lines.forEach((line) => {\n if (line.dnorpattern === cucmDN) {\n session.self.ucmLineNumber = line.index; // Assign the ucmLineNumber\n }\n });\n });\n }\n });\n }\n }\n }\n }\n\n const responseDetails = {\n statusCode: this.userSessions[STATUS_CODE],\n data: {\n userSessions: this.userSessions[USER_SESSIONS],\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, this.loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to update the missed call status in the call history using sessionId and time.\n * @param endTimeSessionIds - An array of objects containing endTime and sessionId of the missed call history records\n * @returns {Promise} Resolves to an object of type {@link UpdateMissedCallsResponse}.Response details with success or error status.\n */\n public async updateMissedCalls(\n endTimeSessionIds: EndTimeSessionId[]\n ): Promise<UpdateMissedCallsResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: 'updateMissedCalls',\n };\n // Convert endTime to milliseconds for each session\n const santizedSessionIds: SanitizedEndTimeAndSessionId[] = endTimeSessionIds.map((session) => ({\n ...session,\n endTime: new Date(session.endTime).getTime(),\n }));\n const requestBody = {\n endTimeSessionIds: santizedSessionIds,\n };\n try {\n const updateMissedCallContentUrl = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}/${UPDATE_MISSED_CALLS_ENDPOINT}`;\n // Make a POST request to update missed calls\n const response = await fetch(updateMissedCallContentUrl, {\n method: HTTP_METHODS.POST,\n headers: {\n [CONTENT_TYPE]: APPLICATION_JSON,\n Authorization: await this.webex.credentials.getUserToken(),\n },\n body: JSON.stringify(requestBody),\n });\n if (!response.ok) {\n throw new Error(`${response.status}`);\n }\n\n const data: UpdateMissedCallsResponse = await response.json();\n log.info(`Missed calls are succesfully read by the user`, loggerContext);\n const responseDetails: UpdateMissedCallsResponse = {\n statusCode: data.statusCode as number,\n data: {\n readStatusMessage: SET_READ_STATE_SUCCESS_MESSAGE,\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n // Catch the 401 error from try block, return the error object to user\n const errorInfo = {\n statusCode: err instanceof Error ? Number(err.message) : '',\n } as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n * Function to display the UCM Lines API response.\n * @returns {Promise} Resolves to an object of type {@link UCMLinesResponse}.Response details with success or error status.\n */\n private async fetchUCMLinesData(): Promise<UCMLinesResponse> {\n const loggerContext = {\n file: CALL_HISTORY_FILE,\n method: 'fetchLinesData',\n };\n const vgEndpoint = getVgActionEndpoint(this.webex, CALLING_BACKEND.UCM);\n const userId = this.webex.internal.device.userId;\n const orgId = this.webex.internal.device.orgId;\n const linesURIForUCM = `${vgEndpoint}/${VERSION_1}/${UNIFIED_COMMUNICATIONS}/${CONFIG}/${PEOPLE}/${userId}/${LINES}?${ORG_ID}=${orgId}`;\n\n try {\n const response = <WebexRequestPayload>await this.webex.request({\n uri: `${linesURIForUCM}`,\n method: HTTP_METHODS.GET,\n });\n\n const ucmLineDetails: UCMLinesResponse = {\n statusCode: Number(response.statusCode),\n data: {\n lines: response.body as UCMLinesApiResponse,\n },\n message: SUCCESS_MESSAGE,\n };\n\n log.info(`Line details fetched successfully`, loggerContext);\n\n return ucmLineDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, loggerContext);\n\n return errorStatus;\n }\n }\n\n handleSessionEvents = async (event?: CallSessionEvent) => {\n if (event && event.data.userSessions.userSessions) {\n this.emit(COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO, event as CallSessionEvent);\n }\n };\n\n handleUserReadSessionEvents = async (event?: CallSessionViewedEvent) => {\n if (event && event.data.userReadSessions.userReadSessions) {\n this.emit(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS,\n event as CallSessionViewedEvent\n );\n }\n };\n\n /**\n *\n */\n private registerSessionsListener() {\n this.sdkConnector.registerListener<CallSessionEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE,\n this.handleSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY,\n this.handleSessionEvents\n );\n this.sdkConnector.registerListener<CallSessionViewedEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED,\n this.handleUserReadSessionEvents\n );\n }\n}\n/**\n * Creates a `CallHistory` client instance for accessing Call History APIs.\n *\n * @param {WebexSDK} webex - `Webex SDK` instance.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallHistoryClient = (webex: WebexSDK, logger: LoggerInterface): ICallHistory =>\n new CallHistory(webex, logger);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAeA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAiBA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAWA,IAAAO,KAAA,GAAAP,OAAA;AAAwC,SAAAQ,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAqB,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAV,OAAA,EAAAK,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,CAAAV,OAAA,QAAAa,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAL,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAhB,KAAA,OAAAE,SAAA,gBAAAoB,2BAAA,CAAAf,OAAA,QAAAW,MAAA;AAAA,SAAAJ,0BAAA,eAAAS,OAAA,qBAAAF,kBAAA,oBAAAA,kBAAA,CAAAG,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,kBAAA,CAAAK,OAAA,8CAAApC,CAAA,sBAlDxC,kCACA;AAkDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA,IAUawC,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAAE,SAAA;EAAA,IAAAC,UAAA,CAAA1B,OAAA,EAAAuB,WAAA,EAAAE,SAAA;EAAA,IAAAE,MAAA,GAAAvB,YAAA,CAAAmB,WAAA;EAgBtB;AACF;AACA;EACE,SAAAA,YAAYK,KAAe,EAAEC,MAAuB,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAA/B,OAAA,QAAAuB,WAAA;IACpDO,KAAA,GAAAH,MAAA,CAAAL,IAAA;IAAQ,IAAAvB,gBAAA,CAAAC,OAAA,MAAAgC,uBAAA,CAAAhC,OAAA,EAAA8B,KAAA;IAAA,IAAA/B,gBAAA,CAAAC,OAAA,MAAAgC,uBAAA,CAAAhC,OAAA,EAAA8B,KAAA;IAAA,IAAA/B,gBAAA,CAAAC,OAAA,MAAAgC,uBAAA,CAAAhC,OAAA,EAAA8B,KAAA,eAfS,EAAE;IAAA,IAAA/B,gBAAA,CAAAC,OAAA,MAAAgC,uBAAA,CAAAhC,OAAA,EAAA8B,KAAA,eAEF,EAAE;IAAA,IAAA/B,gBAAA,CAAAC,OAAA,MAAAgC,uBAAA,CAAAhC,OAAA,EAAA8B,KAAA,oBAEG;MACtBG,IAAI,EAAEC,4BAAiB;MACvBC,MAAM,EAAE;IACV,CAAC;IAAA,IAAApC,gBAAA,CAAAC,OAAA,MAAAgC,uBAAA,CAAAhC,OAAA,EAAA8B,KAAA;IAAA,IAAA/B,gBAAA,CAAAC,OAAA,MAAAgC,uBAAA,CAAAhC,OAAA,EAAA8B,KAAA;MAAA,IAAAM,IAAA,OAAAC,kBAAA,CAAArC,OAAA,gBAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CA8NqB,SAAAC,QAAOC,KAAwB;QAAA,OAAAH,YAAA,CAAAtC,OAAA,CAAA0C,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACnD,IAAIL,KAAK,IAAIA,KAAK,CAACM,IAAI,CAACC,YAAY,CAACA,YAAY,EAAE;gBACjDlB,KAAA,CAAKmB,IAAI,CAACC,yBAAiB,CAACC,8BAA8B,EAAEV,KAAyB,CAAC;cACxF;YAAC;YAAA;cAAA,OAAAG,QAAA,CAAAQ,IAAA;UAAA;QAAA,GAAAZ,OAAA;MAAA,CACF;MAAA,iBAAAa,EAAA;QAAA,OAAAjB,IAAA,CAAA3C,KAAA,OAAAE,SAAA;MAAA;IAAA;IAAA,IAAAI,gBAAA,CAAAC,OAAA,MAAAgC,uBAAA,CAAAhC,OAAA,EAAA8B,KAAA;MAAA,IAAAwB,KAAA,OAAAjB,kBAAA,CAAArC,OAAA,gBAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAE6B,SAAAgB,SAAOd,KAA8B;QAAA,OAAAH,YAAA,CAAAtC,OAAA,CAAA0C,IAAA,UAAAc,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cACjE,IAAIL,KAAK,IAAIA,KAAK,CAACM,IAAI,CAACW,gBAAgB,CAACA,gBAAgB,EAAE;gBACzD5B,KAAA,CAAKmB,IAAI,CACPC,yBAAiB,CAACS,iCAAiC,EACnDlB,KACF,CAAC;cACH;YAAC;YAAA;cAAA,OAAAgB,SAAA,CAAAL,IAAA;UAAA;QAAA,GAAAG,QAAA;MAAA,CACF;MAAA,iBAAAK,GAAA;QAAA,OAAAN,KAAA,CAAA7D,KAAA,OAAAE,SAAA;MAAA;IAAA;IAlOCmC,KAAA,CAAK+B,YAAY,GAAGC,qBAAY;IAChC,IAAI,CAAChC,KAAA,CAAK+B,YAAY,CAACE,QAAQ,CAAC,CAAC,EAAE;MACjCD,qBAAY,CAACE,QAAQ,CAACpC,KAAK,CAAC;IAC9B;IACAE,KAAA,CAAKF,KAAK,GAAGE,KAAA,CAAK+B,YAAY,CAACE,QAAQ,CAAC,CAAC;IACzCjC,KAAA,CAAKmC,QAAQ,GAAGnC,KAAA,CAAKF,KAAK,CAACsC,QAAQ,CAACC,QAAQ,CAACC,YAAY,CAACC,KAAK;IAC/DvC,KAAA,CAAKwC,wBAAwB,CAAC,CAAC;IAC/BC,eAAG,CAACC,SAAS,CAAC3C,MAAM,CAAC4C,KAAK,EAAEvC,4BAAiB,CAAC;IAAC,OAAAJ,KAAA;EACjD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE,IAAA4C,aAAA,CAAA1E,OAAA,EAAAuB,WAAA;IAAAoD,GAAA;IAAAC,KAAA;MAAA,IAAAC,mBAAA,OAAAxC,kBAAA,CAAArC,OAAA,gBAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAOA,SAAAuC,SAAA;QAAA,IAAAC,IAAA;UAAAC,KAAA;UAAAC,IAAA;UAAAC,MAAA;UAAAC,IAAA;UAAAC,WAAA;UAAAC,SAAA;UAAAC,GAAA;UAAAC,aAAA;UAAAC,cAAA;UAAAC,SAAA;UAAAC,qBAAA;UAAAC,gBAAA;UAAAC,YAAA;UAAAC,eAAA;UAAAC,SAAA;UAAAC,WAAA;UAAAC,MAAA,GAAArG,SAAA;QAAA,OAAA2C,YAAA,CAAAtC,OAAA,CAAA0C,IAAA,UAAAuD,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAArD,IAAA,GAAAqD,SAAA,CAAApD,IAAA;YAAA;cACEiC,IAAY,GAAAiB,MAAA,CAAApG,MAAA,QAAAoG,MAAA,QAAAG,SAAA,GAAAH,MAAA,MAAGI,yBAAc;cAC7BpB,KAAa,GAAAgB,MAAA,CAAApG,MAAA,QAAAoG,MAAA,QAAAG,SAAA,GAAAH,MAAA,MAAGK,gBAAK;cACrBpB,IAAU,GAAAe,MAAA,CAAApG,MAAA,QAAAoG,MAAA,QAAAG,SAAA,GAAAH,MAAA,MAAGM,WAAI,CAACC,OAAO;cACzBrB,MAAe,GAAAc,MAAA,CAAApG,MAAA,QAAAoG,MAAA,QAAAG,SAAA,GAAAH,MAAA,MAAGQ,cAAO,CAACD,OAAO;cAEjC;AACJ;AACA;AACA;cACUpB,IAAI,GAAG,IAAIsB,IAAI,CAAC,CAAC;cAEvBtB,IAAI,CAACuB,OAAO,CAACvB,IAAI,CAACwB,OAAO,CAAC,CAAC,GAAG5B,IAAI,CAAC;cACnC,IAAI,CAAC6B,QAAQ,GAAGzB,IAAI,CAAC0B,WAAW,CAAC,CAAC;cAC5BzB,WAAW,GAAG,IAAA0B,OAAA,CAAA9G,OAAA,EAAcwG,cAAO,CAAC,CAACO,QAAQ,CAAC7B,MAAM,CAAC,GAAGA,MAAM,GAAGsB,cAAO,CAACD,OAAO;cAChFlB,SAAS,GAAG,IAAAyB,OAAA,CAAA9G,OAAA,EAAcsG,WAAI,CAAC,CAACS,QAAQ,CAAC9B,IAAI,CAAC,GAAGA,IAAI,GAAGqB,WAAI,CAACC,OAAO;cAE1EhC,eAAG,CAACA,GAAG,kBAAAyC,MAAA,CAAkB,IAAI,CAAC/C,QAAQ,GAAI,IAAI,CAACgD,aAAa,CAAC;cAC7D1C,eAAG,CAAC2C,IAAI,6BAAAF,MAAA,CAA6B,IAAI,CAACJ,QAAQ,GAAI,IAAI,CAACK,aAAa,CAAC;cACzE1C,eAAG,CAAC2C,IAAI,6BAAAF,MAAA,CAA6B3B,SAAS,GAAI,IAAI,CAAC4B,aAAa,CAAC;cACrE1C,eAAG,CAAC2C,IAAI,+BAAAF,MAAA,CAA+B5B,WAAW,GAAI,IAAI,CAAC6B,aAAa,CAAC;cACnE3B,GAAG,MAAA0B,MAAA,CAAM,IAAI,CAAC/C,QAAQ,OAAA+C,MAAA,CAAIG,kBAAO,OAAAH,MAAA,CAAII,yBAAa,EAAAJ,MAAA,CAAGK,oBAAS,OAAAL,MAAA,CAAI,IAAI,CAACJ,QAAQ,aAAAI,MAAA,CAAUhC,KAAK,wCAAAgC,MAAA,CAAqC3B,SAAS;cAAAa,SAAA,CAAArD,IAAA;cAAAqD,SAAA,CAAApD,IAAA;cAAA,OAG/F,IAAI,CAAClB,KAAK,CAAC0F,OAAO,CAAC;gBAClEC,GAAG,KAAAP,MAAA,CAAK1B,GAAG,CAAE;gBACbnD,MAAM,EAAEqF,mBAAY,CAACC,GAAG;gBACxBC,OAAO,EAAEC,uBAAgB,CAACC;cAC5B,CAAC,CAAC;YAAA;cAJIrC,aAAa,GAAAW,SAAA,CAAA2B,IAAA;cAMnB,IAAI,CAAC7E,YAAY,GAAGuC,aAAa,CAACuC,IAAqB;cACvD,IAAI1C,WAAW,KAAKoB,cAAO,CAACuB,UAAU,EAAE;gBACtC,IAAI1C,SAAS,KAAKiB,WAAI,CAAC0B,IAAI,EAAE;kBAC3B,IAAI,CAAChF,YAAY,CAACoE,yBAAa,CAAC,CAACnC,IAAI,CACnC,UAACgD,OAAa,EAAEC,cAAoB;oBAAA,OAClC,IAAIzB,IAAI,CAACyB,cAAc,CAAC9C,WAAW,CAAC,CAAC,CAAC+C,OAAO,CAAC,CAAC,GAC/C,IAAI1B,IAAI,CAACwB,OAAO,CAAC7C,WAAW,CAAC,CAAC,CAAC+C,OAAO,CAAC,CAAC;kBAAA,CAC5C,CAAC;gBACH,CAAC,MAAM,IAAI9C,SAAS,KAAKiB,WAAI,CAAC8B,GAAG,EAAE;kBACjC,IAAI,CAACpF,YAAY,CAACoE,yBAAa,CAAC,CAACnC,IAAI,CACnC,UAACgD,OAAa,EAAEC,cAAoB;oBAAA,OAClC,IAAIzB,IAAI,CAACwB,OAAO,CAAC7C,WAAW,CAAC,CAAC,CAAC+C,OAAO,CAAC,CAAC,GACxC,IAAI1B,IAAI,CAACyB,cAAc,CAAC9C,WAAW,CAAC,CAAC,CAAC+C,OAAO,CAAC,CAAC;kBAAA,CACnD,CAAC;gBACH;cACF;cACA;cACM3C,cAAc,GAAG,IAAA6C,wBAAiB,EAAC,IAAI,CAACzG,KAAK,CAAC;cAAA,MAChD4D,cAAc,KAAK8C,sBAAe,CAACC,GAAG;gBAAArC,SAAA,CAAApD,IAAA;gBAAA;cAAA;cAAA,MAEpC,IAAI,CAACE,YAAY,CAACoE,yBAAa,CAAC,IAAI,IAAI,CAACpE,YAAY,CAACoE,yBAAa,CAAC,CAACxH,MAAM,GAAG,CAAC;gBAAAsG,SAAA,CAAApD,IAAA;gBAAA;cAAA;cACjF;cACM2C,SAAS,GAAG,IAAI,CAACzC,YAAY,CAACoE,yBAAa,CAAC,CAACoB,IAAI,CACrD,UAACC,OAAoB;gBAAA,OAAKA,OAAO,CAACC,IAAI,CAACC,MAAM,IAAIF,OAAO,CAACC,IAAI,CAACC,MAAM,CAAC/I,MAAM,GAAG,CAAC;cAAA,CACjF,CAAC,EACD;cAAA,KACI6F,SAAS;gBAAAS,SAAA,CAAApD,IAAA;gBAAA;cAAA;cAAAoD,SAAA,CAAApD,IAAA;cAAA,OAEoB,IAAI,CAAC8F,iBAAiB,CAAC,CAAC;YAAA;cAAjDjD,gBAAgB,GAAAO,SAAA,CAAA2B,IAAA;cAEtB;cACA,IAAIlC,gBAAgB,CAACkD,UAAU,KAAK,GAAG,KAAAnD,qBAAA,GAAIC,gBAAgB,CAAC5C,IAAI,CAAC+F,KAAK,cAAApD,qBAAA,eAA3BA,qBAAA,CAA6BqD,OAAO,EAAE;gBACzEnD,YAAY,GAAGD,gBAAgB,CAAC5C,IAAI,CAAC+F,KAAK,CAACC,OAAO,EAExD;gBACA,IAAI,CAAC/F,YAAY,CAACoE,yBAAa,CAAC,CAACtH,OAAO,CAAC,UAAC2I,OAAoB,EAAK;kBACjE,IAAME,MAAM,GAAGF,OAAO,CAACC,IAAI,CAACC,MAAM;kBAElC,IAAIA,MAAM,EAAE;oBACV/C,YAAY,CAAC9F,OAAO,CAAC,UAACkJ,MAAM,EAAK;sBAC/BA,MAAM,CAACF,KAAK,CAAChJ,OAAO,CAAC,UAACmJ,IAAI,EAAK;wBAC7B,IAAIA,IAAI,CAACC,WAAW,KAAKP,MAAM,EAAE;0BAC/BF,OAAO,CAACC,IAAI,CAACS,aAAa,GAAGF,IAAI,CAACG,KAAK,CAAC,CAAC;wBAC3C;sBACF,CAAC,CAAC;oBACJ,CAAC,CAAC;kBACJ;gBACF,CAAC,CAAC;cACJ;YAAC;cAKDvD,eAAe,GAAG;gBACtBgD,UAAU,EAAE,IAAI,CAAC7F,YAAY,CAACqG,uBAAW,CAAC;gBAC1CtG,IAAI,EAAE;kBACJC,YAAY,EAAE,IAAI,CAACA,YAAY,CAACoE,yBAAa;gBAC/C,CAAC;gBACDkC,OAAO,EAAEC;cACX,CAAC;cAAA,OAAArD,SAAA,CAAAsD,MAAA,WAEM3D,eAAe;YAAA;cAAAK,SAAA,CAAArD,IAAA;cAAAqD,SAAA,CAAAuD,EAAA,GAAAvD,SAAA;cAEhBJ,SAAS,GAAAI,SAAA,CAAAuD,EAAA;cACT1D,WAAW,GAAG,IAAA2D,8BAAuB,EAAC5D,SAAS,EAAE,IAAI,CAACmB,aAAa,CAAC;cAAA,OAAAf,SAAA,CAAAsD,MAAA,WAEnEzD,WAAW;YAAA;YAAA;cAAA,OAAAG,SAAA,CAAA9C,IAAA;UAAA;QAAA,GAAA0B,QAAA;MAAA,CAErB;MAAA,SAAA6E,mBAAA;QAAA,OAAA9E,mBAAA,CAAApF,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAgK,kBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;IAJE;EAAA;IAAAhF,GAAA;IAAAC,KAAA;MAAA,IAAAgF,kBAAA,OAAAvH,kBAAA,CAAArC,OAAA,gBAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAKA,SAAAsH,SACEC,iBAAqC;QAAA,IAAA7C,aAAA,EAAA8C,kBAAA,EAAAC,WAAA,EAAAC,0BAAA,EAAAC,QAAA,EAAAnH,IAAA,EAAA8C,eAAA,EAAAC,SAAA,EAAAC,WAAA;QAAA,OAAAzD,YAAA,CAAAtC,OAAA,CAAA0C,IAAA,UAAAyH,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAvH,IAAA,GAAAuH,SAAA,CAAAtH,IAAA;YAAA;cAE/BmE,aAAa,GAAG;gBACpBhF,IAAI,EAAEC,4BAAiB;gBACvBC,MAAM,EAAE;cACV,CAAC,EACD;cACM4H,kBAAkD,GAAGD,iBAAiB,CAACO,GAAG,CAAC,UAAC5B,OAAO;gBAAA,OAAA/I,aAAA,CAAAA,aAAA,KACpF+I,OAAO;kBACV6B,OAAO,EAAE,IAAI7D,IAAI,CAACgC,OAAO,CAAC6B,OAAO,CAAC,CAACnC,OAAO,CAAC;gBAAC;cAAA,CAC5C,CAAC;cACG6B,WAAW,GAAG;gBAClBF,iBAAiB,EAAEC;cACrB,CAAC;cAAAK,SAAA,CAAAvH,IAAA;cAEOoH,0BAA0B,MAAAjD,MAAA,CAAM,IAAI,CAAC/C,QAAQ,OAAA+C,MAAA,CAAIG,kBAAO,OAAAH,MAAA,CAAII,yBAAa,OAAAJ,MAAA,CAAIuD,uCAA4B,GAC/G;cAAAH,SAAA,CAAAX,EAAA,GACuBe,KAAK;cAAAJ,SAAA,CAAAK,EAAA,GAACR,0BAA0B;cAAAG,SAAA,CAAAM,EAAA,GAC7ClD,mBAAY,CAACmD,IAAI;cAAAP,SAAA,CAAAQ,EAAA,GAAA7K,gBAAA,CAAAC,OAAA;cAAAoK,SAAA,CAAAS,EAAA,OAAA9K,gBAAA,CAAAC,OAAA,MAEtB8K,uBAAY,EAAGC,2BAAgB;cAAAX,SAAA,CAAAtH,IAAA;cAAA,OACX,IAAI,CAAClB,KAAK,CAACoJ,WAAW,CAACC,YAAY,CAAC,CAAC;YAAA;cAAAb,SAAA,CAAAc,EAAA,GAAAd,SAAA,CAAAvC,IAAA;cAAAuC,SAAA,CAAAe,EAAA,OAAAf,SAAA,CAAAQ,EAAA,EAAAR,SAAA,CAAAS,EAAA,mBAAAT,SAAA,CAAAc,EAAA;cAAAd,SAAA,CAAAgB,EAAA,GAEtD,IAAAC,UAAA,CAAArL,OAAA,EAAegK,WAAW,CAAC;cAAAI,SAAA,CAAAkB,EAAA;gBALjCnJ,MAAM,EAAAiI,SAAA,CAAAM,EAAA;gBACNa,OAAO,EAAAnB,SAAA,CAAAe,EAAA;gBAIPrD,IAAI,EAAAsC,SAAA,CAAAgB;cAAA;cAAAhB,SAAA,CAAAtH,IAAA;cAAA,WAAAsH,SAAA,CAAAX,EAAA,EAAAW,SAAA,CAAAK,EAAA,EAAAL,SAAA,CAAAkB,EAAA;YAAA;cANApB,QAAQ,GAAAE,SAAA,CAAAvC,IAAA;cAAA,IAQTqC,QAAQ,CAACsB,EAAE;gBAAApB,SAAA,CAAAtH,IAAA;gBAAA;cAAA;cAAA,MACR,IAAI2I,KAAK,IAAAzE,MAAA,CAAIkD,QAAQ,CAACwB,MAAM,CAAE,CAAC;YAAA;cAAAtB,SAAA,CAAAtH,IAAA;cAAA,OAGOoH,QAAQ,CAACyB,IAAI,CAAC,CAAC;YAAA;cAAvD5I,IAA+B,GAAAqH,SAAA,CAAAvC,IAAA;cACrCtD,eAAG,CAAC2C,IAAI,kDAAkDD,aAAa,CAAC;cAClEpB,eAA0C,GAAG;gBACjDgD,UAAU,EAAE9F,IAAI,CAAC8F,UAAoB;gBACrC9F,IAAI,EAAE;kBACJ6I,iBAAiB,EAAEC;gBACrB,CAAC;gBACDvC,OAAO,EAAEC;cACX,CAAC;cAAA,OAAAa,SAAA,CAAAZ,MAAA,WAEM3D,eAAe;YAAA;cAAAuE,SAAA,CAAAvH,IAAA;cAAAuH,SAAA,CAAA0B,EAAA,GAAA1B,SAAA;cAEtB;cACMtE,SAAS,GAAG;gBAChB+C,UAAU,EAAEuB,SAAA,CAAA0B,EAAA,YAAeL,KAAK,GAAGM,MAAM,CAAC3B,SAAA,CAAA0B,EAAA,CAAIxC,OAAO,CAAC,GAAG;cAC3D,CAAC;cACKvD,WAAW,GAAG,IAAA2D,8BAAuB,EAAC5D,SAAS,EAAEmB,aAAa,CAAC;cAAA,OAAAmD,SAAA,CAAAZ,MAAA,WAE9DzD,WAAW;YAAA;YAAA;cAAA,OAAAqE,SAAA,CAAAhH,IAAA;UAAA;QAAA,GAAAyG,QAAA;MAAA,CAErB;MAAA,SAAAmC,kBAAAC,GAAA;QAAA,OAAArC,kBAAA,CAAAnK,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAqM,iBAAA;IAAA;IAED;AACF;AACA;AACA;IAHE;EAAA;IAAArH,GAAA;IAAAC,KAAA;MAAA,IAAAsH,kBAAA,OAAA7J,kBAAA,CAAArC,OAAA,gBAAAsC,YAAA,CAAAtC,OAAA,CAAAuC,IAAA,CAIA,SAAA4J,SAAA;QAAA,IAAAlF,aAAA,EAAAmF,UAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,cAAA,EAAArC,QAAA,EAAAsC,cAAA,EAAA1G,SAAA,EAAAC,WAAA;QAAA,OAAAzD,YAAA,CAAAtC,OAAA,CAAA0C,IAAA,UAAA+J,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA7J,IAAA,GAAA6J,SAAA,CAAA5J,IAAA;YAAA;cACQmE,aAAa,GAAG;gBACpBhF,IAAI,EAAEC,4BAAiB;gBACvBC,MAAM,EAAE;cACV,CAAC;cACKiK,UAAU,GAAG,IAAAO,0BAAmB,EAAC,IAAI,CAAC/K,KAAK,EAAE0G,sBAAe,CAACC,GAAG,CAAC;cACjE8D,MAAM,GAAG,IAAI,CAACzK,KAAK,CAACsC,QAAQ,CAAC8E,MAAM,CAACqD,MAAM;cAC1CC,KAAK,GAAG,IAAI,CAAC1K,KAAK,CAACsC,QAAQ,CAAC8E,MAAM,CAACsD,KAAK;cACxCC,cAAc,MAAAvF,MAAA,CAAMoF,UAAU,OAAApF,MAAA,CAAI4F,oBAAS,OAAA5F,MAAA,CAAI6F,iCAAsB,OAAA7F,MAAA,CAAI8F,iBAAM,OAAA9F,MAAA,CAAI+F,iBAAM,OAAA/F,MAAA,CAAIqF,MAAM,OAAArF,MAAA,CAAIgG,gBAAK,OAAAhG,MAAA,CAAIiG,iBAAM,OAAAjG,MAAA,CAAIsF,KAAK;cAAAI,SAAA,CAAA7J,IAAA;cAAA6J,SAAA,CAAA5J,IAAA;cAAA,OAGvF,IAAI,CAAClB,KAAK,CAAC0F,OAAO,CAAC;gBAC7DC,GAAG,KAAAP,MAAA,CAAKuF,cAAc,CAAE;gBACxBpK,MAAM,EAAEqF,mBAAY,CAACC;cACvB,CAAC,CAAC;YAAA;cAHIyC,QAAQ,GAAAwC,SAAA,CAAA7E,IAAA;cAKR2E,cAAgC,GAAG;gBACvC3D,UAAU,EAAEkD,MAAM,CAAC7B,QAAQ,CAACrB,UAAU,CAAC;gBACvC9F,IAAI,EAAE;kBACJ+F,KAAK,EAAEoB,QAAQ,CAACpC;gBAClB,CAAC;gBACDwB,OAAO,EAAEC;cACX,CAAC;cAEDhF,eAAG,CAAC2C,IAAI,sCAAsCD,aAAa,CAAC;cAAC,OAAAyF,SAAA,CAAAlD,MAAA,WAEtDgD,cAAc;YAAA;cAAAE,SAAA,CAAA7J,IAAA;cAAA6J,SAAA,CAAAjD,EAAA,GAAAiD,SAAA;cAEf5G,SAAS,GAAA4G,SAAA,CAAAjD,EAAA;cACT1D,WAAW,GAAG,IAAA2D,8BAAuB,EAAC5D,SAAS,EAAEmB,aAAa,CAAC;cAAA,OAAAyF,SAAA,CAAAlD,MAAA,WAE9DzD,WAAW;YAAA;YAAA;cAAA,OAAA2G,SAAA,CAAAtJ,IAAA;UAAA;QAAA,GAAA+I,QAAA;MAAA,CAErB;MAAA,SAAAvD,kBAAA;QAAA,OAAAsD,kBAAA,CAAAzM,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAiJ,iBAAA;IAAA;EAAA;IAAAjE,GAAA;IAAAC,KAAA;IAiBD;AACF;AACA;IACE,SAAAN,yBAAA,EAAmC;MACjC,IAAI,CAACT,YAAY,CAACqJ,gBAAgB,CAChCC,yBAAiB,CAACC,4BAA4B,EAC9C,IAAI,CAACC,mBACP,CAAC;MACD,IAAI,CAACxJ,YAAY,CAACqJ,gBAAgB,CAChCC,yBAAiB,CAACG,yBAAyB,EAC3C,IAAI,CAACD,mBACP,CAAC;MACD,IAAI,CAACxJ,YAAY,CAACqJ,gBAAgB,CAChCC,yBAAiB,CAACI,yBAAyB,EAC3C,IAAI,CAACC,2BACP,CAAC;IACH;EAAC;EAAA,OAAAjM,WAAA;AAAA,EAzQ8BkM,cAAQ;AA2QzC;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,uBAAuB,GAAAlM,OAAA,CAAAkM,uBAAA,GAAG,SAA1BA,uBAAuBA,CAAI9L,KAAe,EAAEC,MAAuB;EAAA,OAC9E,IAAIN,WAAW,CAACK,KAAK,EAAEC,MAAM,CAAC;AAAA"}
|