@pepperi-addons/ngx-lib 0.4.0-angular14.56 → 0.4.0-angular14.59

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.
@@ -32,6 +32,11 @@ export declare class PepAddonService {
32
32
  getAddonTranslationResource(addonUUID: string): ITranslationResource;
33
33
  setDefaultTranslateLang(translate: TranslateService, urlLangParam?: string): void;
34
34
  getPagesAddonUUID(): string;
35
+ setShellRouterData(data: {
36
+ addPadding?: boolean;
37
+ showSidebar?: boolean;
38
+ showHeader?: boolean;
39
+ }): void;
35
40
  static createMultiTranslateLoader(addonUUID: string, addonService: PepAddonService, libsName?: string[]): import("ngx-translate-multi-http-loader").MultiTranslateHttpLoader;
36
41
  static ɵfac: i0.ɵɵFactoryDeclaration<PepAddonService, [null, null, null, null, null, { optional: true; }]>;
37
42
  static ɵprov: i0.ɵɵInjectableDeclaration<PepAddonService>;
@@ -111,6 +111,13 @@ export class PepAddonService {
111
111
  getPagesAddonUUID() {
112
112
  return this.PAGES_ADDON_UUID;
113
113
  }
114
+ setShellRouterData(data) {
115
+ const eventData = {
116
+ detail: data,
117
+ };
118
+ const customEvent = new CustomEvent('set-router-data', eventData);
119
+ window.dispatchEvent(customEvent);
120
+ }
114
121
  // // Deprecated need to delete in next major.
115
122
  // public static createDefaultMultiTranslateLoader(
116
123
  // http: HttpClient,
@@ -150,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
150
157
  }], ctorParameters: function () { return [{ type: i1.PepSessionService }, { type: i2.PepHttpService }, { type: i3.PepLoaderService }, { type: i4.PepTranslateService }, { type: i5.PepFileService }, { type: i6.ActivatedRoute, decorators: [{
151
158
  type: Optional
152
159
  }] }]; } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc3JjL2NvcmUvY29tbW9uL3NlcnZpY2VzL2FkZG9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBWXJEOztFQUVFO0FBSUYsTUFBTSxPQUFPLGVBQWU7SUFXeEIsWUFDWSxjQUFpQyxFQUNqQyxXQUEyQixFQUMzQixhQUErQixFQUNoQyxnQkFBcUMsRUFDckMsV0FBMkIsRUFDZCxLQUFxQjtRQUxqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBaEI1QixxQkFBZ0IsR0FBRyxzQ0FBc0MsQ0FBQztRQUMzRSw4REFBOEQ7UUFDN0Msc0NBQWlDLEdBQUcsNEJBQTRCLENBQUM7UUFDakUsNEJBQXVCLEdBQUcsYUFBYSxDQUFDO1FBQ3hDLGtDQUE2QixHQUFHLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixRQUFRLENBQUM7UUFjckYsRUFBRTtJQUNOLENBQUM7SUFiRCxJQUFZLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzlGLENBQUM7SUFhTyx3QkFBd0IsQ0FBQyxPQUFPLEdBQUcsS0FBSztRQUM1QyxPQUFPLE9BQU87WUFDVixDQUFDLENB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QUFNO2lCQUNyQjs7MEJBa0JRLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGVwU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Nlc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBQZXBGaWxlU2VydmljZSB9IGZyb20gJy4vZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVwTG9hZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2h0dHAvc2VydmljZXMvbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IElUcmFuc2xhdGlvblJlc291cmNlIH0gZnJvbSAnbmd4LXRyYW5zbGF0ZS1tdWx0aS1odHRwLWxvYWRlcic7XG5pbXBvcnQgeyBQZXBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5cbi8qXG4gICAgVGhpcyBzZXJ2aWNlIGlzIHRoZSB3ZWJhcHAgYXBpIGZvciBhZGRvbiB1c2VnZS5cbiovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBBZGRvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgUEFHRVNfQURET05fVVVJRCA9ICc1MDA2MmUwYy05OTY3LTRlZDQtOTEwMi1mMmJjNTA2MDJkNDEnO1xuICAgIC8vIHByaXZhdGUgcmVhZG9ubHkgQURET05fQVNTRVRTX1BBVEhfS0VZID0gJ0FkZG9uQXNzZXRzUGF0aCc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBBRERPTlNfRElDVElPTkFSWV9BU1NFVFNfUEFUSF9LRVkgPSAnQWRkb25zRGljdGlvbmFyeUFzc2V0c1BhdGgnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQURET05fQVBJX1JFTEFUSVZFX1BBVEggPSAnL2FkZG9ucy9hcGknO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQURET05fQVBJX0FTWU5DX1JFTEFUSVZFX1BBVEggPSBgJHt0aGlzLkFERE9OX0FQSV9SRUxBVElWRV9QQVRIfS9hc3luY2A7XG5cbiAgICBwcml2YXRlIGdldCBkZXZTZXJ2ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlID8gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZGV2U2VydmVyJykgPT09ICd0cnVlJyA6IGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlOiBQZXBTZXNzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBodHRwU2VydmljZTogUGVwSHR0cFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbG9hZGVyU2VydmljZTogUGVwTG9hZGVyU2VydmljZSxcbiAgICAgICAgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2U6IFBlcFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBmaWxlU2VydmljZTogUGVwRmlsZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWRkb25CYXNlUmVsYXRpdmVQYXRoKGlzQXN5bmMgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpc0FzeW5jXG4gICAgICAgICAgICA/IHRoaXMuQURET05fQVBJX0FTWU5DX1JFTEFUSVZFX1BBVEhcbiAgICAgICAgICAgIDogdGhpcy5BRERPTl9BUElfUkVMQVRJVkVfUEFUSDtcbiAgICB9XG5cbiAgICBnZXRBZGRvblN0YXRpY0ZvbGRlcihhZGRvblVVSUQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIC8vIGlmIChhZGRvblVVSUQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgYWRkb25zRGljdGlvbmFyeSA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0T2JqZWN0KHRoaXMuQURET05TX0RJQ1RJT05BUllfQVNTRVRTX1BBVEhfS0VZKTtcbiAgICAgICAgICAgIHJldHVybiBhZGRvbnNEaWN0aW9uYXJ5ICYmIGFkZG9uc0RpY3Rpb25hcnlbYWRkb25VVUlEXSA/IGFkZG9uc0RpY3Rpb25hcnlbYWRkb25VVUlEXSA6ICcnO1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gcmV0dXJuIHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0T2JqZWN0KHRoaXMuQURET05fQVNTRVRTX1BBVEhfS0VZKSB8fCAnJztcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIHNldEFkZG9uU3RhdGljRm9sZGVyKHBhdGg6IHN0cmluZywgYWRkb25VVUlEOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgKGFkZG9uVVVJRC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBhZGRvbnNEaWN0aW9uYXJ5ID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRPYmplY3QodGhpcy5BRERPTlNfRElDVElPTkFSWV9BU1NFVFNfUEFUSF9LRVkpID8/IHt9O1xuICAgICAgICAgICAgYWRkb25zRGljdGlvbmFyeVthZGRvblVVSURdID0gcGF0aDtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2Uuc2V0T2JqZWN0KHRoaXMuQURET05TX0RJQ1RJT05BUllfQVNTRVRTX1BBVEhfS0VZLCBhZGRvbnNEaWN0aW9uYXJ5KTtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIHJldHVybiB0aGlzLnNlc3Npb25TZXJ2aWNlLnNldE9iamVjdCh0aGlzLkFERE9OX0FTU0VUU19QQVRIX0tFWSwgcGF0aCk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBnZXRTZXJ2ZXJCYXNlVXJsKGFkZG9uVVVJRDogc3RyaW5nLCBmaWxlTmFtZSA9ICcnLCBpc0FzeW5jID0gZmFsc2UsIGxvY2FsaG9zdFBvcnQgPSA0NTAwKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZmlsZVRvQWRkID0gZmlsZU5hbWUubGVuZ3RoID4gMCA/IGAvJHtmaWxlTmFtZX1gIDogJyc7XG4gICAgICAgIFxuICAgICAgICAvLyBGb3IgZGV2U2VydmVyIHJ1biBzZXJ2ZXIgb24gbG9jYWxob3N0LlxuICAgICAgICBpZih0aGlzLmRldlNlcnZlcikge1xuICAgICAgICAgICAgcmV0dXJuIGBodHRwOi8vbG9jYWxob3N0OiR7bG9jYWxob3N0UG9ydH0ke2ZpbGVUb0FkZH1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0UGFwaUJhc2VVcmwoKTtcbiAgICAgICAgICAgIHJldHVybiBgJHtiYXNlVXJsfSR7dGhpcy5nZXRBZGRvbkJhc2VSZWxhdGl2ZVBhdGgoaXNBc3luYyl9LyR7YWRkb25VVUlEfSR7ZmlsZVRvQWRkfWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRBZGRvbkFwaUNhbGwoXG4gICAgICAgIGFkZG9uVVVJRDogc3RyaW5nLFxuICAgICAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBmdW5jdGlvbk5hbWU6IHN0cmluZyxcbiAgICAgICAgaHR0cE9wdGlvbnMgPSB7fSxcbiAgICAgICAgaXNBc3luYyA9IGZhbHNlXG4gICAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgLy8gcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0UGFwaUFwaUNhbGwoXG4gICAgICAgIC8vICAgICBgJHt0aGlzLmdldEFkZG9uQmFzZVJlbGF0aXZlUGF0aChcbiAgICAgICAgLy8gICAgICAgICBpc0FzeW5jXG4gICAgICAgIC8vICAgICApfS8ke2FkZG9uVVVJRH0vJHtmaWxlTmFtZX0vJHtmdW5jdGlvbk5hbWV9YCxcbiAgICAgICAgLy8gICAgIGh0dHBPcHRpb25zXG4gICAgICAgIC8vICk7XG5cbiAgICAgICAgY29uc3QgcGFwaUJhc2VVcmwgPSB0aGlzLmdldFNlcnZlckJhc2VVcmwoYWRkb25VVUlELCBmaWxlTmFtZSwgaXNBc3luYyk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldEh0dHBDYWxsKGAke3BhcGlCYXNlVXJsfS8ke2Z1bmN0aW9uTmFtZX1gLCBodHRwT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcG9zdEFkZG9uQXBpQ2FsbChcbiAgICAgICAgYWRkb25VVUlEOiBzdHJpbmcsXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxuICAgICAgICBib2R5ID0ge30sXG4gICAgICAgIGh0dHBPcHRpb25zID0ge30sXG4gICAgICAgIGlzQXN5bmMgPSBmYWxzZVxuICAgICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIC8vIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3RQYXBpQXBpQ2FsbChcbiAgICAgICAgLy8gICAgIGAke3RoaXMuZ2V0QWRkb25CYXNlUmVsYXRpdmVQYXRoKFxuICAgICAgICAvLyAgICAgICAgIGlzQXN5bmNcbiAgICAgICAgLy8gICAgICl9LyR7YWRkb25VVUlEfS8ke2ZpbGVOYW1lfS8ke2Z1bmN0aW9uTmFtZX1gLFxuICAgICAgICAvLyAgICAgYm9keSxcbiAgICAgICAgLy8gICAgIGh0dHBPcHRpb25zXG4gICAgICAgIC8vICk7XG5cbiAgICAgICAgY29uc3QgcGFwaUJhc2VVcmwgPSB0aGlzLmdldFNlcnZlckJhc2VVcmwoYWRkb25VVUlELCBmaWxlTmFtZSwgaXNBc3luYyk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3RIdHRwQ2FsbChgJHtwYXBpQmFzZVVybH0vJHtmdW5jdGlvbk5hbWV9YCwgYm9keSwgaHR0cE9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IG5lZWQgdG8gY2hlayB0aGlzIGlmIHRoZSBsb2FkZXIgaXMgd29ya2luZy5cbiAgICBmZXRjaChpbnB1dDogUmVxdWVzdEluZm8sIGluaXQ/OiBSZXF1ZXN0SW5pdCk6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgICAgICAgdGhpcy5sb2FkZXJTZXJ2aWNlLnNob3coKTtcblxuICAgICAgICByZXR1cm4gd2luZG93LmZldGNoKGlucHV0LCBpbml0KS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGVyU2VydmljZS5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldE5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2UoYWRkb25VVUlEOiBzdHJpbmcsIGxpYk5hbWUgPSAnbmd4LWxpYicpOiBJVHJhbnNsYXRpb25SZXNvdXJjZSB7XG4gICAgICAgIGNvbnN0IGFkZG9uU3RhdGljRm9sZGVyID0gdGhpcy5nZXRBZGRvblN0YXRpY0ZvbGRlcihhZGRvblVVSUQpO1xuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbnNQYXRoOiBzdHJpbmcgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldEFzc2V0c1RyYW5zbGF0aW9uc1BhdGgoYWRkb25TdGF0aWNGb2xkZXIsIGxpYk5hbWUpO1xuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbnNTdWZmaXg6IHN0cmluZyA9IHRoaXMuZmlsZVNlcnZpY2UuZ2V0QXNzZXRzVHJhbnNsYXRpb25zU3VmZml4KGxpYk5hbWUpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXg6IHRyYW5zbGF0aW9uc1BhdGgsXG4gICAgICAgICAgICBzdWZmaXg6IHRyYW5zbGF0aW9uc1N1ZmZpeCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRBZGRvblRyYW5zbGF0aW9uUmVzb3VyY2UoYWRkb25VVUlEOiBzdHJpbmcpOiBJVHJhbnNsYXRpb25SZXNvdXJjZSB7XG4gICAgICAgIGNvbnN0IGFkZG9uU3RhdGljRm9sZGVyID0gdGhpcy5nZXRBZGRvblN0YXRpY0ZvbGRlcihhZGRvblVVSUQpO1xuICAgICAgICBjb25zdCBkZWZhdWx0U3ViRm9sZGVyID0gJ2Fzc2V0cy9pMThuLyc7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeDogYWRkb25TdGF0aWNGb2xkZXIubGVuZ3RoID4gMCA/IGAke2FkZG9uU3RhdGljRm9sZGVyfSR7ZGVmYXVsdFN1YkZvbGRlcn1gIDogYC8ke2RlZmF1bHRTdWJGb2xkZXJ9YCxcbiAgICAgICAgICAgIHN1ZmZpeDogJy5qc29uJyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzZXREZWZhdWx0VHJhbnNsYXRlTGFuZyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHVybExhbmdQYXJhbSA9ICd1c2VyTGFuZycpIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldERlZmF1bHRUcmFuc2xhdGVMYW5nKHRyYW5zbGF0ZSwgdXJsTGFuZ1BhcmFtKTtcbiAgICB9XG5cbiAgICBnZXRQYWdlc0FkZG9uVVVJRCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuUEFHRVNfQURET05fVVVJRDtcbiAgICB9XG5cbiAgICAvLyAvLyBEZXByZWNhdGVkIG5lZWQgdG8gZGVsZXRlIGluIG5leHQgbWFqb3IuXG4gICAgLy8gcHVibGljIHN0YXRpYyBjcmVhdGVEZWZhdWx0TXVsdGlUcmFuc2xhdGVMb2FkZXIoXG4gICAgLy8gICAgIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgLy8gICAgIGZpbGVTZXJ2aWNlOiBQZXBGaWxlU2VydmljZSxcbiAgICAvLyAgICAgYWRkb25TZXJ2aWNlOiBQZXBBZGRvblNlcnZpY2UsXG4gICAgLy8gICAgIGFkZG9uVVVJRCA9ICcnXG4gICAgLy8gKSB7XG4gICAgLy8gICAgIGNvbnN0IG5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2UgPSBhZGRvblNlcnZpY2UuZ2V0Tmd4TGliVHJhbnNsYXRpb25SZXNvdXJjZShhZGRvblVVSUQpO1xuICAgIC8vICAgICBjb25zdCBhZGRvblRyYW5zbGF0aW9uUmVzb3VyY2UgPSBhZGRvblNlcnZpY2UuZ2V0QWRkb25UcmFuc2xhdGlvblJlc291cmNlKGFkZG9uVVVJRCk7XG5cbiAgICAvLyAgICAgcmV0dXJuIGFkZG9uU2VydmljZS50cmFuc2xhdGVTZXJ2aWNlLmNyZWF0ZU11bHRpVHJhbnNsYXRlTG9hZGVyKFtcbiAgICAvLyAgICAgICAgIG5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2UsXG4gICAgLy8gICAgICAgICBhZGRvblRyYW5zbGF0aW9uUmVzb3VyY2VcbiAgICAvLyAgICAgXSk7XG4gICAgLy8gfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVNdWx0aVRyYW5zbGF0ZUxvYWRlcihcbiAgICAgICAgYWRkb25VVUlEOiBzdHJpbmcsXG4gICAgICAgIGFkZG9uU2VydmljZTogUGVwQWRkb25TZXJ2aWNlLFxuICAgICAgICBsaWJzTmFtZSA9IFsnbmd4LWxpYiddLFxuICAgICkge1xuICAgICAgICBjb25zdCBuZ3hMaWJUcmFuc2xhdGlvblJlc291cmNlcyA9IFtdO1xuXG4gICAgICAgIGlmIChsaWJzTmFtZT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxpYnNOYW1lLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpYk5hbWUgPSBsaWJzTmFtZVtpbmRleF07XG4gICAgICAgICAgICAgICAgbmd4TGliVHJhbnNsYXRpb25SZXNvdXJjZXMucHVzaChhZGRvblNlcnZpY2UuZ2V0Tmd4TGliVHJhbnNsYXRpb25SZXNvdXJjZShhZGRvblVVSUQsIGxpYk5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkZG9uVHJhbnNsYXRpb25SZXNvdXJjZSA9IGFkZG9uU2VydmljZS5nZXRBZGRvblRyYW5zbGF0aW9uUmVzb3VyY2UoYWRkb25VVUlEKTtcblxuICAgICAgICByZXR1cm4gYWRkb25TZXJ2aWNlLnRyYW5zbGF0ZVNlcnZpY2UuY3JlYXRlTXVsdGlUcmFuc2xhdGVMb2FkZXIoW1xuICAgICAgICAgICAgLi4ubmd4TGliVHJhbnNsYXRpb25SZXNvdXJjZXMsXG4gICAgICAgICAgICBhZGRvblRyYW5zbGF0aW9uUmVzb3VyY2VcbiAgICAgICAgXSk7XG4gICAgfVxufVxuIl19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc3JjL2NvcmUvY29tbW9uL3NlcnZpY2VzL2FkZG9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBWXJEOztFQUVFO0FBSUYsTUFBTSxPQUFPLGVBQWU7SUFXeEIsWUFDWSxjQUFpQyxFQUNqQyxXQUEyQixFQUMzQixhQUErQixFQUNoQyxnQkFBcUMsRUFDckMsV0FBMkIsRUFDZCxLQUFxQjtRQUxqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBaEI1QixxQkFBZ0IsR0FBRyxzQ0FBc0MsQ0FBQztRQUMzRSw4REFBOEQ7UUFDN0Msc0NBQWlDLEdBQUcsNEJBQTRCLENBQUM7UUFDakUsNEJBQXVCLEdBQUcsYUFBYSxDQUFDO1FBQ3hDLGtDQUE2QixHQUFHLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixRQUFRLENBQUM7UUFjckYsRUFBRTtJQUNOLENBQUM7SUFiRCxJQUFZLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzlGLENBQUM7SUFhTyx3QkFBd0IsQ0FBQyxPQUFPLEdBQUcsS0FBSztRQUM1QyxPQUFPLE9BQU87WUFDVixDQUFDLENB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LENBQUM7UUFFckYsT0FBTyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUM7WUFDNUQsR0FBRywwQkFBMEI7WUFDN0Isd0JBQXdCO1NBQzNCLENBQUMsQ0FBQztJQUNQLENBQUM7OzRHQXBMUSxlQUFlO2dIQUFmLGVBQWUsY0FGWixNQUFNOzJGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFrQlEsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQZXBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcEZpbGVTZXJ2aWNlIH0gZnJvbSAnLi9maWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVwSHR0cFNlcnZpY2UgfSBmcm9tICcuLi8uLi9odHRwL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBQZXBMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9zZXJ2aWNlcy9sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSVRyYW5zbGF0aW9uUmVzb3VyY2UgfSBmcm9tICduZ3gtdHJhbnNsYXRlLW11bHRpLWh0dHAtbG9hZGVyJztcbmltcG9ydCB7IFBlcFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcblxuLypcbiAgICBUaGlzIHNlcnZpY2UgaXMgdGhlIHdlYmFwcCBhcGkgZm9yIGFkZG9uIHVzZWdlLlxuKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcEFkZG9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBQQUdFU19BRERPTl9VVUlEID0gJzUwMDYyZTBjLTk5NjctNGVkNC05MTAyLWYyYmM1MDYwMmQ0MSc7XG4gICAgLy8gcHJpdmF0ZSByZWFkb25seSBBRERPTl9BU1NFVFNfUEFUSF9LRVkgPSAnQWRkb25Bc3NldHNQYXRoJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IEFERE9OU19ESUNUSU9OQVJZX0FTU0VUU19QQVRIX0tFWSA9ICdBZGRvbnNEaWN0aW9uYXJ5QXNzZXRzUGF0aCc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBBRERPTl9BUElfUkVMQVRJVkVfUEFUSCA9ICcvYWRkb25zL2FwaSc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBBRERPTl9BUElfQVNZTkNfUkVMQVRJVkVfUEFUSCA9IGAke3RoaXMuQURET05fQVBJX1JFTEFUSVZFX1BBVEh9L2FzeW5jYDtcblxuICAgIHByaXZhdGUgZ2V0IGRldlNlcnZlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGUgPyB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdkZXZTZXJ2ZXInKSA9PT0gJ3RydWUnIDogZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvblNlcnZpY2U6IFBlcFNlc3Npb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBQZXBIdHRwU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBQZXBMb2FkZXJTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogUGVwVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHVibGljIGZpbGVTZXJ2aWNlOiBQZXBGaWxlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBZGRvbkJhc2VSZWxhdGl2ZVBhdGgoaXNBc3luYyA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGlzQXN5bmNcbiAgICAgICAgICAgID8gdGhpcy5BRERPTl9BUElfQVNZTkNfUkVMQVRJVkVfUEFUSFxuICAgICAgICAgICAgOiB0aGlzLkFERE9OX0FQSV9SRUxBVElWRV9QQVRIO1xuICAgIH1cblxuICAgIGdldEFkZG9uU3RhdGljRm9sZGVyKGFkZG9uVVVJRDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gaWYgKGFkZG9uVVVJRC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBhZGRvbnNEaWN0aW9uYXJ5ID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRPYmplY3QodGhpcy5BRERPTlNfRElDVElPTkFSWV9BU1NFVFNfUEFUSF9LRVkpO1xuICAgICAgICAgICAgcmV0dXJuIGFkZG9uc0RpY3Rpb25hcnkgJiYgYWRkb25zRGljdGlvbmFyeVthZGRvblVVSURdID8gYWRkb25zRGljdGlvbmFyeVthZGRvblVVSURdIDogJyc7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyByZXR1cm4gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRPYmplY3QodGhpcy5BRERPTl9BU1NFVFNfUEFUSF9LRVkpIHx8ICcnO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgc2V0QWRkb25TdGF0aWNGb2xkZXIocGF0aDogc3RyaW5nLCBhZGRvblVVSUQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICAvLyBpZiAoYWRkb25VVUlELmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uc0RpY3Rpb25hcnkgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmdldE9iamVjdCh0aGlzLkFERE9OU19ESUNUSU9OQVJZX0FTU0VUU19QQVRIX0tFWSkgPz8ge307XG4gICAgICAgICAgICBhZGRvbnNEaWN0aW9uYXJ5W2FkZG9uVVVJRF0gPSBwYXRoO1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5zZXRPYmplY3QodGhpcy5BRERPTlNfRElDVElPTkFSWV9BU1NFVFNfUEFUSF9LRVksIGFkZG9uc0RpY3Rpb25hcnkpO1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgcmV0dXJuIHRoaXMuc2Vzc2lvblNlcnZpY2Uuc2V0T2JqZWN0KHRoaXMuQURET05fQVNTRVRTX1BBVEhfS0VZLCBwYXRoKTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIGdldFNlcnZlckJhc2VVcmwoYWRkb25VVUlEOiBzdHJpbmcsIGZpbGVOYW1lID0gJycsIGlzQXN5bmMgPSBmYWxzZSwgbG9jYWxob3N0UG9ydCA9IDQ1MDApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmaWxlVG9BZGQgPSBmaWxlTmFtZS5sZW5ndGggPiAwID8gYC8ke2ZpbGVOYW1lfWAgOiAnJztcbiAgICAgICAgXG4gICAgICAgIC8vIEZvciBkZXZTZXJ2ZXIgcnVuIHNlcnZlciBvbiBsb2NhbGhvc3QuXG4gICAgICAgIGlmKHRoaXMuZGV2U2VydmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gYGh0dHA6Ly9sb2NhbGhvc3Q6JHtsb2NhbGhvc3RQb3J0fSR7ZmlsZVRvQWRkfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRQYXBpQmFzZVVybCgpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2Jhc2VVcmx9JHt0aGlzLmdldEFkZG9uQmFzZVJlbGF0aXZlUGF0aChpc0FzeW5jKX0vJHthZGRvblVVSUR9JHtmaWxlVG9BZGR9YDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEFkZG9uQXBpQ2FsbChcbiAgICAgICAgYWRkb25VVUlEOiBzdHJpbmcsXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxuICAgICAgICBodHRwT3B0aW9ucyA9IHt9LFxuICAgICAgICBpc0FzeW5jID0gZmFsc2VcbiAgICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICAvLyByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXRQYXBpQXBpQ2FsbChcbiAgICAgICAgLy8gICAgIGAke3RoaXMuZ2V0QWRkb25CYXNlUmVsYXRpdmVQYXRoKFxuICAgICAgICAvLyAgICAgICAgIGlzQXN5bmNcbiAgICAgICAgLy8gICAgICl9LyR7YWRkb25VVUlEfS8ke2ZpbGVOYW1lfS8ke2Z1bmN0aW9uTmFtZX1gLFxuICAgICAgICAvLyAgICAgaHR0cE9wdGlvbnNcbiAgICAgICAgLy8gKTtcblxuICAgICAgICBjb25zdCBwYXBpQmFzZVVybCA9IHRoaXMuZ2V0U2VydmVyQmFzZVVybChhZGRvblVVSUQsIGZpbGVOYW1lLCBpc0FzeW5jKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0SHR0cENhbGwoYCR7cGFwaUJhc2VVcmx9LyR7ZnVuY3Rpb25OYW1lfWAsIGh0dHBPcHRpb25zKTtcbiAgICB9XG5cbiAgICBwb3N0QWRkb25BcGlDYWxsKFxuICAgICAgICBhZGRvblVVSUQ6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gICAgICAgIGJvZHkgPSB7fSxcbiAgICAgICAgaHR0cE9wdGlvbnMgPSB7fSxcbiAgICAgICAgaXNBc3luYyA9IGZhbHNlXG4gICAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgLy8gcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdFBhcGlBcGlDYWxsKFxuICAgICAgICAvLyAgICAgYCR7dGhpcy5nZXRBZGRvbkJhc2VSZWxhdGl2ZVBhdGgoXG4gICAgICAgIC8vICAgICAgICAgaXNBc3luY1xuICAgICAgICAvLyAgICAgKX0vJHthZGRvblVVSUR9LyR7ZmlsZU5hbWV9LyR7ZnVuY3Rpb25OYW1lfWAsXG4gICAgICAgIC8vICAgICBib2R5LFxuICAgICAgICAvLyAgICAgaHR0cE9wdGlvbnNcbiAgICAgICAgLy8gKTtcblxuICAgICAgICBjb25zdCBwYXBpQmFzZVVybCA9IHRoaXMuZ2V0U2VydmVyQmFzZVVybChhZGRvblVVSUQsIGZpbGVOYW1lLCBpc0FzeW5jKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdEh0dHBDYWxsKGAke3BhcGlCYXNlVXJsfS8ke2Z1bmN0aW9uTmFtZX1gLCBib2R5LCBodHRwT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogbmVlZCB0byBjaGVrIHRoaXMgaWYgdGhlIGxvYWRlciBpcyB3b3JraW5nLlxuICAgIGZldGNoKGlucHV0OiBSZXF1ZXN0SW5mbywgaW5pdD86IFJlcXVlc3RJbml0KTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgICAgICB0aGlzLmxvYWRlclNlcnZpY2Uuc2hvdygpO1xuXG4gICAgICAgIHJldHVybiB3aW5kb3cuZmV0Y2goaW5wdXQsIGluaXQpLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmhpZGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0Tmd4TGliVHJhbnNsYXRpb25SZXNvdXJjZShhZGRvblVVSUQ6IHN0cmluZywgbGliTmFtZSA9ICduZ3gtbGliJyk6IElUcmFuc2xhdGlvblJlc291cmNlIHtcbiAgICAgICAgY29uc3QgYWRkb25TdGF0aWNGb2xkZXIgPSB0aGlzLmdldEFkZG9uU3RhdGljRm9sZGVyKGFkZG9uVVVJRCk7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uc1BhdGg6IHN0cmluZyA9IHRoaXMuZmlsZVNlcnZpY2UuZ2V0QXNzZXRzVHJhbnNsYXRpb25zUGF0aChhZGRvblN0YXRpY0ZvbGRlciwgbGliTmFtZSk7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uc1N1ZmZpeDogc3RyaW5nID0gdGhpcy5maWxlU2VydmljZS5nZXRBc3NldHNUcmFuc2xhdGlvbnNTdWZmaXgobGliTmFtZSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeDogdHJhbnNsYXRpb25zUGF0aCxcbiAgICAgICAgICAgIHN1ZmZpeDogdHJhbnNsYXRpb25zU3VmZml4LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldEFkZG9uVHJhbnNsYXRpb25SZXNvdXJjZShhZGRvblVVSUQ6IHN0cmluZyk6IElUcmFuc2xhdGlvblJlc291cmNlIHtcbiAgICAgICAgY29uc3QgYWRkb25TdGF0aWNGb2xkZXIgPSB0aGlzLmdldEFkZG9uU3RhdGljRm9sZGVyKGFkZG9uVVVJRCk7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRTdWJGb2xkZXIgPSAnYXNzZXRzL2kxOG4vJztcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlZml4OiBhZGRvblN0YXRpY0ZvbGRlci5sZW5ndGggPiAwID8gYCR7YWRkb25TdGF0aWNGb2xkZXJ9JHtkZWZhdWx0U3ViRm9sZGVyfWAgOiBgLyR7ZGVmYXVsdFN1YkZvbGRlcn1gLFxuICAgICAgICAgICAgc3VmZml4OiAnLmpzb24nLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHNldERlZmF1bHRUcmFuc2xhdGVMYW5nKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgdXJsTGFuZ1BhcmFtID0gJ3VzZXJMYW5nJykge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0RGVmYXVsdFRyYW5zbGF0ZUxhbmcodHJhbnNsYXRlLCB1cmxMYW5nUGFyYW0pO1xuICAgIH1cblxuICAgIGdldFBhZ2VzQWRkb25VVUlEKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5QQUdFU19BRERPTl9VVUlEO1xuICAgIH1cblxuICAgIHNldFNoZWxsUm91dGVyRGF0YShkYXRhOiB7IGFkZFBhZGRpbmc/OiBib29sZWFuLCBzaG93U2lkZWJhcj86IGJvb2xlYW4sIHNob3dIZWFkZXI/OiBib29sZWFuIH0pIHtcbiAgICAgICAgY29uc3QgZXZlbnREYXRhID0ge1xuICAgICAgICAgICAgZGV0YWlsOiBkYXRhLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdzZXQtcm91dGVyLWRhdGEnLCBldmVudERhdGEpO1xuICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChjdXN0b21FdmVudCk7XG4gICAgfVxuXG4gICAgLy8gLy8gRGVwcmVjYXRlZCBuZWVkIHRvIGRlbGV0ZSBpbiBuZXh0IG1ham9yLlxuICAgIC8vIHB1YmxpYyBzdGF0aWMgY3JlYXRlRGVmYXVsdE11bHRpVHJhbnNsYXRlTG9hZGVyKFxuICAgIC8vICAgICBodHRwOiBIdHRwQ2xpZW50LFxuICAgIC8vICAgICBmaWxlU2VydmljZTogUGVwRmlsZVNlcnZpY2UsXG4gICAgLy8gICAgIGFkZG9uU2VydmljZTogUGVwQWRkb25TZXJ2aWNlLFxuICAgIC8vICAgICBhZGRvblVVSUQgPSAnJ1xuICAgIC8vICkge1xuICAgIC8vICAgICBjb25zdCBuZ3hMaWJUcmFuc2xhdGlvblJlc291cmNlID0gYWRkb25TZXJ2aWNlLmdldE5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2UoYWRkb25VVUlEKTtcbiAgICAvLyAgICAgY29uc3QgYWRkb25UcmFuc2xhdGlvblJlc291cmNlID0gYWRkb25TZXJ2aWNlLmdldEFkZG9uVHJhbnNsYXRpb25SZXNvdXJjZShhZGRvblVVSUQpO1xuXG4gICAgLy8gICAgIHJldHVybiBhZGRvblNlcnZpY2UudHJhbnNsYXRlU2VydmljZS5jcmVhdGVNdWx0aVRyYW5zbGF0ZUxvYWRlcihbXG4gICAgLy8gICAgICAgICBuZ3hMaWJUcmFuc2xhdGlvblJlc291cmNlLFxuICAgIC8vICAgICAgICAgYWRkb25UcmFuc2xhdGlvblJlc291cmNlXG4gICAgLy8gICAgIF0pO1xuICAgIC8vIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlTXVsdGlUcmFuc2xhdGVMb2FkZXIoXG4gICAgICAgIGFkZG9uVVVJRDogc3RyaW5nLFxuICAgICAgICBhZGRvblNlcnZpY2U6IFBlcEFkZG9uU2VydmljZSxcbiAgICAgICAgbGlic05hbWUgPSBbJ25neC1saWInXSxcbiAgICApIHtcbiAgICAgICAgY29uc3Qgbmd4TGliVHJhbnNsYXRpb25SZXNvdXJjZXMgPSBbXTtcblxuICAgICAgICBpZiAobGlic05hbWU/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsaWJzTmFtZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsaWJOYW1lID0gbGlic05hbWVbaW5kZXhdO1xuICAgICAgICAgICAgICAgIG5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2VzLnB1c2goYWRkb25TZXJ2aWNlLmdldE5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2UoYWRkb25VVUlELCBsaWJOYW1lKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZGRvblRyYW5zbGF0aW9uUmVzb3VyY2UgPSBhZGRvblNlcnZpY2UuZ2V0QWRkb25UcmFuc2xhdGlvblJlc291cmNlKGFkZG9uVVVJRCk7XG5cbiAgICAgICAgcmV0dXJuIGFkZG9uU2VydmljZS50cmFuc2xhdGVTZXJ2aWNlLmNyZWF0ZU11bHRpVHJhbnNsYXRlTG9hZGVyKFtcbiAgICAgICAgICAgIC4uLm5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2VzLFxuICAgICAgICAgICAgYWRkb25UcmFuc2xhdGlvblJlc291cmNlXG4gICAgICAgIF0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -124,7 +124,9 @@ export class PepUtilitiesService {
124
124
  const div = document.createElement('DIV');
125
125
  // div.className = 'svg-icon';
126
126
  // Add class svg-icon
127
- div.innerHTML = svgContent.replace('<svg ', '<svg class="svg-icon" ');
127
+ if (svgContent?.length > 0) {
128
+ div.innerHTML = svgContent.replace('<svg ', '<svg class="svg-icon" ');
129
+ }
128
130
  return (div.querySelector('svg') ||
129
131
  document.createElementNS('http://www.w3.org/2000/svg', 'path'));
130
132
  }
