verben-ticketing-ui 0.8.7 → 0.8.8

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.
@@ -11,7 +11,7 @@ export class AsyncLabelPipe {
11
11
  if (!code)
12
12
  return of('');
13
13
  // return of(code);
14
- console.log({ OvverideToken: overrideToken });
14
+ // console.log({ OvverideToken: overrideToken });
15
15
  return from(this.labelService.getAsyncLabelWithBatching(code, entity, labelProp, env, overrideToken, key));
16
16
  }
17
17
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AsyncLabelPipe, deps: [{ token: i1.LabelService }], target: i0.ɵɵFactoryTarget.Pipe });
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
24
24
  standalone: true,
25
25
  }]
26
26
  }], ctorParameters: () => [{ type: i1.LabelService }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtbGFiZWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi10aWNrZXRpbmctdWkvc3JjL2xpYi9waXBlcy9hc3luYy1sYWJlbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFNNUMsTUFBTSxPQUFPLGNBQWM7SUFDTDtJQUFwQixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFbEQsU0FBUyxDQUNQLElBQVMsRUFDVCxNQUFjLEVBQ2QsU0FBaUIsRUFDakIsR0FBVyxFQUNYLGFBQXNCLEVBQ3RCLE1BQWMsTUFBTTtRQUVwQixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLG1CQUFtQjtRQUVuQixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FDekMsSUFBSSxFQUNKLE1BQU0sRUFDTixTQUFTLEVBQ1QsR0FBRyxFQUNILGFBQWEsRUFDYixHQUFHLENBQ0osQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0F6QlUsY0FBYztzR0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYWJlbFNlcnZpY2UgfSBmcm9tICd2ZXJiZW4tdGlja2V0aW5nLXVpL3NyYy9saWIvc2VydmljZXMnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYXN5bmNMYWJlbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFzeW5jTGFiZWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFiZWxTZXJ2aWNlOiBMYWJlbFNlcnZpY2UpIHt9XG5cbiAgdHJhbnNmb3JtKFxuICAgIGNvZGU6IGFueSxcbiAgICBlbnRpdHk6IHN0cmluZyxcbiAgICBsYWJlbFByb3A6IHN0cmluZyxcbiAgICBlbnY6IHN0cmluZyxcbiAgICBvdmVycmlkZVRva2VuPzogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nID0gJ0NvZGUnLFxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICghY29kZSkgcmV0dXJuIG9mKCcnKTtcbiAgICAvLyByZXR1cm4gb2YoY29kZSk7XG5cbiAgICBjb25zb2xlLmxvZyh7IE92dmVyaWRlVG9rZW46IG92ZXJyaWRlVG9rZW4gfSk7XG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLmxhYmVsU2VydmljZS5nZXRBc3luY0xhYmVsV2l0aEJhdGNoaW5nKFxuICAgICAgICBjb2RlLFxuICAgICAgICBlbnRpdHksXG4gICAgICAgIGxhYmVsUHJvcCxcbiAgICAgICAgZW52LFxuICAgICAgICBvdmVycmlkZVRva2VuLFxuICAgICAgICBrZXksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtbGFiZWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi10aWNrZXRpbmctdWkvc3JjL2xpYi9waXBlcy9hc3luYy1sYWJlbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFNNUMsTUFBTSxPQUFPLGNBQWM7SUFDTDtJQUFwQixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFbEQsU0FBUyxDQUNQLElBQVMsRUFDVCxNQUFjLEVBQ2QsU0FBaUIsRUFDakIsR0FBVyxFQUNYLGFBQXNCLEVBQ3RCLE1BQWMsTUFBTTtRQUVwQixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLG1CQUFtQjtRQUVuQixpREFBaUQ7UUFDakQsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FDekMsSUFBSSxFQUNKLE1BQU0sRUFDTixTQUFTLEVBQ1QsR0FBRyxFQUNILGFBQWEsRUFDYixHQUFHLENBQ0osQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0F6QlUsY0FBYztzR0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYWJlbFNlcnZpY2UgfSBmcm9tICd2ZXJiZW4tdGlja2V0aW5nLXVpL3NyYy9saWIvc2VydmljZXMnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYXN5bmNMYWJlbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFzeW5jTGFiZWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFiZWxTZXJ2aWNlOiBMYWJlbFNlcnZpY2UpIHt9XG5cbiAgdHJhbnNmb3JtKFxuICAgIGNvZGU6IGFueSxcbiAgICBlbnRpdHk6IHN0cmluZyxcbiAgICBsYWJlbFByb3A6IHN0cmluZyxcbiAgICBlbnY6IHN0cmluZyxcbiAgICBvdmVycmlkZVRva2VuPzogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nID0gJ0NvZGUnLFxuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICghY29kZSkgcmV0dXJuIG9mKCcnKTtcbiAgICAvLyByZXR1cm4gb2YoY29kZSk7XG5cbiAgICAvLyBjb25zb2xlLmxvZyh7IE92dmVyaWRlVG9rZW46IG92ZXJyaWRlVG9rZW4gfSk7XG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLmxhYmVsU2VydmljZS5nZXRBc3luY0xhYmVsV2l0aEJhdGNoaW5nKFxuICAgICAgICBjb2RlLFxuICAgICAgICBlbnRpdHksXG4gICAgICAgIGxhYmVsUHJvcCxcbiAgICAgICAgZW52LFxuICAgICAgICBvdmVycmlkZVRva2VuLFxuICAgICAgICBrZXksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -69,7 +69,7 @@ export class HttpWebRequestService {
69
69
  return this.request('GET', url, undefined, overrideToken, baseUrl);
70
70
  }
71
71
  post(url, body, overrideToken, baseUrl) {
72
- console.log({ Url: url, Ovveride: overrideToken });
72
+ // console.log({ Url: url, Ovveride: overrideToken });
73
73
  return this.request('POST', url, JSON.stringify(body), overrideToken, baseUrl);
74
74
  }
75
75
  postNoError(url, body, overrideToken, baseUrl) {
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
98
98
  providedIn: 'root',
99
99
  }]
