@esolve/ng-esolve-connect 0.21.1 → 0.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/esm2020/lib/account/esolve-account.service.mjs +4 -4
  2. package/esm2020/lib/cart/esolve-cart-additional-where.interface.mjs +1 -1
  3. package/esm2020/lib/cart/esolve-cart.service.mjs +2 -2
  4. package/esm2020/lib/category-tree/esolve-category-tree.service.mjs +2 -2
  5. package/esm2020/lib/locations/esolve-location-record.interface.mjs +1 -1
  6. package/esm2020/lib/locations/esolve-locations.service.mjs +3 -2
  7. package/esm2020/lib/shared/errors/esolve-error-handler.service.mjs +23 -22
  8. package/esm2020/lib/shared/errors/esolve-http-error.model.mjs +12 -5
  9. package/esm2020/lib/shared/response/esolve-response-result.model.mjs +3 -3
  10. package/esm2020/lib/shipping/esolve-shipping.service.mjs +5 -3
  11. package/esm2020/lib/stock/classes/esolve-stock-item-base.model.mjs +2 -2
  12. package/esm2020/lib/stock/classes/esolve-stock-price.model.mjs +5 -2
  13. package/esm2020/lib/stock/esolve-stock.service.mjs +6 -6
  14. package/esm2020/lib/stock/interfaces/esolve-linked-stock-record.interface.mjs +1 -1
  15. package/esm2020/lib/stock/interfaces/esolve-recipe-item-record.interface.mjs +1 -1
  16. package/esm2020/lib/stock/interfaces/esolve-stock-group-item-record.interface.mjs +1 -1
  17. package/esm2020/lib/tags/esolve-tags.service.mjs +4 -2
  18. package/esm2020/lib/topics/esolve-topic.service.mjs +4 -2
  19. package/fesm2015/esolve-ng-esolve-connect.mjs +61 -43
  20. package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -1
  21. package/fesm2020/esolve-ng-esolve-connect.mjs +61 -43
  22. package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -1
  23. package/lib/locations/esolve-locations.service.d.ts +2 -1
  24. package/lib/shared/errors/esolve-http-error.model.d.ts +3 -3
  25. package/lib/stock/classes/esolve-stock-price.model.d.ts +4 -1
  26. package/lib/stock/esolve-stock.service.d.ts +1 -2
  27. package/package.json +1 -1
@@ -9,7 +9,7 @@ export class EsolveErrorHandlerService {
9
9
  throw new EsolveHttpError('error', message, code);
10
10
  }
11
11
  emitError(code, message) {
12
- return throwError(new EsolveHttpError('error', message, code));
12
+ return throwError(() => new EsolveHttpError('error', message, code));
13
13
  }
14
14
  handleHttpPostError(service_type, errorRes) {
15
15
  if (!(errorRes instanceof HttpErrorResponse) &&
@@ -19,7 +19,7 @@ export class EsolveErrorHandlerService {
19
19
  ('transaction_type' in errorRes) &&
20
20
  ('status' in errorRes) &&
21
21
  ('log' in errorRes))) {
22
- return throwError(this.parsePostErrors(errorRes));
22
+ return throwError(() => this.parsePostErrors(errorRes));
23
23
  }
24
24
  return this.handleHttpError(service_type, errorRes);
25
25
  }
@@ -31,32 +31,32 @@ export class EsolveErrorHandlerService {
31
31
  ('message' in errorRes) &&
32
32
  ('code' in errorRes)));
33
33
  if (is_not_base) {
34
- return throwError(this.parseDeleteError(errorRes));
34
+ return throwError(() => this.parseDeleteError(errorRes));
35
35
  }
36
36
  return this.handleHttpError(service_type, errorRes);
37
37
  }