@@ -258,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
258
260
  }], ctorParameters: function () { return [{ type: i1.TranslateService, decorators: [{
259
261
  type: Optional
260
262
  }] }]; } });
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NyYy9jb3JlL2NvbW1vbi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1yRCxNQUFNLE9BQU8sbUJBQW1CO0lBRzVCLFlBQWdDLFlBQThCLElBQUk7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGMUQsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUd0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxPQUFPLENBQUM7UUFFbEUsUUFBUTtRQUNSLGdFQUFnRTtRQUNoRSxhQUFhO0lBQ2pCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxLQUFhLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDekQsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssR0FBRyxFQUFFO1lBQ3BDLHFFQUFxRTtZQUNyRSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDdkU7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFDO1FBRXZDLE9BQU8sMEJBQTBCO2FBQzVCLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzVCLFNBQVMs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QUMsUUFBUSxFQUFFLEVBQzFCLElBQUksQ0FDUCxDQUFDO1FBRUYsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3RCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQ3pDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFDMUIsSUFBSSxDQUNQLENBQUM7UUFFRixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBVSxFQUFFLGFBQWEsR0FBRyxDQUFDO1FBQzlDLG1EQUFtRDtRQUNuRCxJQUFJLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLEtBQUssR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUM7UUFFRCxPQUFPLG9CQUFvQixDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDOztnSEE1U1EsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJZ0IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5LCBfaXNOdW1iZXJWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBmb3JtYXRDdXJyZW5jeSwgZm9ybWF0TnVtYmVyLCBmb3JtYXRQZXJjZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcFV0aWxpdGllc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgY3VsdHVyZSA9ICdlbi1VUyc7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSA9IG51bGwpIHtcbiAgICAgICAgdGhpcy5jdWx0dXJlID0gdGhpcy50cmFuc2xhdGU/LmdldEJyb3dzZXJDdWx0dXJlTGFuZygpIHx8ICdlbi1VUyc7XG5cbiAgICAgICAgLy8gdHJ5IHtcbiAgICAgICAgLy8gICAgIGltcG9ydChgQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZ2xvYmFsLyR7dGhpcy5jdWx0dXJlfWApO1xuICAgICAgICAvLyB9IGNhdGNoIHt9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZWNpbWFsU2VwZXJhdG9yKHZhbHVlOiBzdHJpbmcsIHJldmVyc2UgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIC8vIElmIHRoZSBkZWNpbWFsIHNlcGFyYXRvciBpcyAnLCdcbiAgICAgICAgaWYgKHRoaXMuZ2V0RGVjaW1hbFNlcGFyYXRvcigpID09PSAnLCcpIHtcbiAgICAgICAgICAgIC8vIElmIHJldmVyc2UgY2hhbmdlIHRoZSBudW1iZXIgZnJvbSAnLicgdG8gJywnIGVsc2UgZG8gdGhlIG9wcG9zaXRlLlxuICAgICAgICAgICAgdmFsdWUgPSByZXZlcnNlID8gdmFsdWUucmVwbGFjZSgnLicsICcsJykgOiB2YWx1ZS5yZXBsYWNlKCcsJywgJy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlY2ltYWxTZXBhcmF0b3IoKSB7XG4gICAgICAgIGNvbnN0IG51bWJlcldpdGhEZWNpbWFsU2VwYXJhdG9yID0gMS4xO1xuXG4gICAgICAgIHJldHVybiBudW1iZXJXaXRoRGVjaW1hbFNlcGFyYXRvclxuICAgICAgICAgICAgLnRvTG9jYWxlU3RyaW5nKHRoaXMuY3VsdHVyZSlcbiAgICAgICAgICAgIC5zdWJzdHJpbmcoMSwgMik7XG4gICAgfVxuXG4gICAgLy8gYWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvcGFyc2UtbXMuXG4gICAgLy8gbW92ZWQgdG8gaW50ZXJuYWwgZnVuY3Rpb24gYmVjYXVzZSBwYXJzZS1tcyBpcyBub3cgcHVyZSBFU00uXG4gICAgcHJpdmF0ZSBwYXJzZU1zKG1pbGxpc2Vjb25kczogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbWlsbGlzZWNvbmRzICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgYSBudW1iZXInKVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXlzOiBNYXRoLnRydW5jKG1pbGxpc2Vjb25kcyAvIDg2NDAwMDAwKSxcbiAgICAgICAgICAgIGhvdXJzOiBNYXRoLnRydW5jKG1pbGxpc2Vjb25kcyAvIDM2MDAwMDApICUgMjQsXG4gICAgICAgICAgICBtaW51dGVzOiBNYXRoLnRydW5jKG1pbGxpc2Vjb25kcyAvIDYwMDAwKSAlIDYwLFxuICAgICAgICAgICAgc2Vjb25kczogTWF0aC50cnVuYyhtaWxsaXNlY29uZHMgLyAxMDAwKSAlIDYwLFxuICAgICAgICAgICAgbWlsbGlzZWNvbmRzOiBNYXRoLnRydW5jKG1pbGxpc2Vjb25kcykgJSAxMDAwXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gYWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9yYWZhZWxyaW5hbGRpL2FkZC16ZXJvLlxuICAgIC8vIG1vdmVkIHRvIGludGVybmFsIGZ1bmN0aW9uIGIvYyBhZGRaZXJvIGlzIHVubWFpbnRhaW5lZCAoNysgeWVhcnMpLlxuICAgIC8vIHN0cmlwcGVkIG91dCBuZWdhdGl2ZSBzaWduIGxvZ2ljIHNpbmNlIHdlJ3JlIGFscmVhZHkgZG9pbmcgaXQgZWxzZXdoZXJlLlxuICAgIHByaXZhdGUgYWRkWmVybyh2YWx1ZTogbnVtYmVyLCBkaWdpdHMgPSAyKSB7XG4gICAgICAgIGRpZ2l0cyA9IGRpZ2l0cyB8fCAyXG4gICAgXG4gICAgICAgIGxldCBzdHIgPSB2YWx1ZS50b1N0cmluZygpXG4gICAgICAgIGxldCBzaXplID0gMFxuICAgIFxuICAgICAgICBzaXplID0gZGlnaXRzIC0gc3RyLmxlbmd0aCArIDFcbiAgICAgICAgc3RyID0gbmV3IEFycmF5KHNpemUpLmpvaW4oJzAnKS5jb25jYXQoc3RyKVxuICAgIFxuICAgICAgICByZXR1cm4gc3RyXG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgaXNDdXJyZW5jeVNob3VsZEJlT25SaWdodChjdXJyZW5jeVN5bWJvbDogc3RyaW5nKSB7XG4gICAgICAgIGxldCByZXMgPSBmYWxzZTtcblxuICAgICAgICBpZiAoY3VycmVuY3lTeW1ib2wgPT0gXCLigqxcIiB8fFxuICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgPT0gXCLigqpcIiB8fFxuICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgPT0gXCJGdFwiIHx8XG4gICAgICAgICAgICBjdXJyZW5jeVN5bWJvbCA9PSBcIkvEjVwiIHx8XG4gICAgICAgICAgICBjdXJyZW5jeVN5bWJvbCA9PSBcItGA0YPQsVwiIHx8XG4gICAgICAgICAgICBjdXJyZW5jeVN5bWJvbCA9PSBcInrFglwiIHx8XG4gICAgICAgICAgICBjdXJyZW5jeVN5bWJvbCA9PSBcImtyLlwiKVxuICAgICAgICB7XG4gICAgICAgICAgICByZXMgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwYXJzZURhdGUoZGF0ZVN0cjogc3RyaW5nLCBzaG93VGltZSA9IGZhbHNlKTogRGF0ZSB7XG4gICAgICAgIGxldCByZXRWYWw6IERhdGUgPSBudWxsO1xuICAgICAgICBpZiAoZGF0ZVN0ciAhPT0gJycpIHtcbiAgICAgICAgICAgIHJldFZhbCA9IG5ldyBEYXRlKGRhdGVTdHIpO1xuXG4gICAgICAgICAgICAvLyBDb252ZXJ0IHRvIGRhdGUgd2l0aCBubyBvZmZzZXQuXG4gICAgICAgICAgICBpZiAoIXNob3dUaW1lKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBkYXRlU3RyLmluZGV4T2YoJ1QnKTtcblxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZVN0ciA9IGRhdGVTdHIuc3Vic3RyaW5nKDAsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlVGV4dCA9IGRhdGVTdHIuc3BsaXQoJy0nKTtcbiAgICAgICAgICAgICAgICBpZiAoZGF0ZVRleHQubGVuZ3RoID09PSAzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHllYXIgPSBOdW1iZXIoZGF0ZVRleHRbMF0pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb250aCA9IE51bWJlcihkYXRlVGV4dFsxXSkgLSAxO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXkgPSBOdW1iZXIoZGF0ZVRleHRbMl0pO1xuICAgICAgICAgICAgICAgICAgICByZXRWYWwgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5LCAwLCByZXRWYWwuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIC0xKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldFZhbCA9IG5ldyBEYXRlKFxuICAgICAgICAgICAgICAgICAgICByZXRWYWwuZ2V0RnVsbFllYXIoKSwgcmV0VmFsLmdldE1vbnRoKCksIHJldFZhbC5nZXREYXRlKCksIHJldFZhbC5nZXRIb3VycygpLFxuICAgICAgICAgICAgICAgICAgICByZXRWYWwuZ2V0TWludXRlcygpICsgcmV0VmFsLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAtMSwgcmV0VmFsLmdldFNlY29uZHMoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJldFZhbCAmJiBpc05hTihyZXRWYWwuZ2V0VGltZSgpKSkge1xuICAgICAgICAgICAgcmV0VmFsID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmV0VmFsO1xuICAgIH1cblxuICAgIHN0cmluZ2lmeURhdGUoZGF0ZTogRGF0ZSwgc2hvd1RpbWUgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIGlmIChkYXRlKSB7XG4gICAgICAgICAgICBpZiAoc2hvd1RpbWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpOyAvLyBpbmNsdWRlIC0gb2Zmc2V0XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVUZXh0ID0gW107XG4gICAgICAgICAgICAgICAgZGF0ZVRleHQucHVzaChcbiAgICAgICAgICAgICAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAgICAgICAgICAgICAnLScsXG4gICAgICAgICAgICAgICAgICAgIGRhdGUuZ2V0TW9udGgoKSArIDEsXG4gICAgICAgICAgICAgICAgICAgICctJyxcbiAgICAgICAgICAgICAgICAgICAgZGF0ZS5nZXREYXRlKClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlVGV4dC5qb2luKCcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzVmFsdWVIdG1sKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHJlcyA9IGZhbHNlO1xuICAgICAgICBjb25zdCBSRUdFWFAgPSAvPFxcLz9bYS16XVtcXHNcXFNdKj4vaTtcbiAgICAgICAgcmVzID0gUkVHRVhQLnRlc3QodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgaXNKc29uU3RyaW5nKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBKU09OLnBhcnNlKHN0cik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBnZXRTdmdFbGVtZW50RnJvbVN0cmluZyhkb2N1bWVudCwgc3ZnQ29udGVudDogc3RyaW5nKTogU1ZHRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0RJVicpO1xuICAgICAgICAvLyBkaXYuY2xhc3NOYW1lID0gJ3N2Zy1pY29uJztcbiAgICAgICAgLy8gQWRkIGNsYXNzIHN2Zy1pY29uXG4gICAgICAgIGRpdi5pbm5lckhUTUwgPSBzdmdDb250ZW50LnJlcGxhY2UoJzxzdmcgJywgJzxzdmcgY2xhc3M9XCJzdmctaWNvblwiICcpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZGl2LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpIHx8XG4gICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3BhdGgnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIGZvcm1hdFBlcmNlbnQodmFsdWU6IGFueSwgZGlnaXRzSW5mbyA9ICcxLjAtMicpIHtcbiAgICBmb3JtYXRQZXJjZW50KHZhbHVlOiBhbnksIG1pbkZyYWN0aW9uRGlnaXRzID0gMCwgbWF4RnJhY3Rpb25EaWdpdHMgPSAyKSB7XG4gICAgICAgIG1pbkZyYWN0aW9uRGlnaXRzID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eShtaW5GcmFjdGlvbkRpZ2l0cywgbnVsbCk7XG4gICAgICAgIG1heEZyYWN0aW9uRGlnaXRzID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eShtYXhGcmFjdGlvbkRpZ2l0cywgbnVsbCk7XG5cbiAgICAgICAgY29uc3QgbnVtYmVyID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKG51bWJlciA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcwJSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyByZXR1cm4gZm9ybWF0UGVyY2VudChudW1iZXIgLyAxMDAsIHRoaXMuY3VsdHVyZSwgZGlnaXRzSW5mbyk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY3VsdHVyZSwgeyBcbiAgICAgICAgICAgICAgICBzdHlsZTogJ3BlcmNlbnQnLFxuICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogbWluRnJhY3Rpb25EaWdpdHMgfHwgMCxcbiAgICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IG1heEZyYWN0aW9uRGlnaXRzIHx8IE1hdGgubWF4KDIsIG1pbkZyYWN0aW9uRGlnaXRzKSxcbiAgICAgICAgICAgIH0pLmZvcm1hdChudW1iZXIgLyAxMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZm9ybWF0Q3VycmVuY3kodmFsdWU6IGFueSwgY3VycmVuY3lTaWduID0gJycsIGRpZ2l0c0luZm8gPSAnMS4yLTInKSB7XG4gICAgZm9ybWF0Q3VycmVuY3kodmFsdWU6IGFueSwgY3VycmVuY3lTaWduID0gJycsIG1pbkZyYWN0aW9uRGlnaXRzID0gMCwgbWF4RnJhY3Rpb25EaWdpdHMgPSAyKSB7XG4gICAgICAgIG1pbkZyYWN0aW9uRGlnaXRzID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eShtaW5GcmFjdGlvbkRpZ2l0cywgbnVsbCk7XG4gICAgICAgIG1heEZyYWN0aW9uRGlnaXRzID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eShtYXhGcmFjdGlvbkRpZ2l0cywgbnVsbCk7XG5cbiAgICAgICAgbGV0IHJlcyA9ICcnO1xuICAgICAgICBjb25zdCBudW1iZXIgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgY29uc3Qgc3R5bGVPcHRpb25zID0geyBcbiAgICAgICAgICAgIC8vIHN0eWxlOiAnY3VycmVuY3knLFxuICAgICAgICAgICAgLy8gY3VycmVuY3lTaWduOiBjdXJyZW5jeVNpZ24sXG4gICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG1pbkZyYWN0aW9uRGlnaXRzIHx8IDAsXG4gICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IG1heEZyYWN0aW9uRGlnaXRzIHx8IE1hdGgubWF4KDIsIG1pbkZyYWN0aW9uRGlnaXRzKSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobnVtYmVyID09PSAwKSB7XG4gICAgICAgICAgICAvLyByZXR1cm4gZm9ybWF0Q3VycmVuY3koMCwgdGhpcy5jdWx0dXJlLCBjdXJyZW5jeVNpZ24sIHVuZGVmaW5lZCwgZGlnaXRzSW5mbyk7XG4gICAgICAgICAgICByZXMgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jdWx0dXJlLCBzdHlsZU9wdGlvbnMpLmZvcm1hdCgwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHJldHVybiBmb3JtYXRDdXJyZW5jeSh2YWx1ZSwgdGhpcy5jdWx0dXJlLCBjdXJyZW5jeVNpZ24sIHVuZGVmaW5lZCwgZGlnaXRzSW5mbyk7XG4gICAgICAgICAgICByZXMgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jdWx0dXJlLCBzdHlsZU9wdGlvbnMpLmZvcm1hdChudW1iZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzID0gdGhpcy5pc0N1cnJlbmN5U2hvdWxkQmVPblJpZ2h0KGN1cnJlbmN5U2lnbikgPyBgJHtyZXN9ICR7Y3VycmVuY3lTaWdufWAgOiBgJHtjdXJyZW5jeVNpZ259ICR7cmVzfWBcbiAgICAgICAgXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIFxuICAgIC8vIGZvcm1hdERlY2ltYWwodmFsdWU6IGFueSwgZGlnaXRzSW5mbyA9ICcxLjItMicpIHtcbiAgICBmb3JtYXREZWNpbWFsKHZhbHVlOiBhbnksIG1pbkZyYWN0aW9uRGlnaXRzID0gMiwgbWF4RnJhY3Rpb25EaWdpdHMgPSAyKSB7XG4gICAgICAgIG1pbkZyYWN0aW9uRGlnaXRzID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eShtaW5GcmFjdGlvbkRpZ2l0cywgbnVsbCk7XG4gICAgICAgIG1heEZyYWN0aW9uRGlnaXRzID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eShtYXhGcmFjdGlvbkRpZ2l0cywgbnVsbCk7XG4gICAgICAgIGNvbnN0IG51bWJlciA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIGlmIChudW1iZXIgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyByZXR1cm4gZm9ybWF0TnVtYmVyKHZhbHVlLCB0aGlzLmN1bHR1cmUsIGRpZ2l0c0luZm8pO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmN1bHR1cmUsIHsgXG4gICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBtaW5GcmFjdGlvbkRpZ2l0cyB8fCBNYXRoLm1pbigyLCBtYXhGcmFjdGlvbkRpZ2l0cyksXG4gICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBtYXhGcmFjdGlvbkRpZ2l0cyB8fCBNYXRoLm1heCgyLCBtaW5GcmFjdGlvbkRpZ2l0cyksXG4gICAgICAgICAgICB9KS5mb3JtYXQobnVtYmVyKVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vIGZvcm1hdE51bWJlcih2YWx1ZTogYW55LCBkaWdpdHNJbmZvID0gJzEuMC0wJyk6IHN0cmluZyB7XG4gICAgZm9ybWF0TnVtYmVyKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBudW1iZXIgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcblxuICAgICAgICBpZiAobnVtYmVyID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJzAnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gcmV0dXJuIGZvcm1hdE51bWJlcih2YWx1ZSwgdGhpcy5jdWx0dXJlLCBkaWdpdHNJbmZvKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jdWx0dXJlLCB7IFxuICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCxcbiAgICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgICAgICAgICB9KS5mb3JtYXQobnVtYmVyKVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8qKlxuICAgICAqIENvbnZlcnQgYSBudW1iZXIgaW4gbWlsbGlzZWNvbmRzIHRvIGEgc3RhbmRhcmQgZHVyYXRpb24gc3RyaW5nLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZSAtIGR1cmF0aW9uIGluIG1pbGxpc2Vjb25kc1xuICAgICAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zIC0gZm9ybWF0RHVyYXRpb24gb3B0aW9ucyBvYmplY3RcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmxlYWRpbmc9ZmFsc2VdIC0gYWRkIGxlYWRpbmcgemVyb1xuICAgICAqIEByZXR1cm5zIHN0cmluZyAtIGZvcm1hdHRlZCBkdXJhdGlvbiBzdHJpbmdcbiAgICAqL1xuICAgIGZvcm1hdER1cmF0aW9uKHZhbHVlLCBvcHRpb25zOiB7IGxlYWRpbmc/OiBib29sZWFuLCBkdXJhdGlvbj86ICdtaWxsaXNlY29uZHMnIHwgJ3NlY29uZHMnIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGlzTnVtYmVyID0gX2lzTnVtYmVyVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGlmICghaXNOdW1iZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBudW1iZXIgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICBcbiAgICAgICAgICAgIGNvbnN0IGxlYWRpbmcgPSBvcHRpb25zPy5sZWFkaW5nIHx8IHRydWU7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IG9wdGlvbnM/LmR1cmF0aW9uIHx8ICdtaWxsaXNlY29uZHMnO1xuICAgICAgICAgICAgaWYgKGR1cmF0aW9uID09PSAnc2Vjb25kcycpIHtcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBudW1iZXIgKiAxMDAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1bnNpZ25lZE1zID0gbnVtYmVyIDwgMCA/IC1udW1iZXIgOiBudW1iZXI7XG4gICAgICAgICAgICBjb25zdCBzaWduID0gbnVtYmVyIDw9IC0xMDAwID8gJy0nIDogJyc7XG4gICAgICAgICAgICBjb25zdCB0ID0gdGhpcy5wYXJzZU1zKHVuc2lnbmVkTXMpO1xuICAgICAgICAgICAgY29uc3Qgc2Vjb25kcyA9IHRoaXMuYWRkWmVybyh0LnNlY29uZHMpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAodC5kYXlzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNpZ24gKyB0LmRheXMgKyAnOicgKyB0aGlzLmFkZFplcm8odC5ob3VycykgKyAnOicgKyB0aGlzLmFkZFplcm8odC5taW51dGVzKSArICc6JyArIHNlY29uZHNcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHQuaG91cnMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2lnbiArIChsZWFkaW5nID8gdGhpcy5hZGRaZXJvKHQuaG91cnMpIDogdC5ob3VycykgKyAnOicgKyB0aGlzLmFkZFplcm8odC5taW51dGVzKSArICc6JyArIHNlY29uZHNcbiAgICAgICAgICAgIH0gXG5cbiAgICAgICAgICAgIHJldHVybiBzaWduICsgKGxlYWRpbmcgPyB0aGlzLmFkZFplcm8odC5taW51dGVzKSA6IHQubWludXRlcykgKyAnOicgKyBzZWNvbmRzXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbmNyZW1lbnROdW1iZXIodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBudW1iZXJWYWx1ZSA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBjb25zdCBuZXdOdW1iZXIgPSB0aGlzLmNoYW5nZURlY2ltYWxTZXBlcmF0b3IoXG4gICAgICAgICAgICAoKytudW1iZXJWYWx1ZSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbmV3TnVtYmVyO1xuICAgIH1cblxuICAgIGRlY3JlbWVudE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG51bWJlclZhbHVlID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG5ld051bWJlciA9IHRoaXMuY2hhbmdlRGVjaW1hbFNlcGVyYXRvcihcbiAgICAgICAgICAgICgtLW51bWJlclZhbHVlKS50b1N0cmluZygpLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBuZXdOdW1iZXI7XG4gICAgfVxuXG4gICAgY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWU6IGFueSwgZmFsbGJhY2tWYWx1ZSA9IDApOiBudW1iZXIge1xuICAgICAgICAvLyBJZiB0aGUgZGVjaW1hbCBzZXBhcmF0b3IgaXMgJywnIGNoYW5nZSBpdCB0byAnLidcbiAgICAgICAgaWYgKHZhbHVlPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuY2hhbmdlRGVjaW1hbFNlcGVyYXRvcih2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUsIGZhbGxiYWNrVmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NyYy9jb3JlL2NvbW1vbi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1yRCxNQUFNLE9BQU8sbUJBQW1CO0lBRzVCLFlBQWdDLFlBQThCLElBQUk7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGMUQsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUd0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxPQUFPLENBQUM7UUFFbEUsUUFBUTtRQUNSLGdFQUFnRTtRQUNoRSxhQUFhO0lBQ2pCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxLQUFhLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDekQsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssR0FBRyxFQUFFO1lBQ3BDLHFFQUFxRTtZQUNyRSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDdkU7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFDO1FBRXZDLE9BQU8sMEJBQTBCO2FBQzVCLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzVCLFNBQVMs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LElBQUksQ0FBQyxzQkFBc0IsQ0FDekMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUMxQixJQUFJLENBQ1AsQ0FBQztRQUVGLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVTtRQUN0QixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUN6QyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQzFCLElBQUksQ0FDUCxDQUFDO1FBRUYsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQVUsRUFBRSxhQUFhLEdBQUcsQ0FBQztRQUM5QyxtREFBbUQ7UUFDbkQsSUFBSSxLQUFLLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQixLQUFLLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Z0hBOVNRLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBSWdCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSwgX2lzTnVtYmVyVmFsdWUgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgZm9ybWF0Q3VycmVuY3ksIGZvcm1hdE51bWJlciwgZm9ybWF0UGVyY2VudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBVdGlsaXRpZXNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGN1bHR1cmUgPSAnZW4tVVMnO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UgPSBudWxsKSB7XG4gICAgICAgIHRoaXMuY3VsdHVyZSA9IHRoaXMudHJhbnNsYXRlPy5nZXRCcm93c2VyQ3VsdHVyZUxhbmcoKSB8fCAnZW4tVVMnO1xuXG4gICAgICAgIC8vIHRyeSB7XG4gICAgICAgIC8vICAgICBpbXBvcnQoYEBhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC8ke3RoaXMuY3VsdHVyZX1gKTtcbiAgICAgICAgLy8gfSBjYXRjaCB7fVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlRGVjaW1hbFNlcGVyYXRvcih2YWx1ZTogc3RyaW5nLCByZXZlcnNlID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICAvLyBJZiB0aGUgZGVjaW1hbCBzZXBhcmF0b3IgaXMgJywnXG4gICAgICAgIGlmICh0aGlzLmdldERlY2ltYWxTZXBhcmF0b3IoKSA9PT0gJywnKSB7XG4gICAgICAgICAgICAvLyBJZiByZXZlcnNlIGNoYW5nZSB0aGUgbnVtYmVyIGZyb20gJy4nIHRvICcsJyBlbHNlIGRvIHRoZSBvcHBvc2l0ZS5cbiAgICAgICAgICAgIHZhbHVlID0gcmV2ZXJzZSA/IHZhbHVlLnJlcGxhY2UoJy4nLCAnLCcpIDogdmFsdWUucmVwbGFjZSgnLCcsICcuJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWNpbWFsU2VwYXJhdG9yKCkge1xuICAgICAgICBjb25zdCBudW1iZXJXaXRoRGVjaW1hbFNlcGFyYXRvciA9IDEuMTtcblxuICAgICAgICByZXR1cm4gbnVtYmVyV2l0aERlY2ltYWxTZXBhcmF0b3JcbiAgICAgICAgICAgIC50b0xvY2FsZVN0cmluZyh0aGlzLmN1bHR1cmUpXG4gICAgICAgICAgICAuc3Vic3RyaW5nKDEsIDIpO1xuICAgIH1cblxuICAgIC8vIGFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL3BhcnNlLW1zLlxuICAgIC8vIG1vdmVkIHRvIGludGVybmFsIGZ1bmN0aW9uIGJlY2F1c2UgcGFyc2UtbXMgaXMgbm93IHB1cmUgRVNNLlxuICAgIHByaXZhdGUgcGFyc2VNcyhtaWxsaXNlY29uZHM6IG51bWJlcikge1xuICAgICAgICBpZiAodHlwZW9mIG1pbGxpc2Vjb25kcyAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkIGEgbnVtYmVyJylcbiAgICAgICAgfVxuICAgIFxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF5czogTWF0aC50cnVuYyhtaWxsaXNlY29uZHMgLyA4NjQwMDAwMCksXG4gICAgICAgICAgICBob3VyczogTWF0aC50cnVuYyhtaWxsaXNlY29uZHMgLyAzNjAwMDAwKSAlIDI0LFxuICAgICAgICAgICAgbWludXRlczogTWF0aC50cnVuYyhtaWxsaXNlY29uZHMgLyA2MDAwMCkgJSA2MCxcbiAgICAgICAgICAgIHNlY29uZHM6IE1hdGgudHJ1bmMobWlsbGlzZWNvbmRzIC8gMTAwMCkgJSA2MCxcbiAgICAgICAgICAgIG1pbGxpc2Vjb25kczogTWF0aC50cnVuYyhtaWxsaXNlY29uZHMpICUgMTAwMFxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vIGFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vcmFmYWVscmluYWxkaS9hZGQtemVyby5cbiAgICAvLyBtb3ZlZCB0byBpbnRlcm5hbCBmdW5jdGlvbiBiL2MgYWRkWmVybyBpcyB1bm1haW50YWluZWQgKDcrIHllYXJzKS5cbiAgICAvLyBzdHJpcHBlZCBvdXQgbmVnYXRpdmUgc2lnbiBsb2dpYyBzaW5jZSB3ZSdyZSBhbHJlYWR5IGRvaW5nIGl0IGVsc2V3aGVyZS5cbiAgICBwcml2YXRlIGFkZFplcm8odmFsdWU6IG51bWJlciwgZGlnaXRzID0gMikge1xuICAgICAgICBkaWdpdHMgPSBkaWdpdHMgfHwgMlxuICAgIFxuICAgICAgICBsZXQgc3RyID0gdmFsdWUudG9TdHJpbmcoKVxuICAgICAgICBsZXQgc2l6ZSA9IDBcbiAgICBcbiAgICAgICAgc2l6ZSA9IGRpZ2l0cyAtIHN0ci5sZW5ndGggKyAxXG4gICAgICAgIHN0ciA9IG5ldyBBcnJheShzaXplKS5qb2luKCcwJykuY29uY2F0KHN0cilcbiAgICBcbiAgICAgICAgcmV0dXJuIHN0clxuICAgIH1cbiAgICBcbiAgICBwcml2YXRlIGlzQ3VycmVuY3lTaG91bGRCZU9uUmlnaHQoY3VycmVuY3lTeW1ib2w6IHN0cmluZykge1xuICAgICAgICBsZXQgcmVzID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKGN1cnJlbmN5U3ltYm9sID09IFwi4oKsXCIgfHxcbiAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sID09IFwi4oKqXCIgfHxcbiAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sID09IFwiRnRcIiB8fFxuICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgPT0gXCJLxI1cIiB8fFxuICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgPT0gXCLRgNGD0LFcIiB8fFxuICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgPT0gXCJ6xYJcIiB8fFxuICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgPT0gXCJrci5cIilcbiAgICAgICAge1xuICAgICAgICAgICAgcmVzID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcGFyc2VEYXRlKGRhdGVTdHI6IHN0cmluZywgc2hvd1RpbWUgPSBmYWxzZSk6IERhdGUge1xuICAgICAgICBsZXQgcmV0VmFsOiBEYXRlID0gbnVsbDtcbiAgICAgICAgaWYgKGRhdGVTdHIgIT09ICcnKSB7XG4gICAgICAgICAgICByZXRWYWwgPSBuZXcgRGF0ZShkYXRlU3RyKTtcblxuICAgICAgICAgICAgLy8gQ29udmVydCB0byBkYXRlIHdpdGggbm8gb2Zmc2V0LlxuICAgICAgICAgICAgaWYgKCFzaG93VGltZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZGF0ZVN0ci5pbmRleE9mKCdUJyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVTdHIgPSBkYXRlU3RyLnN1YnN0cmluZygwLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0ZVRleHQgPSBkYXRlU3RyLnNwbGl0KCctJyk7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGVUZXh0Lmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB5ZWFyID0gTnVtYmVyKGRhdGVUZXh0WzBdKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9udGggPSBOdW1iZXIoZGF0ZVRleHRbMV0pIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF5ID0gTnVtYmVyKGRhdGVUZXh0WzJdKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0VmFsID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSwgMCwgcmV0VmFsLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAtMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXRWYWwgPSBuZXcgRGF0ZShcbiAgICAgICAgICAgICAgICAgICAgcmV0VmFsLmdldEZ1bGxZZWFyKCksIHJldFZhbC5nZXRNb250aCgpLCByZXRWYWwuZ2V0RGF0ZSgpLCByZXRWYWwuZ2V0SG91cnMoKSxcbiAgICAgICAgICAgICAgICAgICAgcmV0VmFsLmdldE1pbnV0ZXMoKSArIHJldFZhbC5nZXRUaW1lem9uZU9mZnNldCgpICogLTEsIHJldFZhbC5nZXRTZWNvbmRzKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXRWYWwgJiYgaXNOYU4ocmV0VmFsLmdldFRpbWUoKSkpIHtcbiAgICAgICAgICAgIHJldFZhbCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJldFZhbDtcbiAgICB9XG5cbiAgICBzdHJpbmdpZnlEYXRlKGRhdGU6IERhdGUsIHNob3dUaW1lID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgaWYgKHNob3dUaW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTsgLy8gaW5jbHVkZSAtIG9mZnNldFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlVGV4dCA9IFtdO1xuICAgICAgICAgICAgICAgIGRhdGVUZXh0LnB1c2goXG4gICAgICAgICAgICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICAgICAgICAgICAgJy0nLFxuICAgICAgICAgICAgICAgICAgICBkYXRlLmdldE1vbnRoKCkgKyAxLFxuICAgICAgICAgICAgICAgICAgICAnLScsXG4gICAgICAgICAgICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZVRleHQuam9pbignJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1ZhbHVlSHRtbCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCByZXMgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgUkVHRVhQID0gLzxcXC8/W2Etel1bXFxzXFxTXSo+L2k7XG4gICAgICAgIHJlcyA9IFJFR0VYUC50ZXN0KHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIGlzSnNvblN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgSlNPTi5wYXJzZShzdHIpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZ2V0U3ZnRWxlbWVudEZyb21TdHJpbmcoZG9jdW1lbnQsIHN2Z0NvbnRlbnQ6IHN0cmluZyk6IFNWR0VsZW1lbnQge1xuICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdESVYnKTtcbiAgICAgICAgLy8gZGl2LmNsYXNzTmFtZSA9ICdzdmctaWNvbic7XG4gICAgICAgIC8vIEFkZCBjbGFzcyBzdmctaWNvblxuICAgICAgICBpZiAoc3ZnQ29udGVudD8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZGl2LmlubmVySFRNTCA9IHN2Z0NvbnRlbnQucmVwbGFjZSgnPHN2ZyAnLCAnPHN2ZyBjbGFzcz1cInN2Zy1pY29uXCIgJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGRpdi5xdWVyeVNlbGVjdG9yKCdzdmcnKSB8fFxuICAgICAgICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdwYXRoJylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBmb3JtYXRQZXJjZW50KHZhbHVlOiBhbnksIGRpZ2l0c0luZm8gPSAnMS4wLTInKSB7XG4gICAgZm9ybWF0UGVyY2VudCh2YWx1ZTogYW55LCBtaW5GcmFjdGlvbkRpZ2l0cyA9IDAsIG1heEZyYWN0aW9uRGlnaXRzID0gMikge1xuICAgICAgICBtaW5GcmFjdGlvbkRpZ2l0cyA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkobWluRnJhY3Rpb25EaWdpdHMsIG51bGwpO1xuICAgICAgICBtYXhGcmFjdGlvbkRpZ2l0cyA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkobWF4RnJhY3Rpb25EaWdpdHMsIG51bGwpO1xuXG4gICAgICAgIGNvbnN0IG51bWJlciA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIGlmIChudW1iZXIgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCUnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gcmV0dXJuIGZvcm1hdFBlcmNlbnQobnVtYmVyIC8gMTAwLCB0aGlzLmN1bHR1cmUsIGRpZ2l0c0luZm8pO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmN1bHR1cmUsIHsgXG4gICAgICAgICAgICAgICAgc3R5bGU6ICdwZXJjZW50JyxcbiAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG1pbkZyYWN0aW9uRGlnaXRzIHx8IDAsXG4gICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBtYXhGcmFjdGlvbkRpZ2l0cyB8fCBNYXRoLm1heCgyLCBtaW5GcmFjdGlvbkRpZ2l0cyksXG4gICAgICAgICAgICB9KS5mb3JtYXQobnVtYmVyIC8gMTAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGZvcm1hdEN1cnJlbmN5KHZhbHVlOiBhbnksIGN1cnJlbmN5U2lnbiA9ICcnLCBkaWdpdHNJbmZvID0gJzEuMi0yJykge1xuICAgIGZvcm1hdEN1cnJlbmN5KHZhbHVlOiBhbnksIGN1cnJlbmN5U2lnbiA9ICcnLCBtaW5GcmFjdGlvbkRpZ2l0cyA9IDAsIG1heEZyYWN0aW9uRGlnaXRzID0gMikge1xuICAgICAgICBtaW5GcmFjdGlvbkRpZ2l0cyA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkobWluRnJhY3Rpb25EaWdpdHMsIG51bGwpO1xuICAgICAgICBtYXhGcmFjdGlvbkRpZ2l0cyA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkobWF4RnJhY3Rpb25EaWdpdHMsIG51bGwpO1xuXG4gICAgICAgIGxldCByZXMgPSAnJztcbiAgICAgICAgY29uc3QgbnVtYmVyID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHN0eWxlT3B0aW9ucyA9IHsgXG4gICAgICAgICAgICAvLyBzdHlsZTogJ2N1cnJlbmN5JyxcbiAgICAgICAgICAgIC8vIGN1cnJlbmN5U2lnbjogY3VycmVuY3lTaWduLFxuICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBtaW5GcmFjdGlvbkRpZ2l0cyB8fCAwLFxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBtYXhGcmFjdGlvbkRpZ2l0cyB8fCBNYXRoLm1heCgyLCBtaW5GcmFjdGlvbkRpZ2l0cyksXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG51bWJlciA9PT0gMCkge1xuICAgICAgICAgICAgLy8gcmV0dXJuIGZvcm1hdEN1cnJlbmN5KDAsIHRoaXMuY3VsdHVyZSwgY3VycmVuY3lTaWduLCB1bmRlZmluZWQsIGRpZ2l0c0luZm8pO1xuICAgICAgICAgICAgcmVzID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY3VsdHVyZSwgc3R5bGVPcHRpb25zKS5mb3JtYXQoMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyByZXR1cm4gZm9ybWF0Q3VycmVuY3kodmFsdWUsIHRoaXMuY3VsdHVyZSwgY3VycmVuY3lTaWduLCB1bmRlZmluZWQsIGRpZ2l0c0luZm8pO1xuICAgICAgICAgICAgcmVzID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY3VsdHVyZSwgc3R5bGVPcHRpb25zKS5mb3JtYXQobnVtYmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlcyA9IHRoaXMuaXNDdXJyZW5jeVNob3VsZEJlT25SaWdodChjdXJyZW5jeVNpZ24pID8gYCR7cmVzfSAke2N1cnJlbmN5U2lnbn1gIDogYCR7Y3VycmVuY3lTaWdufSAke3Jlc31gXG4gICAgICAgIFxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbiAgICBcbiAgICAvLyBmb3JtYXREZWNpbWFsKHZhbHVlOiBhbnksIGRpZ2l0c0luZm8gPSAnMS4yLTInKSB7XG4gICAgZm9ybWF0RGVjaW1hbCh2YWx1ZTogYW55LCBtaW5GcmFjdGlvbkRpZ2l0cyA9IDIsIG1heEZyYWN0aW9uRGlnaXRzID0gMikge1xuICAgICAgICBtaW5GcmFjdGlvbkRpZ2l0cyA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkobWluRnJhY3Rpb25EaWdpdHMsIG51bGwpO1xuICAgICAgICBtYXhGcmFjdGlvbkRpZ2l0cyA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkobWF4RnJhY3Rpb25EaWdpdHMsIG51bGwpO1xuICAgICAgICBjb25zdCBudW1iZXIgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcblxuICAgICAgICBpZiAobnVtYmVyID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJzAnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gcmV0dXJuIGZvcm1hdE51bWJlcih2YWx1ZSwgdGhpcy5jdWx0dXJlLCBkaWdpdHNJbmZvKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jdWx0dXJlLCB7IFxuICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogbWluRnJhY3Rpb25EaWdpdHMgfHwgTWF0aC5taW4oMiwgbWF4RnJhY3Rpb25EaWdpdHMpLFxuICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogbWF4RnJhY3Rpb25EaWdpdHMgfHwgTWF0aC5tYXgoMiwgbWluRnJhY3Rpb25EaWdpdHMpLFxuICAgICAgICAgICAgfSkuZm9ybWF0KG51bWJlcilcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyBmb3JtYXROdW1iZXIodmFsdWU6IGFueSwgZGlnaXRzSW5mbyA9ICcxLjAtMCcpOiBzdHJpbmcge1xuICAgIGZvcm1hdE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbnVtYmVyID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKG51bWJlciA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcwJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHJldHVybiBmb3JtYXROdW1iZXIodmFsdWUsIHRoaXMuY3VsdHVyZSwgZGlnaXRzSW5mbyk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY3VsdHVyZSwgeyBcbiAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgICAgICAgICAgfSkuZm9ybWF0KG51bWJlcilcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvKipcbiAgICAgKiBDb252ZXJ0IGEgbnVtYmVyIGluIG1pbGxpc2Vjb25kcyB0byBhIHN0YW5kYXJkIGR1cmF0aW9uIHN0cmluZy5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWUgLSBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHNcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucyAtIGZvcm1hdER1cmF0aW9uIG9wdGlvbnMgb2JqZWN0XG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5sZWFkaW5nPWZhbHNlXSAtIGFkZCBsZWFkaW5nIHplcm9cbiAgICAgKiBAcmV0dXJucyBzdHJpbmcgLSBmb3JtYXR0ZWQgZHVyYXRpb24gc3RyaW5nXG4gICAgKi9cbiAgICBmb3JtYXREdXJhdGlvbih2YWx1ZSwgb3B0aW9uczogeyBsZWFkaW5nPzogYm9vbGVhbiwgZHVyYXRpb24/OiAnbWlsbGlzZWNvbmRzJyB8ICdzZWNvbmRzJyB9ID0ge30pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpc051bWJlciA9IF9pc051bWJlclZhbHVlKHZhbHVlKTtcblxuICAgICAgICBpZiAoIWlzTnVtYmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgbnVtYmVyID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgXG4gICAgICAgICAgICBjb25zdCBsZWFkaW5nID0gb3B0aW9ucz8ubGVhZGluZyB8fCB0cnVlO1xuICAgICAgICAgICAgY29uc3QgZHVyYXRpb24gPSBvcHRpb25zPy5kdXJhdGlvbiB8fCAnbWlsbGlzZWNvbmRzJztcbiAgICAgICAgICAgIGlmIChkdXJhdGlvbiA9PT0gJ3NlY29uZHMnKSB7XG4gICAgICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyICogMTAwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdW5zaWduZWRNcyA9IG51bWJlciA8IDAgPyAtbnVtYmVyIDogbnVtYmVyO1xuICAgICAgICAgICAgY29uc3Qgc2lnbiA9IG51bWJlciA8PSAtMTAwMCA/ICctJyA6ICcnO1xuICAgICAgICAgICAgY29uc3QgdCA9IHRoaXMucGFyc2VNcyh1bnNpZ25lZE1zKTtcbiAgICAgICAgICAgIGNvbnN0IHNlY29uZHMgPSB0aGlzLmFkZFplcm8odC5zZWNvbmRzKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKHQuZGF5cykge1xuICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgdC5kYXlzICsgJzonICsgdGhpcy5hZGRaZXJvKHQuaG91cnMpICsgJzonICsgdGhpcy5hZGRaZXJvKHQubWludXRlcykgKyAnOicgKyBzZWNvbmRzXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0LmhvdXJzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNpZ24gKyAobGVhZGluZyA/IHRoaXMuYWRkWmVybyh0LmhvdXJzKSA6IHQuaG91cnMpICsgJzonICsgdGhpcy5hZGRaZXJvKHQubWludXRlcykgKyAnOicgKyBzZWNvbmRzXG4gICAgICAgICAgICB9IFxuXG4gICAgICAgICAgICByZXR1cm4gc2lnbiArIChsZWFkaW5nID8gdGhpcy5hZGRaZXJvKHQubWludXRlcykgOiB0Lm1pbnV0ZXMpICsgJzonICsgc2Vjb25kc1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5jcmVtZW50TnVtYmVyKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgbnVtYmVyVmFsdWUgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV3TnVtYmVyID0gdGhpcy5jaGFuZ2VEZWNpbWFsU2VwZXJhdG9yKFxuICAgICAgICAgICAgKCsrbnVtYmVyVmFsdWUpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG5ld051bWJlcjtcbiAgICB9XG5cbiAgICBkZWNyZW1lbnROdW1iZXIodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBudW1iZXJWYWx1ZSA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBjb25zdCBuZXdOdW1iZXIgPSB0aGlzLmNoYW5nZURlY2ltYWxTZXBlcmF0b3IoXG4gICAgICAgICAgICAoLS1udW1iZXJWYWx1ZSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbmV3TnVtYmVyO1xuICAgIH1cblxuICAgIGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlOiBhbnksIGZhbGxiYWNrVmFsdWUgPSAwKTogbnVtYmVyIHtcbiAgICAgICAgLy8gSWYgdGhlIGRlY2ltYWwgc2VwYXJhdG9yIGlzICcsJyBjaGFuZ2UgaXQgdG8gJy4nXG4gICAgICAgIGlmICh2YWx1ZT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmNoYW5nZURlY2ltYWxTZXBlcmF0b3IodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCBmYWxsYmFja1ZhbHVlKTtcbiAgICB9XG59XG4iXX0=
@@ -23,10 +23,10 @@ export class PepPageLayoutComponent {
23
23
  }