100
100
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.EnvironmentService }, { type: i3.NotificationService }] });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXRpY2tldGluZy11aS9zcmMvbGliL3NlcnZpY2VzL2h0dHAtd2ViLXJlcXVlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFPbkUsTUFBTSxPQUFPLHFCQUFxQjtJQUl0QjtJQUNBO0lBQ0E7SUFMVixNQUFNLENBQVU7SUFFaEIsWUFDVSxJQUFnQixFQUNoQixNQUEwQixFQUMxQixtQkFBd0M7UUFGeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBRWhELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO0lBQ25ELENBQUM7SUFFTyxZQUFZLENBQUMsZ0JBQStCLElBQUk7UUFHdEQsTUFBTSxXQUFXLEdBQUcsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNuRSxnREFBZ0Q7UUFDaEQsT0FBTyxXQUFXO1lBQ2hCLENBQUMsQ0FBQztnQkFDRSxjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxlQUFlLEVBQUUsV0FBVztnQkFDNUIsYUFBYSxFQUFFLFdBQVc7YUFDM0I7WUFDSCxDQUFDLENBQUM7Z0JBQ0UsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsYUFBYSxFQUNYLGlWQUFpVjthQUNwVixDQUFDO0lBQ1IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFXLEVBQUUsT0FBZTtRQUMzQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEdBQUcs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TyxDQUNTLENBQUM7SUFDckIsQ0FBQzt3R0E3S1UscUJBQXFCOzRHQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlIH0gZnJvbSAndmVyYmVuLXRpY2tldGluZy11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBIdHRwV2ViUmVxdWVzdFNlcnZpY2Uge1xuICBpc1Byb2Q6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZW52U3ZjOiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmlzUHJvZCA9IHRoaXMuZW52U3ZjLmVudmlyb25tZW50LnByb2R1Y3Rpb247XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSGVhZGVycyhvdnZlcmlkZVRva2VuOiBzdHJpbmcgfCBudWxsID0gbnVsbCk6IHtcbiAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgfSB7XG4gICAgY29uc3QgY3VzdG9tVG9rZW4gPSBvdnZlcmlkZVRva2VuIHx8IHRoaXMuZW52U3ZjLmVudmlyb25tZW50LlRva2VuO1xuICAgIC8vICBjb25zb2xlLmxvZyh7IEN1c3RvbWVyVG9rZW46IGN1c3RvbVRva2VuIH0pO1xuICAgIHJldHVybiBjdXN0b21Ub2tlblxuICAgICAgPyB7XG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAnWC1DdXN0b20tQXV0aCc6IGN1c3RvbVRva2VuLFxuICAgICAgICAgIEF1dGhvcml6YXRpb246IGN1c3RvbVRva2VuLFxuICAgICAgICB9XG4gICAgICA6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgIEF1dGhvcml6YXRpb246XG4gICAgICAgICAgICAnZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5Sk5ZV2xzUVdSa2NtVnpjeUk2SW5abGNtSmxibUZBWjIxaGFXd3VZMjl0SWl3aVFYQndiR2xqWVhScGIyNGlPaUlpTENKT1lXMWxJam9pVm1WeVltVnVZU0JNYjJkcFl5Qk1hVzFwZEdWa0lpd2lVbTlzWlhNaU9pSWlMQ0pVWlc1aGJuUkpaQ0k2SWxCRVRGUkROaUlzSWxObGNuWnBZMlZPWVcxbElqb2lWMmhwZEdVek5qQWlMQ0p1WW1ZaU9qRTNNell4TmpNMU9UWXNJbVY0Y0NJNk1UY3pOak0zT1RVNU5pd2lhV0YwSWpveE56TTJNVFl6TlRrMmZRLnE1RXJtRElQME53S0tSbFZlYjlfRWZtckVmZDhnc0Z6a05Oc3prVGVUZzQnLFxuICAgICAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFVybCh1cmw6IHN0cmluZywgYmFzZVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7YmFzZVVybH0vJHt1cmx9YDtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyOiBhbnkpOiBFcnJvclJlc3BvbnNlIHtcbiAgICBjb25zdCBtc2cgPVxuICAgICAgZXJyPy5FcnJvck1zZyB8fFxuICAgICAgKGVycj8uZXJyb3JzPy52YWx1ZXMgYXMgc3RyaW5nW10pPy50b1N0cmluZygpIHx8XG4gICAgICBgRXJyb3Igb2NjdXJyZWRgO1xuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcihtc2csIHsgdGltZW91dDogMTAwMDAgfSk7XG4gICAgcmV0dXJuIG5ldyBFcnJvclJlc3BvbnNlKG1zZyk7XG4gIH1cblxuICBwcml2YXRlIHJlcXVlc3Q8VD4oXG4gICAgbWV0aG9kOiAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ0RFTEVURScgfCAnUE9TVF9OT19FUlJPUicsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keT86IGFueSxcbiAgICBvdmVycmlkZVRva2VuPzogc3RyaW5nLFxuICAgIGJhc2VVcmw6IHN0cmluZyA9IHRoaXMuZW52U3ZjLmVudmlyb25tZW50LkF1dGhlbnRpY2F0aW9uQVBJLFxuICApOiBQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcnM6IHRoaXMuYnVpbGRIZWFkZXJzKG92ZXJyaWRlVG9rZW4gfHwgbnVsbCksXG4gICAgfTtcblxuICAgIGNvbnN0IHJlcXVlc3RVcmwgPSB0aGlzLmJ1aWxkVXJsKHVybCwgYmFzZVVybCk7XG5cbiAgICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgICAgY2FzZSAnR0VUJzpcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8VD4ocmVxdWVzdFVybCwgb3B0aW9ucykuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IHJlc29sdmUsXG4gICAgICAgICAgICBlcnJvcjogKGVycikgPT4gcmVzb2x2ZSh0aGlzLmhhbmRsZUVycm9yKGVycikgYXMgVCksXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdQT1NUJzpcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cC5wb3N0PFQ+KHJlcXVlc3RVcmwsIGJvZHksIG9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXNvbHZlLFxuICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHJlc29sdmUodGhpcy5oYW5kbGVFcnJvcihlcnIpIGFzIFQpLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgY2FzZSAnUE9TVF9OT19FUlJPUic6XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgICAgICB0aGlzLmh0dHAucG9zdDxUPihyZXF1ZXN0VXJsLCBib2R5LCBvcHRpb25zKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzb2x2ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ1BVVCc6XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFQ+KHJlcXVlc3RVcmwsIGJvZHksIG9wdGlvbnMpO1xuICAgICAgY2FzZSAnREVMRVRFJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8VD4ocmVxdWVzdFVybCwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0PFQ+KHVybDogc3RyaW5nLCBvdmVycmlkZVRva2VuPzogc3RyaW5nLCBiYXNlVXJsPzogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgICdHRVQnLFxuICAgICAgdXJsLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgb3ZlcnJpZGVUb2tlbixcbiAgICAgIGJhc2VVcmwsXG4gICAgKSBhcyBQcm9taXNlPFQ+O1xuICB9XG5cbiAgcG9zdDxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBhbnksXG4gICAgb3ZlcnJpZGVUb2tlbj86IHN0cmluZyxcbiAgICBiYXNlVXJsPzogc3RyaW5nLFxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zb2xlLmxvZyh7IFVybDogdXJsLCBPdnZlcmlkZTogb3ZlcnJpZGVUb2tlbiB9KTtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KFxuICAgICAgJ1BPU1QnLFxuICAgICAgdXJsLFxuICAgICAgSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICBvdmVycmlkZVRva2VuLFxuICAgICAgYmFzZVVybCxcbiAgICApIGFzIFByb21pc2U8VD47XG4gIH1cblxuICBwb3N0Tm9FcnJvcjxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBhbnksXG4gICAgb3ZlcnJpZGVUb2tlbj86IHN0cmluZyxcbiAgICBiYXNlVXJsPzogc3RyaW5nLFxuICApOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KFxuICAgICAgJ1BPU1RfTk9fRVJST1InLFxuICAgICAgdXJsLFxuICAgICAgSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICBvdmVycmlkZVRva2VuLFxuICAgICAgYmFzZVVybCxcbiAgICApIGFzIFByb21pc2U8VD47XG4gIH1cblxuICBwb3N0RmlsZTxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBmb3JtRGF0YTogRm9ybURhdGEsXG4gICAgb3ZlcnJpZGVUb2tlbj86IHN0cmluZyxcbiAgICBiYXNlVXJsPzogc3RyaW5nLFxuICApOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+XG4gICAgICB0aGlzLmh0dHBcbiAgICAgICAgLnBvc3Q8VD4oXG4gICAgICAgICAgdGhpcy5idWlsZFVybChcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGJhc2VVcmwgfHwgdGhpcy5lbnZTdmMuZW52aXJvbm1lbnQuQXV0aGVudGljYXRpb25BUEksXG4gICAgICAgICAgKSxcbiAgICAgICAgICBmb3JtRGF0YSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiByZXNvbHZlLFxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiByZXNvbHZlKHRoaXMuaGFuZGxlRXJyb3IoZXJyKSBhcyBUKSxcbiAgICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1dDxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBhbnksXG4gICAgb3ZlcnJpZGVUb2tlbj86IHN0cmluZyxcbiAgICBiYXNlVXJsPzogc3RyaW5nLFxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KFxuICAgICAgJ1BVVCcsXG4gICAgICB1cmwsXG4gICAgICBib2R5LFxuICAgICAgb3ZlcnJpZGVUb2tlbixcbiAgICAgIGJhc2VVcmwsXG4gICAgKSBhcyBPYnNlcnZhYmxlPFQ+O1xuICB9XG5cbiAgZGVsZXRlPFQ+KFxuICAgIHVybDogc3RyaW5nLFxuICAgIG92ZXJyaWRlVG9rZW4/OiBzdHJpbmcsXG4gICAgYmFzZVVybD86IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgICdERUxFVEUnLFxuICAgICAgdXJsLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgb3ZlcnJpZGVUb2tlbixcbiAgICAgIGJhc2VVcmwsXG4gICAgKSBhcyBPYnNlcnZhYmxlPFQ+O1xuICB9XG59XG4iXX0=
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXRpY2tldGluZy11aS9zcmMvbGliL3NlcnZpY2VzL2h0dHAtd2ViLXJlcXVlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFPbkUsTUFBTSxPQUFPLHFCQUFxQjtJQUl0QjtJQUNBO0lBQ0E7SUFMVixNQUFNLENBQVU7SUFFaEIsWUFDVSxJQUFnQixFQUNoQixNQUEwQixFQUMxQixtQkFBd0M7UUFGeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBRWhELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO0lBQ25ELENBQUM7SUFFTyxZQUFZLENBQUMsZ0JBQStCLElBQUk7UUFHdEQsTUFBTSxXQUFXLEdBQUcsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNuRSxnREFBZ0Q7UUFDaEQsT0FBTyxXQUFXO1lBQ2hCLENBQUMsQ0FBQztnQkFDRSxjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxlQUFlLEVBQUUsV0FBVztnQkFDNUIsYUFBYSxFQUFFLFdBQVc7YUFDM0I7WUFDSCxDQUFDLENBQUM7Z0JBQ0UsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsYUFBYSxFQUNYLGlWQUFpVjthQUNwVixDQUFDO0lBQ1IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFXLEVBQUUsT0FBZTtRQUMzQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBUTtRQUMxQixNQUFNLEdBQUcsR0FDUCxHQUFHLEVBQUUsUUFBUTtZQUNaLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBbUIsRUFBRSxRQUFRLEVBQUU7WUFDN0MsZ0JBQWdCLENBQUM7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RCxPQUFPLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxPQUFPLENBQ2IsTUFBMkQsRUFDM0QsR0FBVyxFQUNYLElBQVUsRUFDVixhQUFzQixFQUN0QixVQUFrQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUI7UUFFM0QsTUFBTSxPQUFPLEdBQUc7WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDO1NBQ2xELENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUvQyxRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2YsS0FBSyxLQUFLO2dCQUNSLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUM5QyxJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBTSxDQUFDO2lCQUNwRCxDQUFDLENBQ0gsQ0FBQztZQUNKLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ3JELElBQUksRUFBRSxPQUFPO29CQUNiLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFNLENBQUM7aUJBQ3BELENBQUMsQ0FDSCxDQUFDO1lBQ0osS0FBSyxlQUFlO2dCQUNsQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ3JELElBQUksRUFBRSxPQUFPO2lCQUNkLENBQUMsQ0FDSCxDQUFDO1lBQ0osS0FBSyxLQUFLO2dCQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNyRCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBSSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFRCxHQUFHLENBQUksR0FBVyxFQUFFLGFBQXNCLEVBQUUsT0FBZ0I7UUFDMUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUNqQixLQUFLLEVBQ0wsR0FBRyxFQUNILFNBQVMsRUFDVCxhQUFhLEVBQ2IsT0FBTyxDQUNNLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksQ0FDRixHQUFXLEVBQ1gsSUFBUyxFQUNULGFBQXNCLEVBQ3RCLE9BQWdCO1FBRWhCLHNEQUFzRDtRQUN0RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQ2pCLE1BQU0sRUFDTixHQUFHLEVBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDcEIsYUFBYSxFQUNiLE9BQU8sQ0FDTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxXQUFXLENBQ1QsR0FBVyxFQUNYLElBQVMsRUFDVCxhQUFzQixFQUN0QixPQUFnQjtRQUVoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQ2pCLGVBQWUsRUFDZixHQUFHLEVBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDcEIsYUFBYSxFQUNiLE9BQU8sQ0FDTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxRQUFRLENBQ04sR0FBVyxFQUNYLFFBQWtCLEVBQ2xCLGFBQXNCLEVBQ3RCLE9BQWdCO1FBRWhCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUM3QixJQUFJLENBQUMsSUFBSTthQUNOLElBQUksQ0FDSCxJQUFJLENBQUMsUUFBUSxDQUNYLEdBQUcsRUFDSCxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQ3JELEVBQ0QsUUFBUSxDQUNUO2FBQ0EsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBTSxDQUFDO1NBQ3BELENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVELEdBQUcsQ0FDRCxHQUFXLEVBQ1gsSUFBUyxFQUNULGFBQXNCLEVBQ3RCLE9BQWdCO1FBRWhCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FDakIsS0FBSyxFQUNMLEdBQUcsRUFDSCxJQUFJLEVBQ0osYUFBYSxFQUNiLE9BQU8sQ0FDUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNLENBQ0osR0FBVyxFQUNYLGFBQXNCLEVBQ3RCLE9BQWdCO1FBRWhCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FDakIsUUFBUSxFQUNSLEdBQUcsRUFDSCxTQUFTLEVBQ1QsYUFBYSxFQUNiLE9BQU8sQ0FDUyxDQUFDO0lBQ3JCLENBQUM7d0dBN0tVLHFCQUFxQjs0R0FBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZSB9IGZyb20gJ3ZlcmJlbi10aWNrZXRpbmctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIHtcbiAgaXNQcm9kOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGVudlN2YzogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5pc1Byb2QgPSB0aGlzLmVudlN2Yy5lbnZpcm9ubWVudC5wcm9kdWN0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEhlYWRlcnMob3Z2ZXJpZGVUb2tlbjogc3RyaW5nIHwgbnVsbCA9IG51bGwpOiB7XG4gICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gIH0ge1xuICAgIGNvbnN0IGN1c3RvbVRva2VuID0gb3Z2ZXJpZGVUb2tlbiB8fCB0aGlzLmVudlN2Yy5lbnZpcm9ubWVudC5Ub2tlbjtcbiAgICAvLyAgY29uc29sZS5sb2coeyBDdXN0b21lclRva2VuOiBjdXN0b21Ub2tlbiB9KTtcbiAgICByZXR1cm4gY3VzdG9tVG9rZW5cbiAgICAgID8ge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgJ1gtQ3VzdG9tLUF1dGgnOiBjdXN0b21Ub2tlbixcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBjdXN0b21Ub2tlbixcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICBBdXRob3JpemF0aW9uOlxuICAgICAgICAgICAgJ2V5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpOWVdsc1FXUmtjbVZ6Y3lJNkluWmxjbUpsYm1GQVoyMWhhV3d1WTI5dElpd2lRWEJ3YkdsallYUnBiMjRpT2lJaUxDSk9ZVzFsSWpvaVZtVnlZbVZ1WVNCTWIyZHBZeUJNYVcxcGRHVmtJaXdpVW05c1pYTWlPaUlpTENKVVpXNWhiblJKWkNJNklsQkVURlJETmlJc0lsTmxjblpwWTJWT1lXMWxJam9pVjJocGRHVXpOakFpTENKdVltWWlPakUzTXpZeE5qTTFPVFlzSW1WNGNDSTZNVGN6TmpNM09UVTVOaXdpYVdGMElqb3hOek0yTVRZek5UazJmUS5xNUVybURJUDBOd0tLUmxWZWI5X0VmbXJFZmQ4Z3NGemtOTnN6a1RlVGc0JyxcbiAgICAgICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRVcmwodXJsOiBzdHJpbmcsIGJhc2VVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2Jhc2VVcmx9LyR7dXJsfWA7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycjogYW55KTogRXJyb3JSZXNwb25zZSB7XG4gICAgY29uc3QgbXNnID1cbiAgICAgIGVycj8uRXJyb3JNc2cgfHxcbiAgICAgIChlcnI/LmVycm9ycz8udmFsdWVzIGFzIHN0cmluZ1tdKT8udG9TdHJpbmcoKSB8fFxuICAgICAgYEVycm9yIG9jY3VycmVkYDtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IobXNnLCB7IHRpbWVvdXQ6IDEwMDAwIH0pO1xuICAgIHJldHVybiBuZXcgRXJyb3JSZXNwb25zZShtc2cpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXF1ZXN0PFQ+KFxuICAgIG1ldGhvZDogJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnIHwgJ1BPU1RfTk9fRVJST1InLFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk/OiBhbnksXG4gICAgb3ZlcnJpZGVUb2tlbj86IHN0cmluZyxcbiAgICBiYXNlVXJsOiBzdHJpbmcgPSB0aGlzLmVudlN2Yy5lbnZpcm9ubWVudC5BdXRoZW50aWNhdGlvbkFQSSxcbiAgKTogUHJvbWlzZTxUPiB8IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmJ1aWxkSGVhZGVycyhvdmVycmlkZVRva2VuIHx8IG51bGwpLFxuICAgIH07XG5cbiAgICBjb25zdCByZXF1ZXN0VXJsID0gdGhpcy5idWlsZFVybCh1cmwsIGJhc2VVcmwpO1xuXG4gICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgIGNhc2UgJ0dFVCc6XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgICAgICB0aGlzLmh0dHAuZ2V0PFQ+KHJlcXVlc3RVcmwsIG9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXNvbHZlLFxuICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHJlc29sdmUodGhpcy5oYW5kbGVFcnJvcihlcnIpIGFzIFQpLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgY2FzZSAnUE9TVCc6XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgICAgICB0aGlzLmh0dHAucG9zdDxUPihyZXF1ZXN0VXJsLCBib2R5LCBvcHRpb25zKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzb2x2ZSxcbiAgICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiByZXNvbHZlKHRoaXMuaGFuZGxlRXJyb3IoZXJyKSBhcyBUKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ1BPU1RfTk9fRVJST1InOlxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+XG4gICAgICAgICAgdGhpcy5odHRwLnBvc3Q8VD4ocmVxdWVzdFVybCwgYm9keSwgb3B0aW9ucykuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IHJlc29sdmUsXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdQVVQnOlxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUPihyZXF1ZXN0VXJsLCBib2R5LCBvcHRpb25zKTtcbiAgICAgIGNhc2UgJ0RFTEVURSc6XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPFQ+KHJlcXVlc3RVcmwsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGdldDxUPih1cmw6IHN0cmluZywgb3ZlcnJpZGVUb2tlbj86IHN0cmluZywgYmFzZVVybD86IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoXG4gICAgICAnR0VUJyxcbiAgICAgIHVybCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIG92ZXJyaWRlVG9rZW4sXG4gICAgICBiYXNlVXJsLFxuICAgICkgYXMgUHJvbWlzZTxUPjtcbiAgfVxuXG4gIHBvc3Q8VD4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogYW55LFxuICAgIG92ZXJyaWRlVG9rZW4/OiBzdHJpbmcsXG4gICAgYmFzZVVybD86IHN0cmluZyxcbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgLy8gY29uc29sZS5sb2coeyBVcmw6IHVybCwgT3Z2ZXJpZGU6IG92ZXJyaWRlVG9rZW4gfSk7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgICdQT1NUJyxcbiAgICAgIHVybCxcbiAgICAgIEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgICAgb3ZlcnJpZGVUb2tlbixcbiAgICAgIGJhc2VVcmwsXG4gICAgKSBhcyBQcm9taXNlPFQ+O1xuICB9XG5cbiAgcG9zdE5vRXJyb3I8VD4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogYW55LFxuICAgIG92ZXJyaWRlVG9rZW4/OiBzdHJpbmcsXG4gICAgYmFzZVVybD86IHN0cmluZyxcbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgICdQT1NUX05PX0VSUk9SJyxcbiAgICAgIHVybCxcbiAgICAgIEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgICAgb3ZlcnJpZGVUb2tlbixcbiAgICAgIGJhc2VVcmwsXG4gICAgKSBhcyBQcm9taXNlPFQ+O1xuICB9XG5cbiAgcG9zdEZpbGU8VD4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgZm9ybURhdGE6IEZvcm1EYXRhLFxuICAgIG92ZXJyaWRlVG9rZW4/OiBzdHJpbmcsXG4gICAgYmFzZVVybD86IHN0cmluZyxcbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PlxuICAgICAgdGhpcy5odHRwXG4gICAgICAgIC5wb3N0PFQ+KFxuICAgICAgICAgIHRoaXMuYnVpbGRVcmwoXG4gICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICBiYXNlVXJsIHx8IHRoaXMuZW52U3ZjLmVudmlyb25tZW50LkF1dGhlbnRpY2F0aW9uQVBJLFxuICAgICAgICAgICksXG4gICAgICAgICAgZm9ybURhdGEsXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogcmVzb2x2ZSxcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4gcmVzb2x2ZSh0aGlzLmhhbmRsZUVycm9yKGVycikgYXMgVCksXG4gICAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdXQ8VD4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogYW55LFxuICAgIG92ZXJyaWRlVG9rZW4/OiBzdHJpbmcsXG4gICAgYmFzZVVybD86IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgICdQVVQnLFxuICAgICAgdXJsLFxuICAgICAgYm9keSxcbiAgICAgIG92ZXJyaWRlVG9rZW4sXG4gICAgICBiYXNlVXJsLFxuICAgICkgYXMgT2JzZXJ2YWJsZTxUPjtcbiAgfVxuXG4gIGRlbGV0ZTxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvdmVycmlkZVRva2VuPzogc3RyaW5nLFxuICAgIGJhc2VVcmw/OiBzdHJpbmcsXG4gICk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoXG4gICAgICAnREVMRVRFJyxcbiAgICAgIHVybCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIG92ZXJyaWRlVG9rZW4sXG4gICAgICBiYXNlVXJsLFxuICAgICkgYXMgT2JzZXJ2YWJsZTxUPjtcbiAgfVxufVxuIl19
@@ -173,7 +173,7 @@ export class LabelService {
173
173
  const batch = this.batchedRequests.get(batchKey);
174
174
  if (!batch)
175
175
  return;
176
- console.log({ OvverideTokenTwo: overrideToken });
176
+ // console.log({ OvverideTokenTwo: overrideToken });
177
177
  this.batchedRequests.delete(batchKey);
178
178
  const [entity, labelProp, env, key] = batchKey.split('_');
179
179
  const values = Array.from(batch.codes);
@@ -259,4 +259,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
259
259
  providedIn: 'root',
260
260
  }]