38
- handleHttpError(service_type, errorRes) {
39
- if (errorRes instanceof HttpErrorResponse) {
40
- if (errorRes.status === 500) {
41
- const server_error = errorRes.error;
38
+ handleHttpError(service_type, error_response) {
39
+ if (error_response instanceof HttpErrorResponse) {
40
+ if (error_response.status === 500) {
41
+ const server_error = error_response.error;
42
42
  if (('service_type' in server_error) &&
43
43
  (server_error.service_type === service_type)) {
44
- return throwError(this.parseException(server_error));
44
+ return throwError(() => this.parseException(server_error));
45
45
  }
46
46
  }
47
47
  }
48
48
  else {
49
- if (('service_type' in errorRes) &&
50
- (errorRes.service_type === service_type)) {
51
- if (errorRes.type === 'exception') {
52
- return throwError(this.parseException(errorRes));
49
+ if (('service_type' in error_response) &&
50
+ (error_response.service_type === service_type)) {
51
+ if (error_response.type === 'exception') {
52
+ return throwError(() => this.parseException(error_response));
53
53
  }
54
- else if (errorRes.type === 'error') {
55
- return throwError(this.parseResponseError(errorRes));
54
+ else if (error_response.type === 'error') {
55
+ return throwError(() => this.parseResponseError(error_response));
56
56
  }
57
57
  }
58
58
  }
59
- return throwError(errorRes);
59
+ return throwError(() => error_response);
60
60
  }
61
61
  parseException(exception) {
62
62
  const error = new EsolveHttpError('exception', exception.message || 'Unknown exception has occurred', exception.additional_data.exception_type || 'unknown');
@@ -67,17 +67,18 @@ export class EsolveErrorHandlerService {
67
67
  return error;
68
68
  }
69
69
  parsePostErrors(response) {
70
- const error = new EsolveHttpError('error', 'Unknown error has occurred', 'unknown');
70
+ let error_code = 'unknown';
71
+ let message = 'Unknown error has occurred';
71
72
  if ((response.status.state === 'none') && (response.log.length > 0)) {
72
- error.error_code = 'no_response';
73
- error.message = 'Response was provided';
73
+ error_code = 'no_response';
74
+ message = 'Response was provided';
74
75
  }
75
76
  else if (response.status.state === 'error') {
76
77
  const login_error_log = response.log[0];
77
- error.error_code = login_error_log.message_code;
78
- error.message = login_error_log.message;
78
+ error_code = login_error_log.message_code;
79
+ message = login_error_log.message;
79
80
  }
80
- return error;
81
+ return new EsolveHttpError('error', error_code, message);
81
82
  }
82
83
  parseDeleteError(result) {
83
84
  return new EsolveHttpError('error', result.message, result.code);
@@ -91,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
91
92
  providedIn: 'root',
92
93
  }]
93
94
  }], ctorParameters: function () { return []; } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2hhcmVkL2Vycm9ycy9lc29sdmUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBSzVELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsZ0JBQWdCLENBQUM7SUFFVixVQUFVLENBQUMsSUFBWSxFQUFFLE9BQWU7UUFDM0MsTUFBTSxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxTQUFTLENBQUMsSUFBWSxFQUFFLE9BQWU7UUFDMUMsT0FBTyxVQUFVLENBQUMsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxtQkFBbUIsQ0FDdEIsWUFBb0IsRUFDcEIsUUFBd0U7UUFFeEUsSUFDSSxDQUFDLENBQUMsUUFBUSxZQUFZLGlCQUFpQixDQUFDO1lBQ3hDLENBQUMsQ0FBQyxjQUFjLElBQUksUUFBUSxDQUFDO1lBQzdCLENBQ0ksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDO2dCQUNsQixDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUM7Z0JBQ3pCLENBQUMsa0JBQWtCLElBQUksUUFBUSxDQUFDO2dCQUNoQyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUM7Z0JBQ3RCLENBQUMsS0FB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LE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNqRSxLQUFLLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztZQUNqQyxLQUFLLENBQUMsT0FBTyxHQUFHLHVCQUF1QixDQUFDO1NBQzNDO2FBQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDMUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV4QyxLQUFLLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUM7WUFDaEQsS0FBSyxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQTBCO1FBQy9DLE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7O3VIQTNIUSx5QkFBeUI7MkhBQXpCLHlCQUF5QixjQUZ0QixNQUFNOzRGQUVULHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEVzb2x2ZVJlc3BvbnNlLFxyXG4gICAgRXNvbHZlRGVsZXRlUmVzdWx0LFxyXG4gICAgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSxcclxuICAgIEVzb2x2ZURlbGV0ZVJlc3BvbnNlLFxyXG4gICAgRXNvbHZlU2V0UmVzcG9uc2UsXHJcbn0gZnJvbSAnLi4vcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVIdHRwRXJyb3IgfSBmcm9tICcuL2Vzb2x2ZS1odHRwLWVycm9yLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICBwdWJsaWMgdGhyb3dFcnJvcihjb2RlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRocm93IG5ldyBFc29sdmVIdHRwRXJyb3IoJ2Vycm9yJywgbWVzc2FnZSwgY29kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGVtaXRFcnJvcihjb2RlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXNvbHZlSHR0cEVycm9yKCdlcnJvcicsIG1lc3NhZ2UsIGNvZGUpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlSHR0cFBvc3RFcnJvcihcclxuICAgICAgICBzZXJ2aWNlX3R5cGU6IHN0cmluZyxcclxuICAgICAgICBlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBFc29sdmVTZXRSZXNwb25zZSB8IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0sXHJcbiAgICApOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAhKGVycm9yUmVzIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpICYmXHJcbiAgICAgICAgICAgICEoJ3NlcnZpY2VfdHlwZScgaW4gZXJyb3JSZXMpICYmXHJcbiAgICAgICAgICAgIChcclxuICAgICAgICAgICAgICAgICgnaWQnIGluIGVycm9yUmVzKSAmJlxyXG4gICAgICAgICAgICAgICAgKCdlc29sdmVfaWQnIGluIGVycm9yUmVzKSAmJlxyXG4gICAgICAgICAgICAgICAgKCd0cmFuc2FjdGlvbl90eXBlJyBpbiBlcnJvclJlcykgJiZcclxuICAgICAgICAgICAgICAgICgnc3RhdHVzJyBpbiBlcnJvclJlcykgJiZcclxuICAgICAgICAgICAgICAgICgnbG9nJyBpbiBlcnJvclJlcylcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0aGlzLnBhcnNlUG9zdEVycm9ycyhlcnJvclJlcykpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlSHR0cEVycm9yKHNlcnZpY2VfdHlwZSwgZXJyb3JSZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVIdHRwRGVsZXRlRXJyb3IoXHJcbiAgICAgICAgc2VydmljZV90eXBlOiBzdHJpbmcsXHJcbiAgICAgICAgZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgRXNvbHZlRGVsZXRlUmVzcG9uc2UgfCBFc29sdmVEZWxldGVSZXN1bHQsXHJcbiAgICApOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICAgICAgY29uc3QgaXNfbm90X2Jhc2UgPSAoXHJcbiAgICAgICAgICAgICEoZXJyb3JSZXMgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkgJiZcclxuICAgICAgICAgICAgISgnc2VydmljZV90eXBlJyBpbiBlcnJvclJlcykgJiZcclxuICAgICAgICAgICAgKFxyXG4gICAgICAgICAgICAgICAgKCdpZCcgaW4gZXJyb3JSZXMpICYmXHJcbiAgICAgICAgICAgICAgICAoJ3N0YXR1cycgaW4gZXJyb3JSZXMpICYmXHJcbiAgICAgICAgICAgICAgICAoJ21lc3NhZ2UnIGluIGVycm9yUmVzKSAmJlxyXG4gICAgICAgICAgICAgICAgKCdjb2RlJyBpbiBlcnJvclJlcylcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmIChpc19ub3RfYmFzZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0aGlzLnBhcnNlRGVsZXRlRXJyb3IoZXJyb3JSZXMpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUh0dHBFcnJvcihzZXJ2aWNlX3R5cGUsIGVycm9yUmVzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUh0dHBFcnJvcihcclxuICAgICAgICBzZXJ2aWNlX3R5cGU6IHN0cmluZyxcclxuICAgICAgICBlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBFc29sdmVSZXNwb25zZSxcclxuICAgICk6IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgICAgICBpZiAoZXJyb3JSZXMgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgICAgICBpZiAoZXJyb3JSZXMuc3RhdHVzID09PSA1MDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNlcnZlcl9lcnJvciA9IGVycm9yUmVzLmVycm9yO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAoJ3NlcnZpY2VfdHlwZScgaW4gc2VydmVyX2Vycm9yKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgIChzZXJ2ZXJfZXJyb3Iuc2VydmljZV90eXBlID09PSBzZXJ2aWNlX3R5cGUpXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0aGlzLnBhcnNlRXhjZXB0aW9uKHNlcnZlcl9lcnJvciBhcyBFc29sdmVSZXNwb25zZSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgKCdzZXJ2aWNlX3R5cGUnIGluIGVycm9yUmVzKSAmJlxyXG4gICAgICAgICAgICAgICAgKGVycm9yUmVzLnNlcnZpY2VfdHlwZSA9PT0gc2VydmljZV90eXBlKVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIGlmIChlcnJvclJlcy50eXBlID09PSAnZXhjZXB0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHRoaXMucGFyc2VFeGNlcHRpb24oZXJyb3JSZXMpKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyb3JSZXMudHlwZSA9PT0gJ2Vycm9yJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHRoaXMucGFyc2VSZXNwb25zZUVycm9yKGVycm9yUmVzKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yUmVzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBhcnNlRXhjZXB0aW9uKGV4Y2VwdGlvbjogRXNvbHZlUmVzcG9uc2UpOiBFc29sdmVIdHRwRXJyb3Ige1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVzb2x2ZUh0dHBFcnJvcihcclxuICAgICAgICAgICAgJ2V4Y2VwdGlvbicsXHJcbiAgICAgICAgICAgIGV4Y2VwdGlvbi5tZXNzYWdlIHx8ICdVbmtub3duIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWQnLFxyXG4gICAgICAgICAgICBleGNlcHRpb24uYWRkaXRpb25hbF9kYXRhLmV4Y2VwdGlvbl90eXBlIHx8ICd1bmtub3duJyxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gZXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwYXJzZVJlc3BvbnNlRXJyb3IoZXhjZXB0aW9uOiBFc29sdmVSZXNwb25zZSk6IEVzb2x2ZUh0dHBFcnJvciB7XHJcbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXNvbHZlSHR0cEVycm9yKFxyXG4gICAgICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICAgICBleGNlcHRpb24ubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvciBoYXMgb2NjdXJyZWQnLFxyXG4gICAgICAgICAgICBleGNlcHRpb24uY29kZSB8fCAndW5rbm93bicsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcGFyc2VQb3N0RXJyb3JzKHJlc3BvbnNlOiBFc29sdmVQb3N0UmVzcG9uc2VJdGVtKTogRXNvbHZlSHR0cEVycm9yIHtcclxuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFc29sdmVIdHRwRXJyb3IoJ2Vycm9yJywgJ1Vua25vd24gZXJyb3IgaGFzIG9jY3VycmVkJywgJ3Vua25vd24nKTtcclxuXHJcbiAgICAgICAgaWYgKChyZXNwb25zZS5zdGF0dXMuc3RhdGUgPT09ICdub25lJykgJiYgKHJlc3BvbnNlLmxvZy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICBlcnJvci5lcnJvcl9jb2RlID0gJ25vX3Jlc3BvbnNlJztcclxuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9ICdSZXNwb25zZSB3YXMgcHJvdmlkZWQnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2Uuc3RhdHVzLnN0YXRlID09PSAnZXJyb3InKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxvZ2luX2Vycm9yX2xvZyA9IHJlc3BvbnNlLmxvZ1swXTtcclxuXHJcbiAgICAgICAgICAgIGVycm9yLmVycm9yX2NvZGUgPSBsb2dpbl9lcnJvcl9sb2cubWVzc2FnZV9jb2RlO1xyXG4gICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gbG9naW5fZXJyb3JfbG9nLm1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwYXJzZURlbGV0ZUVycm9yKHJlc3VsdDogRXNvbHZlRGVsZXRlUmVzdWx0KTogRXNvbHZlSHR0cEVycm9yIHtcclxuICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZUh0dHBFcnJvcignZXJyb3InLCByZXN1bHQubWVzc2FnZSwgcmVzdWx0LmNvZGUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2hhcmVkL2Vycm9ycy9lc29sdmUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBSzVELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsZ0JBQWdCLENBQUM7SUFFVixVQUFVLENBQUMsSUFBWSxFQUFFLE9BQWU7UUFDM0MsTUFBTSxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxTQUFTLENBQUMsSUFBWSxFQUFFLE9BQWU7UUFDMUMsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxtQkFBbUIsQ0FDdEIsWUFBb0IsRUFDcEIsUUFBd0U7UUFFeEUsSUFDSSxDQUFDLENBQUMsUUFBUSxZQUFZLGlCQUFpQixDQUFDO1lBQ3hDLENBQUMsQ0FBQyxjQUFjLElBQUksUUFBUSxDQUFDO1lBQzdCLENBQ0ksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDO2dCQUNsQixDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUM7Z0JBQ3pCLENBQUMsa0JBQWtCLElBQUksUUFBUSxDQUFDO2dCQUNoQyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUM7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QkFBNEIsQ0FBQztRQUczQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNqRSxVQUFVLEdBQUcsYUFBYSxDQUFDO1lBQzNCLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQztTQUNyQzthQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssT0FBTyxFQUFFO1lBQzFDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFeEMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUM7WUFDMUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7U0FDckM7UUFFRCxPQUFPLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQTBCO1FBQy9DLE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7O3VIQTdIUSx5QkFBeUI7MkhBQXpCLHlCQUF5QixjQUZ0QixNQUFNOzRGQUVULHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEVzb2x2ZVJlc3BvbnNlLFxyXG4gICAgRXNvbHZlRGVsZXRlUmVzdWx0LFxyXG4gICAgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSxcclxuICAgIEVzb2x2ZURlbGV0ZVJlc3BvbnNlLFxyXG4gICAgRXNvbHZlU2V0UmVzcG9uc2UsXHJcbn0gZnJvbSAnLi4vcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFc29sdmVIdHRwRXJyb3IgfSBmcm9tICcuL2Vzb2x2ZS1odHRwLWVycm9yLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICBwdWJsaWMgdGhyb3dFcnJvcihjb2RlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRocm93IG5ldyBFc29sdmVIdHRwRXJyb3IoJ2Vycm9yJywgbWVzc2FnZSwgY29kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGVtaXRFcnJvcihjb2RlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXNvbHZlSHR0cEVycm9yKCdlcnJvcicsIG1lc3NhZ2UsIGNvZGUpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlSHR0cFBvc3RFcnJvcihcclxuICAgICAgICBzZXJ2aWNlX3R5cGU6IHN0cmluZyxcclxuICAgICAgICBlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBFc29sdmVTZXRSZXNwb25zZSB8IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0sXHJcbiAgICApOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAhKGVycm9yUmVzIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpICYmXHJcbiAgICAgICAgICAgICEoJ3NlcnZpY2VfdHlwZScgaW4gZXJyb3JSZXMpICYmXHJcbiAgICAgICAgICAgIChcclxuICAgICAgICAgICAgICAgICgnaWQnIGluIGVycm9yUmVzKSAmJlxyXG4gICAgICAgICAgICAgICAgKCdlc29sdmVfaWQnIGluIGVycm9yUmVzKSAmJlxyXG4gICAgICAgICAgICAgICAgKCd0cmFuc2FjdGlvbl90eXBlJyBpbiBlcnJvclJlcykgJiZcclxuICAgICAgICAgICAgICAgICgnc3RhdHVzJyBpbiBlcnJvclJlcykgJiZcclxuICAgICAgICAgICAgICAgICgnbG9nJyBpbiBlcnJvclJlcylcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiB0aGlzLnBhcnNlUG9zdEVycm9ycyhlcnJvclJlcykpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlSHR0cEVycm9yKHNlcnZpY2VfdHlwZSwgZXJyb3JSZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVIdHRwRGVsZXRlRXJyb3IoXHJcbiAgICAgICAgc2VydmljZV90eXBlOiBzdHJpbmcsXHJcbiAgICAgICAgZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgRXNvbHZlRGVsZXRlUmVzcG9uc2UgfCBFc29sdmVEZWxldGVSZXN1bHQsXHJcbiAgICApOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICAgICAgY29uc3QgaXNfbm90X2Jhc2UgPSAoXHJcbiAgICAgICAgICAgICEoZXJyb3JSZXMgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkgJiZcclxuICAgICAgICAgICAgISgnc2VydmljZV90eXBlJyBpbiBlcnJvclJlcykgJiZcclxuICAgICAgICAgICAgKFxyXG4gICAgICAgICAgICAgICAgKCdpZCcgaW4gZXJyb3JSZXMpICYmXHJcbiAgICAgICAgICAgICAgICAoJ3N0YXR1cycgaW4gZXJyb3JSZXMpICYmXHJcbiAgICAgICAgICAgICAgICAoJ21lc3NhZ2UnIGluIGVycm9yUmVzKSAmJlxyXG4gICAgICAgICAgICAgICAgKCdjb2RlJyBpbiBlcnJvclJlcylcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmIChpc19ub3RfYmFzZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiB0aGlzLnBhcnNlRGVsZXRlRXJyb3IoZXJyb3JSZXMpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUh0dHBFcnJvcihzZXJ2aWNlX3R5cGUsIGVycm9yUmVzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUh0dHBFcnJvcihcclxuICAgICAgICBzZXJ2aWNlX3R5cGU6IHN0cmluZyxcclxuICAgICAgICBlcnJvcl9yZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UgfCBFc29sdmVSZXNwb25zZSxcclxuICAgICk6IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgICAgICBpZiAoZXJyb3JfcmVzcG9uc2UgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgICAgICBpZiAoZXJyb3JfcmVzcG9uc2Uuc3RhdHVzID09PSA1MDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNlcnZlcl9lcnJvciA9IGVycm9yX3Jlc3BvbnNlLmVycm9yO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAoJ3NlcnZpY2VfdHlwZScgaW4gc2VydmVyX2Vycm9yKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgIChzZXJ2ZXJfZXJyb3Iuc2VydmljZV90eXBlID09PSBzZXJ2aWNlX3R5cGUpXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiB0aGlzLnBhcnNlRXhjZXB0aW9uKHNlcnZlcl9lcnJvciBhcyBFc29sdmVSZXNwb25zZSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgKCdzZXJ2aWNlX3R5cGUnIGluIGVycm9yX3Jlc3BvbnNlKSAmJlxyXG4gICAgICAgICAgICAgICAgKGVycm9yX3Jlc3BvbnNlLnNlcnZpY2VfdHlwZSA9PT0gc2VydmljZV90eXBlKVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIGlmIChlcnJvcl9yZXNwb25zZS50eXBlID09PSAnZXhjZXB0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRoaXMucGFyc2VFeGNlcHRpb24oZXJyb3JfcmVzcG9uc2UpKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyb3JfcmVzcG9uc2UudHlwZSA9PT0gJ2Vycm9yJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRoaXMucGFyc2VSZXNwb25zZUVycm9yKGVycm9yX3Jlc3BvbnNlKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yX3Jlc3BvbnNlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBhcnNlRXhjZXB0aW9uKGV4Y2VwdGlvbjogRXNvbHZlUmVzcG9uc2UpOiBFc29sdmVIdHRwRXJyb3Ige1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVzb2x2ZUh0dHBFcnJvcihcclxuICAgICAgICAgICAgJ2V4Y2VwdGlvbicsXHJcbiAgICAgICAgICAgIGV4Y2VwdGlvbi5tZXNzYWdlIHx8ICdVbmtub3duIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWQnLFxyXG4gICAgICAgICAgICBleGNlcHRpb24uYWRkaXRpb25hbF9kYXRhLmV4Y2VwdGlvbl90eXBlIHx8ICd1bmtub3duJyxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gZXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwYXJzZVJlc3BvbnNlRXJyb3IoZXhjZXB0aW9uOiBFc29sdmVSZXNwb25zZSk6IEVzb2x2ZUh0dHBFcnJvciB7XHJcbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXNvbHZlSHR0cEVycm9yKFxyXG4gICAgICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICAgICBleGNlcHRpb24ubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvciBoYXMgb2NjdXJyZWQnLFxyXG4gICAgICAgICAgICBleGNlcHRpb24uY29kZSB8fCAndW5rbm93bicsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcGFyc2VQb3N0RXJyb3JzKHJlc3BvbnNlOiBFc29sdmVQb3N0UmVzcG9uc2VJdGVtKTogRXNvbHZlSHR0cEVycm9yIHtcclxuICAgICAgICBsZXQgZXJyb3JfY29kZSA9ICd1bmtub3duJztcclxuICAgICAgICBsZXQgbWVzc2FnZSA9ICdVbmtub3duIGVycm9yIGhhcyBvY2N1cnJlZCc7XHJcblxyXG5cclxuICAgICAgICBpZiAoKHJlc3BvbnNlLnN0YXR1cy5zdGF0ZSA9PT0gJ25vbmUnKSAmJiAocmVzcG9uc2UubG9nLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgICAgICAgIGVycm9yX2NvZGUgPSAnbm9fcmVzcG9uc2UnO1xyXG4gICAgICAgICAgICBtZXNzYWdlID0gJ1Jlc3BvbnNlIHdhcyBwcm92aWRlZCc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5zdGF0dXMuc3RhdGUgPT09ICdlcnJvcicpIHtcclxuICAgICAgICAgICAgY29uc3QgbG9naW5fZXJyb3JfbG9nID0gcmVzcG9uc2UubG9nWzBdO1xyXG5cclxuICAgICAgICAgICAgZXJyb3JfY29kZSA9IGxvZ2luX2Vycm9yX2xvZy5tZXNzYWdlX2NvZGU7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBsb2dpbl9lcnJvcl9sb2cubWVzc2FnZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgRXNvbHZlSHR0cEVycm9yKCdlcnJvcicsIGVycm9yX2NvZGUsIG1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcGFyc2VEZWxldGVFcnJvcihyZXN1bHQ6IEVzb2x2ZURlbGV0ZVJlc3VsdCk6IEVzb2x2ZUh0dHBFcnJvciB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVIdHRwRXJyb3IoJ2Vycm9yJywgcmVzdWx0Lm1lc3NhZ2UsIHJlc3VsdC5jb2RlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,8 +1,15 @@
1
- export class EsolveHttpError {
2
- constructor(type, message, error_code) {
1
+ export class EsolveHttpError extends Error {
2
+ constructor(type, code, message, ...params) {
3
+ // Pass remaining arguments (including vendor specific ones) to parent constructor
4
+ super(...[message, ...params]);
5
+ this.http_error = true;
6
+ // Maintains proper stack trace for where our error was thrown (only available on V8)
7
+ if (Error.captureStackTrace) {
8
+ Error.captureStackTrace(this, EsolveHttpError);
9
+ }
10
+ this.name = 'EsolveHttpError';
3
11
  this.type = type;
4
- this.message = message;
5
- this.error_code = error_code;
12
+ this.error_code = code;
6
13
  }
7
14
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWh0dHAtZXJyb3IubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3NoYXJlZC9lcnJvcnMvZXNvbHZlLWh0dHAtZXJyb3IubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGVBQWU7SUFDeEIsWUFDVyxJQUEyQixFQUMzQixPQUFlLEVBQ2YsVUFBa0I7UUFGbEIsU0FBSSxHQUFKLElBQUksQ0FBdUI7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQVE7SUFDekIsQ0FBQztDQUNSIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVzb2x2ZUh0dHBFcnJvciB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgdHlwZTogJ2Vycm9yJyB8ICdleGNlcHRpb24nLFxyXG4gICAgICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGVycm9yX2NvZGU6IHN0cmluZyxcclxuICAgICkgeyB9XHJcbn1cclxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWh0dHAtZXJyb3IubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3NoYXJlZC9lcnJvcnMvZXNvbHZlLWh0dHAtZXJyb3IubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGVBQWdCLFNBQVEsS0FBSztJQUt0QyxZQUFZLElBQTJCLEVBQUUsSUFBWSxFQUFFLE9BQWUsRUFBRSxHQUFHLE1BQWE7UUFDcEYsa0ZBQWtGO1FBQ2xGLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztRQU5uQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBUTlCLHFGQUFxRjtRQUNyRixJQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtZQUN6QixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXNvbHZlSHR0cEVycm9yIGV4dGVuZHMgRXJyb3Ige1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGh0dHBfZXJyb3IgPSB0cnVlO1xyXG4gICAgcHVibGljIHR5cGU6ICdlcnJvcicgfCAnZXhjZXB0aW9uJztcclxuICAgIHB1YmxpYyBlcnJvcl9jb2RlOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IodHlwZTogJ2Vycm9yJyB8ICdleGNlcHRpb24nLCBjb2RlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgLi4ucGFyYW1zOiBhbnlbXSkge1xyXG4gICAgICAgIC8vIFBhc3MgcmVtYWluaW5nIGFyZ3VtZW50cyAoaW5jbHVkaW5nIHZlbmRvciBzcGVjaWZpYyBvbmVzKSB0byBwYXJlbnQgY29uc3RydWN0b3JcclxuICAgICAgICBzdXBlciguLi5bbWVzc2FnZSwgLi4ucGFyYW1zXSk7XHJcblxyXG4gICAgICAgIC8vIE1haW50YWlucyBwcm9wZXIgc3RhY2sgdHJhY2UgZm9yIHdoZXJlIG91ciBlcnJvciB3YXMgdGhyb3duIChvbmx5IGF2YWlsYWJsZSBvbiBWOClcclxuICAgICAgICBpZiAoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpIHtcclxuICAgICAgICAgICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgRXNvbHZlSHR0cEVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubmFtZSA9ICdFc29sdmVIdHRwRXJyb3InO1xyXG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICAgICAgdGhpcy5lcnJvcl9jb2RlID0gY29kZTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -2,8 +2,8 @@ export class EsolveResponseResult {
2
2
  constructor(response) {
3
3
  this.success_log = [];
4
4
  this.error_log = [];
5
- this.error_log.push(...response.log.filter(log_item => log_item.type === 'error'));
6
- this.success_log.push(...response.log.filter(log_item => log_item.type === 'success'));
5
+ this.error_log.push(...response.log.filter((log_item) => log_item.type === 'error'));
6
+ this.success_log.push(...response.log.filter((log_item) => log_item.type === 'success'));
7
7
  }
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXJlc3BvbnNlLXJlc3VsdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2hhcmVkL3Jlc3BvbnNlL2Vzb2x2ZS1yZXNwb25zZS1yZXN1bHQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLG9CQUFvQjtJQUk3QixZQUFZLFFBQWdDO1FBSHJDLGdCQUFXLEdBQTRCLEVBQUUsQ0FBQztRQUMxQyxjQUFTLEdBQTRCLEVBQUUsQ0FBQztRQUczQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlUmVzcG9uc2VMb2dJdGVtIH0gZnJvbSAnLi9lc29sdmUtcmVzcG9uc2UtbG9nLWl0ZW0uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSB9IGZyb20gJy4vZXNvbHZlLXBvc3QtcmVzcG9uc2UtaXRlbS5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVJlc3BvbnNlUmVzdWx0IHtcclxuICAgIHB1YmxpYyBzdWNjZXNzX2xvZzogRXNvbHZlUmVzcG9uc2VMb2dJdGVtW10gPSBbXTtcclxuICAgIHB1YmxpYyBlcnJvcl9sb2c6IEVzb2x2ZVJlc3BvbnNlTG9nSXRlbVtdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVzcG9uc2U6IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0pIHtcclxuICAgICAgICB0aGlzLmVycm9yX2xvZy5wdXNoKC4uLnJlc3BvbnNlLmxvZy5maWx0ZXIobG9nX2l0ZW0gPT4gbG9nX2l0ZW0udHlwZSA9PT0gJ2Vycm9yJykpO1xyXG4gICAgICAgIHRoaXMuc3VjY2Vzc19sb2cucHVzaCguLi5yZXNwb25zZS5sb2cuZmlsdGVyKGxvZ19pdGVtID0+IGxvZ19pdGVtLnR5cGUgPT09ICdzdWNjZXNzJykpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXJlc3BvbnNlLXJlc3VsdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2hhcmVkL3Jlc3BvbnNlL2Vzb2x2ZS1yZXNwb25zZS1yZXN1bHQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLG9CQUFvQjtJQUk3QixZQUFZLFFBQWdDO1FBSHJDLGdCQUFXLEdBQTRCLEVBQUUsQ0FBQztRQUMxQyxjQUFTLEdBQTRCLEVBQUUsQ0FBQztRQUczQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVJlc3BvbnNlTG9nSXRlbSB9IGZyb20gJy4vZXNvbHZlLXJlc3BvbnNlLWxvZy1pdGVtLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0gfSBmcm9tICcuL2Vzb2x2ZS1wb3N0LXJlc3BvbnNlLWl0ZW0uaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVSZXNwb25zZVJlc3VsdCB7XHJcbiAgICBwdWJsaWMgc3VjY2Vzc19sb2c6IEVzb2x2ZVJlc3BvbnNlTG9nSXRlbVtdID0gW107XHJcbiAgICBwdWJsaWMgZXJyb3JfbG9nOiBFc29sdmVSZXNwb25zZUxvZ0l0ZW1bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlc3BvbnNlOiBFc29sdmVQb3N0UmVzcG9uc2VJdGVtKSB7XHJcbiAgICAgICAgdGhpcy5lcnJvcl9sb2cucHVzaCguLi5yZXNwb25zZS5sb2cuZmlsdGVyKChsb2dfaXRlbSkgPT4gbG9nX2l0ZW0udHlwZSA9PT0gJ2Vycm9yJykpO1xyXG4gICAgICAgIHRoaXMuc3VjY2Vzc19sb2cucHVzaCguLi5yZXNwb25zZS5sb2cuZmlsdGVyKChsb2dfaXRlbSkgPT4gbG9nX2l0ZW0udHlwZSA9PT0gJ3N1Y2Nlc3MnKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -29,7 +29,9 @@ export class EsolveShippingService {
29
29
  params = params.set('location_id', options.location_id);
30
30
  }
31
31
  }
32
- return this.http.get(`${this.config.api_url}/get-shipping-methods.php`, { params }).pipe(map(response => {
32
+ return this.http
33
+ .get(`${this.config.api_url}/get-shipping-methods.php`, { params })
34
+ .pipe(map((response) => {
33
35
  if (response.records === undefined) {
34
36
  throw response;
35
37
  }
@@ -73,7 +75,7 @@ export class EsolveShippingService {
73
75
  }));
74
76
  }
75
77
  catch (err) {
76
- return throwError(err);
78
+ return throwError(() => err);
77
79
  }
78
80
  }
79
81
  /**
@@ -116,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
116
118
  type: Inject,
117
119
  args: [ESOLVE_CONNECT_CONFIG]
118
120
  }] }, { type: i1.HttpClient }]; } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNoaXBwaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3NoaXBwaW5nL2Vzb2x2ZS1zaGlwcGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUcxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBT3RFLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0I7UUFEZSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3hCLENBQUM7SUFFTDs7Ozs7O09BTUc7SUFDSSxrQkFBa0IsQ0FBQyxPQUFxQztRQUMzRCxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRTlCLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxZQUFZLEtBQUssV0FBVyxFQUFFO2dCQUM3QyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdEO1lBRUQsSUFBSSxPQUFPLE9BQU8sQ0FBQyxXQUFXLEtBQUssV0FBVyxFQUFFO2dCQUM1QyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzNEO1NBQ0o7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNoQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTywyQkFBMkIsRUFDakQsRUFBRSxNQUFNLEVBQUUsQ0FDYixDQUFDLElBQUksQ0FDRixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDWCxJQUFJLFFBQVEsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO2dCQUNoQyxNQUFNLFFBQVEsQ0FBQzthQUNsQjtZQUVELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksZUFBZSxDQUNsQixXQUFtQixFQUNuQixZQUFvQixFQUNwQixXQUFvQjtRQUVwQixJQUFJO1lBQ0EsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUU5QixJQUFJLE9BQU8sV0FBVyxLQUFLLFdBQVcsRUFBRTtnQkFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2FBQzlDO2lCQUFNO2dCQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQzthQUNuRDtZQUVELElBQUksT0FBTyxZQUFZLEtBQUssV0FBVyxFQUFFO2dCQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7YUFDN0M7aUJBQU07Z0JBQ0gsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQ3JEO1lBRUQsSUFBSSxPQUFPLFdBQVcsS0FBSyxXQUFXLEVBQUU7Z0JBQ3BDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQzthQUNuRDtZQUVELE9BQU8sSUFBSSxDQUFDLElBQUk7aUJBQ1gsR0FBRyxDQUNBLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLHdCQUF3QixFQUM5QyxFQUFFLE1BQU0sRUFBRSxDQUNiO2lCQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDYixJQUFJLFFBQVEsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO29CQUNoQyxNQUFNLFFBQVEsQ0FBQztpQkFDbEI7Z0JBRUQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUNMLENBQUM7U0FDVDtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssc0JBQXNCLENBQUMsT0FBcUM7UUFDaEUsTUFBTSxnQkFBZ0IsR0FBMkIsRUFBRSxDQUFDO1FBRXBELElBQUksT0FBTyxFQUFFO1lBQ1QsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7Z0JBQzFCLE1BQU0sZUFBZSxHQUFHLElBQUksb0JBQW9CLENBQzVDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFDVixNQUFNLENBQUMsWUFBWSxFQUNuQixNQUFNLENBQUMsaUJBQWlCLEVBQ3hCLE1BQU0sQ0FBQyxXQUFXLEVBQ2xCLE1BQU0sQ0FBQyxRQUFRLEVBQ2YsTUFBTSxDQUFDLE9BQU8sRUFDZCxNQUFNLENBQUMsdUJBQXVCLEVBQzlCLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFDdkIsTUFBTSxDQUFDLGdDQUFnQyxFQUN2QyxNQUFNLENBQUMsaUNBQWlDLEVBQ3hDLENBQUMsTUFBTSxDQUFDLHlCQUF5QixFQUNqQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQ3JCLE1BQU0sQ0FBQyxrQ0FBa0MsRUFDekMsTUFBTSxDQUFDLG9CQUFvQixFQUMzQixNQUFNLENBQUMsc0JBQXNCLEVBQzdCLE1BQU0sQ0FBQyxpQkFBaUIsRUFDeEIsTUFBTSxDQUFDLDBCQUEwQixFQUNqQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQ25CLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLENBQUMsTUFBTSxDQUFDLFlBQVksRUFDcEIsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUNwQixDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFDaEMsQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQ2pDLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFDckIsTUFBTSxDQUFDLGNBQWMsRUFDckIsTUFBTSxDQUFDLHdCQUF3QixFQUMvQixDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsRUFDakMsTUFBTSxDQUFDLFNBQVMsQ0FDbkIsQ0FBQztnQkFFRixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDMUM7U0FDSjtRQUVELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLG1CQUFtQixDQUFDLE1BQWdDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLElBQUksa0JBQWtCLENBQ3hDLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFDdEIsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUN2QixDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFDaEMsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUN2QixDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFDeEIsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQ3BDLENBQUM7UUFFRixPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDOzttSEFoS1EscUJBQXFCLGtCQUVsQixxQkFBcUI7dUhBRnhCLHFCQUFxQixjQUZsQixNQUFNOzRGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC1jb25maWcuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVTaGlwcGluZ0Nvc3QgfSBmcm9tICcuL2Vzb2x2ZS1zaGlwcGluZy1jb3N0Lm1vZGVsJztcclxuaW1wb3J0IHsgRXNvbHZlU2hpcHBpbmdDb3N0UmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtc2hpcHBpbmctY29zdC1yZWNvcmQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRXNvbHZlU2hpcHBpbmdNZXRob2QgfSBmcm9tICcuL2Vzb2x2ZS1zaGlwcGluZy1tZXRob2QubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVTaGlwcGluZ01ldGhvZFJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXNoaXBwaW5nLW1ldGhvZC1yZWNvcmQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRXNvbHZlU2hpcHBpbmdNZXRob2RPcHRpb25zIH0gZnJvbSAnLi9lc29sdmUtc2hpcHBpbmctbWV0aG9kLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVNoaXBwaW5nU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXHJcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBhIGxpc3Qgb2Ygc2hpcHBpbmcgbWV0aG9kc1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBvcHRpb25zIEZpbHRlciBvcHRpb25zXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2Ygc2hpcHBpbmcgbWV0aG9kc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0U2hpcHBpbmdNZXRob2RzKG9wdGlvbnM/OiBFc29sdmVTaGlwcGluZ01ldGhvZE9wdGlvbnMpOiBPYnNlcnZhYmxlPEVzb2x2ZVNoaXBwaW5nTWV0aG9kW10+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmFkZHJlc3Nlc19pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2FkZHJlc3Nlc19pZCcsIG9wdGlvbnMuYWRkcmVzc2VzX2lkKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmxvY2F0aW9uX2lkICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbG9jYXRpb25faWQnLCBvcHRpb25zLmxvY2F0aW9uX2lkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlU2hpcHBpbmdNZXRob2RSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtc2hpcHBpbmctbWV0aG9kcy5waHBgLFxyXG4gICAgICAgICAgICB7IHBhcmFtcyB9LFxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzU2hpcHBpbmdNZXRob2RzKHJlc3BvbnNlLnJlY29yZHMpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIHRoZSBzaGlwcGluZyBjb3N0c1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBzaGlwcGluZ19pZFxyXG4gICAgICogQHBhcmFtIGFkZHJlc3Nlc19pZFxyXG4gICAgICogQHBhcmFtIGxvY2F0aW9uX2lkXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIHNoaXBwaW5nIGNvc3RzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRTaGlwcGluZ0Nvc3QoXHJcbiAgICAgICAgc2hpcHBpbmdfaWQ6IG51bWJlcixcclxuICAgICAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcixcclxuICAgICAgICBsb2NhdGlvbl9pZD86IG51bWJlcixcclxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlU2hpcHBpbmdDb3N0PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHNoaXBwaW5nX2lkID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaGlwcGluZyBJRCBpcyByZXF1aXJlZCcpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2hpcHBpbmdfaWQnLCBzaGlwcGluZ19pZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYWRkcmVzc2VzX2lkID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBZGRyZXNzIElEIGlzIHJlcXVpcmVkJyk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdhZGRyZXNzZXNfaWQnLCBhZGRyZXNzZXNfaWQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGxvY2F0aW9uX2lkICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbG9jYXRpb25faWQnLCBsb2NhdGlvbl9pZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlU2hpcHBpbmdDb3N0UmVjb3JkW10+PihcclxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtc2hpcHBpbmctY29zdC5waHBgLFxyXG4gICAgICAgICAgICAgICAgICAgIHsgcGFyYW1zIH0sXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzU2hpcHBpbmdDb3N0KHJlc3BvbnNlLnJlY29yZHNbMF0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSBzaGlwcGluZyBtZXRob2QgcmVjb3Jkcy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgc2hpcHBpbmcgbWV0aG9kc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NTaGlwcGluZ01ldGhvZHMocmVjb3JkczogRXNvbHZlU2hpcHBpbmdNZXRob2RSZWNvcmRbXSk6IEVzb2x2ZVNoaXBwaW5nTWV0aG9kW10ge1xyXG4gICAgICAgIGNvbnN0IHNoaXBwaW5nX21ldGhvZHM6IEVzb2x2ZVNoaXBwaW5nTWV0aG9kW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHJlY29yZHMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2hpcHBpbmdfbWV0aG9kID0gbmV3IEVzb2x2ZVNoaXBwaW5nTWV0aG9kKFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhcnJpZXJfbmFtZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuZGVsaXZlcnlfY2F0ZWdvcnksXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5sb2NhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucHJpY2luZyxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQubGlua190b19jYXJyaWVyX3dlYnNpdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5kYXlzX3RvX2RlbGl2ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX2Nvc3RfY2FsY3VsYXRpb25fbWV0aG9kLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pbnN1cmFuY2VfY29zdF9jYWxjdWxhdGlvbl9tZXRob2QsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5pbnN1cmFuY2VfY29zdF9wZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQubWV0cmljX2ZhY3RvcixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYWxsb3dfaW1tZWRpYXRlX3BheW1lbnRfcHJvY2Vzc2luZyxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYWxsb3dfcG9zdGFsX2FkZHJlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmFsbG93X3BoeXNpY2FsX2FkZHJlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNsaWVudF90b19jb2xsZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pc19kZWZhdWx0X3NoaXBwaW5nX21ldGhvZCxcclxuICAgICAgICAgICAgICAgICAgICArcmVjb3JkLmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC51c2Vfem9uZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5taW5fZGlzdGFuY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5tYXhfZGlzdGFuY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zaGlwcGluZ19zdXJnZV9jb25kaXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zaGlwcGluZ19zdXJnZV9wZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc2hpcHBpbmdfZ3JvdXAsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX3Nsb3RfaWRlbnRpZmllcixcclxuICAgICAgICAgICAgICAgICAgICArcmVjb3JkLnNoaXBwaW5nX3Nsb3RfZGVsYXlfaG91cnMsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmltYWdlX3VybCxcclxuICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdfbWV0aG9kcy5wdXNoKHNoaXBwaW5nX21ldGhvZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzaGlwcGluZ19tZXRob2RzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgc2hpcHBpbmcgY29zdHMgcmVjb3JkLitcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkIERhdGEgdG8gcHJvY2Vzc1xyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIFByb2Nlc3NlZCBzaGlwcGluZyBjb3N0c1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NTaGlwcGluZ0Nvc3QocmVjb3JkOiBFc29sdmVTaGlwcGluZ0Nvc3RSZWNvcmQpOiBFc29sdmVTaGlwcGluZ0Nvc3Qge1xyXG4gICAgICAgIGNvbnN0IHNoaXBwaW5nX2Nvc3QgPSBuZXcgRXNvbHZlU2hpcHBpbmdDb3N0KFxyXG4gICAgICAgICAgICArcmVjb3JkLnNoaXBwaW5nX3RvdGFsLFxyXG4gICAgICAgICAgICArcmVjb3JkLnZhdF9vbl9zaGlwcGluZyxcclxuICAgICAgICAgICAgK3JlY29yZC50b3RhbF9zYXZpbmdfb25fc2hpcHBpbmcsXHJcbiAgICAgICAgICAgICtyZWNvcmQuaW5zdXJhbmNlX3RvdGFsLFxyXG4gICAgICAgICAgICArcmVjb3JkLnZhdF9vbl9pbnN1cmFuY2UsXHJcbiAgICAgICAgICAgICtyZWNvcmQudG90YWxfc2F2aW5nX29uX2luc3VyYW5jZSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gc2hpcHBpbmdfY29zdDtcclxuICAgIH1cclxufVxyXG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNoaXBwaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3NoaXBwaW5nL2Vzb2x2ZS1zaGlwcGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUcxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBT3RFLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFDMkMsTUFBMkIsRUFDMUQsSUFBZ0I7UUFEZSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMxRCxTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3hCLENBQUM7SUFFTDs7Ozs7O09BTUc7SUFDSSxrQkFBa0IsQ0FBQyxPQUFxQztRQUMzRCxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRTlCLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxZQUFZLEtBQUssV0FBVyxFQUFFO2dCQUM3QyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdEO1lBRUQsSUFBSSxPQUFPLE9BQU8sQ0FBQyxXQUFXLEtBQUssV0FBVyxFQUFFO2dCQUM1QyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzNEO1NBQ0o7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUNBLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLDJCQUEyQixFQUNqRCxFQUFFLE1BQU0sRUFBRSxDQUNiO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtnQkFDaEMsTUFBTSxRQUFRLENBQUM7YUFDbEI7WUFFRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLGVBQWUsQ0FDbEIsV0FBbUIsRUFDbkIsWUFBb0IsRUFDcEIsV0FBb0I7UUFFcEIsSUFBSTtZQUNBLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFFOUIsSUFBSSxPQUFPLFdBQVcsS0FBSyxXQUFXLEVBQUU7Z0JBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQzthQUM5QztpQkFBTTtnQkFDSCxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7YUFDbkQ7WUFFRCxJQUFJLE9BQU8sWUFBWSxLQUFLLFdBQVcsRUFBRTtnQkFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2FBQzdDO2lCQUFNO2dCQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQzthQUNyRDtZQUVELElBQUksT0FBTyxXQUFXLEtBQUssV0FBVyxFQUFFO2dCQUNwQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7YUFDbkQ7WUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJO2lCQUNYLEdBQUcsQ0FDQSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyx3QkFBd0IsRUFDOUMsRUFBRSxNQUFNLEVBQUUsQ0FDYjtpQkFDQSxJQUFJLENBQ0QsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtvQkFDaEMsTUFBTSxRQUFRLENBQUM7aUJBQ2xCO2dCQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FDTCxDQUFDO1NBQ1Q7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNWLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLHNCQUFzQixDQUFDLE9BQXFDO1FBQ2hFLE1BQU0sZ0JBQWdCLEdBQTJCLEVBQUUsQ0FBQztRQUVwRCxJQUFJLE9BQU8sRUFBRTtZQUNULEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO2dCQUMxQixNQUFNLGVBQWUsR0FBRyxJQUFJLG9CQUFvQixDQUM1QyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQ1YsTUFBTSxDQUFDLFlBQVksRUFDbkIsTUFBTSxDQUFDLGlCQUFpQixFQUN4QixNQUFNLENBQUMsV0FBVyxFQUNsQixNQUFNLENBQUMsUUFBUSxFQUNmLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsTUFBTSxDQUFDLHVCQUF1QixFQUM5QixDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQ3ZCLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFDdkMsTUFBTSxDQUFDLGlDQUFpQyxFQUN4QyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsRUFDakMsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUNyQixNQUFNLENBQUMsa0NBQWtDLEVBQ3pDLE1BQU0sQ0FBQyxvQkFBb0IsRUFDM0IsTUFBTSxDQUFDLHNCQUFzQixFQUM3QixNQUFNLENBQUMsaUJBQWlCLEVBQ3hCLE1BQU0sQ0FBQywwQkFBMEIsRUFDakMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUNuQixNQUFNLENBQUMsU0FBUyxFQUNoQixDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQ3BCLENBQUMsTUFBTSxDQUFDLFlBQVksRUFDcEIsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEVBQ2hDLENBQUMsTUFBTSxDQUFDLHlCQUF5QixFQUNqQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQ3JCLE1BQU0sQ0FBQyxjQUFjLEVBQ3JCLE1BQU0sQ0FBQyx3QkFBd0IsRUFDL0IsQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQ2pDLE1BQU0sQ0FBQyxTQUFTLENBQ25CLENBQUM7Z0JBRUYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQzFDO1NBQ0o7UUFFRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxtQkFBbUIsQ0FBQyxNQUFnQztRQUN4RCxNQUFNLGFBQWEsR0FBRyxJQUFJLGtCQUFrQixDQUN4QyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQ3RCLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFDdkIsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEVBQ2hDLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFDdkIsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQ3hCLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUNwQyxDQUFDO1FBRUYsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQzs7bUhBbEtRLHFCQUFxQixrQkFFbEIscUJBQXFCO3VIQUZ4QixxQkFBcUIsY0FGbEIsTUFBTTs0RkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFHUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcclxuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50JztcclxuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlU2hpcHBpbmdDb3N0IH0gZnJvbSAnLi9lc29sdmUtc2hpcHBpbmctY29zdC5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVNoaXBwaW5nQ29zdFJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXNoaXBwaW5nLWNvc3QtcmVjb3JkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVNoaXBwaW5nTWV0aG9kIH0gZnJvbSAnLi9lc29sdmUtc2hpcHBpbmctbWV0aG9kLm1vZGVsJztcclxuaW1wb3J0IHsgRXNvbHZlU2hpcHBpbmdNZXRob2RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1zaGlwcGluZy1tZXRob2QtcmVjb3JkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVNoaXBwaW5nTWV0aG9kT3B0aW9ucyB9IGZyb20gJy4vZXNvbHZlLXNoaXBwaW5nLW1ldGhvZC1vcHRpb25zLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVTaGlwcGluZ1NlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHNoaXBwaW5nIG1ldGhvZHNcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBGaWx0ZXIgb3B0aW9uc1xyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIHNoaXBwaW5nIG1ldGhvZHNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFNoaXBwaW5nTWV0aG9kcyhvcHRpb25zPzogRXNvbHZlU2hpcHBpbmdNZXRob2RPcHRpb25zKTogT2JzZXJ2YWJsZTxFc29sdmVTaGlwcGluZ01ldGhvZFtdPiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5hZGRyZXNzZXNfaWQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdhZGRyZXNzZXNfaWQnLCBvcHRpb25zLmFkZHJlc3Nlc19pZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5sb2NhdGlvbl9pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2xvY2F0aW9uX2lkJywgb3B0aW9ucy5sb2NhdGlvbl9pZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVTaGlwcGluZ01ldGhvZFJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtc2hpcHBpbmctbWV0aG9kcy5waHBgLFxyXG4gICAgICAgICAgICAgICAgeyBwYXJhbXMgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1NoaXBwaW5nTWV0aG9kcyhyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIHRoZSBzaGlwcGluZyBjb3N0c1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBzaGlwcGluZ19pZFxyXG4gICAgICogQHBhcmFtIGFkZHJlc3Nlc19pZFxyXG4gICAgICogQHBhcmFtIGxvY2F0aW9uX2lkXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIHNoaXBwaW5nIGNvc3RzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRTaGlwcGluZ0Nvc3QoXHJcbiAgICAgICAgc2hpcHBpbmdfaWQ6IG51bWJlcixcclxuICAgICAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcixcclxuICAgICAgICBsb2NhdGlvbl9pZD86IG51bWJlcixcclxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlU2hpcHBpbmdDb3N0PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHNoaXBwaW5nX2lkID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaGlwcGluZyBJRCBpcyByZXF1aXJlZCcpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2hpcHBpbmdfaWQnLCBzaGlwcGluZ19pZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYWRkcmVzc2VzX2lkID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBZGRyZXNzIElEIGlzIHJlcXVpcmVkJyk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdhZGRyZXNzZXNfaWQnLCBhZGRyZXNzZXNfaWQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGxvY2F0aW9uX2lkICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbG9jYXRpb25faWQnLCBsb2NhdGlvbl9pZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlU2hpcHBpbmdDb3N0UmVjb3JkW10+PihcclxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtc2hpcHBpbmctY29zdC5waHBgLFxyXG4gICAgICAgICAgICAgICAgICAgIHsgcGFyYW1zIH0sXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzU2hpcHBpbmdDb3N0KHJlc3BvbnNlLnJlY29yZHNbMF0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSBzaGlwcGluZyBtZXRob2QgcmVjb3Jkcy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgc2hpcHBpbmcgbWV0aG9kc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NTaGlwcGluZ01ldGhvZHMocmVjb3JkczogRXNvbHZlU2hpcHBpbmdNZXRob2RSZWNvcmRbXSk6IEVzb2x2ZVNoaXBwaW5nTWV0aG9kW10ge1xyXG4gICAgICAgIGNvbnN0IHNoaXBwaW5nX21ldGhvZHM6IEVzb2x2ZVNoaXBwaW5nTWV0aG9kW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHJlY29yZHMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2hpcHBpbmdfbWV0aG9kID0gbmV3IEVzb2x2ZVNoaXBwaW5nTWV0aG9kKFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhcnJpZXJfbmFtZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuZGVsaXZlcnlfY2F0ZWdvcnksXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5sb2NhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucHJpY2luZyxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQubGlua190b19jYXJyaWVyX3dlYnNpdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5kYXlzX3RvX2RlbGl2ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX2Nvc3RfY2FsY3VsYXRpb25fbWV0aG9kLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pbnN1cmFuY2VfY29zdF9jYWxjdWxhdGlvbl9tZXRob2QsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5pbnN1cmFuY2VfY29zdF9wZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQubWV0cmljX2ZhY3RvcixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYWxsb3dfaW1tZWRpYXRlX3BheW1lbnRfcHJvY2Vzc2luZyxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYWxsb3dfcG9zdGFsX2FkZHJlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmFsbG93X3BoeXNpY2FsX2FkZHJlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNsaWVudF90b19jb2xsZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pc19kZWZhdWx0X3NoaXBwaW5nX21ldGhvZCxcclxuICAgICAgICAgICAgICAgICAgICArcmVjb3JkLmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC51c2Vfem9uZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5taW5fZGlzdGFuY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5tYXhfZGlzdGFuY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zaGlwcGluZ19zdXJnZV9jb25kaXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zaGlwcGluZ19zdXJnZV9wZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc2hpcHBpbmdfZ3JvdXAsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX3Nsb3RfaWRlbnRpZmllcixcclxuICAgICAgICAgICAgICAgICAgICArcmVjb3JkLnNoaXBwaW5nX3Nsb3RfZGVsYXlfaG91cnMsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmltYWdlX3VybCxcclxuICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdfbWV0aG9kcy5wdXNoKHNoaXBwaW5nX21ldGhvZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzaGlwcGluZ19tZXRob2RzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgc2hpcHBpbmcgY29zdHMgcmVjb3JkLitcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkIERhdGEgdG8gcHJvY2Vzc1xyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIFByb2Nlc3NlZCBzaGlwcGluZyBjb3N0c1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NTaGlwcGluZ0Nvc3QocmVjb3JkOiBFc29sdmVTaGlwcGluZ0Nvc3RSZWNvcmQpOiBFc29sdmVTaGlwcGluZ0Nvc3Qge1xyXG4gICAgICAgIGNvbnN0IHNoaXBwaW5nX2Nvc3QgPSBuZXcgRXNvbHZlU2hpcHBpbmdDb3N0KFxyXG4gICAgICAgICAgICArcmVjb3JkLnNoaXBwaW5nX3RvdGFsLFxyXG4gICAgICAgICAgICArcmVjb3JkLnZhdF9vbl9zaGlwcGluZyxcclxuICAgICAgICAgICAgK3JlY29yZC50b3RhbF9zYXZpbmdfb25fc2hpcHBpbmcsXHJcbiAgICAgICAgICAgICtyZWNvcmQuaW5zdXJhbmNlX3RvdGFsLFxyXG4gICAgICAgICAgICArcmVjb3JkLnZhdF9vbl9pbnN1cmFuY2UsXHJcbiAgICAgICAgICAgICtyZWNvcmQudG90YWxfc2F2aW5nX29uX2luc3VyYW5jZSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gc2hpcHBpbmdfY29zdDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -213,7 +213,7 @@ export class EsolveStockItemBase {
213
213
  seo_title = record.seo_page_title ?? '';
214
214
  seo_keywords = record.seo_keywords ?? '';
215
215
  }
216
- this.price = new EsolveStockPrice(base_price, base_price_with_tax, sell_price, sell_price_with_tax);
216
+ this.price = new EsolveStockPrice(base_price, base_price_with_tax, sell_price, sell_price_with_tax, record.vat_item);
217
217
  if (seo_title.trim() === '') {
218
218
  seo_title = this.name;
219
219
  }
@@ -259,4 +259,4 @@ export class EsolveStockItemBase {
259
259
  return '';
260
260
  }
261
261
  }
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svY2xhc3Nlcy9lc29sdmUtc3RvY2staXRlbS1iYXNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBb0IsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXZFLE1BQU0sT0FBTyxtQkFBbUI7SUFzTTVCLFlBQVksU0FBNEMsRUFBRTtRQXJNMUQ7O1dBRUc7UUFDSSxPQUFFLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCOztXQUVHO1FBQ0ksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUN6Qjs7V0FFRztRQUNJLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDekI7O1dBRUc7UUFDSSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQzdCOztXQUVHO1FBQ0ksZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDaEM7O1dBRUc7UUFDSSx5QkFBb0IsR0FB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SUFDdEMsQ0FBQztJQXlKTSxZQUFZLENBQUMsVUFBZ0M7UUFDaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRTtZQUN4QixPQUFPLGlCQUFpQixVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQzNEO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVDdXN0b21GaWVsZHMgfSBmcm9tICcuLi8uLi9zaGFyZWQvY3VzdG9tLWZpZWxkcyc7XHJcbmltcG9ydCB7IEVzb2x2ZVNlb0RldGFpbHMsIEVzb2x2ZVNlb0luZm8gfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VvJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0gfSBmcm9tICcuLi8uLi9jYXRlZ29yeS10cmVlJztcclxuaW1wb3J0IHsgRXNvbHZlTWFudWZhY3R1cmVyIH0gZnJvbSAnLi4vLi4vbWFudWZhY3R1cmVycyc7XHJcbmltcG9ydCB7IEVzb2x2ZVJhbmdlIH0gZnJvbSAnLi4vLi4vcmFuZ2VzJztcclxuaW1wb3J0IHsgRXNvbHZlVGFnIH0gZnJvbSAnLi4vLi4vdGFncyc7XHJcbmltcG9ydCB7IEVzb2x2ZVRvcGljIH0gZnJvbSAnLi4vLi4vdG9waWNzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrSW1hZ2VTaXplLCBFc29sdmVTdG9ja1VuaXRPZk1lYXN1cmUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrQmFzZVJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0JhZGdlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stYmFkZ2UubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja1ByaWNlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stcHJpY2UubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVDb2xvdXIgfSBmcm9tICcuL2Vzb2x2ZS1jb2xvdXIubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0xlYWRUaW1lcyB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWxlYWQtdGltZXMubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0b2NrSXRlbUJhc2U8VCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcz4gaW1wbGVtZW50cyBFc29sdmVTZW9EZXRhaWxzIHtcclxuICAgIC8qKlxyXG4gICAgICogZVNvbHZlIEdlbmVyYXRlZCBJRFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaWQ6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIENvZGUgaWRlbnRpZnlpbmcgdGhlIHN0b2NrIGl0ZW1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvZGU6IHN0cmluZyA9ICcnO1xyXG4gICAgLyoqXHJcbiAgICAgKiBOYW1lIG9mIHRoZSBzdG9jayBpdGVtXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcgPSAnJztcclxuICAgIC8qKlxyXG4gICAgICogU2VhcmNoIGVuZ2luZSBmcmllbmRseSBuYW1lXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZWZfbmFtZTogc3RyaW5nID0gJyc7XHJcbiAgICAvKipcclxuICAgICAqIFNob3J0IGRlc2NyaXB0aW9uIG9mIHN0b2NrIGl0ZW1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcclxuICAgIC8qKlxyXG4gICAgICogRnVsbCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBleHRlbmRlZF9kZXNjcmlwdGlvbjogc3RyaW5nID0gJyc7XHJcbiAgICAvKipcclxuICAgICAqIEFjdGl2ZSBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvKipcclxuICAgICAqIEZlYXR1cmVkIHN0YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBmZWF0dXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBRdW90YWJsZSBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWxsb3dfcXVvdGVzOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIC8qKlxyXG4gICAgICogT3JkZXJhYmxlIHN0YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhbGxvd19vcmRlcnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJdGVtIG11c3QgYmUgY29sbGVjdGVkLCBub3QgZGVsaXZlcnkgcG9zc2libGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIG11c3RfY29sbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJdGVtIG5lZWRzIHRvIGJlIGFzc2VtYmxlZCBhZnRlciBwdXJjaGFzZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVxdWlyZXNfYXNzZW1ibHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIHR5cGUgb2YgZGVsaXZlcnkgY2F0ZWdvcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZWxpdmVyeV9jYXRlZ29yeTogc3RyaW5nID0gJ3JlZ3VsYXJfaXRlbSc7XHJcbiAgICAvKipcclxuICAgICAqIE51bWJlciBvZiBzdG9jayBhdmFpbGFibGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFtb3VudF9pbl9zdG9jazogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogVG90YWwgaXRlbXMgbGlua2VkIHRvIHRoZSBpdGVtIGFzIGEgcmVjaXBlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b3RhbF9yZWNpcGVfaXRlbXM6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIEhlaWdodCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoZWlnaHQ6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIFdpZHRoIG1lYXN1cmVkIGluIG1ldGVycyAobSlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHdpZHRoOiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMZW5ndGggLyBkZXB0aCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBsZW5ndGg6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIFdlaWdodCBtZWFzdXJlZCBpbiBraWxvZ3JhbXMgKGtnKVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd2VpZ2h0OiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBVbml0cyB1c2VkIHRvIG1lYXN1cmUgdGhlIHF1YW50aXR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB1bml0X29mX21lYXN1cmU6IEVzb2x2ZVN0b2NrVW5pdE9mTWVhc3VyZSA9ICd1bml0JztcclxuICAgIC8qKlxyXG4gICAgICogSUQgb2YgZGVmYXVsdCBjYXRlZ29yeSBsaW5rZWQgdG8gdGhlIHN0b2NrIGl0ZW1cclxuICAgICAqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYGNhdGVnb3J5LmVzb2x2ZV9pZGAgZmllbGQgaW5zdGVhZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2F0ZWdvcnlfaWQ6IHN0cmluZyA9ICcnO1xyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZhdWx0IGxpbmtlZCBjYXRlZ29yeVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2F0ZWdvcnk/OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJRCBvZiBkZWZhdWx0IHN1YmNhdGVnb3J5IGxpbmtlZCB0byB0aGUgc3RvY2sgaXRlbVxyXG4gICAgICpcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgc3ViY2F0ZWdvcnkuZXNvbHZlX2lkYCBmaWVsZCBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdWJjYXRlZ29yeV9pZDogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogRGVmYXVsdCBsaW5rZWQgc3ViY2F0ZWdvcnlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN1YmNhdGVnb3J5PzogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbTtcclxuICAgIC8qKlxyXG4gICAgICogSUQgb2YgbGlua2VkIG1hbnVmYWN0dXJlclxyXG4gICAgICpcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgbWFudWZhY3R1cmVyLmlkYCBmaWVsZCBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYW51ZmFjdHVyZXJzX2lkOiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMaW5rZWQgbWFudWZhY3R1cmVyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYW51ZmFjdHVyZXI/OiBFc29sdmVNYW51ZmFjdHVyZXI7XHJcbiAgICAvKipcclxuICAgICAqIElEIG9mIGxpbmtlZCByYW5nZVxyXG4gICAgICpcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgcmFuZ2UuaWRgIGZpZWxkIGluc3RlYWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJhbmdlc19pZDogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogTGlua2VkIHJhbmdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByYW5nZT86IEVzb2x2ZVJhbmdlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZhdWx0IHByaWNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwcmljZTogRXNvbHZlU3RvY2tQcmljZTtcclxuICAgIC8qKlxyXG4gICAgICogU0VPIHBhZ2UgZGV0YWlsc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VvX2RldGFpbHM6IEVzb2x2ZVNlb0luZm87XHJcbiAgICAvKipcclxuICAgICAqIExpbmtlZCB0YWdzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0YWdzOiBFc29sdmVUYWdbXSA9IFtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMaW5rZWQgdG9waWNzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b3BpY3M6IEVzb2x2ZVRvcGljW10gPSBbXTtcclxuICAgIC8qKlxyXG4gICAgICogU3RvY2sgYmFkZ2VzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBiYWRnZXM6IEVzb2x2ZVN0b2NrQmFkZ2VbXSA9IFtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTdG9jayBpdGVtIGN1c3RvbSBmaWVsZHMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjdXN0b21fZmllbGRzPzogVDtcclxuICAgIC8qKlxyXG4gICAgICogQ29sb3Vyc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29sb3VyczogRXNvbHZlQ29sb3VyW10gPSBbXTtcclxuICAgIC8qKlxyXG4gICAgICogU3RvY2sgSXRlbSBMZWFkIFRpbWVzIGZvciBzdXBwbHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGxlYWRfdGltZXM/OiBFc29sdmVTdG9ja0xlYWRUaW1lcztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEltYWdlIGZpbGVuYW1lXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaW1hZ2VfbmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIHRpbnkgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB0aW55X2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgndGlueScpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byB0aHVtYm5haWwgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB0aHVtYm5haWxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCd0aHVtYicpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byBzbWFsbCBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHNtYWxsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnc21hbGwnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gYmlnIHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgYmlnX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnYmlnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIG9yaWdpbmFsIHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgb3JpZ2luYWxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdvcmlnaW5hbCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5hbW91bnRfaW5fc3RvY2sgPiAwKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ6IFBhcnRpYWw8RXNvbHZlU3RvY2tCYXNlUmVjb3JkPFQ+PiA9IHt9KSB7XHJcbiAgICAgICAgbGV0IHNlb190aXRsZSA9ICcnO1xyXG4gICAgICAgIGxldCBzZW9fa2V5d29yZHMgPSAnJztcclxuICAgICAgICBsZXQgYmFzZV9wcmljZSA9IDA7XHJcbiAgICAgICAgbGV0IGJhc2VfcHJpY2Vfd2l0aF90YXggPSAwO1xyXG4gICAgICAgIGxldCBzZWxsX3ByaWNlID0gMDtcclxuICAgICAgICBsZXQgc2VsbF9wcmljZV93aXRoX3RheCA9IDA7XHJcblxyXG4gICAgICAgIGlmIChyZWNvcmQpIHtcclxuICAgICAgICAgICAgdGhpcy5pZCA9ICsocmVjb3JkLmlkID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGUgPSByZWNvcmQuY29kZSA/PyAnJztcclxuICAgICAgICAgICAgdGhpcy5uYW1lID0gcmVjb3JkLm5hbWUgPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuc2VmX25hbWUgPSByZWNvcmQuc2VmX25hbWUgPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSByZWNvcmQuZGVzY3JpcHRpb24gPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuZXh0ZW5kZWRfZGVzY3JpcHRpb24gPSByZWNvcmQuZXh0ZW5kZWRfZGVzY3JpcHRpb24gPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VfbmFtZSA9IHJlY29yZC5pbWFnZV9uYW1lID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5X2lkID0gcmVjb3JkLmNhdGVnb3J5X2lkID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5X2lkID0gKyhyZWNvcmQuc3ViY2F0ZWdvcnlfaWQgPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMubWFudWZhY3R1cmVyc19pZCA9ICsocmVjb3JkLm1hbnVmYWN0dXJlcnNfaWQgPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMucmFuZ2VzX2lkID0gKyhyZWNvcmQucmFuZ2VzX2lkID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLmRlbGl2ZXJ5X2NhdGVnb3J5ID0gcmVjb3JkLmRlbGl2ZXJ5X2NhdGVnb3J5ID8/ICdyZWd1bGFyX2l0ZW0nO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5tdXN0X2NvbGxlY3QgPSAhISsocmVjb3JkLm11c3RfY29sbGVjdCA/PyBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZXNfYXNzZW1ibHkgPSAhISsocmVjb3JkLnJlcXVpcmVzX2Fzc2VtYmx5ID8/IGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAhISsocmVjb3JkLmlzX2FjdGl2ZSA/PyBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZmVhdHVyZWQgPSAhISsocmVjb3JkLmlzX2ZlYXR1cmVkID8/IGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5hbGxvd19xdW90ZXMgPSAocmVjb3JkLmFsbG93X3F1b3RlcyA/PyB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5hbGxvd19vcmRlcnMgPSAocmVjb3JkLmFsbG93X29yZGVycyA/PyB0cnVlKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuYW1vdW50X2luX3N0b2NrID0gKyhyZWNvcmQub25oYW5kID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsX3JlY2lwZV9pdGVtcyA9ICsocmVjb3JkLnRvdGFsX3JlY2lwZV9pdGVtcyA/PyAwKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gKyhyZWNvcmQuaGVpZ2h0ID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLndpZHRoID0gKyhyZWNvcmQud2lkdGggPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMubGVuZ3RoID0gKyhyZWNvcmQubGVuZ3RoID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLndlaWdodCA9ICsocmVjb3JkLndlaWdodCA/PyAwKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQudW5pdF9vZl9tZWFzdXJlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuaXRfb2ZfbWVhc3VyZSA9IHJlY29yZC51bml0X29mX21lYXN1cmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJhc2VfcHJpY2UgPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZSA/PyAwKTtcclxuICAgICAgICAgICAgYmFzZV9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnJlZ3VsYXJfc2VsbHByaWNlX2luY2x1c2l2ZSA/PyAwKTtcclxuICAgICAgICAgICAgc2VsbF9wcmljZSA9ICsocmVjb3JkLnNlbGxwcmljZSA/PyAwKTtcclxuICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnNlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoKHJlY29yZC50YWdzKSAmJiAocmVjb3JkLnRhZ3MubGVuZ3RoID4gMCkpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdGFnIG9mIHJlY29yZC50YWdzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKChyZWNvcmQudG9waWNzKSAmJiAocmVjb3JkLnRvcGljcy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0b3BpYyBvZiByZWNvcmQudG9waWNzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3BpY3MucHVzaChuZXcgRXNvbHZlVG9waWModG9waWMpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKChyZWNvcmQuYmFkZ2VzKSAmJiAocmVjb3JkLmJhZGdlcy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBiYWRnZSBvZiByZWNvcmQuYmFkZ2VzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWRnZXMucHVzaChuZXcgRXNvbHZlU3RvY2tCYWRnZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgK2JhZGdlLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS50ZXh0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5pZGVudGlmaWVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5mb250X2NvbG91cixcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFkZ2UuYmFkZ2VfY29sb3VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2Uuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICApKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5jYXRlZ29yeSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS50eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5pZCxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkucGFyZW50X2lkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VmX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zaG9ydF9kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kaXNwbGF5X29ubHksXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmltYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZW9fcGFnZV90aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2tleXdvcmRzLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZW9fZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAocmVjb3JkLnN1YmNhdGVnb3J5KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5ID0gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5wYXJlbnRfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZWZfZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNob3J0X2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zb3J0X3ByaW9yaXR5LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5hY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRpc3BsYXlfb25seSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaW1hZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlb19wYWdlX3RpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fa2V5d29yZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlb19kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQubWFudWZhY3R1cmVyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hbnVmYWN0dXJlciA9IG5ldyBFc29sdmVNYW51ZmFjdHVyZXIocmVjb3JkLm1hbnVmYWN0dXJlcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQucmFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmFuZ2UgPSBuZXcgRXNvbHZlUmFuZ2UocmVjb3JkLnJhbmdlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5jb2xvdXJzICYmIHJlY29yZC5jb2xvdXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY29sb3VyIG9mIHJlY29yZC5jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvdXJzLnB1c2gobmV3IEVzb2x2ZUNvbG91cihjb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5sZWFkX3RpbWVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxlYWRfdGltZXMgPSBuZXcgRXNvbHZlU3RvY2tMZWFkVGltZXMocmVjb3JkLmxlYWRfdGltZXMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAocmVjb3JkLmN1c3RvbV9maWVsZHMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tX2ZpZWxkcyA9IHJlY29yZC5jdXN0b21fZmllbGRzO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzZW9fdGl0bGUgPSByZWNvcmQuc2VvX3BhZ2VfdGl0bGUgPz8gJyc7XHJcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyA9IHJlY29yZC5zZW9fa2V5d29yZHMgPz8gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVN0b2NrUHJpY2UoXHJcbiAgICAgICAgICAgIGJhc2VfcHJpY2UsXHJcbiAgICAgICAgICAgIGJhc2VfcHJpY2Vfd2l0aF90YXgsXHJcbiAgICAgICAgICAgIHNlbGxfcHJpY2UsXHJcbiAgICAgICAgICAgIHNlbGxfcHJpY2Vfd2l0aF90YXgsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKHNlb190aXRsZS50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIHNlb190aXRsZSA9IHRoaXMubmFtZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VvX2RldGFpbHMgPSBuZXcgRXNvbHZlU2VvSW5mbyhcclxuICAgICAgICAgICAgc2VvX3RpdGxlLFxyXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICBzZW9fa2V5d29yZHMsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKGltYWdlX3NpemU6IEVzb2x2ZVN0b2NrSW1hZ2VTaXplKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5pbWFnZV9uYW1lICE9PSAnJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYC9pbWFnZXMvc3RvY2svJHtpbWFnZV9zaXplfS8ke3RoaXMuaW1hZ2VfbmFtZX1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWl0ZW0tYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc3RvY2svY2xhc3Nlcy9lc29sdmUtc3RvY2staXRlbS1iYXNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBb0IsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXZFLE1BQU0sT0FBTyxtQkFBbUI7SUFzTTVCLFlBQVksU0FBNEMsRUFBRTtRQXJNMUQ7O1dBRUc7UUFDSSxPQUFFLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCOztXQUVHO1FBQ0ksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUN6Qjs7V0FFRztRQUNJLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDekI7O1dBRUc7UUFDSSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQzdCOztXQUVHO1FBQ0ksZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDaEM7O1dBRUc7UUFDSSx5QkFBb0IsR0FB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LEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQTBKTSxZQUFZLENBQUMsVUFBZ0M7UUFDaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRTtZQUN4QixPQUFPLGlCQUFpQixVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQzNEO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVDdXN0b21GaWVsZHMgfSBmcm9tICcuLi8uLi9zaGFyZWQvY3VzdG9tLWZpZWxkcyc7XHJcbmltcG9ydCB7IEVzb2x2ZVNlb0RldGFpbHMsIEVzb2x2ZVNlb0luZm8gfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VvJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0gfSBmcm9tICcuLi8uLi9jYXRlZ29yeS10cmVlJztcclxuaW1wb3J0IHsgRXNvbHZlTWFudWZhY3R1cmVyIH0gZnJvbSAnLi4vLi4vbWFudWZhY3R1cmVycyc7XHJcbmltcG9ydCB7IEVzb2x2ZVJhbmdlIH0gZnJvbSAnLi4vLi4vcmFuZ2VzJztcclxuaW1wb3J0IHsgRXNvbHZlVGFnIH0gZnJvbSAnLi4vLi4vdGFncyc7XHJcbmltcG9ydCB7IEVzb2x2ZVRvcGljIH0gZnJvbSAnLi4vLi4vdG9waWNzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrSW1hZ2VTaXplLCBFc29sdmVTdG9ja1VuaXRPZk1lYXN1cmUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IEVzb2x2ZVN0b2NrQmFzZVJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0JhZGdlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stYmFkZ2UubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja1ByaWNlIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stcHJpY2UubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVDb2xvdXIgfSBmcm9tICcuL2Vzb2x2ZS1jb2xvdXIubW9kZWwnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0xlYWRUaW1lcyB9IGZyb20gJy4vZXNvbHZlLXN0b2NrLWxlYWQtdGltZXMubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVN0b2NrSXRlbUJhc2U8VCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcz4gaW1wbGVtZW50cyBFc29sdmVTZW9EZXRhaWxzIHtcclxuICAgIC8qKlxyXG4gICAgICogZVNvbHZlIEdlbmVyYXRlZCBJRFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaWQ6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIENvZGUgaWRlbnRpZnlpbmcgdGhlIHN0b2NrIGl0ZW1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvZGU6IHN0cmluZyA9ICcnO1xyXG4gICAgLyoqXHJcbiAgICAgKiBOYW1lIG9mIHRoZSBzdG9jayBpdGVtXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcgPSAnJztcclxuICAgIC8qKlxyXG4gICAgICogU2VhcmNoIGVuZ2luZSBmcmllbmRseSBuYW1lXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZWZfbmFtZTogc3RyaW5nID0gJyc7XHJcbiAgICAvKipcclxuICAgICAqIFNob3J0IGRlc2NyaXB0aW9uIG9mIHN0b2NrIGl0ZW1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcclxuICAgIC8qKlxyXG4gICAgICogRnVsbCBkZXNjcmlwdGlvbiBvZiBzdG9jayBpdGVtXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBleHRlbmRlZF9kZXNjcmlwdGlvbjogc3RyaW5nID0gJyc7XHJcbiAgICAvKipcclxuICAgICAqIEFjdGl2ZSBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvKipcclxuICAgICAqIEZlYXR1cmVkIHN0YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBmZWF0dXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBRdW90YWJsZSBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWxsb3dfcXVvdGVzOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIC8qKlxyXG4gICAgICogT3JkZXJhYmxlIHN0YXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhbGxvd19vcmRlcnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJdGVtIG11c3QgYmUgY29sbGVjdGVkLCBub3QgZGVsaXZlcnkgcG9zc2libGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIG11c3RfY29sbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJdGVtIG5lZWRzIHRvIGJlIGFzc2VtYmxlZCBhZnRlciBwdXJjaGFzZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVxdWlyZXNfYXNzZW1ibHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIHR5cGUgb2YgZGVsaXZlcnkgY2F0ZWdvcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZWxpdmVyeV9jYXRlZ29yeTogc3RyaW5nID0gJ3JlZ3VsYXJfaXRlbSc7XHJcbiAgICAvKipcclxuICAgICAqIE51bWJlciBvZiBzdG9jayBhdmFpbGFibGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFtb3VudF9pbl9zdG9jazogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogVG90YWwgaXRlbXMgbGlua2VkIHRvIHRoZSBpdGVtIGFzIGEgcmVjaXBlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b3RhbF9yZWNpcGVfaXRlbXM6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIEhlaWdodCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoZWlnaHQ6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIFdpZHRoIG1lYXN1cmVkIGluIG1ldGVycyAobSlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHdpZHRoOiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMZW5ndGggLyBkZXB0aCBtZWFzdXJlZCBpbiBtZXRlcnMgKG0pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBsZW5ndGg6IG51bWJlciA9IDA7XHJcbiAgICAvKipcclxuICAgICAqIFdlaWdodCBtZWFzdXJlZCBpbiBraWxvZ3JhbXMgKGtnKVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd2VpZ2h0OiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBVbml0cyB1c2VkIHRvIG1lYXN1cmUgdGhlIHF1YW50aXR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB1bml0X29mX21lYXN1cmU6IEVzb2x2ZVN0b2NrVW5pdE9mTWVhc3VyZSA9ICd1bml0JztcclxuICAgIC8qKlxyXG4gICAgICogSUQgb2YgZGVmYXVsdCBjYXRlZ29yeSBsaW5rZWQgdG8gdGhlIHN0b2NrIGl0ZW1cclxuICAgICAqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYGNhdGVnb3J5LmVzb2x2ZV9pZGAgZmllbGQgaW5zdGVhZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2F0ZWdvcnlfaWQ6IHN0cmluZyA9ICcnO1xyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZhdWx0IGxpbmtlZCBjYXRlZ29yeVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2F0ZWdvcnk/OiBFc29sdmVDYXRlZ29yeVRyZWVJdGVtO1xyXG4gICAgLyoqXHJcbiAgICAgKiBJRCBvZiBkZWZhdWx0IHN1YmNhdGVnb3J5IGxpbmtlZCB0byB0aGUgc3RvY2sgaXRlbVxyXG4gICAgICpcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgc3ViY2F0ZWdvcnkuZXNvbHZlX2lkYCBmaWVsZCBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdWJjYXRlZ29yeV9pZDogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogRGVmYXVsdCBsaW5rZWQgc3ViY2F0ZWdvcnlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN1YmNhdGVnb3J5PzogRXNvbHZlQ2F0ZWdvcnlUcmVlSXRlbTtcclxuICAgIC8qKlxyXG4gICAgICogSUQgb2YgbGlua2VkIG1hbnVmYWN0dXJlclxyXG4gICAgICpcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgbWFudWZhY3R1cmVyLmlkYCBmaWVsZCBpbnN0ZWFkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYW51ZmFjdHVyZXJzX2lkOiBudW1iZXIgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMaW5rZWQgbWFudWZhY3R1cmVyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYW51ZmFjdHVyZXI/OiBFc29sdmVNYW51ZmFjdHVyZXI7XHJcbiAgICAvKipcclxuICAgICAqIElEIG9mIGxpbmtlZCByYW5nZVxyXG4gICAgICpcclxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBgcmFuZ2UuaWRgIGZpZWxkIGluc3RlYWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJhbmdlc19pZDogbnVtYmVyID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogTGlua2VkIHJhbmdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByYW5nZT86IEVzb2x2ZVJhbmdlO1xyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZhdWx0IHByaWNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwcmljZTogRXNvbHZlU3RvY2tQcmljZTtcclxuICAgIC8qKlxyXG4gICAgICogU0VPIHBhZ2UgZGV0YWlsc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VvX2RldGFpbHM6IEVzb2x2ZVNlb0luZm87XHJcbiAgICAvKipcclxuICAgICAqIExpbmtlZCB0YWdzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0YWdzOiBFc29sdmVUYWdbXSA9IFtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBMaW5rZWQgdG9waWNzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b3BpY3M6IEVzb2x2ZVRvcGljW10gPSBbXTtcclxuICAgIC8qKlxyXG4gICAgICogU3RvY2sgYmFkZ2VzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBiYWRnZXM6IEVzb2x2ZVN0b2NrQmFkZ2VbXSA9IFtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTdG9jayBpdGVtIGN1c3RvbSBmaWVsZHMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjdXN0b21fZmllbGRzPzogVDtcclxuICAgIC8qKlxyXG4gICAgICogQ29sb3Vyc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29sb3VyczogRXNvbHZlQ29sb3VyW10gPSBbXTtcclxuICAgIC8qKlxyXG4gICAgICogU3RvY2sgSXRlbSBMZWFkIFRpbWVzIGZvciBzdXBwbHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGxlYWRfdGltZXM/OiBFc29sdmVTdG9ja0xlYWRUaW1lcztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEltYWdlIGZpbGVuYW1lXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaW1hZ2VfbmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIHRpbnkgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB0aW55X2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgndGlueScpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byB0aHVtYm5haWwgc3RvY2sgaW1hZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCB0aHVtYm5haWxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCd0aHVtYicpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGF0aCB0byBzbWFsbCBzdG9jayBpbWFnZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHNtYWxsX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnc21hbGwnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gYmlnIHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgYmlnX2ltYWdlX3NyYygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnYmlnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYXRoIHRvIG9yaWdpbmFsIHN0b2NrIGltYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgb3JpZ2luYWxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdvcmlnaW5hbCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5hbW91bnRfaW5fc3RvY2sgPiAwKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ6IFBhcnRpYWw8RXNvbHZlU3RvY2tCYXNlUmVjb3JkPFQ+PiA9IHt9KSB7XHJcbiAgICAgICAgbGV0IHNlb190aXRsZSA9ICcnO1xyXG4gICAgICAgIGxldCBzZW9fa2V5d29yZHMgPSAnJztcclxuICAgICAgICBsZXQgYmFzZV9wcmljZSA9IDA7XHJcbiAgICAgICAgbGV0IGJhc2VfcHJpY2Vfd2l0aF90YXggPSAwO1xyXG4gICAgICAgIGxldCBzZWxsX3ByaWNlID0gMDtcclxuICAgICAgICBsZXQgc2VsbF9wcmljZV93aXRoX3RheCA9IDA7XHJcblxyXG4gICAgICAgIGlmIChyZWNvcmQpIHtcclxuICAgICAgICAgICAgdGhpcy5pZCA9ICsocmVjb3JkLmlkID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGUgPSByZWNvcmQuY29kZSA/PyAnJztcclxuICAgICAgICAgICAgdGhpcy5uYW1lID0gcmVjb3JkLm5hbWUgPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuc2VmX25hbWUgPSByZWNvcmQuc2VmX25hbWUgPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSByZWNvcmQuZGVzY3JpcHRpb24gPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuZXh0ZW5kZWRfZGVzY3JpcHRpb24gPSByZWNvcmQuZXh0ZW5kZWRfZGVzY3JpcHRpb24gPz8gJyc7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VfbmFtZSA9IHJlY29yZC5pbWFnZV9uYW1lID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5X2lkID0gcmVjb3JkLmNhdGVnb3J5X2lkID8/ICcnO1xyXG4gICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5X2lkID0gKyhyZWNvcmQuc3ViY2F0ZWdvcnlfaWQgPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMubWFudWZhY3R1cmVyc19pZCA9ICsocmVjb3JkLm1hbnVmYWN0dXJlcnNfaWQgPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMucmFuZ2VzX2lkID0gKyhyZWNvcmQucmFuZ2VzX2lkID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLmRlbGl2ZXJ5X2NhdGVnb3J5ID0gcmVjb3JkLmRlbGl2ZXJ5X2NhdGVnb3J5ID8/ICdyZWd1bGFyX2l0ZW0nO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5tdXN0X2NvbGxlY3QgPSAhISsocmVjb3JkLm11c3RfY29sbGVjdCA/PyBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZXNfYXNzZW1ibHkgPSAhISsocmVjb3JkLnJlcXVpcmVzX2Fzc2VtYmx5ID8/IGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSAhISsocmVjb3JkLmlzX2FjdGl2ZSA/PyBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZmVhdHVyZWQgPSAhISsocmVjb3JkLmlzX2ZlYXR1cmVkID8/IGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5hbGxvd19xdW90ZXMgPSAocmVjb3JkLmFsbG93X3F1b3RlcyA/PyB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5hbGxvd19vcmRlcnMgPSAocmVjb3JkLmFsbG93X29yZGVycyA/PyB0cnVlKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuYW1vdW50X2luX3N0b2NrID0gKyhyZWNvcmQub25oYW5kID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsX3JlY2lwZV9pdGVtcyA9ICsocmVjb3JkLnRvdGFsX3JlY2lwZV9pdGVtcyA/PyAwKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gKyhyZWNvcmQuaGVpZ2h0ID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLndpZHRoID0gKyhyZWNvcmQud2lkdGggPz8gMCk7XHJcbiAgICAgICAgICAgIHRoaXMubGVuZ3RoID0gKyhyZWNvcmQubGVuZ3RoID8/IDApO1xyXG4gICAgICAgICAgICB0aGlzLndlaWdodCA9ICsocmVjb3JkLndlaWdodCA/PyAwKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQudW5pdF9vZl9tZWFzdXJlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuaXRfb2ZfbWVhc3VyZSA9IHJlY29yZC51bml0X29mX21lYXN1cmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJhc2VfcHJpY2UgPSArKHJlY29yZC5yZWd1bGFyX3NlbGxwcmljZSA/PyAwKTtcclxuICAgICAgICAgICAgYmFzZV9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnJlZ3VsYXJfc2VsbHByaWNlX2luY2x1c2l2ZSA/PyAwKTtcclxuICAgICAgICAgICAgc2VsbF9wcmljZSA9ICsocmVjb3JkLnNlbGxwcmljZSA/PyAwKTtcclxuICAgICAgICAgICAgc2VsbF9wcmljZV93aXRoX3RheCA9ICsocmVjb3JkLnNlbGxwcmljZV9pbmNsdXNpdmUgPz8gMCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoKHJlY29yZC50YWdzKSAmJiAocmVjb3JkLnRhZ3MubGVuZ3RoID4gMCkpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdGFnIG9mIHJlY29yZC50YWdzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdzLnB1c2gobmV3IEVzb2x2ZVRhZyh0YWcpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKChyZWNvcmQudG9waWNzKSAmJiAocmVjb3JkLnRvcGljcy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0b3BpYyBvZiByZWNvcmQudG9waWNzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3BpY3MucHVzaChuZXcgRXNvbHZlVG9waWModG9waWMpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKChyZWNvcmQuYmFkZ2VzKSAmJiAocmVjb3JkLmJhZGdlcy5sZW5ndGggPiAwKSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBiYWRnZSBvZiByZWNvcmQuYmFkZ2VzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWRnZXMucHVzaChuZXcgRXNvbHZlU3RvY2tCYWRnZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgK2JhZGdlLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS50ZXh0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5pZGVudGlmaWVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRnZS5mb250X2NvbG91cixcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFkZ2UuYmFkZ2VfY29sb3VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICArYmFkZ2Uuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICApKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5jYXRlZ29yeSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IG5ldyBFc29sdmVDYXRlZ29yeVRyZWVJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS50eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5pZCxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkucGFyZW50X2lkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VmX2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zaG9ydF9kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5kaXNwbGF5X29ubHksXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhdGVnb3J5LmltYWdlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZW9fcGFnZV90aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2F0ZWdvcnkuc2VvX2tleXdvcmRzLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5jYXRlZ29yeS5zZW9fZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAocmVjb3JkLnN1YmNhdGVnb3J5KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1YmNhdGVnb3J5ID0gbmV3IEVzb2x2ZUNhdGVnb3J5VHJlZUl0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5wYXJlbnRfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZWZfZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNob3J0X2Rlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zb3J0X3ByaW9yaXR5LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5hY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LmRpc3BsYXlfb25seSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3ViY2F0ZWdvcnkuaW1hZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlb19wYWdlX3RpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdWJjYXRlZ29yeS5zZW9fa2V5d29yZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN1YmNhdGVnb3J5LnNlb19kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQubWFudWZhY3R1cmVyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hbnVmYWN0dXJlciA9IG5ldyBFc29sdmVNYW51ZmFjdHVyZXIocmVjb3JkLm1hbnVmYWN0dXJlcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZWNvcmQucmFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmFuZ2UgPSBuZXcgRXNvbHZlUmFuZ2UocmVjb3JkLnJhbmdlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5jb2xvdXJzICYmIHJlY29yZC5jb2xvdXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY29sb3VyIG9mIHJlY29yZC5jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvdXJzLnB1c2gobmV3IEVzb2x2ZUNvbG91cihjb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHJlY29yZC5sZWFkX3RpbWVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxlYWRfdGltZXMgPSBuZXcgRXNvbHZlU3RvY2tMZWFkVGltZXMocmVjb3JkLmxlYWRfdGltZXMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAocmVjb3JkLmN1c3RvbV9maWVsZHMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tX2ZpZWxkcyA9IHJlY29yZC5jdXN0b21fZmllbGRzO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzZW9fdGl0bGUgPSByZWNvcmQuc2VvX3BhZ2VfdGl0bGUgPz8gJyc7XHJcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyA9IHJlY29yZC5zZW9fa2V5d29yZHMgPz8gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVN0b2NrUHJpY2UoXHJcbiAgICAgICAgICAgIGJhc2VfcHJpY2UsXHJcbiAgICAgICAgICAgIGJhc2VfcHJpY2Vfd2l0aF90YXgsXHJcbiAgICAgICAgICAgIHNlbGxfcHJpY2UsXHJcbiAgICAgICAgICAgIHNlbGxfcHJpY2Vfd2l0aF90YXgsXHJcbiAgICAgICAgICAgIHJlY29yZC52YXRfaXRlbSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAoc2VvX3RpdGxlLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgICAgc2VvX3RpdGxlID0gdGhpcy5uYW1lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZW9fZGV0YWlscyA9IG5ldyBFc29sdmVTZW9JbmZvKFxyXG4gICAgICAgICAgICBzZW9fdGl0bGUsXHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRJbWFnZVBhdGgoaW1hZ2Vfc2l6ZTogRXNvbHZlU3RvY2tJbWFnZVNpemUpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLmltYWdlX25hbWUgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgL2ltYWdlcy9zdG9jay8ke2ltYWdlX3NpemV9LyR7dGhpcy5pbWFnZV9uYW1lfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -4,10 +4,12 @@
4
4
  export class EsolveStockPrice {
5
5
  /**
6
6
  * Create stock price instance
7
+ *
7
8
  * @param base_price Price without tax
8
9
  * @param base_price_with_tax Price with tax
9
10
  * @param sell_price Price without tax and with discounts applied if applicable
10
11
  * @param sell_price_with_tax Price with tax and with discounts applied if applicable
12
+ * @param taxed Whether tax has been applied
11
13
  */
12
14
  constructor(
13
15
  /**
@@ -25,7 +27,7 @@ export class EsolveStockPrice {
25
27
  /**
26
28
  * Price with tax and with discounts applied if applicable
27
29
  */
28
- sell_price_with_tax = 0) {
30
+ sell_price_with_tax = 0, taxed) {
29
31
  this.base_price = base_price;
30
32
  this.base_price_with_tax = base_price_with_tax;
31
33
  this.sell_price = sell_price;
@@ -38,6 +40,7 @@ export class EsolveStockPrice {
38
40
  this.sell_price = this.base_price;
39
41
  this.sell_price_with_tax = this.base_price_with_tax;
40
42
  }
43
+ this.taxed = taxed ?? this.base_price !== this.base_price_with_tax;
41
44
  }
42
45
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLXByaWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9jbGFzc2VzL2Vzb2x2ZS1zdG9jay1wcmljZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDekI7Ozs7OztPQU1HO0lBQ0g7SUFDSTs7T0FFRztJQUNJLGFBQXFCLENBQUM7SUFFN0I7O09BRUc7SUFDSSxzQkFBOEIsQ0FBQztJQUV0Qzs7T0FFRztJQUNJLGFBQXFCLENBQUM7SUFFN0I7O09BRUc7SUFDSSxzQkFBOEIsQ0FBQztRQWYvQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBS3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBWTtRQUsvQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBS3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBWTtRQUV0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDdkQ7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDdkQ7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUHJpY2Ugb2YgZVNvbHZlIHN0b2NrIGl0ZW1cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVTdG9ja1ByaWNlIHtcclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlIHN0b2NrIHByaWNlIGluc3RhbmNlXHJcbiAgICAgKiBAcGFyYW0gYmFzZV9wcmljZSBQcmljZSB3aXRob3V0IHRheFxyXG4gICAgICogQHBhcmFtIGJhc2VfcHJpY2Vfd2l0aF90YXggUHJpY2Ugd2l0aCB0YXhcclxuICAgICAqIEBwYXJhbSBzZWxsX3ByaWNlIFByaWNlIHdpdGhvdXQgdGF4IGFuZCB3aXRoIGRpc2NvdW50cyBhcHBsaWVkIGlmIGFwcGxpY2FibGVcclxuICAgICAqIEBwYXJhbSBzZWxsX3ByaWNlX3dpdGhfdGF4IFByaWNlIHdpdGggdGF4IGFuZCB3aXRoIGRpc2NvdW50cyBhcHBsaWVkIGlmIGFwcGxpY2FibGVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogUHJpY2Ugd2l0aG91dCB0YXhcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgYmFzZV9wcmljZTogbnVtYmVyID0gMCxcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogUHJpY2Ugd2l0aCB0YXhcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgYmFzZV9wcmljZV93aXRoX3RheDogbnVtYmVyID0gMCxcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogUHJpY2Ugd2l0aG91dCB0YXggYW5kIHdpdGggZGlzY291bnRzIGFwcGxpZWQgaWYgYXBwbGljYWJsZVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBzZWxsX3ByaWNlOiBudW1iZXIgPSAwLFxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBQcmljZSB3aXRoIHRheCBhbmQgd2l0aCBkaXNjb3VudHMgYXBwbGllZCBpZiBhcHBsaWNhYmxlXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIHNlbGxfcHJpY2Vfd2l0aF90YXg6IG51bWJlciA9IDAsXHJcbiAgICApIHtcclxuICAgICAgICBpZiAoKHRoaXMuYmFzZV9wcmljZSA9PT0gMCkgJiYgKHRoaXMuc2VsbF9wcmljZSA+IDApKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZV9wcmljZSA9IHRoaXMuc2VsbF9wcmljZTtcclxuICAgICAgICAgICAgdGhpcy5iYXNlX3ByaWNlX3dpdGhfdGF4ID0gdGhpcy5zZWxsX3ByaWNlX3dpdGhfdGF4O1xyXG4gICAgICAgIH0gZWxzZSBpZiAoKHRoaXMuYmFzZV9wcmljZSA+IDApICYmICh0aGlzLnNlbGxfcHJpY2UgPT09IDApKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsbF9wcmljZSA9IHRoaXMuYmFzZV9wcmljZTtcclxuICAgICAgICAgICAgdGhpcy5zZWxsX3ByaWNlX3dpdGhfdGF4ID0gdGhpcy5iYXNlX3ByaWNlX3dpdGhfdGF4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLXByaWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zdG9jay9jbGFzc2VzL2Vzb2x2ZS1zdG9jay1wcmljZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFHekI7Ozs7Ozs7O09BUUc7SUFDSDtJQUNJOztPQUVHO0lBQ0ksYUFBcUIsQ0FBQztJQUU3Qjs7T0FFRztJQUNJLHNCQUE4QixDQUFDO0lBRXRDOztPQUVHO0lBQ0ksYUFBcUIsQ0FBQztJQUU3Qjs7T0FFRztJQUNJLHNCQUE4QixDQUFDLEVBQ3RDLEtBQWU7UUFoQlIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUt0Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVk7UUFLL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUt0Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVk7UUFHdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNsQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1NBQ3ZEO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNsQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDdkUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFByaWNlIG9mIGVTb2x2ZSBzdG9jayBpdGVtXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRXNvbHZlU3RvY2tQcmljZSB7XHJcbiAgICBwdWJsaWMgdGF4ZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGUgc3RvY2sgcHJpY2UgaW5zdGFuY2VcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gYmFzZV9wcmljZSBQcmljZSB3aXRob3V0IHRheFxyXG4gICAgICogQHBhcmFtIGJhc2VfcHJpY2Vfd2l0aF90YXggUHJpY2Ugd2l0aCB0YXhcclxuICAgICAqIEBwYXJhbSBzZWxsX3ByaWNlIFByaWNlIHdpdGhvdXQgdGF4IGFuZCB3aXRoIGRpc2NvdW50cyBhcHBsaWVkIGlmIGFwcGxpY2FibGVcclxuICAgICAqIEBwYXJhbSBzZWxsX3ByaWNlX3dpdGhfdGF4IFByaWNlIHdpdGggdGF4IGFuZCB3aXRoIGRpc2NvdW50cyBhcHBsaWVkIGlmIGFwcGxpY2FibGVcclxuICAgICAqIEBwYXJhbSB0YXhlZCBXaGV0aGVyIHRheCBoYXMgYmVlbiBhcHBsaWVkXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFByaWNlIHdpdGhvdXQgdGF4XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIGJhc2VfcHJpY2U6IG51bWJlciA9IDAsXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFByaWNlIHdpdGggdGF4XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIGJhc2VfcHJpY2Vfd2l0aF90YXg6IG51bWJlciA9IDAsXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFByaWNlIHdpdGhvdXQgdGF4IGFuZCB3aXRoIGRpc2NvdW50cyBhcHBsaWVkIGlmIGFwcGxpY2FibGVcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgc2VsbF9wcmljZTogbnVtYmVyID0gMCxcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogUHJpY2Ugd2l0aCB0YXggYW5kIHdpdGggZGlzY291bnRzIGFwcGxpZWQgaWYgYXBwbGljYWJsZVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBzZWxsX3ByaWNlX3dpdGhfdGF4OiBudW1iZXIgPSAwLFxyXG4gICAgICAgIHRheGVkPzogYm9vbGVhbixcclxuICAgICkge1xyXG4gICAgICAgIGlmICgodGhpcy5iYXNlX3ByaWNlID09PSAwKSAmJiAodGhpcy5zZWxsX3ByaWNlID4gMCkpIHtcclxuICAgICAgICAgICAgdGhpcy5iYXNlX3ByaWNlID0gdGhpcy5zZWxsX3ByaWNlO1xyXG4gICAgICAgICAgICB0aGlzLmJhc2VfcHJpY2Vfd2l0aF90YXggPSB0aGlzLnNlbGxfcHJpY2Vfd2l0aF90YXg7XHJcbiAgICAgICAgfSBlbHNlIGlmICgodGhpcy5iYXNlX3ByaWNlID4gMCkgJiYgKHRoaXMuc2VsbF9wcmljZSA9PT0gMCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxsX3ByaWNlID0gdGhpcy5iYXNlX3ByaWNlO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGxfcHJpY2Vfd2l0aF90YXggPSB0aGlzLmJhc2VfcHJpY2Vfd2l0aF90YXg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnRheGVkID0gdGF4ZWQgPz8gdGhpcy5iYXNlX3ByaWNlICE9PSB0aGlzLmJhc2VfcHJpY2Vfd2l0aF90YXg7XHJcbiAgICB9XHJcbn1cclxuIl19