24
24
  }
25
25
  PepPageLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepPageLayoutComponent, deps: [{ token: i1.PepCustomizationService }, { token: i1.PepLayoutService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
26
- PepPageLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepPageLayoutComponent, selector: "pep-page-layout", inputs: { addPadding: "addPadding", showShadow: "showShadow" }, ngImport: i0, template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
26
+ PepPageLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepPageLayoutComponent, selector: "pep-page-layout", inputs: { addPadding: "addPadding", showShadow: "showShadow" }, ngImport: i0, template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow [pep-side-area],:host.pep-page-layout .pep-page-side-layout.show-shadow pep-side-bar{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow [pep-side-area-end],:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow pep-side-bar[position=end]{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepPageLayoutComponent, decorators: [{
28
28
  type: Component,
29
- args: [{ selector: 'pep-page-layout', template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"] }]
29
+ args: [{ selector: 'pep-page-layout', template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow [pep-side-area],:host.pep-page-layout .pep-page-side-layout.show-shadow pep-side-bar{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow [pep-side-area-end],:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow pep-side-bar[position=end]{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"] }]
30
30
  }], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i1.PepLayoutService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { addPadding: [{
31
31
  type: Input
32
32
  }], showShadow: [{
@@ -27,10 +27,10 @@ class PepPageLayoutComponent {
27
27
  }
28
28
  }
29
29
  PepPageLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepPageLayoutComponent, deps: [{ token: i1.PepCustomizationService }, { token: i1.PepLayoutService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
30
- PepPageLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepPageLayoutComponent, selector: "pep-page-layout", inputs: { addPadding: "addPadding", showShadow: "showShadow" }, ngImport: i0, template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
30
+ PepPageLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepPageLayoutComponent, selector: "pep-page-layout", inputs: { addPadding: "addPadding", showShadow: "showShadow" }, ngImport: i0, template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow [pep-side-area],:host.pep-page-layout .pep-page-side-layout.show-shadow pep-side-bar{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow [pep-side-area-end],:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow pep-side-bar[position=end]{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepPageLayoutComponent, decorators: [{
32
32
  type: Component,
33
- args: [{ selector: 'pep-page-layout', template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"] }]
33
+ args: [{ selector: 'pep-page-layout', template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow [pep-side-area],:host.pep-page-layout .pep-page-side-layout.show-shadow pep-side-bar{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow [pep-side-area-end],:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow pep-side-bar[position=end]{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"] }]
34
34
  }], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i1.PepLayoutService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { addPadding: [{
35
35
  type: Input
36
36
  }], showShadow: [{
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-page-layout.mjs","sources":["../../../projects/ngx-lib/page-layout/page-layout.component.ts","../../../projects/ngx-lib/page-layout/page-layout.component.html","../../../projects/ngx-lib/page-layout/page-layout.module.ts","../../../projects/ngx-lib/page-layout/public-api.ts","../../../projects/ngx-lib/page-layout/pepperi-addons-ngx-lib-page-layout.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ElementRef,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n PepCustomizationService,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-page-layout',\n templateUrl: './page-layout.component.html',\n styleUrls: ['./page-layout.component.scss', './page-layout.component.theme.scss'],\n})\nexport class PepPageLayoutComponent implements AfterViewInit, AfterContentInit {\n @Input() addPadding = false;\n @Input() showShadow = false;\n \n screenSize: PepScreenSizeType;\n\n constructor(\n public customizationService: PepCustomizationService,\n public layoutService: PepLayoutService,\n private cdRef: ChangeDetectorRef,\n private hostElement: ElementRef,\n private renderer: Renderer2,\n ) {\n this.renderer.addClass(this.hostElement.nativeElement, 'pep-page-layout');\n }\n\n ngAfterViewInit(): void {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n });\n\n }\n\n ngAfterContentInit() {\n //\n }\n\n}\n","<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\n\nimport { PepPageLayoutComponent } from './page-layout.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n // ngx-lib modules\n PepNgxLibModule,\n ],\n exports: [PepPageLayoutComponent],\n declarations: [PepPageLayoutComponent],\n})\nexport class PepPageLayoutModule { }\n","/*\n * Public API Surface of ngx-lib/page-layout\n */\nexport * from './page-layout.module';\nexport * from './page-layout.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-lib-page-layout.mjs","sources":["../../../projects/ngx-lib/page-layout/page-layout.component.ts","../../../projects/ngx-lib/page-layout/page-layout.component.html","../../../projects/ngx-lib/page-layout/page-layout.module.ts","../../../projects/ngx-lib/page-layout/public-api.ts","../../../projects/ngx-lib/page-layout/pepperi-addons-ngx-lib-page-layout.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ElementRef,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n PepCustomizationService,\n PepLayoutService,\n PepScreenSizeType,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n selector: 'pep-page-layout',\n templateUrl: './page-layout.component.html',\n styleUrls: ['./page-layout.component.scss', './page-layout.component.theme.scss'],\n})\nexport class PepPageLayoutComponent implements AfterViewInit, AfterContentInit {\n @Input() addPadding = false;\n @Input() showShadow = false;\n \n screenSize: PepScreenSizeType;\n\n constructor(\n public customizationService: PepCustomizationService,\n public layoutService: PepLayoutService,\n private cdRef: ChangeDetectorRef,\n private hostElement: ElementRef,\n private renderer: Renderer2,\n ) {\n this.renderer.addClass(this.hostElement.nativeElement, 'pep-page-layout');\n }\n\n ngAfterViewInit(): void {\n this.layoutService.onResize$.subscribe((size: PepScreenSizeType) => {\n this.screenSize = size;\n });\n\n }\n\n ngAfterContentInit() {\n //\n }\n\n}\n","<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCommonModule } from '@angular/material/core';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\n\nimport { PepPageLayoutComponent } from './page-layout.component';\n\n@NgModule({\n imports: [\n CommonModule,\n // Material modules,\n MatCommonModule,\n // ngx-lib modules\n PepNgxLibModule,\n ],\n exports: [PepPageLayoutComponent],\n declarations: [PepPageLayoutComponent],\n})\nexport class PepPageLayoutModule { }\n","/*\n * Public API Surface of ngx-lib/page-layout\n */\nexport * from './page-layout.module';\nexport * from './page-layout.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -809,7 +809,9 @@ class PepUtilitiesService {
809
809
  const div = document.createElement('DIV');
810
810
  // div.className = 'svg-icon';
811
811
  // Add class svg-icon
812
- div.innerHTML = svgContent.replace('<svg ', '<svg class="svg-icon" ');
812
+ if ((svgContent === null || svgContent === void 0 ? void 0 : svgContent.length) > 0) {
813
+ div.innerHTML = svgContent.replace('<svg ', '<svg class="svg-icon" ');
814
+ }
813
815
  return (div.querySelector('svg') ||
814
816
  document.createElementNS('http://www.w3.org/2000/svg', 'path'));
815
817
  }
@@ -2470,6 +2472,13 @@ class PepAddonService {
2470
2472
  getPagesAddonUUID() {
2471
2473
  return this.PAGES_ADDON_UUID;
2472
2474
  }
2475
+ setShellRouterData(data) {
2476
+ const eventData = {
2477
+ detail: data,
2478
+ };
2479
+ const customEvent = new CustomEvent('set-router-data', eventData);
2480
+ window.dispatchEvent(customEvent);
2481
+ }
2473
2482
  // // Deprecated need to delete in next major.
2474
2483
  // public static createDefaultMultiTranslateLoader(
2475
2484
  // http: HttpClient,