261
261
  }], ctorParameters: () => [{ type: i1.UtilService }, { type: i2.HttpWebRequestService }] });
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi10aWNrZXRpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9sYWJlbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUNMLGNBQWMsRUFFZCxrQkFBa0IsRUFDbEIsYUFBYSxHQUlkLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFhNUMsTUFBTSxPQUFPLFlBQVk7SUFRYjtJQUNBO0lBUkYsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQ2xDLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO0lBQ3RELGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztJQUNwRCxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQTJCLENBQUM7SUFDL0MsYUFBYSxHQUFHLEVBQUUsQ0FBQyxDQUFDLCtCQUErQjtJQUNuRCxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7SUFDM0QsWUFDVSxXQUEyQixFQUMzQixNQUE2QjtRQUQ3QixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7SUFDcEMsQ0FBQztJQUVKLEtBQUssQ0FBQyxhQUFhLENBQ2pCLEtBQVUsRUFDVixNQUFjLEVBQ2QsU0FBaUIsRUFDakIsR0FBVyxFQUNYLE1BQWMsTUFBTTtRQUVwQixNQUFNLFFBQVEsR0FBRyxHQUFHLE1BQU0sSUFBSSxTQUFTLElBQUksS0FBSyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVqRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENB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bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIGFzIEFwcFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi91dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLXdlYi1yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgU2VhcmNoT3BlcmF0b3IsXG4gIFNlYXJjaER5bmFtaWNXcmFwcGVyLFxuICBTZWFyY2hQcm9wZXJ0eVNpZ24sXG4gIEVycm9yUmVzcG9uc2UsXG4gIFBhZ2VkUmVzdWx0LFxuICBLZXlWYWx1ZVBhcmFtLFxuICBDYWNoZURhdGFSZXF1ZXN0LFxufSBmcm9tICd2ZXJiZW4tdGlja2V0aW5nLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbnR5cGUgQmF0Y2hlZFJlcXVlc3QgPSB7XG4gIGNvZGVzOiBTZXQ8c3RyaW5nPjtcbiAgcmVzb2x2ZXJzOiBNYXA8c3RyaW5nLCBBcnJheTwobGFiZWw6IHN0cmluZykgPT4gdm9pZD4+O1xuICByZWplY3RvcnM6IE1hcDxzdHJpbmcsIEFycmF5PChlcnJvcjogYW55KSA9PiB2b2lkPj47XG4gIHRpbWVyOiBhbnk7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGFiZWxTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIHByaXZhdGUgaW5GbGlnaHRSZXF1ZXN0cyA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPHN0cmluZz4+KCk7XG4gIHByaXZhdGUgYmF0Y2hlZFJlcXVlc3RzID0gbmV3IE1hcDxzdHJpbmcsIEJhdGNoZWRSZXF1ZXN0PigpO1xuICBwcml2YXRlIHRlbXBTdG9yZSA9IG5ldyBNYXA8c3RyaW5nLCBLZXlWYWx1ZVBhcmFtW10+KCk7XG4gIHByaXZhdGUgYmF0Y2hpbmdEZWxheSA9IDUwOyAvLyBTbGlkaW5nIGRlYm91bmNlIGRlbGF5IGluIG1zXG4gIHByaXZhdGUgY2FjaGVJblByb2dyZXNzID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8dm9pZD4+KCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdXRpbFNlcnZpY2U6IEFwcFV0aWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VydmVyOiBIdHRwV2ViUmVxdWVzdFNlcnZpY2UsXG4gICkge31cblxuICBhc3luYyBnZXRBc3luY0xhYmVsKFxuICAgIHZhbHVlOiBhbnksXG4gICAgZW50aXR5OiBzdHJpbmcsXG4gICAgbGFiZWxQcm9wOiBzdHJpbmcsXG4gICAgZW52OiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgPSAnQ29kZScsXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBgJHtlbnRpdHl9XyR7bGFiZWxQcm9wfV8ke3ZhbHVlfV8ke2Vudn1fJHtrZXl9YDtcblxuICAgIGlmICh0aGlzLmNhY2hlLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jYWNoZS5nZXQoY2FjaGVLZXkpITtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICB2YXIgcGF5bG9hZDogU2VhcmNoRHluYW1pY1dyYXBwZXIgPSB7XG4gICAgICBGaWVsZHM6IFtsYWJlbFByb3BdLFxuICAgICAgU2VhcmNoS2V5VmFsdWVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBQcm9wZXJ0eU5hbWU6IGtleSxcbiAgICAgICAgICBFbnRpdHlWYWx1ZTogdmFsdWUsXG4gICAgICAgICAgT3BlcmF0b3I6IFNlYXJjaE9wZXJhdG9yLkFuZCxcbiAgICAgICAgICBTaWduOiBTZWFyY2hQcm9wZXJ0eVNpZ24uRVEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSSh0cnVlKTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0Tm9FcnJvcihcbiAgICAgIGBTZWFyY2hEeW5hbWljJHtlbnRpdHl9LzAvMWAsXG4gICAgICBwYXlsb2FkLFxuICAgICAgZW52LFxuICAgICk7XG4gICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkoZmFsc2UpO1xuICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IChyZXMgYXMgUGFnZWRSZXN1bHQ8c3RyaW5nPikuUmVzdWx0O1xuICAgICAgY29uc3QgbGFiZWwgPSByZXN1bHQubGVuZ3RoID4gMCA/IHJlc3VsdFswXSA6IHZhbHVlO1xuICAgICAgdGhpcy5jYWNoZS5zZXQoY2FjaGVLZXksIGxhYmVsKTtcbiAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9XG4gIH1cblxuICBhc3luYyBnZXRBc3luY0xhYmVsV2l0aFJlcXVlc3RUcmFja2luZyhcbiAgICB2YWx1ZTogYW55LFxuICAgIGVudGl0eTogc3RyaW5nLFxuICAgIGxhYmVsUHJvcDogc3RyaW5nLFxuICAgIGVudjogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nID0gJ0NvZGUnLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7ZW50aXR5fV8ke2xhYmVsUHJvcH1fJHt2YWx1ZX1fJHtlbnZ9XyR7a2V5fWA7XG5cbiAgICBpZiAodGhpcy5jYWNoZS5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZS5nZXQoY2FjaGVLZXkpITtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbkZsaWdodFJlcXVlc3RzLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmluRmxpZ2h0UmVxdWVzdHMuZ2V0KGNhY2hlS2V5KSE7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdFByb21pc2UgPSAoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcGF5bG9hZDogU2VhcmNoRHluYW1pY1dyYXBwZXIgPSB7XG4gICAgICAgIEZpZWxkczogW2xhYmVsUHJvcF0sXG4gICAgICAgIFNlYXJjaEtleVZhbHVlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFByb3BlcnR5TmFtZToga2V5LFxuICAgICAgICAgICAgRW50aXR5VmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgT3BlcmF0b3I6IFNlYXJjaE9wZXJhdG9yLkFuZCxcbiAgICAgICAgICAgIFNpZ246IFNlYXJjaFByb3BlcnR5U2lnbi5FUSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfTtcblxuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0KFxuICAgICAgICBgU2VhcmNoRHluYW1pYyR7ZW50aXR5fS8wLzFgLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBlbnYsXG4gICAgICApO1xuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkoZmFsc2UpO1xuXG4gICAgICBsZXQgbGFiZWw6IHN0cmluZztcbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIGxhYmVsID0gJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXN1bHQgPSAocmVzIGFzIFBhZ2VkUmVzdWx0PHN0cmluZz4pLlJlc3VsdDtcbiAgICAgICAgbGFiZWwgPSByZXN1bHQubGVuZ3RoID4gMCA/IHJlc3VsdFswXSA6IHZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNhY2hlLnNldChjYWNoZUtleSwgbGFiZWwpO1xuICAgICAgdGhpcy5pbkZsaWdodFJlcXVlc3RzLmRlbGV0ZShjYWNoZUtleSk7XG5cbiAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9KSgpO1xuXG4gICAgLy8gU2F2ZSB0aGUgaW4tZmxpZ2h0IHJlcXVlc3RcbiAgICB0aGlzLmluRmxpZ2h0UmVxdWVzdHMuc2V0KGNhY2hlS2V5LCByZXF1ZXN0UHJvbWlzZSk7XG5cbiAgICByZXR1cm4gcmVxdWVzdFByb21pc2U7XG4gIH1cblxuICBhc3luYyBnZXRBc3luY0xhYmVsV2l0aFJlcXVlc3RUcmFja2luZ05vR2F0ZXdheShcbiAgICB2YWx1ZTogYW55LFxuICAgIGVudGl0eTogc3RyaW5nLFxuICAgIGxhYmVsUHJvcDogc3RyaW5nLFxuICAgIGVudjogc3RyaW5nLFxuICAgIGNvbnRyb2xsZXI6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyA9ICdDb2RlJyxcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IGAke2VudGl0eX1fJHtsYWJlbFByb3B9XyR7dmFsdWV9XyR7ZW52fV8ke2tleX1fJHtjb250cm9sbGVyfWA7XG5cbiAgICBpZiAodGhpcy5jYWNoZS5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZS5nZXQoY2FjaGVLZXkpITtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbkZsaWdodFJlcXVlc3RzLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmluRmxpZ2h0UmVxdWVzdHMuZ2V0KGNhY2hlS2V5KSE7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdFByb21pc2UgPSAoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcGF5bG9hZDogU2VhcmNoRHluYW1pY1dyYXBwZXIgPSB7XG4gICAgICAgIEZpZWxkczogW2xhYmVsUHJvcF0sXG4gICAgICAgIFNlYXJjaEtleVZhbHVlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFByb3BlcnR5TmFtZToga2V5LFxuICAgICAgICAgICAgRW50aXR5VmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgT3BlcmF0b3I6IFNlYXJjaE9wZXJhdG9yLkFuZCxcbiAgICAgICAgICAgIFNpZ246IFNlYXJjaFByb3BlcnR5U2lnbi5FUSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfTtcblxuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0KFxuICAgICAgICBgJHtjb250cm9sbGVyfS9TZWFyY2hEeW5hbWljJHtlbnRpdHl9cy8wLzFgLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBlbnYsXG4gICAgICApO1xuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkoZmFsc2UpO1xuXG4gICAgICBsZXQgbGFiZWw6IHN0cmluZztcbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIGxhYmVsID0gJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXN1bHQgPSAocmVzIGFzIFBhZ2VkUmVzdWx0PHN0cmluZz4pLlJlc3VsdDtcbiAgICAgICAgbGFiZWwgPSByZXN1bHQubGVuZ3RoID4gMCA/IHJlc3VsdFswXSA6IHZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNhY2hlLnNldChjYWNoZUtleSwgbGFiZWwpO1xuICAgICAgdGhpcy5pbkZsaWdodFJlcXVlc3RzLmRlbGV0ZShjYWNoZUtleSk7XG5cbiAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9KSgpO1xuXG4gICAgLy8gU2F2ZSB0aGUgaW4tZmxpZ2h0IHJlcXVlc3RcbiAgICB0aGlzLmluRmxpZ2h0UmVxdWVzdHMuc2V0KGNhY2hlS2V5LCByZXF1ZXN0UHJvbWlzZSk7XG5cbiAgICByZXR1cm4gcmVxdWVzdFByb21pc2U7XG4gIH1cblxuICBhc3luYyBnZXRBc3luY0xhYmVsV2l0aEJhdGNoaW5nKFxuICAgIHZhbHVlOiBhbnksXG4gICAgZW50aXR5OiBzdHJpbmcsXG4gICAgbGFiZWxQcm9wOiBzdHJpbmcsXG4gICAgZW52OiBzdHJpbmcsXG4gICAgb3ZlcnJpZGVUb2tlbj86IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyA9ICdDb2RlJyxcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBiYXRjaEtleSA9IGAke2VudGl0eX1fJHtsYWJlbFByb3B9XyR7ZW52fV8ke2tleX1gO1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7YmF0Y2hLZXl9XyR7dmFsdWV9YDtcblxuICAgIGlmICh0aGlzLmNhY2hlSW5Qcm9ncmVzcy5oYXMoYmF0Y2hLZXkpKSB7XG4gICAgICBhd2FpdCB0aGlzLmNhY2hlSW5Qcm9ncmVzcy5nZXQoYmF0Y2hLZXkpO1xuICAgIH1cbiAgICAvLyBSZXR1cm4gZnJvbSBjYWNoZSBpZiBhdmFpbGFibGVcbiAgICBpZiAodGhpcy5jYWNoZS5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZS5nZXQoY2FjaGVLZXkpITtcbiAgICB9XG5cbiAgICBjb25zdCBzdG9yZSA9IHRoaXMudGVtcFN0b3JlLmdldChiYXRjaEtleSk7XG4gICAgaWYgKHN0b3JlKSB7XG4gICAgICBjb25zdCBpdGVtID0gc3RvcmUuZmluZCgoeCkgPT4geC5LZXkgPT0gdmFsdWUpO1xuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uVmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGxldCBiYXRjaCA9IHRoaXMuYmF0Y2hlZFJlcXVlc3RzLmdldChiYXRjaEtleSk7XG5cbiAgICAgIGlmICghYmF0Y2gpIHtcbiAgICAgICAgYmF0Y2ggPSB7XG4gICAgICAgICAgY29kZXM6IG5ldyBTZXQoKSxcbiAgICAgICAgICByZXNvbHZlcnM6IG5ldyBNYXAoKSxcbiAgICAgICAgICByZWplY3RvcnM6IG5ldyBNYXAoKSxcbiAgICAgICAgICB0aW1lcjogbnVsbCxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5iYXRjaGVkUmVxdWVzdHMuc2V0KGJhdGNoS2V5LCBiYXRjaCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEFkZCBjdXJyZW50IHJlcXVlc3QgdG8gYmF0Y2hcbiAgICAgIGJhdGNoLmNvZGVzLmFkZCh2YWx1ZSk7XG4gICAgICBpZiAoIWJhdGNoLnJlc29sdmVycy5oYXModmFsdWUpKSB7XG4gICAgICAgIGJhdGNoLnJlc29sdmVycy5zZXQodmFsdWUsIFtdKTtcbiAgICAgICAgYmF0Y2gucmVqZWN0b3JzLnNldCh2YWx1ZSwgW10pO1xuICAgICAgfVxuICAgICAgYmF0Y2gucmVzb2x2ZXJzLmdldCh2YWx1ZSkhLnB1c2gocmVzb2x2ZSk7XG4gICAgICBiYXRjaC5yZWplY3RvcnMuZ2V0KHZhbHVlKSEucHVzaChyZWplY3QpO1xuXG4gICAgICAvLyBSZXNldCBkZWJvdW5jZSB0aW1lclxuICAgICAgaWYgKGJhdGNoLnRpbWVyKSBjbGVhclRpbWVvdXQoYmF0Y2gudGltZXIpO1xuICAgICAgYmF0Y2gudGltZXIgPSBzZXRUaW1lb3V0KFxuICAgICAgICBhc3luYyAoKSA9PiBhd2FpdCB0aGlzLmZsdXNoQmF0Y2goYmF0Y2hLZXksIG92ZXJyaWRlVG9rZW4pLFxuICAgICAgICB0aGlzLmJhdGNoaW5nRGVsYXksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBmbHVzaEJhdGNoKFxuICAgIGJhdGNoS2V5OiBzdHJpbmcsXG4gICAgb3ZlcnJpZGVUb2tlbjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXG4gICkge1xuICAgIGNvbnN0IGJhdGNoID0gdGhpcy5iYXRjaGVkUmVxdWVzdHMuZ2V0KGJhdGNoS2V5KTtcbiAgICBpZiAoIWJhdGNoKSByZXR1cm47XG5cbiAgICBjb25zb2xlLmxvZyh7IE92dmVyaWRlVG9rZW5Ud286IG92ZXJyaWRlVG9rZW4gfSk7XG5cbiAgICB0aGlzLmJhdGNoZWRSZXF1ZXN0cy5kZWxldGUoYmF0Y2hLZXkpO1xuXG4gICAgY29uc3QgW2VudGl0eSwgbGFiZWxQcm9wLCBlbnYsIGtleV0gPSBiYXRjaEtleS5zcGxpdCgnXycpO1xuICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmZyb20oYmF0Y2guY29kZXMpO1xuXG4gICAgY29uc3QgcGF5bG9hZDogU2VhcmNoRHluYW1pY1dyYXBwZXIgPSB7XG4gICAgICBGaWVsZHM6IFtrZXksIGxhYmVsUHJvcF0sXG4gICAgICBTZWFyY2hLZXlWYWx1ZXM6IHZhbHVlcy5tYXAoKHZhbCkgPT4gKHtcbiAgICAgICAgUHJvcGVydHlOYW1lOiBrZXksXG4gICAgICAgIEVudGl0eVZhbHVlOiB2YWwsXG4gICAgICAgIE9wZXJhdG9yOiBTZWFyY2hPcGVyYXRvci5PcixcbiAgICAgICAgU2lnbjogU2VhcmNoUHJvcGVydHlTaWduLkVRLFxuICAgICAgfSkpLFxuICAgIH07XG5cbiAgICBwYXlsb2FkLlNlYXJjaEtleVZhbHVlcy5wdXNoKHtcbiAgICAgIFByb3BlcnR5TmFtZTogJ1RlbmFudElkJyxcbiAgICAgIEVudGl0eVZhbHVlOiAnJyxcbiAgICAgIE9wZXJhdG9yOiBTZWFyY2hPcGVyYXRvci5BbmQsXG4gICAgICBTaWduOiBTZWFyY2hQcm9wZXJ0eVNpZ24uTkVRLFxuICAgIH0pO1xuXG4gICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIucG9zdChcbiAgICAgIGBTZWFyY2hEeW5hbWljJHtlbnRpdHl9LzAvMGAsXG4gICAgICBwYXlsb2FkLFxuICAgICAgb3ZlcnJpZGVUb2tlbiB8fCB1bmRlZmluZWQsXG4gICAgICBlbnYsXG4gICAgKTtcbiAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSShmYWxzZSk7XG5cbiAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgZm9yIChjb25zdCB2YWwgb2YgdmFsdWVzKSB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVycyA9IGJhdGNoLnJlc29sdmVycy5nZXQodmFsKSB8fCBbXTtcbiAgICAgICAgcmVzb2x2ZXJzLmZvckVhY2goKHIpID0+IHIodmFsKSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0QXJyYXkgPSAocmVzIGFzIFBhZ2VkUmVzdWx0PGFueT4pLlJlc3VsdDtcblxuICAgIGNvbnN0IGxhYmVsTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICByZXN1bHRBcnJheS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGxhYmVsTWFwLnNldChpdGVtW2tleV0sIGl0ZW1bbGFiZWxQcm9wXSk7XG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IHZhbCBvZiB2YWx1ZXMpIHtcbiAgICAgIGNvbnN0IGxhYmVsID0gbGFiZWxNYXAuZ2V0KHZhbCkgPz8gdmFsO1xuICAgICAgY29uc3QgY2FjaGVLZXkgPSBgJHtiYXRjaEtleX1fJHt2YWx9YDtcbiAgICAgIHRoaXMuY2FjaGUuc2V0KGNhY2hlS2V5LCBsYWJlbCk7XG5cbiAgICAgIGNvbnN0IHJlc29sdmVycyA9IGJhdGNoLnJlc29sdmVycy5nZXQodmFsKSB8fCBbXTtcbiAgICAgIHJlc29sdmVycy5mb3JFYWNoKChyKSA9PiByKGxhYmVsKSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY2FjaGVEYXRhKGl0ZW1zOiBDYWNoZURhdGFSZXF1ZXN0W10pIHtcbiAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICBjb25zdCBiYXRjaEtleSA9IGAke2l0ZW0uRW50aXR5fV8ke2l0ZW0uTGFiZWxQcm9wfV8ke2l0ZW0uRW52aXJvbm1lbnR9XyR7aXRlbS5LZXl9YDtcblxuICAgICAgLy8gU2lnbmFsIHRoaXMgYmF0Y2hLZXkgaXMgaW4gcHJvZ3Jlc3NcbiAgICAgIGNvbnN0IGluUHJvZ3Jlc3MgPSB0aGlzLl9jYWNoZVNpbmdsZUJhdGNoKGl0ZW0sIGJhdGNoS2V5KTtcbiAgICAgIHRoaXMuY2FjaGVJblByb2dyZXNzLnNldChiYXRjaEtleSwgaW5Qcm9ncmVzcyk7XG5cbiAgICAgIGF3YWl0IGluUHJvZ3Jlc3M7XG4gICAgICB0aGlzLmNhY2hlSW5Qcm9ncmVzcy5kZWxldGUoYmF0Y2hLZXkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2NhY2hlU2luZ2xlQmF0Y2goXG4gICAgaXRlbTogQ2FjaGVEYXRhUmVxdWVzdCxcbiAgICBiYXRjaEtleTogc3RyaW5nLFxuICAgIG92ZXJyaWRlVG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoaXRlbS5WYWx1ZXMubGVuZ3RoID09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGF5bG9hZDogU2VhcmNoRHluYW1pY1dyYXBwZXIgPSB7XG4gICAgICBGaWVsZHM6IFtpdGVtLktleSwgaXRlbS5MYWJlbFByb3BdLFxuICAgICAgU2VhcmNoS2V5VmFsdWVzOiBpdGVtLlZhbHVlcy5tYXAoKHZhbCkgPT4gKHtcbiAgICAgICAgUHJvcGVydHlOYW1lOiBpdGVtLktleSxcbiAgICAgICAgRW50aXR5VmFsdWU6IHZhbCxcbiAgICAgICAgT3BlcmF0b3I6IFNlYXJjaE9wZXJhdG9yLk9yLFxuICAgICAgICBTaWduOiBTZWFyY2hQcm9wZXJ0eVNpZ24uRVEsXG4gICAgICB9KSksXG4gICAgfTtcblxuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKHRydWUpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuc2VydmVyLnBvc3QoXG4gICAgICBgU2VhcmNoRHluYW1pYyR7aXRlbS5FbnRpdHl9LzAvMGAsXG4gICAgICBwYXlsb2FkLFxuICAgICAgb3ZlcnJpZGVUb2tlbiB8fCB1bmRlZmluZWQsXG4gICAgICBpdGVtLkVudmlyb25tZW50LFxuICAgICk7XG4gICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkoZmFsc2UpO1xuXG4gICAgaWYgKCEocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkpIHtcbiAgICAgIGNvbnN0IHJlc3VsdEFycmF5ID0gKHJlcyBhcyBQYWdlZFJlc3VsdDxhbnk+KS5SZXN1bHQ7XG4gICAgICBjb25zdCBrZXlWYWx1ZXM6IEtleVZhbHVlUGFyYW1bXSA9IHJlc3VsdEFycmF5Lm1hcCgoeDogYW55KSA9PiAoe1xuICAgICAgICBLZXk6IHhbaXRlbS5LZXldLFxuICAgICAgICBWYWx1ZTogeFtpdGVtLkxhYmVsUHJvcF0sXG4gICAgICB9KSk7XG4gICAgICB0aGlzLnRlbXBTdG9yZS5zZXQoYmF0Y2hLZXksIGtleVZhbHVlcyk7XG4gICAgfVxuICB9XG5cbiAgLy8gYXN5bmMgY2FjaGVEYXRhKGl0ZW1zOiBDYWNoZURhdGFSZXF1ZXN0W10pIHtcbiAgLy8gICBmb3IobGV0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgLy8gICAgIGNvbnN0IGJhdGNoS2V5ID0gYCR7aXRlbS5FbnRpdHl9XyR7aXRlbS5MYWJlbFByb3B9XyR7aXRlbS5FbnZpcm9ubWVudH1fJHtpdGVtLktleX1gO1xuICAvLyAgICAgY29uc3QgcGF5bG9hZDogU2VhcmNoRHluYW1pY1dyYXBwZXIgPSB7XG4gIC8vICAgICBGaWVsZHM6IFtpdGVtLktleSwgaXRlbS5MYWJlbFByb3BdLFxuICAvLyAgICAgU2VhcmNoS2V5VmFsdWVzOiBpdGVtLlZhbHVlcy5tYXAoKHZhbCkgPT4gKHtcbiAgLy8gICAgICAgICBQcm9wZXJ0eU5hbWU6IGl0ZW0uS2V5LFxuICAvLyAgICAgICAgIEVudGl0eVZhbHVlOiB2YWwsXG4gIC8vICAgICAgICAgT3BlcmF0b3I6IFNlYXJjaE9wZXJhdG9yLk9yLFxuICAvLyAgICAgICAgIFNpZ246IFNlYXJjaFByb3BlcnR5U2lnbi5FUSxcbiAgLy8gICAgICAgfSkpLFxuICAvLyAgICAgfTtcblxuICAvLyAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG4gIC8vICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0KFxuICAvLyAgICAgICBgU2VhcmNoRHluYW1pYyR7aXRlbS5FbnRpdHl9LzAvMGAsXG4gIC8vICAgICAgIHBheWxvYWQsXG4gIC8vICAgICAgIGl0ZW0uRW52aXJvbm1lbnRcbiAgLy8gICAgICk7XG4gIC8vICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSShmYWxzZSk7XG5cbiAgLy8gICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG5cbiAgLy8gICAgIH0gZWxzZSB7XG4gIC8vICAgICAgIGNvbnN0IHJlc3VsdEFycmF5ID0gKHJlcyBhcyBQYWdlZFJlc3VsdDxhbnk+KS5SZXN1bHQ7XG4gIC8vICAgICAgIGNvbnN0IGtleVZhbHVlczogS2V5VmFsdWVQYXJhbVtdID0gW107XG4gIC8vICAgICAgIHJlc3VsdEFycmF5LmZvckVhY2goKHg6IGFueSkgPT4ge1xuICAvLyAgICAgICAgIHZhciBrZXlWYWx1ZTogS2V5VmFsdWVQYXJhbSA9IHtcbiAgLy8gICAgICAgICAgIEtleTogeFtpdGVtLktleV0sXG4gIC8vICAgICAgICAgICBWYWx1ZTogeFtpdGVtLkxhYmVsUHJvcF1cbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgICAga2V5VmFsdWVzLnB1c2goa2V5VmFsdWUpO1xuICAvLyAgICAgICB9KVxuICAvLyAgICAgICB0aGlzLnRlbXBTdG9yZS5zZXQoYmF0Y2hLZXksIGtleVZhbHVlcyk7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyB9XG59XG4iXX0=
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi10aWNrZXRpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9sYWJlbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUNMLGNBQWMsRUFFZCxrQkFBa0IsRUFDbEIsYUFBYSxHQUlkLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFhNUMsTUFBTSxPQUFPLFlBQVk7SUFRYjtJQUNBO0lBUkYsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQ2xDLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO0lBQ3RELGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztJQUNwRCxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQTJCLENBQUM7SUFDL0MsYUFBYSxHQUFHLEVBQUUsQ0FBQyxDQUFDLCtCQUErQjtJQUNuRCxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7SUFDM0QsWUFDVSxXQUEyQixFQUMzQixNQUE2QjtRQUQ3QixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7SUFDcEMsQ0FBQztJQUVKLEtBQUssQ0FBQyxhQUFhLENBQ2pCLEtBQVUsRUFDVixNQUFjLEVBQ2QsU0FBaUIsRUFDakIsR0FBVyxFQUNYLE1BQWMsTUFBTTtRQUVwQixNQUFNLFFBQVEsR0FBRyxHQUFHLE1BQU0sSUFBSSxTQUFTLElBQUksS0FBSyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVqRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENB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Z0JBQ3RCLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixRQUFRLEVBQUUsY0FBYyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxFQUFFO2FBQzVCLENBQUMsQ0FBQztTQUNKLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoQyxnQkFBZ0IsSUFBSSxDQUFDLE1BQU0sTUFBTSxFQUNqQyxPQUFPLEVBQ1AsYUFBYSxJQUFJLFNBQVMsRUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sV0FBVyxHQUFJLEdBQXdCLENBQUMsTUFBTSxDQUFDO1lBQ3JELE1BQU0sU0FBUyxHQUFvQixXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RCxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ2hCLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUN6QixDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQzt3R0F6VlUsWUFBWTs0R0FBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSBhcyBBcHBVdGlsU2VydmljZSB9IGZyb20gJy4vdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBXZWJSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4vaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFNlYXJjaE9wZXJhdG9yLFxuICBTZWFyY2hEeW5hbWljV3JhcHBlcixcbiAgU2VhcmNoUHJvcGVydHlTaWduLFxuICBFcnJvclJlc3BvbnNlLFxuICBQYWdlZFJlc3VsdCxcbiAgS2V5VmFsdWVQYXJhbSxcbiAgQ2FjaGVEYXRhUmVxdWVzdCxcbn0gZnJvbSAndmVyYmVuLXRpY2tldGluZy11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG50eXBlIEJhdGNoZWRSZXF1ZXN0ID0ge1xuICBjb2RlczogU2V0PHN0cmluZz47XG4gIHJlc29sdmVyczogTWFwPHN0cmluZywgQXJyYXk8KGxhYmVsOiBzdHJpbmcpID0+IHZvaWQ+PjtcbiAgcmVqZWN0b3JzOiBNYXA8c3RyaW5nLCBBcnJheTwoZXJyb3I6IGFueSkgPT4gdm9pZD4+O1xuICB0aW1lcjogYW55O1xufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExhYmVsU2VydmljZSB7XG4gIHByaXZhdGUgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBwcml2YXRlIGluRmxpZ2h0UmVxdWVzdHMgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxzdHJpbmc+PigpO1xuICBwcml2YXRlIGJhdGNoZWRSZXF1ZXN0cyA9IG5ldyBNYXA8c3RyaW5nLCBCYXRjaGVkUmVxdWVzdD4oKTtcbiAgcHJpdmF0ZSB0ZW1wU3RvcmUgPSBuZXcgTWFwPHN0cmluZywgS2V5VmFsdWVQYXJhbVtdPigpO1xuICBwcml2YXRlIGJhdGNoaW5nRGVsYXkgPSA1MDsgLy8gU2xpZGluZyBkZWJvdW5jZSBkZWxheSBpbiBtc1xuICBwcml2YXRlIGNhY2hlSW5Qcm9ncmVzcyA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPHZvaWQ+PigpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHV0aWxTZXJ2aWNlOiBBcHBVdGlsU2VydmljZSxcbiAgICBwcml2YXRlIHNlcnZlcjogSHR0cFdlYlJlcXVlc3RTZXJ2aWNlLFxuICApIHt9XG5cbiAgYXN5bmMgZ2V0QXN5bmNMYWJlbChcbiAgICB2YWx1ZTogYW55LFxuICAgIGVudGl0eTogc3RyaW5nLFxuICAgIGxhYmVsUHJvcDogc3RyaW5nLFxuICAgIGVudjogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nID0gJ0NvZGUnLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7ZW50aXR5fV8ke2xhYmVsUHJvcH1fJHt2YWx1ZX1fJHtlbnZ9XyR7a2V5fWA7XG5cbiAgICBpZiAodGhpcy5jYWNoZS5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY2FjaGUuZ2V0KGNhY2hlS2V5KSE7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgdmFyIHBheWxvYWQ6IFNlYXJjaER5bmFtaWNXcmFwcGVyID0ge1xuICAgICAgRmllbGRzOiBbbGFiZWxQcm9wXSxcbiAgICAgIFNlYXJjaEtleVZhbHVlczogW1xuICAgICAgICB7XG4gICAgICAgICAgUHJvcGVydHlOYW1lOiBrZXksXG4gICAgICAgICAgRW50aXR5VmFsdWU6IHZhbHVlLFxuICAgICAgICAgIE9wZXJhdG9yOiBTZWFyY2hPcGVyYXRvci5BbmQsXG4gICAgICAgICAgU2lnbjogU2VhcmNoUHJvcGVydHlTaWduLkVRLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIucG9zdE5vRXJyb3IoXG4gICAgICBgU2VhcmNoRHluYW1pYyR7ZW50aXR5fS8wLzFgLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIGVudixcbiAgICApO1xuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZXN1bHQgPSAocmVzIGFzIFBhZ2VkUmVzdWx0PHN0cmluZz4pLlJlc3VsdDtcbiAgICAgIGNvbnN0IGxhYmVsID0gcmVzdWx0Lmxlbmd0aCA+IDAgPyByZXN1bHRbMF0gOiB2YWx1ZTtcbiAgICAgIHRoaXMuY2FjaGUuc2V0KGNhY2hlS2V5LCBsYWJlbCk7XG4gICAgICByZXR1cm4gbGFiZWw7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0QXN5bmNMYWJlbFdpdGhSZXF1ZXN0VHJhY2tpbmcoXG4gICAgdmFsdWU6IGFueSxcbiAgICBlbnRpdHk6IHN0cmluZyxcbiAgICBsYWJlbFByb3A6IHN0cmluZyxcbiAgICBlbnY6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyA9ICdDb2RlJyxcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IGAke2VudGl0eX1fJHtsYWJlbFByb3B9XyR7dmFsdWV9XyR7ZW52fV8ke2tleX1gO1xuXG4gICAgaWYgKHRoaXMuY2FjaGUuaGFzKGNhY2hlS2V5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KGNhY2hlS2V5KSE7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbkZsaWdodFJlcXVlc3RzLmdldChjYWNoZUtleSkhO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3RQcm9taXNlID0gKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHBheWxvYWQ6IFNlYXJjaER5bmFtaWNXcmFwcGVyID0ge1xuICAgICAgICBGaWVsZHM6IFtsYWJlbFByb3BdLFxuICAgICAgICBTZWFyY2hLZXlWYWx1ZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBQcm9wZXJ0eU5hbWU6IGtleSxcbiAgICAgICAgICAgIEVudGl0eVZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgIE9wZXJhdG9yOiBTZWFyY2hPcGVyYXRvci5BbmQsXG4gICAgICAgICAgICBTaWduOiBTZWFyY2hQcm9wZXJ0eVNpZ24uRVEsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKHRydWUpO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIucG9zdChcbiAgICAgICAgYFNlYXJjaER5bmFtaWMke2VudGl0eX0vMC8xYCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgZW52LFxuICAgICAgKTtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcblxuICAgICAgbGV0IGxhYmVsOiBzdHJpbmc7XG4gICAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICBsYWJlbCA9ICcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKHJlcyBhcyBQYWdlZFJlc3VsdDxzdHJpbmc+KS5SZXN1bHQ7XG4gICAgICAgIGxhYmVsID0gcmVzdWx0Lmxlbmd0aCA+IDAgPyByZXN1bHRbMF0gOiB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jYWNoZS5zZXQoY2FjaGVLZXksIGxhYmVsKTtcbiAgICAgIHRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5kZWxldGUoY2FjaGVLZXkpO1xuXG4gICAgICByZXR1cm4gbGFiZWw7XG4gICAgfSkoKTtcblxuICAgIC8vIFNhdmUgdGhlIGluLWZsaWdodCByZXF1ZXN0XG4gICAgdGhpcy5pbkZsaWdodFJlcXVlc3RzLnNldChjYWNoZUtleSwgcmVxdWVzdFByb21pc2UpO1xuXG4gICAgcmV0dXJuIHJlcXVlc3RQcm9taXNlO1xuICB9XG5cbiAgYXN5bmMgZ2V0QXN5bmNMYWJlbFdpdGhSZXF1ZXN0VHJhY2tpbmdOb0dhdGV3YXkoXG4gICAgdmFsdWU6IGFueSxcbiAgICBlbnRpdHk6IHN0cmluZyxcbiAgICBsYWJlbFByb3A6IHN0cmluZyxcbiAgICBlbnY6IHN0cmluZyxcbiAgICBjb250cm9sbGVyOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgPSAnQ29kZScsXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBgJHtlbnRpdHl9XyR7bGFiZWxQcm9wfV8ke3ZhbHVlfV8ke2Vudn1fJHtrZXl9XyR7Y29udHJvbGxlcn1gO1xuXG4gICAgaWYgKHRoaXMuY2FjaGUuaGFzKGNhY2hlS2V5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KGNhY2hlS2V5KSE7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbkZsaWdodFJlcXVlc3RzLmdldChjYWNoZUtleSkhO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3RQcm9taXNlID0gKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHBheWxvYWQ6IFNlYXJjaER5bmFtaWNXcmFwcGVyID0ge1xuICAgICAgICBGaWVsZHM6IFtsYWJlbFByb3BdLFxuICAgICAgICBTZWFyY2hLZXlWYWx1ZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBQcm9wZXJ0eU5hbWU6IGtleSxcbiAgICAgICAgICAgIEVudGl0eVZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgIE9wZXJhdG9yOiBTZWFyY2hPcGVyYXRvci5BbmQsXG4gICAgICAgICAgICBTaWduOiBTZWFyY2hQcm9wZXJ0eVNpZ24uRVEsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKHRydWUpO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIucG9zdChcbiAgICAgICAgYCR7Y29udHJvbGxlcn0vU2VhcmNoRHluYW1pYyR7ZW50aXR5fXMvMC8xYCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgZW52LFxuICAgICAgKTtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcblxuICAgICAgbGV0IGxhYmVsOiBzdHJpbmc7XG4gICAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICBsYWJlbCA9ICcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKHJlcyBhcyBQYWdlZFJlc3VsdDxzdHJpbmc+KS5SZXN1bHQ7XG4gICAgICAgIGxhYmVsID0gcmVzdWx0Lmxlbmd0aCA+IDAgPyByZXN1bHRbMF0gOiB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jYWNoZS5zZXQoY2FjaGVLZXksIGxhYmVsKTtcbiAgICAgIHRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5kZWxldGUoY2FjaGVLZXkpO1xuXG4gICAgICByZXR1cm4gbGFiZWw7XG4gICAgfSkoKTtcblxuICAgIC8vIFNhdmUgdGhlIGluLWZsaWdodCByZXF1ZXN0XG4gICAgdGhpcy5pbkZsaWdodFJlcXVlc3RzLnNldChjYWNoZUtleSwgcmVxdWVzdFByb21pc2UpO1xuXG4gICAgcmV0dXJuIHJlcXVlc3RQcm9taXNlO1xuICB9XG5cbiAgYXN5bmMgZ2V0QXN5bmNMYWJlbFdpdGhCYXRjaGluZyhcbiAgICB2YWx1ZTogYW55LFxuICAgIGVudGl0eTogc3RyaW5nLFxuICAgIGxhYmVsUHJvcDogc3RyaW5nLFxuICAgIGVudjogc3RyaW5nLFxuICAgIG92ZXJyaWRlVG9rZW4/OiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcgPSAnQ29kZScsXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgYmF0Y2hLZXkgPSBgJHtlbnRpdHl9XyR7bGFiZWxQcm9wfV8ke2Vudn1fJHtrZXl9YDtcbiAgICBjb25zdCBjYWNoZUtleSA9IGAke2JhdGNoS2V5fV8ke3ZhbHVlfWA7XG5cbiAgICBpZiAodGhpcy5jYWNoZUluUHJvZ3Jlc3MuaGFzKGJhdGNoS2V5KSkge1xuICAgICAgYXdhaXQgdGhpcy5jYWNoZUluUHJvZ3Jlc3MuZ2V0KGJhdGNoS2V5KTtcbiAgICB9XG4gICAgLy8gUmV0dXJuIGZyb20gY2FjaGUgaWYgYXZhaWxhYmxlXG4gICAgaWYgKHRoaXMuY2FjaGUuaGFzKGNhY2hlS2V5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KGNhY2hlS2V5KSE7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLnRlbXBTdG9yZS5nZXQoYmF0Y2hLZXkpO1xuICAgIGlmIChzdG9yZSkge1xuICAgICAgY29uc3QgaXRlbSA9IHN0b3JlLmZpbmQoKHgpID0+IHguS2V5ID09IHZhbHVlKTtcbiAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgIHJldHVybiBpdGVtLlZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBsZXQgYmF0Y2ggPSB0aGlzLmJhdGNoZWRSZXF1ZXN0cy5nZXQoYmF0Y2hLZXkpO1xuXG4gICAgICBpZiAoIWJhdGNoKSB7XG4gICAgICAgIGJhdGNoID0ge1xuICAgICAgICAgIGNvZGVzOiBuZXcgU2V0KCksXG4gICAgICAgICAgcmVzb2x2ZXJzOiBuZXcgTWFwKCksXG4gICAgICAgICAgcmVqZWN0b3JzOiBuZXcgTWFwKCksXG4gICAgICAgICAgdGltZXI6IG51bGwsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYmF0Y2hlZFJlcXVlc3RzLnNldChiYXRjaEtleSwgYmF0Y2gpO1xuICAgICAgfVxuXG4gICAgICAvLyBBZGQgY3VycmVudCByZXF1ZXN0IHRvIGJhdGNoXG4gICAgICBiYXRjaC5jb2Rlcy5hZGQodmFsdWUpO1xuICAgICAgaWYgKCFiYXRjaC5yZXNvbHZlcnMuaGFzKHZhbHVlKSkge1xuICAgICAgICBiYXRjaC5yZXNvbHZlcnMuc2V0KHZhbHVlLCBbXSk7XG4gICAgICAgIGJhdGNoLnJlamVjdG9ycy5zZXQodmFsdWUsIFtdKTtcbiAgICAgIH1cbiAgICAgIGJhdGNoLnJlc29sdmVycy5nZXQodmFsdWUpIS5wdXNoKHJlc29sdmUpO1xuICAgICAgYmF0Y2gucmVqZWN0b3JzLmdldCh2YWx1ZSkhLnB1c2gocmVqZWN0KTtcblxuICAgICAgLy8gUmVzZXQgZGVib3VuY2UgdGltZXJcbiAgICAgIGlmIChiYXRjaC50aW1lcikgY2xlYXJUaW1lb3V0KGJhdGNoLnRpbWVyKTtcbiAgICAgIGJhdGNoLnRpbWVyID0gc2V0VGltZW91dChcbiAgICAgICAgYXN5bmMgKCkgPT4gYXdhaXQgdGhpcy5mbHVzaEJhdGNoKGJhdGNoS2V5LCBvdmVycmlkZVRva2VuKSxcbiAgICAgICAgdGhpcy5iYXRjaGluZ0RlbGF5LFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZmx1c2hCYXRjaChcbiAgICBiYXRjaEtleTogc3RyaW5nLFxuICAgIG92ZXJyaWRlVG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICApIHtcbiAgICBjb25zdCBiYXRjaCA9IHRoaXMuYmF0Y2hlZFJlcXVlc3RzLmdldChiYXRjaEtleSk7XG4gICAgaWYgKCFiYXRjaCkgcmV0dXJuO1xuXG4gICAgLy8gY29uc29sZS5sb2coeyBPdnZlcmlkZVRva2VuVHdvOiBvdmVycmlkZVRva2VuIH0pO1xuXG4gICAgdGhpcy5iYXRjaGVkUmVxdWVzdHMuZGVsZXRlKGJhdGNoS2V5KTtcblxuICAgIGNvbnN0IFtlbnRpdHksIGxhYmVsUHJvcCwgZW52LCBrZXldID0gYmF0Y2hLZXkuc3BsaXQoJ18nKTtcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5mcm9tKGJhdGNoLmNvZGVzKTtcblxuICAgIGNvbnN0IHBheWxvYWQ6IFNlYXJjaER5bmFtaWNXcmFwcGVyID0ge1xuICAgICAgRmllbGRzOiBba2V5LCBsYWJlbFByb3BdLFxuICAgICAgU2VhcmNoS2V5VmFsdWVzOiB2YWx1ZXMubWFwKCh2YWwpID0+ICh7XG4gICAgICAgIFByb3BlcnR5TmFtZToga2V5LFxuICAgICAgICBFbnRpdHlWYWx1ZTogdmFsLFxuICAgICAgICBPcGVyYXRvcjogU2VhcmNoT3BlcmF0b3IuT3IsXG4gICAgICAgIFNpZ246IFNlYXJjaFByb3BlcnR5U2lnbi5FUSxcbiAgICAgIH0pKSxcbiAgICB9O1xuXG4gICAgcGF5bG9hZC5TZWFyY2hLZXlWYWx1ZXMucHVzaCh7XG4gICAgICBQcm9wZXJ0eU5hbWU6ICdUZW5hbnRJZCcsXG4gICAgICBFbnRpdHlWYWx1ZTogJycsXG4gICAgICBPcGVyYXRvcjogU2VhcmNoT3BlcmF0b3IuQW5kLFxuICAgICAgU2lnbjogU2VhcmNoUHJvcGVydHlTaWduLk5FUSxcbiAgICB9KTtcblxuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKHRydWUpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuc2VydmVyLnBvc3QoXG4gICAgICBgU2VhcmNoRHluYW1pYyR7ZW50aXR5fS8wLzBgLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIG92ZXJyaWRlVG9rZW4gfHwgdW5kZWZpbmVkLFxuICAgICAgZW52LFxuICAgICk7XG4gICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkoZmFsc2UpO1xuXG4gICAgaWYgKHJlcyBpbnN0YW5jZW9mIEVycm9yUmVzcG9uc2UpIHtcbiAgICAgIGZvciAoY29uc3QgdmFsIG9mIHZhbHVlcykge1xuICAgICAgICBjb25zdCByZXNvbHZlcnMgPSBiYXRjaC5yZXNvbHZlcnMuZ2V0KHZhbCkgfHwgW107XG4gICAgICAgIHJlc29sdmVycy5mb3JFYWNoKChyKSA9PiByKHZhbCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdEFycmF5ID0gKHJlcyBhcyBQYWdlZFJlc3VsdDxhbnk+KS5SZXN1bHQ7XG5cbiAgICBjb25zdCBsYWJlbE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgcmVzdWx0QXJyYXkuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBsYWJlbE1hcC5zZXQoaXRlbVtrZXldLCBpdGVtW2xhYmVsUHJvcF0pO1xuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCB2YWwgb2YgdmFsdWVzKSB7XG4gICAgICBjb25zdCBsYWJlbCA9IGxhYmVsTWFwLmdldCh2YWwpID8/IHZhbDtcbiAgICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7YmF0Y2hLZXl9XyR7dmFsfWA7XG4gICAgICB0aGlzLmNhY2hlLnNldChjYWNoZUtleSwgbGFiZWwpO1xuXG4gICAgICBjb25zdCByZXNvbHZlcnMgPSBiYXRjaC5yZXNvbHZlcnMuZ2V0KHZhbCkgfHwgW107XG4gICAgICByZXNvbHZlcnMuZm9yRWFjaCgocikgPT4gcihsYWJlbCkpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNhY2hlRGF0YShpdGVtczogQ2FjaGVEYXRhUmVxdWVzdFtdKSB7XG4gICAgZm9yIChsZXQgaXRlbSBvZiBpdGVtcykge1xuICAgICAgY29uc3QgYmF0Y2hLZXkgPSBgJHtpdGVtLkVudGl0eX1fJHtpdGVtLkxhYmVsUHJvcH1fJHtpdGVtLkVudmlyb25tZW50fV8ke2l0ZW0uS2V5fWA7XG5cbiAgICAgIC8vIFNpZ25hbCB0aGlzIGJhdGNoS2V5IGlzIGluIHByb2dyZXNzXG4gICAgICBjb25zdCBpblByb2dyZXNzID0gdGhpcy5fY2FjaGVTaW5nbGVCYXRjaChpdGVtLCBiYXRjaEtleSk7XG4gICAgICB0aGlzLmNhY2hlSW5Qcm9ncmVzcy5zZXQoYmF0Y2hLZXksIGluUHJvZ3Jlc3MpO1xuXG4gICAgICBhd2FpdCBpblByb2dyZXNzO1xuICAgICAgdGhpcy5jYWNoZUluUHJvZ3Jlc3MuZGVsZXRlKGJhdGNoS2V5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9jYWNoZVNpbmdsZUJhdGNoKFxuICAgIGl0ZW06IENhY2hlRGF0YVJlcXVlc3QsXG4gICAgYmF0Y2hLZXk6IHN0cmluZyxcbiAgICBvdmVycmlkZVRva2VuOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGl0ZW0uVmFsdWVzLmxlbmd0aCA9PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBheWxvYWQ6IFNlYXJjaER5bmFtaWNXcmFwcGVyID0ge1xuICAgICAgRmllbGRzOiBbaXRlbS5LZXksIGl0ZW0uTGFiZWxQcm9wXSxcbiAgICAgIFNlYXJjaEtleVZhbHVlczogaXRlbS5WYWx1ZXMubWFwKCh2YWwpID0+ICh7XG4gICAgICAgIFByb3BlcnR5TmFtZTogaXRlbS5LZXksXG4gICAgICAgIEVudGl0eVZhbHVlOiB2YWwsXG4gICAgICAgIE9wZXJhdG9yOiBTZWFyY2hPcGVyYXRvci5PcixcbiAgICAgICAgU2lnbjogU2VhcmNoUHJvcGVydHlTaWduLkVRLFxuICAgICAgfSkpLFxuICAgIH07XG5cbiAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSSh0cnVlKTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0KFxuICAgICAgYFNlYXJjaER5bmFtaWMke2l0ZW0uRW50aXR5fS8wLzBgLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIG92ZXJyaWRlVG9rZW4gfHwgdW5kZWZpbmVkLFxuICAgICAgaXRlbS5FbnZpcm9ubWVudCxcbiAgICApO1xuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcblxuICAgIGlmICghKHJlcyBpbnN0YW5jZW9mIEVycm9yUmVzcG9uc2UpKSB7XG4gICAgICBjb25zdCByZXN1bHRBcnJheSA9IChyZXMgYXMgUGFnZWRSZXN1bHQ8YW55PikuUmVzdWx0O1xuICAgICAgY29uc3Qga2V5VmFsdWVzOiBLZXlWYWx1ZVBhcmFtW10gPSByZXN1bHRBcnJheS5tYXAoKHg6IGFueSkgPT4gKHtcbiAgICAgICAgS2V5OiB4W2l0ZW0uS2V5XSxcbiAgICAgICAgVmFsdWU6IHhbaXRlbS5MYWJlbFByb3BdLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy50ZW1wU3RvcmUuc2V0KGJhdGNoS2V5LCBrZXlWYWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGFzeW5jIGNhY2hlRGF0YShpdGVtczogQ2FjaGVEYXRhUmVxdWVzdFtdKSB7XG4gIC8vICAgZm9yKGxldCBpdGVtIG9mIGl0ZW1zKSB7XG4gIC8vICAgICBjb25zdCBiYXRjaEtleSA9IGAke2l0ZW0uRW50aXR5fV8ke2l0ZW0uTGFiZWxQcm9wfV8ke2l0ZW0uRW52aXJvbm1lbnR9XyR7aXRlbS5LZXl9YDtcbiAgLy8gICAgIGNvbnN0IHBheWxvYWQ6IFNlYXJjaER5bmFtaWNXcmFwcGVyID0ge1xuICAvLyAgICAgRmllbGRzOiBbaXRlbS5LZXksIGl0ZW0uTGFiZWxQcm9wXSxcbiAgLy8gICAgIFNlYXJjaEtleVZhbHVlczogaXRlbS5WYWx1ZXMubWFwKCh2YWwpID0+ICh7XG4gIC8vICAgICAgICAgUHJvcGVydHlOYW1lOiBpdGVtLktleSxcbiAgLy8gICAgICAgICBFbnRpdHlWYWx1ZTogdmFsLFxuICAvLyAgICAgICAgIE9wZXJhdG9yOiBTZWFyY2hPcGVyYXRvci5PcixcbiAgLy8gICAgICAgICBTaWduOiBTZWFyY2hQcm9wZXJ0eVNpZ24uRVEsXG4gIC8vICAgICAgIH0pKSxcbiAgLy8gICAgIH07XG5cbiAgLy8gICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKHRydWUpO1xuICAvLyAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIucG9zdChcbiAgLy8gICAgICAgYFNlYXJjaER5bmFtaWMke2l0ZW0uRW50aXR5fS8wLzBgLFxuICAvLyAgICAgICBwYXlsb2FkLFxuICAvLyAgICAgICBpdGVtLkVudmlyb25tZW50XG4gIC8vICAgICApO1xuICAvLyAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkoZmFsc2UpO1xuXG4gIC8vICAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuXG4gIC8vICAgICB9IGVsc2Uge1xuICAvLyAgICAgICBjb25zdCByZXN1bHRBcnJheSA9IChyZXMgYXMgUGFnZWRSZXN1bHQ8YW55PikuUmVzdWx0O1xuICAvLyAgICAgICBjb25zdCBrZXlWYWx1ZXM6IEtleVZhbHVlUGFyYW1bXSA9IFtdO1xuICAvLyAgICAgICByZXN1bHRBcnJheS5mb3JFYWNoKCh4OiBhbnkpID0+IHtcbiAgLy8gICAgICAgICB2YXIga2V5VmFsdWU6IEtleVZhbHVlUGFyYW0gPSB7XG4gIC8vICAgICAgICAgICBLZXk6IHhbaXRlbS5LZXldLFxuICAvLyAgICAgICAgICAgVmFsdWU6IHhbaXRlbS5MYWJlbFByb3BdXG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgICAgIGtleVZhbHVlcy5wdXNoKGtleVZhbHVlKTtcbiAgLy8gICAgICAgfSlcbiAgLy8gICAgICAgdGhpcy50ZW1wU3RvcmUuc2V0KGJhdGNoS2V5LCBrZXlWYWx1ZXMpO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxufVxuIl19
@@ -60,7 +60,7 @@ class AsyncLabelPipe {
60
60
  if (!code)
61
61
  return of('');
62
62
  // return of(code);
63
- console.log({ OvverideToken: overrideToken });
63
+ // console.log({ OvverideToken: overrideToken });
64
64
  return from(this.labelService.getAsyncLabelWithBatching(code, entity, labelProp, env, overrideToken, key));
65
65
  }
