ntk-cms-api 18.3.461 → 18.3.462

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.
@@ -8,6 +8,7 @@ export class ApiServerBase {
8
8
  constructor(http) {
9
9
  this.http = http;
10
10
  this.baseUrl = 'https://apicms.ir/api/v2/';
11
+ this.handleErrorCustom = null;
11
12
  this.userToken = '';
12
13
  this.deviceToken = '';
13
14
  this.configApiRetry = 0;
@@ -173,7 +174,7 @@ export class ApiServerBase {
173
174
  return model;
174
175
  }
175
176
  handleError(error, caught) {
176
- if (this.handleErrorCustom)
177
+ if (this.handleErrorCustom && this.handleErrorCustom != null && this.handleErrorCustom == undefined)
177
178
  return this.handleErrorCustom(error, caught);
178
179
  let errorMessage = error.message;
179
180
  if (error && error.status) {
@@ -200,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
200
201
  type: Inject,
201
202
  args: [HttpClient]
202
203
  }] }]; } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpU2VydmVyQmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnRrLWNtcy1hcGkvc3JjL2xpYi9zZXJ2aWNlL2Jhc2UvYXBpU2VydmVyQmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLOUMsZ0ZBQWdGO0FBSWhGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQXVDLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFJaEQsWUFBTyxHQUFHLDJCQUEyQixDQUFDO1FBRXRDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUMxQixpQkFBWSxHQUFHLFdBQVcsQ0FBQztRQUMzQixtQkFBYyxHQUFHLGFBQWEsQ0FBQztRQUMvQixlQUFVLEdBQUcsU0FBUyxDQUFDO1FBRWYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQVUzQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQXRCakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUMzQyxDQUFDO0lBWUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxRQUFRLEdBQUcsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENB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QU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7YUFDcEM7U0FDRjtRQUNELDRCQUE0QjtRQUM1QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBVSxFQUFFLE1BQXVCO1FBQzdDLElBQUcsSUFBSSxDQUFDLGlCQUFpQjtZQUN2QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFFOUMsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNqQyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3pCLG9CQUFvQjtZQUNwQixZQUFZLEdBQUcsbUJBQW1CLEtBQUssQ0FBQyxNQUFNLGNBQWMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVFLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUU7Z0JBQ2xELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQztnQkFDNUIsTUFBTSxPQUFPLEdBQUcsMEJBQTBCLENBQUM7Z0JBQzNDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzVDO1NBQ0Y7YUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQzVDLG9CQUFvQjtZQUNwQixZQUFZLEdBQUcsY0FBYyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3BEO1FBRUQsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MkdBekxVLGFBQWEsa0JBQ0osVUFBVTsrR0FEbkIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVOzswQkFFSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFcnJvckV4Y2VwdGlvblJlc3VsdCB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvYmFzZS9lcnJvckV4Y2VwdGlvblJlc3VsdCc7XHJcbmltcG9ydCB7IEVycm9yRXhjZXB0aW9uUmVzdWx0QmFzZSB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvYmFzZS9lcnJvckV4Y2VwdGlvblJlc3VsdEJhc2UnO1xyXG5pbXBvcnQgeyBFcnJvckV4Y2VwdGlvblJlc3VsdEV4cG9ydEZpbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW50aXR5L2Jhc2UvZXJyb3JFeGNlcHRpb25SZXN1bHRFeHBvcnRGaWxlJztcclxuaW1wb3J0IHsgTWFuYWdlVXNlckFjY2Vzc0RhdGFUeXBlc0VudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZW51bXMvYmFzZS9tYW5hZ2VVc2VyQWNjZXNzRGF0YVR5cGVzRW51bSc7XHJcbi8vaW1wb3J0IHsgTnRrQ21zQXBpU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVkdWNlcnMvbnRrQ21zQXBpU3RvcmUuc2VydmljZSc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBpU2VydmVyQmFzZSB7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChIdHRwQ2xpZW50KSBwdWJsaWMgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgdGhpcy5jaGlsZENvbnN0cnVjdG9yKCk7XHJcbiAgICB0aGlzLmhlYWRlcnMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG4gIH1cclxuICBwdWJsaWMgYmFzZVVybCA9ICdodHRwczovL2FwaWNtcy5pci9hcGkvdjIvJztcclxuICBwcml2YXRlIGhhbmRsZUVycm9yQ3VzdG9tOmFueTtcclxuICBwdWJsaWMgdXNlclRva2VuID0gJyc7XHJcbiAgcHVibGljIGRldmljZVRva2VuID0gJyc7XHJcbiAgcHVibGljIGNvbmZpZ0FwaVJldHJ5ID0gMDtcclxuICBrZXlVc2VyVG9rZW4gPSAndXNlclRva2VuJztcclxuICBrZXlEZXZpY2VUb2tlbiA9ICdkZXZpY2VUb2tlbic7XHJcbiAga2V5QmFzZVVybCA9ICdiYXNlVXJsJztcclxuICBwcml2YXRlIGhlYWRlcnM6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJpdmF0ZSBhY2Nlc3NMb2FkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBhY2Nlc3NEYXRhVHlwZTogTWFuYWdlVXNlckFjY2Vzc0RhdGFUeXBlc0VudW07XHJcbiAgc2V0Q29uZmlnKHVybDogc3RyaW5nLCBhcGlSZXRyeSA9IDEpOiB2b2lkIHtcclxuICAgIHRoaXMuYmFzZVVybCA9IHVybDtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5QmFzZVVybCwgdXJsKTtcclxuICAgIHRoaXMuY29uZmlnQXBpUmV0cnkgPSBhcGlSZXRyeTtcclxuICB9XHJcbiAgc2V0Q29uZmlnSGFuZGxlRXJyb3IoZnVuYzogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmhhbmRsZUVycm9yQ3VzdG9tID0gZnVuYzs7XHJcbiAgfVxyXG4gIGNhY2hBcGlSZXN1bHQgPSBbXTtcclxuICBjYXNoQXBpSXNWYWxpZChzZXJ2aWNlTmFtZUtheTogc3RyaW5nLCBjYXNoQXBpU2Vjb25kcz86IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGNhc2hBcGlTZWNvbmRzID4gMCkge1xyXG4gICAgICBpZiAoIXRoaXMuY2FjaEFwaVJlc3VsdFtzZXJ2aWNlTmFtZUtheV0pXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBpZiAoIXRoaXMuY2FjaEFwaVJlc3VsdFtzZXJ2aWNlTmFtZUtheV0uaXNTdWNjZXNzKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuY2FjaEFwaVJlc3VsdFtzZXJ2aWNlTmFtZUtheV0uZGF0ZVJlc3VsdCAmJiAobmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLmNhY2hBcGlSZXN1bHRbc2VydmljZU5hbWVLYXldLmRhdGVSZXN1bHQpIDwgY2FzaEFwaVNlY29uZHMpXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNoaWxkQ29uc3RydWN0b3IoKTogYW55IHtcclxuICAgIC8vIHRlc3RcclxuICB9XHJcbiAgZ2V0QmFzZVVybCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgQmFzZVVybCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5QmFzZVVybCk7XHJcbiAgICBpZiAoQmFzZVVybCAmJiBCYXNlVXJsLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIEJhc2VVcmw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5iYXNlVXJsO1xyXG4gIH1cclxuICBnZXRNb2R1bGVDb250cm9sbGVyVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ0VtcHR5JztcclxuICB9XHJcblxyXG4gIHNldEhlYWRlcnMoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaGVhZGVycy5zZXQoa2V5LCB2YWx1ZSk7XHJcbiAgfVxyXG4gIHNldEFjY2Vzc0xvYWQoc3RhdHVzOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY2Nlc3NMb2FkID0gc3RhdHVzO1xyXG4gIH1cclxuICBzZXRBY2Nlc3NEYXRhVHlwZShzdGF0dXM6IE1hbmFnZVVzZXJBY2Nlc3NEYXRhVHlwZXNFbnVtKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjY2Vzc0RhdGFUeXBlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlclRva2VuKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMudXNlclRva2VuICYmIHRoaXMudXNlclRva2VuLmxlbmd0aCA+IDApIHsgcmV0dXJuIHRoaXMudXNlclRva2VuOyB9XHJcbiAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5VXNlclRva2VuKTtcclxuICAgIGlmICh0b2tlbiAmJiB0b2tlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0b2tlbjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRpdGxlID0gJ9iq2KfbjNuM2K8g2KrZiNqp2YYnO1xyXG4gICAgY29uc3QgbWVzc2FnZSA9ICfZhNi32YHYpyDZhdis2K/Yr9inINmI2KfYsdivINit2LPYp9ioINqp2KfYsdio2LHbjCDYrtmI2K8g2LTZiNuM2K8nO1xyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuICBnZXREZXZpY2VUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICh0aGlzLmRldmljZVRva2VuICYmIHRoaXMuZGV2aWNlVG9rZW4ubGVuZ3RoID4gMCkgeyByZXR1cm4gdGhpcy5kZXZpY2VUb2tlbjsgfVxyXG4gICAgY29uc3QgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleURldmljZVRva2VuKTtcclxuICAgIGlmICh0b2tlbiAmJiB0b2tlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0b2tlbjtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcbiAgc2V0VG9rZW4odXNlclRva2VuOiBzdHJpbmcsIGRldmljZVRva2VuOiBzdHJpbmcsIHJlZnJlc2hUb2tlbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoKCF1c2VyVG9rZW4gfHwgdXNlclRva2VuLmxlbmd0aCA9PT0gMCkgJiYgKCFkZXZpY2VUb2tlbiB8fCBkZXZpY2VUb2tlbi5sZW5ndGggPT09IDApKSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMua2V5VXNlclRva2VuKTtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5rZXlEZXZpY2VUb2tlbik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5VXNlclRva2VuLCB1c2VyVG9rZW4pO1xyXG4gICAgaWYgKGRldmljZVRva2VuICYmIGRldmljZVRva2VuLmxlbmd0aCA+IDApIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXlEZXZpY2VUb2tlbiwgZGV2aWNlVG9rZW4pO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZXREZXZpY2VUb2tlbihkZXZpY2VUb2tlbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIWRldmljZVRva2VuIHx8IGRldmljZVRva2VuLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmtleURldmljZVRva2VuKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXlEZXZpY2VUb2tlbiwgZGV2aWNlVG9rZW4pO1xyXG4gIH1cclxuICByZW1vdmVUb2tlbigpOiB2b2lkIHtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMua2V5VXNlclRva2VuKTtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMua2V5RGV2aWNlVG9rZW4pO1xyXG4gIH1cclxuICBnZXRIZWFkZXJzKCk6IGFueSB7XHJcbiAgICBsZXQgZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5oZWFkZXJzLnNldCgnRGF0ZS1UaW1lJywgZGF0ZVRpbWUudG9KU09OKCkpO1xyXG4gICAgdGhpcy5oZWFkZXJzLnNldCgnRGF0ZS1UaW1lLVpvbmUnLCAoZGF0ZVRpbWUuZ2V0VGltZXpvbmVPZmZzZXQoKSotMSkudG9TdHJpbmcoKSk7XHJcbiAgICAvKkF1dGhvcml6YXRpb24qL1xyXG4gICAgaWYgKHRoaXMuZ2V0VXNlclRva2VuKCkgJiYgdGhpcy5nZXRVc2VyVG9rZW4oKS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCB0aGlzLmdldFVzZXJUb2tlbigpKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5oZWFkZXJzLmhhcygnQXV0aG9yaXphdGlvbicpKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5kZWxldGUoJ0F1dGhvcml6YXRpb24nKTtcclxuICAgIH1cclxuICAgIC8qRGV2aWNlVG9rZW4qL1xyXG4gICAgaWYgKHRoaXMuZ2V0RGV2aWNlVG9rZW4oKSAmJiB0aGlzLmdldERldmljZVRva2VuKCkubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuc2V0KCdEZXZpY2VUb2tlbicsIHRoaXMuZ2V0RGV2aWNlVG9rZW4oKSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGVhZGVycy5oYXMoJ0RldmljZVRva2VuJykpIHtcclxuICAgICAgdGhpcy5oZWFkZXJzLmRlbGV0ZSgnRGV2aWNlVG9rZW4nKTtcclxuICAgIH1cclxuICAgIC8qQWNjZXNzTG9hZCovXHJcbiAgICBpZiAodGhpcy5hY2Nlc3NMb2FkKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5zZXQoJ0FjY2Vzc0xvYWQnLCAndHJ1ZScpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5oZWFkZXJzLmhhcygnQWNjZXNzTG9hZCcpKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5kZWxldGUoJ0FjY2Vzc0xvYWQnKTtcclxuICAgIH1cclxuICAgIC8qQWNjZXNzRGF0YVR5cGUqL1xyXG4gICAgaWYgKHRoaXMuYWNjZXNzRGF0YVR5cGUpIHtcclxuICAgICAgdGhpcy5oZWFkZXJzLnNldCgnQWNjZXNzRGF0YVR5cGUnLCB0aGlzLmFjY2Vzc0RhdGFUeXBlLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5oZWFkZXJzLmhhcygnQWNjZXNzRGF0YVR5cGUnKSkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuZGVsZXRlKCdBY2Nlc3NEYXRhVHlwZScpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmV0T3V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcclxuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIHRoaXMuaGVhZGVycykge1xyXG4gICAgICByZXRPdXRba10gPSB2OyAvLyBsb29rIG91dCEgS2V5IG11c3QgYmUgYSBzdHJpbmchXHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmV0T3V0O1xyXG4gIH1cclxuXHJcbiAgZXJyb3JFeGNlcHRpb25SZXN1bHRDaGVjazxUTW9kZWw+KG1vZGVsOiBFcnJvckV4Y2VwdGlvblJlc3VsdDxUTW9kZWw+KTogRXJyb3JFeGNlcHRpb25SZXN1bHQ8VE1vZGVsPiB7XHJcbiAgICBpZiAobW9kZWwpIHtcclxuICAgICAgaWYgKCFtb2RlbC5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICBjb25zdCB0aXRsZSA9ICfYrti32Kcg2K/YsSDYr9ix24zYp9mB2Kog2KfYt9mE2KfYudin2Kog2KfYsiDYs9ix2YjYsSc7XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IG1vZGVsLmVycm9yTWVzc2FnZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1vZGVsO1xyXG4gIH1cclxuICBlcnJvckV4Y2VwdGlvblJlc3VsdEJhc2VDaGVjayhtb2RlbDogRXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlKTogRXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlIHtcclxuICAgIGlmIChtb2RlbCkge1xyXG4gICAgICBpZiAoIW1vZGVsLmlzU3VjY2Vzcykge1xyXG4gICAgICAgIGNvbnN0IHRpdGxlID0gJ9iu2LfYpyDYr9ixINiv2LHbjNin2YHYqiDYp9i32YTYp9i52KfYqiDYp9iyINiz2LHZiNixJztcclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gbW9kZWwuZXJyb3JNZXNzYWdlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTdGF0dXM9ZmFsc2U7XHJcbiAgICByZXR1cm4gbW9kZWw7XHJcbiAgfVxyXG4gIGVycm9yRXhjZXB0aW9uUmVzdWx0Q2hlY2tFeHBvcnRGaWxlKG1vZGVsOiBFcnJvckV4Y2VwdGlvblJlc3VsdEV4cG9ydEZpbGUpOiBFcnJvckV4Y2VwdGlvblJlc3VsdEV4cG9ydEZpbGUge1xyXG4gICAgaWYgKG1vZGVsKSB7XHJcbiAgICAgIGlmICghbW9kZWwuaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgY29uc3QgdGl0bGUgPSAn2K7Yt9inINiv2LEg2K/YsduM2KfZgdiqINin2LfZhNin2LnYp9iqINin2LIg2LPYsdmI2LEnO1xyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBtb2RlbC5lcnJvck1lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIHRoaXMubG9hZGluZ1N0YXR1cz1mYWxzZTtcclxuICAgIHJldHVybiBtb2RlbDtcclxuICB9XHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSwgY2F1Z2h0OiBPYnNlcnZhYmxlPGFueT4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgaWYodGhpcy5oYW5kbGVFcnJvckN1c3RvbSlcclxuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3JDdXN0b20oZXJyb3IsIGNhdWdodClcclxuXHJcbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcclxuICAgIGlmIChlcnJvciAmJiBlcnJvci5zdGF0dXMpIHtcclxuICAgICAgLy8gc2VydmVyLXNpZGUgZXJyb3JcclxuICAgICAgZXJyb3JNZXNzYWdlID0gYENtcyBFcnJvciBDb2RlOiAke2Vycm9yLnN0YXR1c31cXG5NZXNzYWdlOiAke2Vycm9yLm1lc3NhZ2V9YDtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxIHx8IGVycm9yLnN0YXR1cyA9PT0gJzQwMScpIHtcclxuICAgICAgICBjb25zdCB0aXRsZSA9ICfYrti32KfbjCDYp9mF2YbbjNiq24wnO1xyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAn2YTYt9mB2Kcg2YXYrNiv2K8g2YjYp9ix2K8g2LPbjNiz2KrZhSDYtNmI2K8nO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMua2V5VXNlclRva2VuKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChlcnJvci5lcnJvciBpbnN0YW5jZW9mIEVycm9yRXZlbnQpIHtcclxuICAgICAgLy8gY2xpZW50LXNpZGUgZXJyb3JcclxuICAgICAgZXJyb3JNZXNzYWdlID0gYENtcyBFcnJvcjogJHtlcnJvci5lcnJvci5tZXNzYWdlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3JNZXNzYWdlKTtcclxuICB9XHJcbn0iXX0=
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpU2VydmVyQmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnRrLWNtcy1hcGkvc3JjL2xpYi9zZXJ2aWNlL2Jhc2UvYXBpU2VydmVyQmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLOUMsZ0ZBQWdGO0FBSWhGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQXVDLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFJaEQsWUFBTyxHQUFHLDJCQUEyQixDQUFDO1FBQ3JDLHNCQUFpQixHQUFLLElBQUksQ0FBQztRQUM1QixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDMUIsaUJBQVksR0FBRyxXQUFXLENBQUM7UUFDM0IsbUJBQWMsR0FBRyxhQUFhLENBQUM7UUFDL0IsZUFBVSxHQUFHLFNBQVMsQ0FBQztRQUVmLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFVM0Isa0JBQWEsR0FBRyxFQUFFLENBQUM7UUF0QmpCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFDM0MsQ0FBQztJQVlELFNBQVMsQ0FBQyxHQUFXLEVBQUUsUUFBUSxHQUFHLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzND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VSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVycm9yRXhjZXB0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9iYXNlL2Vycm9yRXhjZXB0aW9uUmVzdWx0JztcclxuaW1wb3J0IHsgRXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2VudGl0eS9iYXNlL2Vycm9yRXhjZXB0aW9uUmVzdWx0QmFzZSc7XHJcbmltcG9ydCB7IEVycm9yRXhjZXB0aW9uUmVzdWx0RXhwb3J0RmlsZSB9IGZyb20gJy4uLy4uL21vZGVscy9lbnRpdHkvYmFzZS9lcnJvckV4Y2VwdGlvblJlc3VsdEV4cG9ydEZpbGUnO1xyXG5pbXBvcnQgeyBNYW5hZ2VVc2VyQWNjZXNzRGF0YVR5cGVzRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9lbnVtcy9iYXNlL21hbmFnZVVzZXJBY2Nlc3NEYXRhVHlwZXNFbnVtJztcclxuLy9pbXBvcnQgeyBOdGtDbXNBcGlTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZWR1Y2Vycy9udGtDbXNBcGlTdG9yZS5zZXJ2aWNlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBcGlTZXJ2ZXJCYXNlIHtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEh0dHBDbGllbnQpIHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICB0aGlzLmNoaWxkQ29uc3RydWN0b3IoKTtcclxuICAgIHRoaXMuaGVhZGVycyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBiYXNlVXJsID0gJ2h0dHBzOi8vYXBpY21zLmlyL2FwaS92Mi8nO1xyXG4gIHByaXZhdGUgaGFuZGxlRXJyb3JDdXN0b206YW55PW51bGw7XHJcbiAgcHVibGljIHVzZXJUb2tlbiA9ICcnO1xyXG4gIHB1YmxpYyBkZXZpY2VUb2tlbiA9ICcnO1xyXG4gIHB1YmxpYyBjb25maWdBcGlSZXRyeSA9IDA7XHJcbiAga2V5VXNlclRva2VuID0gJ3VzZXJUb2tlbic7XHJcbiAga2V5RGV2aWNlVG9rZW4gPSAnZGV2aWNlVG9rZW4nO1xyXG4gIGtleUJhc2VVcmwgPSAnYmFzZVVybCc7XHJcbiAgcHJpdmF0ZSBoZWFkZXJzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByaXZhdGUgYWNjZXNzTG9hZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgYWNjZXNzRGF0YVR5cGU6IE1hbmFnZVVzZXJBY2Nlc3NEYXRhVHlwZXNFbnVtO1xyXG4gIHNldENvbmZpZyh1cmw6IHN0cmluZywgYXBpUmV0cnkgPSAxKTogdm9pZCB7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSB1cmw7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleUJhc2VVcmwsIHVybCk7XHJcbiAgICB0aGlzLmNvbmZpZ0FwaVJldHJ5ID0gYXBpUmV0cnk7XHJcbiAgfVxyXG4gIHNldENvbmZpZ0hhbmRsZUVycm9yKGZ1bmM6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5oYW5kbGVFcnJvckN1c3RvbSA9IGZ1bmM7O1xyXG4gIH1cclxuICBjYWNoQXBpUmVzdWx0ID0gW107XHJcbiAgY2FzaEFwaUlzVmFsaWQoc2VydmljZU5hbWVLYXk6IHN0cmluZywgY2FzaEFwaVNlY29uZHM/OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIGlmIChjYXNoQXBpU2Vjb25kcyA+IDApIHtcclxuICAgICAgaWYgKCF0aGlzLmNhY2hBcGlSZXN1bHRbc2VydmljZU5hbWVLYXldKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgaWYgKCF0aGlzLmNhY2hBcGlSZXN1bHRbc2VydmljZU5hbWVLYXldLmlzU3VjY2VzcylcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLmNhY2hBcGlSZXN1bHRbc2VydmljZU5hbWVLYXldLmRhdGVSZXN1bHQgJiYgKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gdGhpcy5jYWNoQXBpUmVzdWx0W3NlcnZpY2VOYW1lS2F5XS5kYXRlUmVzdWx0KSA8IGNhc2hBcGlTZWNvbmRzKVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBjaGlsZENvbnN0cnVjdG9yKCk6IGFueSB7XHJcbiAgICAvLyB0ZXN0XHJcbiAgfVxyXG4gIGdldEJhc2VVcmwoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IEJhc2VVcmwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleUJhc2VVcmwpO1xyXG4gICAgaWYgKEJhc2VVcmwgJiYgQmFzZVVybC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiBCYXNlVXJsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYmFzZVVybDtcclxuICB9XHJcbiAgZ2V0TW9kdWxlQ29udHJvbGxlclVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdFbXB0eSc7XHJcbiAgfVxyXG5cclxuICBzZXRIZWFkZXJzKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmhlYWRlcnMuc2V0KGtleSwgdmFsdWUpO1xyXG4gIH1cclxuICBzZXRBY2Nlc3NMb2FkKHN0YXR1czogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIHRoaXMuYWNjZXNzTG9hZCA9IHN0YXR1cztcclxuICB9XHJcbiAgc2V0QWNjZXNzRGF0YVR5cGUoc3RhdHVzOiBNYW5hZ2VVc2VyQWNjZXNzRGF0YVR5cGVzRW51bSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY2Nlc3NEYXRhVHlwZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIGdldFVzZXJUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICh0aGlzLnVzZXJUb2tlbiAmJiB0aGlzLnVzZXJUb2tlbi5sZW5ndGggPiAwKSB7IHJldHVybiB0aGlzLnVzZXJUb2tlbjsgfVxyXG4gICAgY29uc3QgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmtleVVzZXJUb2tlbik7XHJcbiAgICBpZiAodG9rZW4gJiYgdG9rZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdG9rZW47XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aXRsZSA9ICfYqtin24zbjNivINiq2YjaqdmGJztcclxuICAgIGNvbnN0IG1lc3NhZ2UgPSAn2YTYt9mB2Kcg2YXYrNiv2K/YpyDZiNin2LHYryDYrdiz2KfYqCDaqdin2LHYqNix24wg2K7ZiNivINi02YjbjNivJztcclxuICAgIHJldHVybiAnJztcclxuICB9XHJcbiAgZ2V0RGV2aWNlVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBpZiAodGhpcy5kZXZpY2VUb2tlbiAmJiB0aGlzLmRldmljZVRva2VuLmxlbmd0aCA+IDApIHsgcmV0dXJuIHRoaXMuZGV2aWNlVG9rZW47IH1cclxuICAgIGNvbnN0IHRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5rZXlEZXZpY2VUb2tlbik7XHJcbiAgICBpZiAodG9rZW4gJiYgdG9rZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdG9rZW47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIHNldFRva2VuKHVzZXJUb2tlbjogc3RyaW5nLCBkZXZpY2VUb2tlbjogc3RyaW5nLCByZWZyZXNoVG9rZW46IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCghdXNlclRva2VuIHx8IHVzZXJUb2tlbi5sZW5ndGggPT09IDApICYmICghZGV2aWNlVG9rZW4gfHwgZGV2aWNlVG9rZW4ubGVuZ3RoID09PSAwKSkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmtleVVzZXJUb2tlbik7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMua2V5RGV2aWNlVG9rZW4pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleVVzZXJUb2tlbiwgdXNlclRva2VuKTtcclxuICAgIGlmIChkZXZpY2VUb2tlbiAmJiBkZXZpY2VUb2tlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5RGV2aWNlVG9rZW4sIGRldmljZVRva2VuKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0RGV2aWNlVG9rZW4oZGV2aWNlVG9rZW46IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCFkZXZpY2VUb2tlbiB8fCBkZXZpY2VUb2tlbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5rZXlEZXZpY2VUb2tlbik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5RGV2aWNlVG9rZW4sIGRldmljZVRva2VuKTtcclxuICB9XHJcbiAgcmVtb3ZlVG9rZW4oKTogdm9pZCB7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmtleVVzZXJUb2tlbik7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmtleURldmljZVRva2VuKTtcclxuICB9XHJcbiAgZ2V0SGVhZGVycygpOiBhbnkge1xyXG4gICAgbGV0IGRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICAgIHRoaXMuaGVhZGVycy5zZXQoJ0RhdGUtVGltZScsIGRhdGVUaW1lLnRvSlNPTigpKTtcclxuICAgIHRoaXMuaGVhZGVycy5zZXQoJ0RhdGUtVGltZS1ab25lJywgKGRhdGVUaW1lLmdldFRpbWV6b25lT2Zmc2V0KCkqLTEpLnRvU3RyaW5nKCkpO1xyXG4gICAgLypBdXRob3JpemF0aW9uKi9cclxuICAgIGlmICh0aGlzLmdldFVzZXJUb2tlbigpICYmIHRoaXMuZ2V0VXNlclRva2VuKCkubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgdGhpcy5nZXRVc2VyVG9rZW4oKSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGVhZGVycy5oYXMoJ0F1dGhvcml6YXRpb24nKSkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuZGVsZXRlKCdBdXRob3JpemF0aW9uJyk7XHJcbiAgICB9XHJcbiAgICAvKkRldmljZVRva2VuKi9cclxuICAgIGlmICh0aGlzLmdldERldmljZVRva2VuKCkgJiYgdGhpcy5nZXREZXZpY2VUb2tlbigpLmxlbmd0aCA+IDEpIHtcclxuICAgICAgdGhpcy5oZWFkZXJzLnNldCgnRGV2aWNlVG9rZW4nLCB0aGlzLmdldERldmljZVRva2VuKCkpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhlYWRlcnMuaGFzKCdEZXZpY2VUb2tlbicpKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5kZWxldGUoJ0RldmljZVRva2VuJyk7XHJcbiAgICB9XHJcbiAgICAvKkFjY2Vzc0xvYWQqL1xyXG4gICAgaWYgKHRoaXMuYWNjZXNzTG9hZCkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuc2V0KCdBY2Nlc3NMb2FkJywgJ3RydWUnKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuaGVhZGVycy5oYXMoJ0FjY2Vzc0xvYWQnKSkge1xyXG4gICAgICB0aGlzLmhlYWRlcnMuZGVsZXRlKCdBY2Nlc3NMb2FkJyk7XHJcbiAgICB9XHJcbiAgICAvKkFjY2Vzc0RhdGFUeXBlKi9cclxuICAgIGlmICh0aGlzLmFjY2Vzc0RhdGFUeXBlKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5zZXQoJ0FjY2Vzc0RhdGFUeXBlJywgdGhpcy5hY2Nlc3NEYXRhVHlwZS50b1N0cmluZygpKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuaGVhZGVycy5oYXMoJ0FjY2Vzc0RhdGFUeXBlJykpIHtcclxuICAgICAgdGhpcy5oZWFkZXJzLmRlbGV0ZSgnQWNjZXNzRGF0YVR5cGUnKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHJldE91dCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XHJcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiB0aGlzLmhlYWRlcnMpIHtcclxuICAgICAgcmV0T3V0W2tdID0gdjsgLy8gbG9vayBvdXQhIEtleSBtdXN0IGJlIGEgc3RyaW5nIVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJldE91dDtcclxuICB9XHJcblxyXG4gIGVycm9yRXhjZXB0aW9uUmVzdWx0Q2hlY2s8VE1vZGVsPihtb2RlbDogRXJyb3JFeGNlcHRpb25SZXN1bHQ8VE1vZGVsPik6IEVycm9yRXhjZXB0aW9uUmVzdWx0PFRNb2RlbD4ge1xyXG4gICAgaWYgKG1vZGVsKSB7XHJcbiAgICAgIGlmICghbW9kZWwuaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgY29uc3QgdGl0bGUgPSAn2K7Yt9inINiv2LEg2K/YsduM2KfZgdiqINin2LfZhNin2LnYp9iqINin2LIg2LPYsdmI2LEnO1xyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBtb2RlbC5lcnJvck1lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBtb2RlbDtcclxuICB9XHJcbiAgZXJyb3JFeGNlcHRpb25SZXN1bHRCYXNlQ2hlY2sobW9kZWw6IEVycm9yRXhjZXB0aW9uUmVzdWx0QmFzZSk6IEVycm9yRXhjZXB0aW9uUmVzdWx0QmFzZSB7XHJcbiAgICBpZiAobW9kZWwpIHtcclxuICAgICAgaWYgKCFtb2RlbC5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICBjb25zdCB0aXRsZSA9ICfYrti32Kcg2K/YsSDYr9ix24zYp9mB2Kog2KfYt9mE2KfYudin2Kog2KfYsiDYs9ix2YjYsSc7XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IG1vZGVsLmVycm9yTWVzc2FnZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5sb2FkaW5nU3RhdHVzPWZhbHNlO1xyXG4gICAgcmV0dXJuIG1vZGVsO1xyXG4gIH1cclxuICBlcnJvckV4Y2VwdGlvblJlc3VsdENoZWNrRXhwb3J0RmlsZShtb2RlbDogRXJyb3JFeGNlcHRpb25SZXN1bHRFeHBvcnRGaWxlKTogRXJyb3JFeGNlcHRpb25SZXN1bHRFeHBvcnRGaWxlIHtcclxuICAgIGlmIChtb2RlbCkge1xyXG4gICAgICBpZiAoIW1vZGVsLmlzU3VjY2Vzcykge1xyXG4gICAgICAgIGNvbnN0IHRpdGxlID0gJ9iu2LfYpyDYr9ixINiv2LHbjNin2YHYqiDYp9i32YTYp9i52KfYqiDYp9iyINiz2LHZiNixJztcclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gbW9kZWwuZXJyb3JNZXNzYWdlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTdGF0dXM9ZmFsc2U7XHJcbiAgICByZXR1cm4gbW9kZWw7XHJcbiAgfVxyXG4gIGhhbmRsZUVycm9yKGVycm9yOiBhbnksIGNhdWdodDogT2JzZXJ2YWJsZTxhbnk+KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmKHRoaXMuaGFuZGxlRXJyb3JDdXN0b20mJiB0aGlzLmhhbmRsZUVycm9yQ3VzdG9tIT1udWxsJiYgdGhpcy5oYW5kbGVFcnJvckN1c3RvbSA9PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUVycm9yQ3VzdG9tKGVycm9yLCBjYXVnaHQpXHJcblxyXG4gICAgbGV0IGVycm9yTWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XHJcbiAgICBpZiAoZXJyb3IgJiYgZXJyb3Iuc3RhdHVzKSB7XHJcbiAgICAgIC8vIHNlcnZlci1zaWRlIGVycm9yXHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGBDbXMgRXJyb3IgQ29kZTogJHtlcnJvci5zdGF0dXN9XFxuTWVzc2FnZTogJHtlcnJvci5tZXNzYWdlfWA7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSB8fCBlcnJvci5zdGF0dXMgPT09ICc0MDEnKSB7XHJcbiAgICAgICAgY29uc3QgdGl0bGUgPSAn2K7Yt9in24wg2KfZhdmG24zYqtuMJztcclxuICAgICAgICBjb25zdCBtZXNzYWdlID0gJ9mE2LfZgdinINmF2KzYr9ivINmI2KfYsdivINiz24zYs9iq2YUg2LTZiNivJztcclxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmtleVVzZXJUb2tlbik7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgIC8vIGNsaWVudC1zaWRlIGVycm9yXHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGBDbXMgRXJyb3I6ICR7ZXJyb3IuZXJyb3IubWVzc2FnZX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yTWVzc2FnZSk7XHJcbiAgfVxyXG59Il19
@@ -1145,6 +1145,7 @@ class ApiServerBase {
1145
1145
  constructor(http) {
1146
1146
  this.http = http;
1147
1147
  this.baseUrl = 'https://apicms.ir/api/v2/';
1148
+ this.handleErrorCustom = null;
1148
1149
  this.userToken = '';
1149
1150
  this.deviceToken = '';
1150
1151
  this.configApiRetry = 0;
@@ -1310,7 +1311,7 @@ class ApiServerBase {
1310
1311
  return model;
1311
1312
  }
1312
1313
  handleError(error, caught) {
1313
- if (this.handleErrorCustom)
1314
+ if (this.handleErrorCustom && this.handleErrorCustom != null && this.handleErrorCustom == undefined)
1314
1315
  return this.handleErrorCustom(error, caught);
1315
1316
  let errorMessage = error.message;
1316
1317
  if (error && error.status) {