66
66
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AsyncLabelPipe, deps: [{ token: i1.LabelService }], target: i0.ɵɵFactoryTarget.Pipe });
@@ -1 +1 @@
1
- {"version":3,"file":"verben-ticketing-ui-src-lib-pipes.mjs","sources":["../../../projects/verben-ticketing-ui/src/lib/pipes/ellipse-word.pipe.ts","../../../projects/verben-ticketing-ui/src/lib/pipes/company-date.pipe.ts","../../../projects/verben-ticketing-ui/src/lib/pipes/async-label.pipe.ts","../../../projects/verben-ticketing-ui/src/lib/pipes/verben-ticketing-ui-src-lib-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ellipseWord',\n standalone: true,\n})\nexport class EllipseWordPipe implements PipeTransform {\n defaultLength: number = 40;\n\n transform(word: string, length: number = this.defaultLength): string {\n if (!word) return '';\n if (word.length <= length) return word;\n\n // Trim to max length, remove trailing spaces, and add ellipsis\n return word.substring(0, length).trimEnd() + '...';\n }\n}\n","// company-date.pipe.ts\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { CompanySettingsService } from 'verben-ticketing-ui/src/lib/services';\nimport { formatDate } from '@angular/common';\n\n@Pipe({\n name: 'companyDate',\n standalone: true,\n})\nexport class CompanyDatePipe implements PipeTransform {\n constructor(private companySettings: CompanySettingsService) {}\n\n transform(value: string | Date): string {\n if (!value) return '';\n // console.log({\n // Format: this.companySettings.dateFormat,\n // Locale: this.companySettings.locale,\n // });\n return formatDate(\n value,\n this.companySettings.dateFormat,\n this.companySettings.locale,\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LabelService } from 'verben-ticketing-ui/src/lib/services';\nimport { from, Observable, of } from 'rxjs';\n\n@Pipe({\n name: 'asyncLabel',\n standalone: true,\n})\nexport class AsyncLabelPipe implements PipeTransform {\n constructor(private labelService: LabelService) {}\n\n transform(\n code: any,\n entity: string,\n labelProp: string,\n env: string,\n overrideToken?: string,\n key: string = 'Code',\n ): Observable<string> {\n if (!code) return of('');\n // return of(code);\n\n console.log({ OvverideToken: overrideToken });\n return from(\n this.labelService.getAsyncLabelWithBatching(\n code,\n entity,\n labelProp,\n env,\n overrideToken,\n key,\n ),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verben-ticketing-ui-src-lib-pipes.mjs","sources":["../../../projects/verben-ticketing-ui/src/lib/pipes/ellipse-word.pipe.ts","../../../projects/verben-ticketing-ui/src/lib/pipes/company-date.pipe.ts","../../../projects/verben-ticketing-ui/src/lib/pipes/async-label.pipe.ts","../../../projects/verben-ticketing-ui/src/lib/pipes/verben-ticketing-ui-src-lib-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ellipseWord',\n standalone: true,\n})\nexport class EllipseWordPipe implements PipeTransform {\n defaultLength: number = 40;\n\n transform(word: string, length: number = this.defaultLength): string {\n if (!word) return '';\n if (word.length <= length) return word;\n\n // Trim to max length, remove trailing spaces, and add ellipsis\n return word.substring(0, length).trimEnd() + '...';\n }\n}\n","// company-date.pipe.ts\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { CompanySettingsService } from 'verben-ticketing-ui/src/lib/services';\nimport { formatDate } from '@angular/common';\n\n@Pipe({\n name: 'companyDate',\n standalone: true,\n})\nexport class CompanyDatePipe implements PipeTransform {\n constructor(private companySettings: CompanySettingsService) {}\n\n transform(value: string | Date): string {\n if (!value) return '';\n // console.log({\n // Format: this.companySettings.dateFormat,\n // Locale: this.companySettings.locale,\n // });\n return formatDate(\n value,\n this.companySettings.dateFormat,\n this.companySettings.locale,\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LabelService } from 'verben-ticketing-ui/src/lib/services';\nimport { from, Observable, of } from 'rxjs';\n\n@Pipe({\n name: 'asyncLabel',\n standalone: true,\n})\nexport class AsyncLabelPipe implements PipeTransform {\n constructor(private labelService: LabelService) {}\n\n transform(\n code: any,\n entity: string,\n labelProp: string,\n env: string,\n overrideToken?: string,\n key: string = 'Code',\n ): Observable<string> {\n if (!code) return of('');\n // return of(code);\n\n // console.log({ OvverideToken: overrideToken });\n return from(\n this.labelService.getAsyncLabelWithBatching(\n code,\n entity,\n labelProp,\n env,\n overrideToken,\n key,\n ),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -96,7 +96,7 @@ class HttpWebRequestService {
96
96
  return this.request('GET', url, undefined, overrideToken, baseUrl);
97
97
  }
98
98
  post(url, body, overrideToken, baseUrl) {
99
- console.log({ Url: url, Ovveride: overrideToken });
99
+ // console.log({ Url: url, Ovveride: overrideToken });
100
100
  return this.request('POST', url, JSON.stringify(body), overrideToken, baseUrl);
101
101
  }
102
102
  postNoError(url, body, overrideToken, baseUrl) {
@@ -491,7 +491,7 @@ class LabelService {
491
491
  const batch = this.batchedRequests.get(batchKey);
492
492
  if (!batch)
493
493
  return;
494
- console.log({ OvverideTokenTwo: overrideToken });
494
+ // console.log({ OvverideTokenTwo: overrideToken });
495
495
  this.batchedRequests.delete(batchKey);
496
496
  const [entity, labelProp, env, key] = batchKey.split('_');
497
497
  const values = Array.from(batch.codes);
@@ -1 +1 @@
1
- {"version":3,"file":"verben-ticketing-ui-src-lib-services.mjs","sources":["../../../projects/verben-ticketing-ui/src/lib/services/environment.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/http-web-request.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/util.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/import.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/label.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/shared.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/company-settings.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/verben-ticketing-ui-src-lib-services.ts"],"sourcesContent":["// In your library's services/environment.service.ts\nimport { Injectable, InjectionToken, Inject } from '@angular/core';\n// import { ENVIRONMENT } from '../models/ENVIRONMENT_TOKEN';\n\nexport const ENVIRONMENT = new InjectionToken<Environment>('environment');\n\nexport interface Environment {\n production: boolean;\n // GLAPI: string;\n AuthenticationAPI: string;\n TicketingAPI: string;\n Tenant: string;\n APIKey: string;\n Secret: string;\n FILE_BASE_URL: string;\n WorkFlowAPI: string;\n Token?: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService {\n constructor(@Inject(ENVIRONMENT) private env: Environment) {}\n\n get environment(): Environment {\n return this.env;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ErrorResponse } from 'verben-ticketing-ui/src/lib/models';\nimport { EnvironmentService } from './environment.service';\nimport { NotificationService } from 'verben-ng-ui';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpWebRequestService {\n isProd: boolean;\n\n constructor(\n private http: HttpClient,\n private envSvc: EnvironmentService,\n private notificationService: NotificationService,\n ) {\n this.isProd = this.envSvc.environment.production;\n }\n\n private buildHeaders(ovverideToken: string | null = null): {\n [header: string]: string | string[];\n } {\n const customToken = ovverideToken || this.envSvc.environment.Token;\n // console.log({ CustomerToken: customToken });\n return customToken\n ? {\n 'Content-Type': 'application/json',\n 'X-Custom-Auth': customToken,\n Authorization: customToken,\n }\n : {\n 'Content-Type': 'application/json',\n Authorization:\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJNYWlsQWRkcmVzcyI6InZlcmJlbmFAZ21haWwuY29tIiwiQXBwbGljYXRpb24iOiIiLCJOYW1lIjoiVmVyYmVuYSBMb2dpYyBMaW1pdGVkIiwiUm9sZXMiOiIiLCJUZW5hbnRJZCI6IlBETFRDNiIsIlNlcnZpY2VOYW1lIjoiV2hpdGUzNjAiLCJuYmYiOjE3MzYxNjM1OTYsImV4cCI6MTczNjM3OTU5NiwiaWF0IjoxNzM2MTYzNTk2fQ.q5ErmDIP0NwKKRlVeb9_EfmrEfd8gsFzkNNszkTeTg4',\n };\n }\n\n private buildUrl(url: string, baseUrl: string): string {\n return `${baseUrl}/${url}`;\n }\n\n private handleError(err: any): ErrorResponse {\n const msg =\n err?.ErrorMsg ||\n (err?.errors?.values as string[])?.toString() ||\n `Error occurred`;\n this.notificationService.error(msg, { timeout: 10000 });\n return new ErrorResponse(msg);\n }\n\n private request<T>(\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'POST_NO_ERROR',\n url: string,\n body?: any,\n overrideToken?: string,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI,\n ): Promise<T> | Observable<T> {\n const options = {\n headers: this.buildHeaders(overrideToken || null),\n };\n\n const requestUrl = this.buildUrl(url, baseUrl);\n\n switch (method) {\n case 'GET':\n return new Promise((resolve) =>\n this.http.get<T>(requestUrl, options).subscribe({\n next: resolve,\n error: (err) => resolve(this.handleError(err) as T),\n }),\n );\n case 'POST':\n return new Promise((resolve) =>\n this.http.post<T>(requestUrl, body, options).subscribe({\n next: resolve,\n error: (err) => resolve(this.handleError(err) as T),\n }),\n );\n case 'POST_NO_ERROR':\n return new Promise((resolve) =>\n this.http.post<T>(requestUrl, body, options).subscribe({\n next: resolve,\n }),\n );\n case 'PUT':\n return this.http.put<T>(requestUrl, body, options);\n case 'DELETE':\n return this.http.delete<T>(requestUrl, options);\n }\n }\n\n get<T>(url: string, overrideToken?: string, baseUrl?: string): Promise<T> {\n return this.request(\n 'GET',\n url,\n undefined,\n overrideToken,\n baseUrl,\n ) as Promise<T>;\n }\n\n post<T>(\n url: string,\n body: any,\n overrideToken?: string,\n baseUrl?: string,\n ): Promise<T> {\n console.log({ Url: url, Ovveride: overrideToken });\n return this.request(\n 'POST',\n url,\n JSON.stringify(body),\n overrideToken,\n baseUrl,\n ) as Promise<T>;\n }\n\n postNoError<T>(\n url: string,\n body: any,\n overrideToken?: string,\n baseUrl?: string,\n ): Promise<T> {\n return this.request(\n 'POST_NO_ERROR',\n url,\n JSON.stringify(body),\n overrideToken,\n baseUrl,\n ) as Promise<T>;\n }\n\n postFile<T>(\n url: string,\n formData: FormData,\n overrideToken?: string,\n baseUrl?: string,\n ): Promise<T> {\n return new Promise((resolve) =>\n this.http\n .post<T>(\n this.buildUrl(\n url,\n baseUrl || this.envSvc.environment.AuthenticationAPI,\n ),\n formData,\n )\n .subscribe({\n next: resolve,\n error: (err) => resolve(this.handleError(err) as T),\n }),\n );\n }\n\n put<T>(\n url: string,\n body: any,\n overrideToken?: string,\n baseUrl?: string,\n ): Observable<T> {\n return this.request(\n 'PUT',\n url,\n body,\n overrideToken,\n baseUrl,\n ) as Observable<T>;\n }\n\n delete<T>(\n url: string,\n overrideToken?: string,\n baseUrl?: string,\n ): Observable<T> {\n return this.request(\n 'DELETE',\n url,\n undefined,\n overrideToken,\n baseUrl,\n ) as Observable<T>;\n }\n}\n","import {\n Inject,\n Injectable,\n InjectionToken,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UTIL_SERVICE } from 'verben-ng-ui';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilService {\n constructor(\n @Optional()\n @Inject(UTIL_SERVICE)\n private parentUtilService: any,\n private route:Router\n ) {}\n\n sendBI(state: boolean): void {\n if (this.parentUtilService && this.parentUtilService.sendBI) {\n this.parentUtilService.sendBI(state);\n } else {\n console.warn('Util Service is not provided');\n }\n }\n\n showInfo(message: string): void {\n if (this.parentUtilService && this.parentUtilService.showInfo) {\n this.parentUtilService.showInfo(message);\n } else {\n console.warn('Util Service is not provided');\n }\n }\n showSuccess(message: string): void {\n if (this.parentUtilService && this.parentUtilService.showSuccess) {\n this.parentUtilService.showSuccess(message);\n } else {\n console.warn('Util Service is not provided');\n }\n }\ngoToPage(page: string, extra?: any) {\n if (extra && typeof extra === 'object') {\n this.route.navigate([`/${page}`], { queryParams: extra });\n return;\n }\n\n if (extra) {\n this.route.navigate([`/${page}`, extra]);\n return;\n }\n\n this.route.navigate([`/${page}`]);\n}\n\n openFullRouteInNewWindow(url: string): void {\n window.open(url, '_blank');\n }\n showError(message: string): void {\n if (this.parentUtilService && this.parentUtilService.showError) {\n this.parentUtilService.showError(message);\n } else {\n console.warn('Util Service is not provided');\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n ObjectState,\n ErrorResponse,\n PagedResult,\n BaseModel,\n} from 'verben-ticketing-ui/src/lib/models';\nimport { HttpWebRequestService } from './http-web-request.service';\nimport { UtilService } from './util.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ImportService<T extends BaseModel> {\n overrideToken: string | null = null;\n\n constructor(\n private utilService: UtilService,\n private server: HttpWebRequestService, //private cdr: ChangeDetectorRef\n ) {}\n\n initService(overrideToken: string | null) {\n this.overrideToken = overrideToken;\n }\n\n onComplete(\n event: any[],\n defaults: T,\n endpoint: string | null,\n baseUrl: string,\n entity: string,\n updateCallback: (items: T[]) => void,\n pagedState: PagedResult<T> | null = null,\n stringProps: (keyof T)[] = [],\n numberProps: (keyof T)[] = [],\n datePropsExtras: (keyof T)[] = [],\n ) {\n const normalized = event.map((raw) => {\n const def = defaults;\n let merged: T = {\n ...def,\n ...raw,\n Code: raw.Code ? String(raw.Code) : '',\n };\n\n stringProps.forEach((key) => {\n const value = raw[key];\n merged[key] = value != null ? String(value) : ('' as any);\n });\n\n numberProps.forEach((key) => {\n const value = raw[key];\n\n if (typeof value === 'string') {\n // Only parse if it's a valid number\n const num = value === '' || isNaN(Number(value)) ? 0 : Number(value);\n merged[key] = num as any;\n } else {\n merged[key] = value;\n }\n });\n\n const dateProps: (keyof T)[] = (\n ['CreatedAt', 'UpdatedAt'] as (keyof T)[]\n ).concat(datePropsExtras);\n dateProps.forEach((key) => {\n const val = merged[key];\n\n let dateObj: Date;\n\n if (val instanceof Date) {\n dateObj = val;\n } else if (typeof val === 'number') {\n dateObj = this.excelSerialToDate(val);\n } else if (typeof val === 'string') {\n dateObj = new Date(val);\n } else {\n dateObj = new Date();\n }\n if (isNaN(dateObj.getTime())) {\n dateObj = new Date();\n }\n merged[key] = dateObj as any;\n });\n\n return merged;\n });\n\n if (normalized && normalized.length > 0) {\n this.saveImportedDataBatch(\n normalized,\n endpoint,\n baseUrl,\n entity,\n updateCallback,\n pagedState,\n );\n }\n }\n\n async saveImportedDataBatch(\n items: T[],\n endpoint: string | null,\n baseUrl: string,\n entity: string,\n updateCallback: (items: T[]) => void,\n pagedState: PagedResult<T> | null = null,\n ) {\n if (!items?.length) return;\n\n const preparedItems = items.map((item) => ({\n ...item,\n DataState: ObjectState.New,\n Id: '',\n }));\n\n if (!endpoint) {\n preparedItems.forEach((srv, idx) => {\n srv.Id = `UPLOAD ${idx}`;\n // srv.id = `UPLOAD ${idx}`;\n });\n updateCallback(preparedItems);\n\n if (pagedState) {\n pagedState.Skip += preparedItems.length;\n }\n\n return;\n }\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n endpoint,\n preparedItems,\n this.overrideToken || undefined,\n baseUrl,\n );\n this.utilService.sendBI(false);\n\n if (res instanceof ErrorResponse) {\n return;\n } else {\n this.utilService.showSuccess(`${entity} upload successful`);\n const result = res as T[];\n\n result.forEach((srv, idx) => {\n srv.Id = srv.Code;\n // srv.id = srv.Code;\n // const newItem = {\n // ...srv,\n // Id: srv.Code,\n // id: srv.Code,\n // };\n\n // const cardData: CardData = {\n // selected: false,\n // title: newItem.Id.toString(),\n // data: newItem,\n // body: [],\n // children: [],\n // };\n });\n\n updateCallback(result);\n\n if (pagedState) {\n pagedState.Skip += result.length;\n }\n }\n }\n\n excelSerialToDate(serial: number): Date {\n 1;\n const excelEpoch = new Date(Date.UTC(1899, 11, 30));\n const millisPerDay = 24 * 60 * 60 * 1000;\n\n return new Date(excelEpoch.getTime() + serial * millisPerDay);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UtilService as AppUtilService } from './util.service';\nimport { HttpWebRequestService } from './http-web-request.service';\nimport {\n SearchOperator,\n SearchDynamicWrapper,\n SearchPropertySign,\n ErrorResponse,\n PagedResult,\n KeyValueParam,\n CacheDataRequest,\n} from 'verben-ticketing-ui/src/lib/models';\nimport { Observable, of } from 'rxjs';\n\ntype BatchedRequest = {\n codes: Set<string>;\n resolvers: Map<string, Array<(label: string) => void>>;\n rejectors: Map<string, Array<(error: any) => void>>;\n timer: any;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LabelService {\n private cache = new Map<string, string>();\n private inFlightRequests = new Map<string, Promise<string>>();\n private batchedRequests = new Map<string, BatchedRequest>();\n private tempStore = new Map<string, KeyValueParam[]>();\n private batchingDelay = 50; // Sliding debounce delay in ms\n private cacheInProgress = new Map<string, Promise<void>>();\n constructor(\n private utilService: AppUtilService,\n private server: HttpWebRequestService,\n ) {}\n\n async getAsyncLabel(\n value: any,\n entity: string,\n labelProp: string,\n env: string,\n key: string = 'Code',\n ): Promise<string> {\n const cacheKey = `${entity}_${labelProp}_${value}_${env}_${key}`;\n\n if (this.cache.has(cacheKey)) {\n const value = this.cache.get(cacheKey)!;\n return value;\n }\n\n var payload: SearchDynamicWrapper = {\n Fields: [labelProp],\n SearchKeyValues: [\n {\n PropertyName: key,\n EntityValue: value,\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n },\n ],\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.postNoError(\n `SearchDynamic${entity}/0/1`,\n payload,\n env,\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return value;\n } else {\n const result = (res as PagedResult<string>).Result;\n const label = result.length > 0 ? result[0] : value;\n this.cache.set(cacheKey, label);\n return label;\n }\n }\n\n async getAsyncLabelWithRequestTracking(\n value: any,\n entity: string,\n labelProp: string,\n env: string,\n key: string = 'Code',\n ): Promise<string> {\n const cacheKey = `${entity}_${labelProp}_${value}_${env}_${key}`;\n\n if (this.cache.has(cacheKey)) {\n return this.cache.get(cacheKey)!;\n }\n\n if (this.inFlightRequests.has(cacheKey)) {\n return this.inFlightRequests.get(cacheKey)!;\n }\n\n const requestPromise = (async () => {\n const payload: SearchDynamicWrapper = {\n Fields: [labelProp],\n SearchKeyValues: [\n {\n PropertyName: key,\n EntityValue: value,\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n },\n ],\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchDynamic${entity}/0/1`,\n payload,\n env,\n );\n this.utilService.sendBI(false);\n\n let label: string;\n if (res instanceof ErrorResponse) {\n label = '';\n } else {\n const result = (res as PagedResult<string>).Result;\n label = result.length > 0 ? result[0] : value;\n }\n\n this.cache.set(cacheKey, label);\n this.inFlightRequests.delete(cacheKey);\n\n return label;\n })();\n\n // Save the in-flight request\n this.inFlightRequests.set(cacheKey, requestPromise);\n\n return requestPromise;\n }\n\n async getAsyncLabelWithRequestTrackingNoGateway(\n value: any,\n entity: string,\n labelProp: string,\n env: string,\n controller: string,\n key: string = 'Code',\n ): Promise<string> {\n const cacheKey = `${entity}_${labelProp}_${value}_${env}_${key}_${controller}`;\n\n if (this.cache.has(cacheKey)) {\n return this.cache.get(cacheKey)!;\n }\n\n if (this.inFlightRequests.has(cacheKey)) {\n return this.inFlightRequests.get(cacheKey)!;\n }\n\n const requestPromise = (async () => {\n const payload: SearchDynamicWrapper = {\n Fields: [labelProp],\n SearchKeyValues: [\n {\n PropertyName: key,\n EntityValue: value,\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n },\n ],\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `${controller}/SearchDynamic${entity}s/0/1`,\n payload,\n env,\n );\n this.utilService.sendBI(false);\n\n let label: string;\n if (res instanceof ErrorResponse) {\n label = '';\n } else {\n const result = (res as PagedResult<string>).Result;\n label = result.length > 0 ? result[0] : value;\n }\n\n this.cache.set(cacheKey, label);\n this.inFlightRequests.delete(cacheKey);\n\n return label;\n })();\n\n // Save the in-flight request\n this.inFlightRequests.set(cacheKey, requestPromise);\n\n return requestPromise;\n }\n\n async getAsyncLabelWithBatching(\n value: any,\n entity: string,\n labelProp: string,\n env: string,\n overrideToken?: string,\n key: string = 'Code',\n ): Promise<string> {\n const batchKey = `${entity}_${labelProp}_${env}_${key}`;\n const cacheKey = `${batchKey}_${value}`;\n\n if (this.cacheInProgress.has(batchKey)) {\n await this.cacheInProgress.get(batchKey);\n }\n // Return from cache if available\n if (this.cache.has(cacheKey)) {\n return this.cache.get(cacheKey)!;\n }\n\n const store = this.tempStore.get(batchKey);\n if (store) {\n const item = store.find((x) => x.Key == value);\n if (item) {\n return item.Value;\n } else {\n return value;\n }\n }\n\n return new Promise((resolve, reject) => {\n let batch = this.batchedRequests.get(batchKey);\n\n if (!batch) {\n batch = {\n codes: new Set(),\n resolvers: new Map(),\n rejectors: new Map(),\n timer: null,\n };\n this.batchedRequests.set(batchKey, batch);\n }\n\n // Add current request to batch\n batch.codes.add(value);\n if (!batch.resolvers.has(value)) {\n batch.resolvers.set(value, []);\n batch.rejectors.set(value, []);\n }\n batch.resolvers.get(value)!.push(resolve);\n batch.rejectors.get(value)!.push(reject);\n\n // Reset debounce timer\n if (batch.timer) clearTimeout(batch.timer);\n batch.timer = setTimeout(\n async () => await this.flushBatch(batchKey, overrideToken),\n this.batchingDelay,\n );\n });\n }\n\n private async flushBatch(\n batchKey: string,\n overrideToken: string | null = null,\n ) {\n const batch = this.batchedRequests.get(batchKey);\n if (!batch) return;\n\n console.log({ OvverideTokenTwo: overrideToken });\n\n this.batchedRequests.delete(batchKey);\n\n const [entity, labelProp, env, key] = batchKey.split('_');\n const values = Array.from(batch.codes);\n\n const payload: SearchDynamicWrapper = {\n Fields: [key, labelProp],\n SearchKeyValues: values.map((val) => ({\n PropertyName: key,\n EntityValue: val,\n Operator: SearchOperator.Or,\n Sign: SearchPropertySign.EQ,\n })),\n };\n\n payload.SearchKeyValues.push({\n PropertyName: 'TenantId',\n EntityValue: '',\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.NEQ,\n });\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchDynamic${entity}/0/0`,\n payload,\n overrideToken || undefined,\n env,\n );\n this.utilService.sendBI(false);\n\n if (res instanceof ErrorResponse) {\n for (const val of values) {\n const resolvers = batch.resolvers.get(val) || [];\n resolvers.forEach((r) => r(val));\n }\n return;\n }\n\n const resultArray = (res as PagedResult<any>).Result;\n\n const labelMap = new Map<string, string>();\n resultArray.forEach((item: any) => {\n labelMap.set(item[key], item[labelProp]);\n });\n\n for (const val of values) {\n const label = labelMap.get(val) ?? val;\n const cacheKey = `${batchKey}_${val}`;\n this.cache.set(cacheKey, label);\n\n const resolvers = batch.resolvers.get(val) || [];\n resolvers.forEach((r) => r(label));\n }\n }\n\n async cacheData(items: CacheDataRequest[]) {\n for (let item of items) {\n const batchKey = `${item.Entity}_${item.LabelProp}_${item.Environment}_${item.Key}`;\n\n // Signal this batchKey is in progress\n const inProgress = this._cacheSingleBatch(item, batchKey);\n this.cacheInProgress.set(batchKey, inProgress);\n\n await inProgress;\n this.cacheInProgress.delete(batchKey);\n }\n }\n\n private async _cacheSingleBatch(\n item: CacheDataRequest,\n batchKey: string,\n overrideToken: string | null = null,\n ): Promise<void> {\n if (item.Values.length == 0) {\n return;\n }\n const payload: SearchDynamicWrapper = {\n Fields: [item.Key, item.LabelProp],\n SearchKeyValues: item.Values.map((val) => ({\n PropertyName: item.Key,\n EntityValue: val,\n Operator: SearchOperator.Or,\n Sign: SearchPropertySign.EQ,\n })),\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchDynamic${item.Entity}/0/0`,\n payload,\n overrideToken || undefined,\n item.Environment,\n );\n this.utilService.sendBI(false);\n\n if (!(res instanceof ErrorResponse)) {\n const resultArray = (res as PagedResult<any>).Result;\n const keyValues: KeyValueParam[] = resultArray.map((x: any) => ({\n Key: x[item.Key],\n Value: x[item.LabelProp],\n }));\n this.tempStore.set(batchKey, keyValues);\n }\n }\n\n // async cacheData(items: CacheDataRequest[]) {\n // for(let item of items) {\n // const batchKey = `${item.Entity}_${item.LabelProp}_${item.Environment}_${item.Key}`;\n // const payload: SearchDynamicWrapper = {\n // Fields: [item.Key, item.LabelProp],\n // SearchKeyValues: item.Values.map((val) => ({\n // PropertyName: item.Key,\n // EntityValue: val,\n // Operator: SearchOperator.Or,\n // Sign: SearchPropertySign.EQ,\n // })),\n // };\n\n // this.utilService.sendBI(true);\n // const res = await this.server.post(\n // `SearchDynamic${item.Entity}/0/0`,\n // payload,\n // item.Environment\n // );\n // this.utilService.sendBI(false);\n\n // if (res instanceof ErrorResponse) {\n\n // } else {\n // const resultArray = (res as PagedResult<any>).Result;\n // const keyValues: KeyValueParam[] = [];\n // resultArray.forEach((x: any) => {\n // var keyValue: KeyValueParam = {\n // Key: x[item.Key],\n // Value: x[item.LabelProp]\n // }\n // keyValues.push(keyValue);\n // })\n // this.tempStore.set(batchKey, keyValues);\n // }\n // }\n // }\n}\n","import { Injectable } from '@angular/core';\nimport { DEFAULT_PAGE_SIZE } from 'verben-ticketing-ui/src/lib/constants';\nimport {\n ErrorResponse,\n File,\n PagedResult,\n SearchOperator,\n SearchPropertySign,\n SearchPropertyValue,\n TenantPriority,\n} from 'verben-ticketing-ui/src/lib/models';\nimport { ObjectState } from 'verben-ticketing-ui/src/lib/models';\nimport { UtilService } from './util.service';\nimport { HttpWebRequestService } from './http-web-request.service';\nimport { EnvironmentService } from './environment.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SharedService {\n pageSize: number = DEFAULT_PAGE_SIZE;\n overrideToken: string | null = null;\n\n constructor(\n private utilService: UtilService,\n private server: HttpWebRequestService,\n private envSvc: EnvironmentService,\n ) {}\n\n initService(overrideToken: string | null) {\n this.overrideToken = overrideToken;\n }\n\n createCustomFile(\n base64data: string,\n index: number,\n file: globalThis.File,\n ): File | null {\n const extension = file.name.split('.').pop();\n const customFile: File = {\n Extension: extension,\n Name: file.name,\n Data: base64data,\n DataState: ObjectState.New,\n };\n\n return customFile;\n }\n\n async getAllPrioritiesForTenant(\n tenant: string,\n ): Promise<PagedResult<TenantPriority> | undefined> {\n const payload: SearchPropertyValue[] = [\n {\n PropertyName: 'TenantId',\n EntityValue: tenant,\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n },\n ];\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `Ticket/SearchTenantPriority/0/0`,\n payload,\n this.overrideToken || undefined,\n this.envSvc.environment.TicketingAPI,\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return;\n } else {\n var result = res as PagedResult<TenantPriority>;\n return result;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Company } from 'verben-ticketing-ui/src/lib/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CompanySettingsService {\n locale: string = 'en-US';\n numberDP: number = 2;\n dateFormat: string = 'M/d/yyyy';\n baseCurrency: string = 'NGN';\n\n setSettings(data: Company) {\n this.locale = data.LocaleCode || 'en-US';\n this.numberDP = data.NumberDP ?? 2;\n this.dateFormat = data.DateFormat || 'M/d/yyyy';\n this.baseCurrency = data.BaseCurrency;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.EnvironmentService","i1","i1.UtilService","i2.HttpWebRequestService","i3.EnvironmentService"],"mappings":"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"}
1
+ {"version":3,"file":"verben-ticketing-ui-src-lib-services.mjs","sources":["../../../projects/verben-ticketing-ui/src/lib/services/environment.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/http-web-request.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/util.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/import.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/label.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/shared.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/company-settings.service.ts","../../../projects/verben-ticketing-ui/src/lib/services/verben-ticketing-ui-src-lib-services.ts"],"sourcesContent":["// In your library's services/environment.service.ts\nimport { Injectable, InjectionToken, Inject } from '@angular/core';\n// import { ENVIRONMENT } from '../models/ENVIRONMENT_TOKEN';\n\nexport const ENVIRONMENT = new InjectionToken<Environment>('environment');\n\nexport interface Environment {\n production: boolean;\n // GLAPI: string;\n AuthenticationAPI: string;\n TicketingAPI: string;\n Tenant: string;\n APIKey: string;\n Secret: string;\n FILE_BASE_URL: string;\n WorkFlowAPI: string;\n Token?: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService {\n constructor(@Inject(ENVIRONMENT) private env: Environment) {}\n\n get environment(): Environment {\n return this.env;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ErrorResponse } from 'verben-ticketing-ui/src/lib/models';\nimport { EnvironmentService } from './environment.service';\nimport { NotificationService } from 'verben-ng-ui';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpWebRequestService {\n isProd: boolean;\n\n constructor(\n private http: HttpClient,\n private envSvc: EnvironmentService,\n private notificationService: NotificationService,\n ) {\n this.isProd = this.envSvc.environment.production;\n }\n\n private buildHeaders(ovverideToken: string | null = null): {\n [header: string]: string | string[];\n } {\n const customToken = ovverideToken || this.envSvc.environment.Token;\n // console.log({ CustomerToken: customToken });\n return customToken\n ? {\n 'Content-Type': 'application/json',\n 'X-Custom-Auth': customToken,\n Authorization: customToken,\n }\n : {\n 'Content-Type': 'application/json',\n Authorization:\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJNYWlsQWRkcmVzcyI6InZlcmJlbmFAZ21haWwuY29tIiwiQXBwbGljYXRpb24iOiIiLCJOYW1lIjoiVmVyYmVuYSBMb2dpYyBMaW1pdGVkIiwiUm9sZXMiOiIiLCJUZW5hbnRJZCI6IlBETFRDNiIsIlNlcnZpY2VOYW1lIjoiV2hpdGUzNjAiLCJuYmYiOjE3MzYxNjM1OTYsImV4cCI6MTczNjM3OTU5NiwiaWF0IjoxNzM2MTYzNTk2fQ.q5ErmDIP0NwKKRlVeb9_EfmrEfd8gsFzkNNszkTeTg4',\n };\n }\n\n private buildUrl(url: string, baseUrl: string): string {\n return `${baseUrl}/${url}`;\n }\n\n private handleError(err: any): ErrorResponse {\n const msg =\n err?.ErrorMsg ||\n (err?.errors?.values as string[])?.toString() ||\n `Error occurred`;\n this.notificationService.error(msg, { timeout: 10000 });\n return new ErrorResponse(msg);\n }\n\n private request<T>(\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'POST_NO_ERROR',\n url: string,\n body?: any,\n overrideToken?: string,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI,\n ): Promise<T> | Observable<T> {\n const options = {\n headers: this.buildHeaders(overrideToken || null),\n };\n\n const requestUrl = this.buildUrl(url, baseUrl);\n\n switch (method) {\n case 'GET':\n return new Promise((resolve) =>\n this.http.get<T>(requestUrl, options).subscribe({\n next: resolve,\n error: (err) => resolve(this.handleError(err) as T),\n }),\n );\n case 'POST':\n return new Promise((resolve) =>\n this.http.post<T>(requestUrl, body, options).subscribe({\n next: resolve,\n error: (err) => resolve(this.handleError(err) as T),\n }),\n );\n case 'POST_NO_ERROR':\n return new Promise((resolve) =>\n this.http.post<T>(requestUrl, body, options).subscribe({\n next: resolve,\n }),\n );\n case 'PUT':\n return this.http.put<T>(requestUrl, body, options);\n case 'DELETE':\n return this.http.delete<T>(requestUrl, options);\n }\n }\n\n get<T>(url: string, overrideToken?: string, baseUrl?: string): Promise<T> {\n return this.request(\n 'GET',\n url,\n undefined,\n overrideToken,\n baseUrl,\n ) as Promise<T>;\n }\n\n post<T>(\n url: string,\n body: any,\n overrideToken?: string,\n baseUrl?: string,\n ): Promise<T> {\n // console.log({ Url: url, Ovveride: overrideToken });\n return this.request(\n 'POST',\n url,\n JSON.stringify(body),\n overrideToken,\n baseUrl,\n ) as Promise<T>;\n }\n\n postNoError<T>(\n url: string,\n body: any,\n overrideToken?: string,\n baseUrl?: string,\n ): Promise<T> {\n return this.request(\n 'POST_NO_ERROR',\n url,\n JSON.stringify(body),\n overrideToken,\n baseUrl,\n ) as Promise<T>;\n }\n\n postFile<T>(\n url: string,\n formData: FormData,\n overrideToken?: string,\n baseUrl?: string,\n ): Promise<T> {\n return new Promise((resolve) =>\n this.http\n .post<T>(\n this.buildUrl(\n url,\n baseUrl || this.envSvc.environment.AuthenticationAPI,\n ),\n formData,\n )\n .subscribe({\n next: resolve,\n error: (err) => resolve(this.handleError(err) as T),\n }),\n );\n }\n\n put<T>(\n url: string,\n body: any,\n overrideToken?: string,\n baseUrl?: string,\n ): Observable<T> {\n return this.request(\n 'PUT',\n url,\n body,\n overrideToken,\n baseUrl,\n ) as Observable<T>;\n }\n\n delete<T>(\n url: string,\n overrideToken?: string,\n baseUrl?: string,\n ): Observable<T> {\n return this.request(\n 'DELETE',\n url,\n undefined,\n overrideToken,\n baseUrl,\n ) as Observable<T>;\n }\n}\n","import {\n Inject,\n Injectable,\n InjectionToken,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UTIL_SERVICE } from 'verben-ng-ui';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilService {\n constructor(\n @Optional()\n @Inject(UTIL_SERVICE)\n private parentUtilService: any,\n private route:Router\n ) {}\n\n sendBI(state: boolean): void {\n if (this.parentUtilService && this.parentUtilService.sendBI) {\n this.parentUtilService.sendBI(state);\n } else {\n console.warn('Util Service is not provided');\n }\n }\n\n showInfo(message: string): void {\n if (this.parentUtilService && this.parentUtilService.showInfo) {\n this.parentUtilService.showInfo(message);\n } else {\n console.warn('Util Service is not provided');\n }\n }\n showSuccess(message: string): void {\n if (this.parentUtilService && this.parentUtilService.showSuccess) {\n this.parentUtilService.showSuccess(message);\n } else {\n console.warn('Util Service is not provided');\n }\n }\ngoToPage(page: string, extra?: any) {\n if (extra && typeof extra === 'object') {\n this.route.navigate([`/${page}`], { queryParams: extra });\n return;\n }\n\n if (extra) {\n this.route.navigate([`/${page}`, extra]);\n return;\n }\n\n this.route.navigate([`/${page}`]);\n}\n\n openFullRouteInNewWindow(url: string): void {\n window.open(url, '_blank');\n }\n showError(message: string): void {\n if (this.parentUtilService && this.parentUtilService.showError) {\n this.parentUtilService.showError(message);\n } else {\n console.warn('Util Service is not provided');\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n ObjectState,\n ErrorResponse,\n PagedResult,\n BaseModel,\n} from 'verben-ticketing-ui/src/lib/models';\nimport { HttpWebRequestService } from './http-web-request.service';\nimport { UtilService } from './util.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ImportService<T extends BaseModel> {\n overrideToken: string | null = null;\n\n constructor(\n private utilService: UtilService,\n private server: HttpWebRequestService, //private cdr: ChangeDetectorRef\n ) {}\n\n initService(overrideToken: string | null) {\n this.overrideToken = overrideToken;\n }\n\n onComplete(\n event: any[],\n defaults: T,\n endpoint: string | null,\n baseUrl: string,\n entity: string,\n updateCallback: (items: T[]) => void,\n pagedState: PagedResult<T> | null = null,\n stringProps: (keyof T)[] = [],\n numberProps: (keyof T)[] = [],\n datePropsExtras: (keyof T)[] = [],\n ) {\n const normalized = event.map((raw) => {\n const def = defaults;\n let merged: T = {\n ...def,\n ...raw,\n Code: raw.Code ? String(raw.Code) : '',\n };\n\n stringProps.forEach((key) => {\n const value = raw[key];\n merged[key] = value != null ? String(value) : ('' as any);\n });\n\n numberProps.forEach((key) => {\n const value = raw[key];\n\n if (typeof value === 'string') {\n // Only parse if it's a valid number\n const num = value === '' || isNaN(Number(value)) ? 0 : Number(value);\n merged[key] = num as any;\n } else {\n merged[key] = value;\n }\n });\n\n const dateProps: (keyof T)[] = (\n ['CreatedAt', 'UpdatedAt'] as (keyof T)[]\n ).concat(datePropsExtras);\n dateProps.forEach((key) => {\n const val = merged[key];\n\n let dateObj: Date;\n\n if (val instanceof Date) {\n dateObj = val;\n } else if (typeof val === 'number') {\n dateObj = this.excelSerialToDate(val);\n } else if (typeof val === 'string') {\n dateObj = new Date(val);\n } else {\n dateObj = new Date();\n }\n if (isNaN(dateObj.getTime())) {\n dateObj = new Date();\n }\n merged[key] = dateObj as any;\n });\n\n return merged;\n });\n\n if (normalized && normalized.length > 0) {\n this.saveImportedDataBatch(\n normalized,\n endpoint,\n baseUrl,\n entity,\n updateCallback,\n pagedState,\n );\n }\n }\n\n async saveImportedDataBatch(\n items: T[],\n endpoint: string | null,\n baseUrl: string,\n entity: string,\n updateCallback: (items: T[]) => void,\n pagedState: PagedResult<T> | null = null,\n ) {\n if (!items?.length) return;\n\n const preparedItems = items.map((item) => ({\n ...item,\n DataState: ObjectState.New,\n Id: '',\n }));\n\n if (!endpoint) {\n preparedItems.forEach((srv, idx) => {\n srv.Id = `UPLOAD ${idx}`;\n // srv.id = `UPLOAD ${idx}`;\n });\n updateCallback(preparedItems);\n\n if (pagedState) {\n pagedState.Skip += preparedItems.length;\n }\n\n return;\n }\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n endpoint,\n preparedItems,\n this.overrideToken || undefined,\n baseUrl,\n );\n this.utilService.sendBI(false);\n\n if (res instanceof ErrorResponse) {\n return;\n } else {\n this.utilService.showSuccess(`${entity} upload successful`);\n const result = res as T[];\n\n result.forEach((srv, idx) => {\n srv.Id = srv.Code;\n // srv.id = srv.Code;\n // const newItem = {\n // ...srv,\n // Id: srv.Code,\n // id: srv.Code,\n // };\n\n // const cardData: CardData = {\n // selected: false,\n // title: newItem.Id.toString(),\n // data: newItem,\n // body: [],\n // children: [],\n // };\n });\n\n updateCallback(result);\n\n if (pagedState) {\n pagedState.Skip += result.length;\n }\n }\n }\n\n excelSerialToDate(serial: number): Date {\n 1;\n const excelEpoch = new Date(Date.UTC(1899, 11, 30));\n const millisPerDay = 24 * 60 * 60 * 1000;\n\n return new Date(excelEpoch.getTime() + serial * millisPerDay);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UtilService as AppUtilService } from './util.service';\nimport { HttpWebRequestService } from './http-web-request.service';\nimport {\n SearchOperator,\n SearchDynamicWrapper,\n SearchPropertySign,\n ErrorResponse,\n PagedResult,\n KeyValueParam,\n CacheDataRequest,\n} from 'verben-ticketing-ui/src/lib/models';\nimport { Observable, of } from 'rxjs';\n\ntype BatchedRequest = {\n codes: Set<string>;\n resolvers: Map<string, Array<(label: string) => void>>;\n rejectors: Map<string, Array<(error: any) => void>>;\n timer: any;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LabelService {\n private cache = new Map<string, string>();\n private inFlightRequests = new Map<string, Promise<string>>();\n private batchedRequests = new Map<string, BatchedRequest>();\n private tempStore = new Map<string, KeyValueParam[]>();\n private batchingDelay = 50; // Sliding debounce delay in ms\n private cacheInProgress = new Map<string, Promise<void>>();\n constructor(\n private utilService: AppUtilService,\n private server: HttpWebRequestService,\n ) {}\n\n async getAsyncLabel(\n value: any,\n entity: string,\n labelProp: string,\n env: string,\n key: string = 'Code',\n ): Promise<string> {\n const cacheKey = `${entity}_${labelProp}_${value}_${env}_${key}`;\n\n if (this.cache.has(cacheKey)) {\n const value = this.cache.get(cacheKey)!;\n return value;\n }\n\n var payload: SearchDynamicWrapper = {\n Fields: [labelProp],\n SearchKeyValues: [\n {\n PropertyName: key,\n EntityValue: value,\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n },\n ],\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.postNoError(\n `SearchDynamic${entity}/0/1`,\n payload,\n env,\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return value;\n } else {\n const result = (res as PagedResult<string>).Result;\n const label = result.length > 0 ? result[0] : value;\n this.cache.set(cacheKey, label);\n return label;\n }\n }\n\n async getAsyncLabelWithRequestTracking(\n value: any,\n entity: string,\n labelProp: string,\n env: string,\n key: string = 'Code',\n ): Promise<string> {\n const cacheKey = `${entity}_${labelProp}_${value}_${env}_${key}`;\n\n if (this.cache.has(cacheKey)) {\n return this.cache.get(cacheKey)!;\n }\n\n if (this.inFlightRequests.has(cacheKey)) {\n return this.inFlightRequests.get(cacheKey)!;\n }\n\n const requestPromise = (async () => {\n const payload: SearchDynamicWrapper = {\n Fields: [labelProp],\n SearchKeyValues: [\n {\n PropertyName: key,\n EntityValue: value,\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n },\n ],\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchDynamic${entity}/0/1`,\n payload,\n env,\n );\n this.utilService.sendBI(false);\n\n let label: string;\n if (res instanceof ErrorResponse) {\n label = '';\n } else {\n const result = (res as PagedResult<string>).Result;\n label = result.length > 0 ? result[0] : value;\n }\n\n this.cache.set(cacheKey, label);\n this.inFlightRequests.delete(cacheKey);\n\n return label;\n })();\n\n // Save the in-flight request\n this.inFlightRequests.set(cacheKey, requestPromise);\n\n return requestPromise;\n }\n\n async getAsyncLabelWithRequestTrackingNoGateway(\n value: any,\n entity: string,\n labelProp: string,\n env: string,\n controller: string,\n key: string = 'Code',\n ): Promise<string> {\n const cacheKey = `${entity}_${labelProp}_${value}_${env}_${key}_${controller}`;\n\n if (this.cache.has(cacheKey)) {\n return this.cache.get(cacheKey)!;\n }\n\n if (this.inFlightRequests.has(cacheKey)) {\n return this.inFlightRequests.get(cacheKey)!;\n }\n\n const requestPromise = (async () => {\n const payload: SearchDynamicWrapper = {\n Fields: [labelProp],\n SearchKeyValues: [\n {\n PropertyName: key,\n EntityValue: value,\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n },\n ],\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `${controller}/SearchDynamic${entity}s/0/1`,\n payload,\n env,\n );\n this.utilService.sendBI(false);\n\n let label: string;\n if (res instanceof ErrorResponse) {\n label = '';\n } else {\n const result = (res as PagedResult<string>).Result;\n label = result.length > 0 ? result[0] : value;\n }\n\n this.cache.set(cacheKey, label);\n this.inFlightRequests.delete(cacheKey);\n\n return label;\n })();\n\n // Save the in-flight request\n this.inFlightRequests.set(cacheKey, requestPromise);\n\n return requestPromise;\n }\n\n async getAsyncLabelWithBatching(\n value: any,\n entity: string,\n labelProp: string,\n env: string,\n overrideToken?: string,\n key: string = 'Code',\n ): Promise<string> {\n const batchKey = `${entity}_${labelProp}_${env}_${key}`;\n const cacheKey = `${batchKey}_${value}`;\n\n if (this.cacheInProgress.has(batchKey)) {\n await this.cacheInProgress.get(batchKey);\n }\n // Return from cache if available\n if (this.cache.has(cacheKey)) {\n return this.cache.get(cacheKey)!;\n }\n\n const store = this.tempStore.get(batchKey);\n if (store) {\n const item = store.find((x) => x.Key == value);\n if (item) {\n return item.Value;\n } else {\n return value;\n }\n }\n\n return new Promise((resolve, reject) => {\n let batch = this.batchedRequests.get(batchKey);\n\n if (!batch) {\n batch = {\n codes: new Set(),\n resolvers: new Map(),\n rejectors: new Map(),\n timer: null,\n };\n this.batchedRequests.set(batchKey, batch);\n }\n\n // Add current request to batch\n batch.codes.add(value);\n if (!batch.resolvers.has(value)) {\n batch.resolvers.set(value, []);\n batch.rejectors.set(value, []);\n }\n batch.resolvers.get(value)!.push(resolve);\n batch.rejectors.get(value)!.push(reject);\n\n // Reset debounce timer\n if (batch.timer) clearTimeout(batch.timer);\n batch.timer = setTimeout(\n async () => await this.flushBatch(batchKey, overrideToken),\n this.batchingDelay,\n );\n });\n }\n\n private async flushBatch(\n batchKey: string,\n overrideToken: string | null = null,\n ) {\n const batch = this.batchedRequests.get(batchKey);\n if (!batch) return;\n\n // console.log({ OvverideTokenTwo: overrideToken });\n\n this.batchedRequests.delete(batchKey);\n\n const [entity, labelProp, env, key] = batchKey.split('_');\n const values = Array.from(batch.codes);\n\n const payload: SearchDynamicWrapper = {\n Fields: [key, labelProp],\n SearchKeyValues: values.map((val) => ({\n PropertyName: key,\n EntityValue: val,\n Operator: SearchOperator.Or,\n Sign: SearchPropertySign.EQ,\n })),\n };\n\n payload.SearchKeyValues.push({\n PropertyName: 'TenantId',\n EntityValue: '',\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.NEQ,\n });\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchDynamic${entity}/0/0`,\n payload,\n overrideToken || undefined,\n env,\n );\n this.utilService.sendBI(false);\n\n if (res instanceof ErrorResponse) {\n for (const val of values) {\n const resolvers = batch.resolvers.get(val) || [];\n resolvers.forEach((r) => r(val));\n }\n return;\n }\n\n const resultArray = (res as PagedResult<any>).Result;\n\n const labelMap = new Map<string, string>();\n resultArray.forEach((item: any) => {\n labelMap.set(item[key], item[labelProp]);\n });\n\n for (const val of values) {\n const label = labelMap.get(val) ?? val;\n const cacheKey = `${batchKey}_${val}`;\n this.cache.set(cacheKey, label);\n\n const resolvers = batch.resolvers.get(val) || [];\n resolvers.forEach((r) => r(label));\n }\n }\n\n async cacheData(items: CacheDataRequest[]) {\n for (let item of items) {\n const batchKey = `${item.Entity}_${item.LabelProp}_${item.Environment}_${item.Key}`;\n\n // Signal this batchKey is in progress\n const inProgress = this._cacheSingleBatch(item, batchKey);\n this.cacheInProgress.set(batchKey, inProgress);\n\n await inProgress;\n this.cacheInProgress.delete(batchKey);\n }\n }\n\n private async _cacheSingleBatch(\n item: CacheDataRequest,\n batchKey: string,\n overrideToken: string | null = null,\n ): Promise<void> {\n if (item.Values.length == 0) {\n return;\n }\n const payload: SearchDynamicWrapper = {\n Fields: [item.Key, item.LabelProp],\n SearchKeyValues: item.Values.map((val) => ({\n PropertyName: item.Key,\n EntityValue: val,\n Operator: SearchOperator.Or,\n Sign: SearchPropertySign.EQ,\n })),\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchDynamic${item.Entity}/0/0`,\n payload,\n overrideToken || undefined,\n item.Environment,\n );\n this.utilService.sendBI(false);\n\n if (!(res instanceof ErrorResponse)) {\n const resultArray = (res as PagedResult<any>).Result;\n const keyValues: KeyValueParam[] = resultArray.map((x: any) => ({\n Key: x[item.Key],\n Value: x[item.LabelProp],\n }));\n this.tempStore.set(batchKey, keyValues);\n }\n }\n\n // async cacheData(items: CacheDataRequest[]) {\n // for(let item of items) {\n // const batchKey = `${item.Entity}_${item.LabelProp}_${item.Environment}_${item.Key}`;\n // const payload: SearchDynamicWrapper = {\n // Fields: [item.Key, item.LabelProp],\n // SearchKeyValues: item.Values.map((val) => ({\n // PropertyName: item.Key,\n // EntityValue: val,\n // Operator: SearchOperator.Or,\n // Sign: SearchPropertySign.EQ,\n // })),\n // };\n\n // this.utilService.sendBI(true);\n // const res = await this.server.post(\n // `SearchDynamic${item.Entity}/0/0`,\n // payload,\n // item.Environment\n // );\n // this.utilService.sendBI(false);\n\n // if (res instanceof ErrorResponse) {\n\n // } else {\n // const resultArray = (res as PagedResult<any>).Result;\n // const keyValues: KeyValueParam[] = [];\n // resultArray.forEach((x: any) => {\n // var keyValue: KeyValueParam = {\n // Key: x[item.Key],\n // Value: x[item.LabelProp]\n // }\n // keyValues.push(keyValue);\n // })\n // this.tempStore.set(batchKey, keyValues);\n // }\n // }\n // }\n}\n","import { Injectable } from '@angular/core';\nimport { DEFAULT_PAGE_SIZE } from 'verben-ticketing-ui/src/lib/constants';\nimport {\n ErrorResponse,\n File,\n PagedResult,\n SearchOperator,\n SearchPropertySign,\n SearchPropertyValue,\n TenantPriority,\n} from 'verben-ticketing-ui/src/lib/models';\nimport { ObjectState } from 'verben-ticketing-ui/src/lib/models';\nimport { UtilService } from './util.service';\nimport { HttpWebRequestService } from './http-web-request.service';\nimport { EnvironmentService } from './environment.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SharedService {\n pageSize: number = DEFAULT_PAGE_SIZE;\n overrideToken: string | null = null;\n\n constructor(\n private utilService: UtilService,\n private server: HttpWebRequestService,\n private envSvc: EnvironmentService,\n ) {}\n\n initService(overrideToken: string | null) {\n this.overrideToken = overrideToken;\n }\n\n createCustomFile(\n base64data: string,\n index: number,\n file: globalThis.File,\n ): File | null {\n const extension = file.name.split('.').pop();\n const customFile: File = {\n Extension: extension,\n Name: file.name,\n Data: base64data,\n DataState: ObjectState.New,\n };\n\n return customFile;\n }\n\n async getAllPrioritiesForTenant(\n tenant: string,\n ): Promise<PagedResult<TenantPriority> | undefined> {\n const payload: SearchPropertyValue[] = [\n {\n PropertyName: 'TenantId',\n EntityValue: tenant,\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n },\n ];\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `Ticket/SearchTenantPriority/0/0`,\n payload,\n this.overrideToken || undefined,\n this.envSvc.environment.TicketingAPI,\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return;\n } else {\n var result = res as PagedResult<TenantPriority>;\n return result;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Company } from 'verben-ticketing-ui/src/lib/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CompanySettingsService {\n locale: string = 'en-US';\n numberDP: number = 2;\n dateFormat: string = 'M/d/yyyy';\n baseCurrency: string = 'NGN';\n\n setSettings(data: Company) {\n this.locale = data.LocaleCode || 'en-US';\n this.numberDP = data.NumberDP ?? 2;\n this.dateFormat = data.DateFormat || 'M/d/yyyy';\n this.baseCurrency = data.BaseCurrency;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.EnvironmentService","i1","i1.UtilService","i2.HttpWebRequestService","i3.EnvironmentService"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verben-ticketing-ui",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.0 || ^18.0.0",
6
6
  "@angular/core": "^14.0.0 || ^18.0.0",
@@ -36,12 +36,6 @@
36
36
  "esm": "./esm2022/src/lib/constants/verben-ticketing-ui-src-lib-constants.mjs",
37
37
  "default": "./fesm2022/verben-ticketing-ui-src-lib-constants.mjs"
38
38
  },
39
- "./src/lib/models": {
40
- "types": "./src/lib/models/index.d.ts",
41
- "esm2022": "./esm2022/src/lib/models/verben-ticketing-ui-src-lib-models.mjs",
42
- "esm": "./esm2022/src/lib/models/verben-ticketing-ui-src-lib-models.mjs",
43
- "default": "./fesm2022/verben-ticketing-ui-src-lib-models.mjs"
44
- },
45
39
  "./src/lib/services": {
46
40
  "types": "./src/lib/services/index.d.ts",
47
41
  "esm2022": "./esm2022/src/lib/services/verben-ticketing-ui-src-lib-services.mjs",
@@ -54,18 +48,18 @@
54
48
  "esm": "./esm2022/src/lib/pipes/verben-ticketing-ui-src-lib-pipes.mjs",
55
49
  "default": "./fesm2022/verben-ticketing-ui-src-lib-pipes.mjs"
56
50
  },
51
+ "./src/lib/models": {
52
+ "types": "./src/lib/models/index.d.ts",
53
+ "esm2022": "./esm2022/src/lib/models/verben-ticketing-ui-src-lib-models.mjs",
54
+ "esm": "./esm2022/src/lib/models/verben-ticketing-ui-src-lib-models.mjs",
55
+ "default": "./fesm2022/verben-ticketing-ui-src-lib-models.mjs"
56
+ },
57
57
  "./src/lib/components/add-ticket": {
58
58
  "types": "./src/lib/components/add-ticket/index.d.ts",
59
59
  "esm2022": "./esm2022/src/lib/components/add-ticket/verben-ticketing-ui-src-lib-components-add-ticket.mjs",
60
60
  "esm": "./esm2022/src/lib/components/add-ticket/verben-ticketing-ui-src-lib-components-add-ticket.mjs",
61
61
  "default": "./fesm2022/verben-ticketing-ui-src-lib-components-add-ticket.mjs"
62
62
  },
63
- "./src/lib/components/file-render": {
64
- "types": "./src/lib/components/file-render/index.d.ts",
65
- "esm2022": "./esm2022/src/lib/components/file-render/verben-ticketing-ui-src-lib-components-file-render.mjs",
66
- "esm": "./esm2022/src/lib/components/file-render/verben-ticketing-ui-src-lib-components-file-render.mjs",
67
- "default": "./fesm2022/verben-ticketing-ui-src-lib-components-file-render.mjs"
68
- },
69
63
  "./src/lib/components/ticketing": {
70
64
  "types": "./src/lib/components/ticketing/index.d.ts",
71
65
  "esm2022": "./esm2022/src/lib/components/ticketing/verben-ticketing-ui-src-lib-components-ticketing.mjs",
@@ -77,6 +71,12 @@
77
71
  "esm2022": "./esm2022/src/lib/components/ticketing-detail/verben-ticketing-ui-src-lib-components-ticketing-detail.mjs",
78
72
  "esm": "./esm2022/src/lib/components/ticketing-detail/verben-ticketing-ui-src-lib-components-ticketing-detail.mjs",
79
73
  "default": "./fesm2022/verben-ticketing-ui-src-lib-components-ticketing-detail.mjs"
74
+ },
75
+ "./src/lib/components/file-render": {
76
+ "types": "./src/lib/components/file-render/index.d.ts",
77
+ "esm2022": "./esm2022/src/lib/components/file-render/verben-ticketing-ui-src-lib-components-file-render.mjs",
78
+ "esm": "./esm2022/src/lib/components/file-render/verben-ticketing-ui-src-lib-components-file-render.mjs",
79
+ "default": "./fesm2022/verben-ticketing-ui-src-lib-components-file-render.mjs"
80
80
  }
81
81
  }
82
82
  }