@posiwise/resource-module 0.0.135 → 0.0.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/esm2022/lib/public/components/base/base-resource.component.mjs +127 -0
  2. package/esm2022/lib/public/components/base/base-top-banner.component.mjs +69 -0
  3. package/esm2022/lib/public/components/reslease-note-card/release-note-card.component.mjs +9 -9
  4. package/esm2022/lib/public/components/resource-blogs/resource-blog-top-banner/resource-blog-top-banner.component.mjs +10 -51
  5. package/esm2022/lib/public/components/resource-blogs/resource-blog.component.mjs +10 -45
  6. package/esm2022/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.mjs +9 -9
  7. package/esm2022/lib/public/components/resource-case-studies/resource-case-studies.component.mjs +16 -66
  8. package/esm2022/lib/public/components/resource-company-card/resource-company-card.component.mjs +15 -13
  9. package/esm2022/lib/public/components/resource-edit-card/resource-edit-card.component.mjs +15 -15
  10. package/esm2022/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.mjs +10 -52
  11. package/esm2022/lib/public/components/resource-integration/resource-integration.component.mjs +10 -9
  12. package/esm2022/lib/public/components/resource-post/related-resources/related-resources.component.mjs +7 -7
  13. package/esm2022/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.mjs +9 -9
  14. package/esm2022/lib/public/components/resource-post/resource-post-details/resource-post-details.component.mjs +8 -7
  15. package/esm2022/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.mjs +10 -51
  16. package/esm2022/lib/public/components/resource-release-notes/resource-release-notes.component.mjs +14 -17
  17. package/esm2022/lib/public/components/resource-top-banner-edit/resource-top-banner-edit.component.mjs +16 -16
  18. package/esm2022/lib/public/components/resource-vault/resource-vault.component.mjs +14 -28
  19. package/esm2022/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.mjs +9 -9
  20. package/esm2022/lib/public/components/resource-videos/resource-videos-top-banner/resource-videos-top-banner.component.mjs +10 -51
  21. package/esm2022/lib/public/components/resource-videos/resource-videos.component.mjs +10 -45
  22. package/esm2022/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.mjs +7 -7
  23. package/esm2022/lib/public/components/resource-webinars/resource-webinars.component.mjs +7 -7
  24. package/esm2022/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.mjs +9 -9
  25. package/esm2022/lib/public/components/resources/resource-tags/resource-tags.component.mjs +9 -9
  26. package/esm2022/lib/public/components/resources/vault-section/vault-section.component.mjs +20 -18
  27. package/esm2022/lib/public/components/resources-hub/resources-hub.component.mjs +9 -9
  28. package/esm2022/lib/public/components/resources-read/resources-read.component.mjs +7 -7
  29. package/esm2022/lib/public/components/white-papers/white-papers-top-banner/white-papers-top-banner.component.mjs +10 -51
  30. package/esm2022/lib/public/components/white-papers/white-papers.component.mjs +10 -45
  31. package/fesm2022/posiwise-resource-module.mjs +418 -584
  32. package/fesm2022/posiwise-resource-module.mjs.map +1 -1
  33. package/lib/public/components/base/base-resource.component.d.ts +39 -0
  34. package/lib/public/components/base/base-top-banner.component.d.ts +30 -0
  35. package/lib/public/components/reslease-note-card/release-note-card.component.d.ts +3 -2
  36. package/lib/public/components/resource-blogs/resource-blog-top-banner/resource-blog-top-banner.component.d.ts +6 -21
  37. package/lib/public/components/resource-blogs/resource-blog.component.d.ts +6 -16
  38. package/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.d.ts +3 -2
  39. package/lib/public/components/resource-case-studies/resource-case-studies.component.d.ts +9 -23
  40. package/lib/public/components/resource-company-card/resource-company-card.component.d.ts +4 -2
  41. package/lib/public/components/resource-edit-card/resource-edit-card.component.d.ts +7 -6
  42. package/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.d.ts +6 -22
  43. package/lib/public/components/resource-integration/resource-integration.component.d.ts +3 -2
  44. package/lib/public/components/resource-post/related-resources/related-resources.component.d.ts +3 -2
  45. package/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.d.ts +3 -2
  46. package/lib/public/components/resource-post/resource-post-details/resource-post-details.component.d.ts +3 -2
  47. package/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.d.ts +6 -21
  48. package/lib/public/components/resource-release-notes/resource-release-notes.component.d.ts +3 -4
  49. package/lib/public/components/resource-top-banner-edit/resource-top-banner-edit.component.d.ts +6 -5
  50. package/lib/public/components/resource-vault/resource-vault.component.d.ts +6 -14
  51. package/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.d.ts +3 -2
  52. package/lib/public/components/resource-videos/resource-videos-top-banner/resource-videos-top-banner.component.d.ts +6 -21
  53. package/lib/public/components/resource-videos/resource-videos.component.d.ts +6 -16
  54. package/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.d.ts +3 -2
  55. package/lib/public/components/resource-webinars/resource-webinars.component.d.ts +3 -2
  56. package/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.d.ts +3 -2
  57. package/lib/public/components/resources/resource-tags/resource-tags.component.d.ts +3 -2
  58. package/lib/public/components/resources/vault-section/vault-section.component.d.ts +3 -1
  59. package/lib/public/components/resources-hub/resources-hub.component.d.ts +3 -2
  60. package/lib/public/components/resources-read/resources-read.component.d.ts +3 -2
  61. package/lib/public/components/white-papers/white-papers-top-banner/white-papers-top-banner.component.d.ts +6 -21
  62. package/lib/public/components/white-papers/white-papers.component.d.ts +6 -16
  63. package/package.json +1 -1
@@ -1,8 +1,7 @@
1
1
  import { Component, Injector, ViewEncapsulation } from '@angular/core';
2
2
  import { DomSanitizer } from '@angular/platform-browser';
3
3
  import { AppBaseComponent } from '@posiwise/app-base-component';
4
- import { CustomToastService } from '@posiwise/common-services';
5
- import { TOKEN_KEY } from '@posiwise/common-utilities';
4
+ import { AuthService, CustomToastService } from '@posiwise/common-services';
6
5
  import { HelperService } from '@posiwise/helper-service';
7
6
  import { ResourceService } from '../../../resource.service';
8
7
  import { ResourceBlog } from '../../../shared/models/resource.model';
@@ -18,10 +17,11 @@ import * as i8 from "ngx-sharebuttons/buttons";
18
17
  import * as i9 from "@posiwise/directives";
19
18
  import * as i10 from "@jsverse/transloco";
20
19
  export class ResourceReadComponent extends AppBaseComponent {
21
- constructor(resourceService, toastr, injector, sanitizer) {
20
+ constructor(resourceService, toastr, authService, injector, sanitizer) {
22
21
  super(injector);
23
22
  this.resourceService = resourceService;
24
23
  this.toastr = toastr;
24
+ this.authService = authService;
25
25
  this.sanitizer = sanitizer;
26
26
  this.recentPosts = [];
27
27
  this.postComments = [];
@@ -35,7 +35,7 @@ export class ResourceReadComponent extends AppBaseComponent {
35
35
  this.slug = params['slug'] ?? '';
36
36
  this.getBlogItem(this.slug);
37
37
  });
38
- this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
38
+ this.authService.getToken$().subscribe(res => {
39
39
  this.userLoggedIn = !!res;
40
40
  if (this.userLoggedIn) {
41
41
  this.userService.getUserInfo().subscribe(data => {
@@ -115,11 +115,11 @@ export class ResourceReadComponent extends AppBaseComponent {
115
115
  ngOnDestroy() {
116
116
  super.ngOnDestroy();
117
117
  }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceReadComponent, deps: [{ token: i1.ResourceService }, { token: i2.CustomToastService }, { token: i0.Injector }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceReadComponent, deps: [{ token: i1.ResourceService }, { token: i2.CustomToastService }, { token: i2.AuthService }, { token: i0.Injector }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
119
119
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceReadComponent, selector: "pw-post-read", usesInheritance: true, ngImport: i0, template: "<pw-header/>\n<div class=\"read-post mt-5 pt-5\">\n <div class=\"show-blog\">\n <div class=\"row\">\n <!-- content -->\n <div class=\"col-12\">\n <ul class=\"d-flex align-items-center mb-4 position-relative\">\n <li>\n <a href=\"javascript:void(0);\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post?.author?.avatar\"\n [src]=\"post?.author?.avatar[0].url\"\n alt=\"author\" />\n <img *ngIf=\"!post?.author?.avatar\"\n height=\"45\"\n width=\"45\"\n src=\"/assets/img/icons/male.png\"\n alt=\"author\" /></a>\n </div>\n </a>\n </li>\n <li>\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post?.author?.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n </li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">{{\n post?.author.published_at\n }}</a>\n </li>\n <li>.</li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">\n {{ readingTime(post?.body) }}\n </a>\n </li>\n <li class=\"social-media\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n id=\"dropdownMenuLink2\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink2\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n </ul>\n <h2 class=\"mb-3\">{{ post?.title }}</h2>\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n\n <ul class=\"bottom-social-icons d-flex justify-content-between mt-5 border-top border-bottom py-3\">\n <li class=\"social-media-blog-page\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n id=\"dropdownMenuLink\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n <li>\n <ul>\n <li *ngFor=\"let tag of post?.tags; trackBy: trackByTagId\"\n (keydown.enter)=\"tagPost(tag)\"\n (click)=\"tagPost(tag)\">\n {{ tag.name }}\n </li>\n </ul>\n </li>\n </ul>\n <ul class=\"d-flex justify-content-between mt-3 views\">\n <li>\n <span>{{ post?.view || 0 }} views</span>\n </li>\n <li><i class=\"far fa-heart\" aria-hidden=\"true\"></i></li>\n </ul>\n </div>\n <!--content end -->\n </div>\n <!-- modal for share buttons -->\n <div class=\"modal fade\"\n id=\"exampleModal\"\n tabindex=\"-1\"\n aria-labelledby=\"exampleModalLabel\">\n <div class=\"modal-dialog modal-dialog-centered\" >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\"\n id=\"exampleModalLabel\">Share the post</h5>\n <button type=\"button\"\n class=\"btn-close float-end\"\n data-dismiss=\"modal\"\n aria-label=\"Close\">\n <span>&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <share-buttons theme=\"material-dark\"\n show=\"7\"></share-buttons>\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\">\n Close\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- recent posts -->\n <div class=\"related-posts mt-5\">\n <ul class=\"d-flex justify-content-between\">\n <li>\n <h5>Recent Resources</h5>\n </li>\n <li><a [routerLink]=\"['/resources/view']\">See All</a></li>\n </ul>\n <div class=\"row mt-4\">\n <div class=\"col-sm-6 col-md-6 col-lg-4 col-xs-12 mb-2\"\n *ngFor=\"let recentPost of recentPosts; trackBy: trackByRecentPost\">\n <div class=\"recent-post\"\n [routerLink]=\"['/resources/view', recentPost.slug]\">\n <div class=\"blog-image\">\n <img [src]=\"recentPost.picture.url\"\n alt=\"Resource\" />\n </div>\n <h5 class=\"pt-4 blog-title ps-3 pe-3\">{{ recentPost?.title }}</h5>\n <div class=\"blog-view pt-3 ps-3 pe-3\">\n <p>{{ recentPost.view !== null ? recentPost.view : '0' }} View</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row mt-5 mb-4\">\n <div class=\"col-12\">\n <form class=\"comments-sec\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n *ngIf=\"userLoggedIn; else userLoggedOut\">\n <div class=\"col-12 pt-4\">\n <!-- Comment Massage -->\n <pw-input-container label=\"Write a response\"\n name=\"comment\"\n errorMsg=\"Please enter comment\">\n <textarea type=\"text\"\n class=\"form-control\"\n formControlName=\"comment\"></textarea>\n </pw-input-container>\n\n <div class=\"text-end mt-4\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n <ng-template #userLoggedOut>\n <p class=\"text-center pt-3 pb-3 user-not-logged-in\">\n <a [routerLink]=\"['/login']\">Log in</a>\n to leave a comment!\n </p>\n </ng-template>\n </div>\n </div>\n <div class=\"row mt-5 mb-5\">\n <div class=\"col-12\"\n *ngFor=\"let comment of postComments; trackBy: trackByComment\">\n <div class=\"comment-post mt-2\">\n <img *ngIf=\"comment?.user?.avatar\"\n [src]=\"comment.user?.avatar[0]?.url\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\" />\n <img *ngIf=\"!comment?.user?.avatar\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n src=\"assets/img/icons/male.png\" />\n <small>{{ comment.user?.first_name ? comment.user?.first_name : '' }}\n {{ comment.user?.last_name ? comment.user?.last_name : '' }}\n </small>\n <p>{{ comment.comment }}</p>\n <p class=\"text-end comment-date\">{{ comment.created_at | date: 'dd/MM/yyyy' }}</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.show-blog,.recent-post{border:1px solid rgb(238,238,238)}.recent-post .blog-image{height:250px;min-height:250px}.recent-post .blog-image img{height:100%;width:100%}.recent-post .blog-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:300px}.recent-post .blog-view{border-top:1px solid rgb(238,238,238)}body{background:#fff}form.comments-sec{background-color:#f7f7f7;border:1px solid rgb(238,238,238)}form.comments-sec .no-padding{padding:0}form.comments-sec button{font-size:16px;margin-bottom:20px;margin-right:20px;padding:10px 25px;text-transform:uppercase}form.comments-sec label{background-color:#eee;color:gray;display:inline-block;margin:0;padding:15px;width:100%}form.comments-sec .mb-3{margin:0;padding:20px}form.comments-sec .mb-3 textarea{border:1px solid rgb(238,238,238);height:150px}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:#4444bc!important}.comment-post{background:#f7f7f7;border:1px solid rgb(238,238,238);padding:20px}.comment-post .comment-date{color:#777;font-size:14px;font-style:italic;margin:0}share-buttons{background-color:#eee;margin-bottom:10px}.read-post{margin:0 auto 20px;max-width:940px;padding-top:20px}.read-post .show-blog{padding:5rem 5rem 3rem}.read-post .show-blog ul li{display:inline-block;padding-right:10px}.read-post .show-blog ul li a{font:13px/1 Roboto,sans-serif}.read-post .show-blog ul li a .avatar-image{border-radius:50px;height:50px;overflow:hidden;width:50px}.read-post .show-blog ul li a .avatar-image i{color:#000}.read-post .show-blog ul li a .avatar-image i,.read-post .show-blog ul li a .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.read-post .show-blog ul li p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.read-post .show-blog ul li p.name:hover{color:#0045c7}.read-post .show-blog ul li p.name i{color:#000}.read-post .show-blog ul.views li:nth-child(2) i{color:#e84a43;font-size:14px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li{padding-right:35px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li i{color:#000}.read-post .show-blog ul.bottom-social-icons li:nth-child(2){padding:0}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li{padding-left:30px}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li a{color:#000}.read-post .show-blog .social-media{position:absolute;right:0;top:50%;transform:translateY(-50%)}.read-post .show-blog .social-media .share-post{flex-grow:3;position:relative;text-align:right}.read-post .show-blog .social-media .share-post i{color:var(--first)}.read-post .show-blog .social-media .share-post .dropdown-menu{border:0 none;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.read-post .show-blog .body p img{max-width:100%}.social-media-blog-page a{color:#000}@media only screen and (width <= 1024px){.read-post{padding:1rem}.read-post .show-blog{padding:.5rem}.read-post .show-blog h2{font-size:30px}}@media only screen and (width <= 767px){.read-post,.read-post .show-blog{padding:.5rem}.read-post .show-blog ul{flex-wrap:wrap}.read-post .show-blog ul.bottom-social-icons li{width:100%}.read-post .show-blog ul.bottom-social-icons li ul{display:flex;justify-content:space-around;margin:10px 0}.read-post .show-blog ul.bottom-social-icons li ul li{padding:0!important;text-align:center;width:33.333%}.read-post .show-blog ul li{font:12px/1 Roboto,sans-serif;padding-right:5px}.read-post .show-blog ul li a{font:11px/1 Roboto,sans-serif}.read-post .show-blog ul li p.name{font:12px/1 Roboto,sans-serif}.read-post .show-blog h2{font-size:26px}.read-post .show-blog .body p{font-size:.8rem}}.subscribe-btn{background-color:var(--first);color:#fff}.subscribe-btn:hover{background-color:#fff;color:var(--first)}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "component", type: i7.HeaderComponent, selector: "pw-header", inputs: ["landing"] }, { kind: "component", type: i8.ShareButtons, selector: "share-buttons", inputs: ["theme", "include", "exclude", "show", "url", "title", "description", "image", "tags", "redirectUrl", "autoSetMeta", "showIcon", "showText", "disabled"], outputs: ["opened", "closed"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i9.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i9.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i4.DatePipe, name: "date" }, { kind: "pipe", type: i10.TranslocoPipe, name: "transloco" }], encapsulation: i0.ViewEncapsulation.None }); }
120
120
  }
121
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceReadComponent, decorators: [{
122
122
  type: Component,
123
123
  args: [{ selector: 'pw-post-read', encapsulation: ViewEncapsulation.None, template: "<pw-header/>\n<div class=\"read-post mt-5 pt-5\">\n <div class=\"show-blog\">\n <div class=\"row\">\n <!-- content -->\n <div class=\"col-12\">\n <ul class=\"d-flex align-items-center mb-4 position-relative\">\n <li>\n <a href=\"javascript:void(0);\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post?.author?.avatar\"\n [src]=\"post?.author?.avatar[0].url\"\n alt=\"author\" />\n <img *ngIf=\"!post?.author?.avatar\"\n height=\"45\"\n width=\"45\"\n src=\"/assets/img/icons/male.png\"\n alt=\"author\" /></a>\n </div>\n </a>\n </li>\n <li>\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post?.author?.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n </li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">{{\n post?.author.published_at\n }}</a>\n </li>\n <li>.</li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">\n {{ readingTime(post?.body) }}\n </a>\n </li>\n <li class=\"social-media\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n id=\"dropdownMenuLink2\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink2\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n </ul>\n <h2 class=\"mb-3\">{{ post?.title }}</h2>\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n\n <ul class=\"bottom-social-icons d-flex justify-content-between mt-5 border-top border-bottom py-3\">\n <li class=\"social-media-blog-page\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n id=\"dropdownMenuLink\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n <li>\n <ul>\n <li *ngFor=\"let tag of post?.tags; trackBy: trackByTagId\"\n (keydown.enter)=\"tagPost(tag)\"\n (click)=\"tagPost(tag)\">\n {{ tag.name }}\n </li>\n </ul>\n </li>\n </ul>\n <ul class=\"d-flex justify-content-between mt-3 views\">\n <li>\n <span>{{ post?.view || 0 }} views</span>\n </li>\n <li><i class=\"far fa-heart\" aria-hidden=\"true\"></i></li>\n </ul>\n </div>\n <!--content end -->\n </div>\n <!-- modal for share buttons -->\n <div class=\"modal fade\"\n id=\"exampleModal\"\n tabindex=\"-1\"\n aria-labelledby=\"exampleModalLabel\">\n <div class=\"modal-dialog modal-dialog-centered\" >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\"\n id=\"exampleModalLabel\">Share the post</h5>\n <button type=\"button\"\n class=\"btn-close float-end\"\n data-dismiss=\"modal\"\n aria-label=\"Close\">\n <span>&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <share-buttons theme=\"material-dark\"\n show=\"7\"></share-buttons>\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\">\n Close\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- recent posts -->\n <div class=\"related-posts mt-5\">\n <ul class=\"d-flex justify-content-between\">\n <li>\n <h5>Recent Resources</h5>\n </li>\n <li><a [routerLink]=\"['/resources/view']\">See All</a></li>\n </ul>\n <div class=\"row mt-4\">\n <div class=\"col-sm-6 col-md-6 col-lg-4 col-xs-12 mb-2\"\n *ngFor=\"let recentPost of recentPosts; trackBy: trackByRecentPost\">\n <div class=\"recent-post\"\n [routerLink]=\"['/resources/view', recentPost.slug]\">\n <div class=\"blog-image\">\n <img [src]=\"recentPost.picture.url\"\n alt=\"Resource\" />\n </div>\n <h5 class=\"pt-4 blog-title ps-3 pe-3\">{{ recentPost?.title }}</h5>\n <div class=\"blog-view pt-3 ps-3 pe-3\">\n <p>{{ recentPost.view !== null ? recentPost.view : '0' }} View</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row mt-5 mb-4\">\n <div class=\"col-12\">\n <form class=\"comments-sec\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n *ngIf=\"userLoggedIn; else userLoggedOut\">\n <div class=\"col-12 pt-4\">\n <!-- Comment Massage -->\n <pw-input-container label=\"Write a response\"\n name=\"comment\"\n errorMsg=\"Please enter comment\">\n <textarea type=\"text\"\n class=\"form-control\"\n formControlName=\"comment\"></textarea>\n </pw-input-container>\n\n <div class=\"text-end mt-4\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n <ng-template #userLoggedOut>\n <p class=\"text-center pt-3 pb-3 user-not-logged-in\">\n <a [routerLink]=\"['/login']\">Log in</a>\n to leave a comment!\n </p>\n </ng-template>\n </div>\n </div>\n <div class=\"row mt-5 mb-5\">\n <div class=\"col-12\"\n *ngFor=\"let comment of postComments; trackBy: trackByComment\">\n <div class=\"comment-post mt-2\">\n <img *ngIf=\"comment?.user?.avatar\"\n [src]=\"comment.user?.avatar[0]?.url\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\" />\n <img *ngIf=\"!comment?.user?.avatar\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n src=\"assets/img/icons/male.png\" />\n <small>{{ comment.user?.first_name ? comment.user?.first_name : '' }}\n {{ comment.user?.last_name ? comment.user?.last_name : '' }}\n </small>\n <p>{{ comment.comment }}</p>\n <p class=\"text-end comment-date\">{{ comment.created_at | date: 'dd/MM/yyyy' }}</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.show-blog,.recent-post{border:1px solid rgb(238,238,238)}.recent-post .blog-image{height:250px;min-height:250px}.recent-post .blog-image img{height:100%;width:100%}.recent-post .blog-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:300px}.recent-post .blog-view{border-top:1px solid rgb(238,238,238)}body{background:#fff}form.comments-sec{background-color:#f7f7f7;border:1px solid rgb(238,238,238)}form.comments-sec .no-padding{padding:0}form.comments-sec button{font-size:16px;margin-bottom:20px;margin-right:20px;padding:10px 25px;text-transform:uppercase}form.comments-sec label{background-color:#eee;color:gray;display:inline-block;margin:0;padding:15px;width:100%}form.comments-sec .mb-3{margin:0;padding:20px}form.comments-sec .mb-3 textarea{border:1px solid rgb(238,238,238);height:150px}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:#4444bc!important}.comment-post{background:#f7f7f7;border:1px solid rgb(238,238,238);padding:20px}.comment-post .comment-date{color:#777;font-size:14px;font-style:italic;margin:0}share-buttons{background-color:#eee;margin-bottom:10px}.read-post{margin:0 auto 20px;max-width:940px;padding-top:20px}.read-post .show-blog{padding:5rem 5rem 3rem}.read-post .show-blog ul li{display:inline-block;padding-right:10px}.read-post .show-blog ul li a{font:13px/1 Roboto,sans-serif}.read-post .show-blog ul li a .avatar-image{border-radius:50px;height:50px;overflow:hidden;width:50px}.read-post .show-blog ul li a .avatar-image i{color:#000}.read-post .show-blog ul li a .avatar-image i,.read-post .show-blog ul li a .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.read-post .show-blog ul li p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.read-post .show-blog ul li p.name:hover{color:#0045c7}.read-post .show-blog ul li p.name i{color:#000}.read-post .show-blog ul.views li:nth-child(2) i{color:#e84a43;font-size:14px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li{padding-right:35px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li i{color:#000}.read-post .show-blog ul.bottom-social-icons li:nth-child(2){padding:0}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li{padding-left:30px}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li a{color:#000}.read-post .show-blog .social-media{position:absolute;right:0;top:50%;transform:translateY(-50%)}.read-post .show-blog .social-media .share-post{flex-grow:3;position:relative;text-align:right}.read-post .show-blog .social-media .share-post i{color:var(--first)}.read-post .show-blog .social-media .share-post .dropdown-menu{border:0 none;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.read-post .show-blog .body p img{max-width:100%}.social-media-blog-page a{color:#000}@media only screen and (width <= 1024px){.read-post{padding:1rem}.read-post .show-blog{padding:.5rem}.read-post .show-blog h2{font-size:30px}}@media only screen and (width <= 767px){.read-post,.read-post .show-blog{padding:.5rem}.read-post .show-blog ul{flex-wrap:wrap}.read-post .show-blog ul.bottom-social-icons li{width:100%}.read-post .show-blog ul.bottom-social-icons li ul{display:flex;justify-content:space-around;margin:10px 0}.read-post .show-blog ul.bottom-social-icons li ul li{padding:0!important;text-align:center;width:33.333%}.read-post .show-blog ul li{font:12px/1 Roboto,sans-serif;padding-right:5px}.read-post .show-blog ul li a{font:11px/1 Roboto,sans-serif}.read-post .show-blog ul li p.name{font:12px/1 Roboto,sans-serif}.read-post .show-blog h2{font-size:26px}.read-post .show-blog .body p{font-size:.8rem}}.subscribe-btn{background-color:var(--first);color:#fff}.subscribe-btn:hover{background-color:#fff;color:var(--first)}\n"] }]
124
- }], ctorParameters: () => [{ type: i1.ResourceService }, { type: i2.CustomToastService }, { type: i0.Injector }, { type: i3.DomSanitizer }] });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLXJlYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZXMtcmVhZC9yZXNvdXJjZXMtcmVhZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlcy1yZWFkL3Jlc291cmNlcy1yZWFkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUF5QyxTQUFTLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUXJFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFjdkQsWUFDcUIsZUFBZ0MsRUFDaEMsTUFBMEIsRUFDM0MsUUFBa0IsRUFDRCxTQUF1QjtRQUV4QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFMQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFFMUIsY0FBUyxH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QUU7WUFDakQsSUFBSSxRQUFRLENBQUM7WUFDYixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FDMUIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxLQUFLLFdBQVcsRUFBRSxlQUFlLENBQzlELENBQUM7Z0JBRUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNqQyxDQUFDO1lBRUQsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYyxFQUFFLElBQW9CO1FBQzdDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBYyxFQUFFLElBQW9CO1FBQ2xELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWMsRUFBRSxJQUFvQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBN0hRLHFCQUFxQjttR0FBckIscUJBQXFCLDJFQ2xCbEMsMDBSQWdQQTs7NEZEOU5hLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxjQUFjLGlCQUdULGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tVG9hc3RTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWNlbnRQb3N0LCBSZXNvdXJjZSwgUmVzb3VyY2VDb21tZW50LCBUT0tFTl9LRVksIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNvdXJjZUJsb2cgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3Jlc291cmNlLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1wb3N0LXJlYWQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZXNvdXJjZXMtcmVhZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmVzb3VyY2VzLXJlYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlUmVhZENvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcG9zdDogUmVzb3VyY2U7XG4gICAgdXNlcjogVXNlcjtcbiAgICByZWNlbnRQb3N0czogUmVjZW50UG9zdFtdID0gW107XG4gICAgcG9zdENvbW1lbnRzOiBSZXNvdXJjZUNvbW1lbnRbXSA9IFtdO1xuXG4gICAgc2x1Zzogc3RyaW5nO1xuICAgIG1hc3RlclN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBjb21tZW50Rm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICAgIHVzZXJMb2dnZWRJbiA9IGZhbHNlO1xuICAgIGJ1dHRvbkJ1c3kgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0cjogQ3VzdG9tVG9hc3RTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmNvbW1lbnRGb3JtID0gUmVzb3VyY2VCbG9nLmdldFJlc291cmNlUG9zdHNGb3JtKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMubWFzdGVyU3Vic2NyaXB0aW9uSWQgPSB0aGlzLmFwcENvbmZpZy5tYXN0ZXJfc3Vic2NyaXB0aW9uLnN1YnNjcmlwdGlvbl9pZDtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnNsdWcgPSBwYXJhbXNbJ3NsdWcnXSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZ2V0QmxvZ0l0ZW0odGhpcy5zbHVnKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKFRPS0VOX0tFWSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJMb2dnZWRJbiA9ICEhcmVzO1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlckxvZ2dlZEluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5nZXRVc2VySW5mbygpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyID0gZGF0YTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVhZGluZ1RpbWUodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IHRleHQudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIGNvbnN0IHdvcmRzUGVyTWludXRlID0gMjAwO1xuICAgICAgICAgICAgY29uc3Qgbm9PZldvcmRzID0gdGV4dENvbnRlbnQuc3BsaXQoL1xccy9nKS5sZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBtaW51dGVzID0gbm9PZldvcmRzIC8gd29yZHNQZXJNaW51dGU7XG4gICAgICAgICAgICBjb25zdCByZWFkVGltZSA9IE1hdGguY2VpbChtaW51dGVzKTtcblxuICAgICAgICAgICAgcmV0dXJuIGAke3JlYWRUaW1lfSBtaW51dGUgcmVhZGA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgaGFuZGxlSW1hZ2VFcnJvcihldmVudDogRXZlbnQsIGZhbGxiYWNrUGF0aCk6IHZvaWQge1xuICAgICAgICBIZWxwZXJTZXJ2aWNlLmhhbmRsZUltYWdlRmFsbGJhY2tQYXRoKGV2ZW50LCBmYWxsYmFja1BhdGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QmxvZ0l0ZW0oc2x1Zzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFBvc3RCeVNsdWcoc2x1Zykuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIGxldCBibG9nQm9keTtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZT8uYm9keSkge1xuICAgICAgICAgICAgICAgIGJsb2dCb2R5ID0gSGVscGVyU2VydmljZS5zYW5pdGl6ZVF1aWxsQm9keShyZXNwb25zZS5ib2R5LCB0aGlzLnNhbml0aXplcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBvc3QgPSB7IC4uLnJlc3BvbnNlLCBib2R5OiBibG9nQm9keSB9O1xuICAgICAgICAgICAgdGhpcy5wb3N0Q29tbWVudHMgPSByZXNwb25zZS5lbnRpdHlfY29tbWVudHM7XG4gICAgICAgICAgICB0aGlzLmdldFBvc3RzKDEsIDQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc3RzKHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnJlc291cmNlU2VydmljZVxuICAgICAgICAgICAgLmdldFB1YmxpY1Bvc3RzKHRoaXMubWFzdGVyU3Vic2NyaXB0aW9uSWQsIHBhZ2UsIHBhZ2VTaXplLCAnJylcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVjZW50UG9zdHMgPSByZXNwb25zZS5wb3N0cy5maWx0ZXIocG9zdCA9PiBwb3N0LnNsdWcgIT09IHRoaXMucG9zdC5zbHVnKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ29tbWVudCgpIHtcbiAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHsgLi4udGhpcy5jb21tZW50Rm9ybS52YWx1ZSB9O1xuICAgICAgICBkYXRhLnJlbGF0ZWRfZW50aXR5X2lkID0gdGhpcy5wb3N0Py5pZDtcbiAgICAgICAgZGF0YS5yZWxhdGVkX2VudGl0eV90eXBlID0gJ1Bvc3QnO1xuICAgICAgICBkYXRhLnVzZXJfaWQgPSB0aGlzLnVzZXI/LmlkO1xuICAgICAgICB0aGlzLnJlc291cmNlU2VydmljZVxuICAgICAgICAgICAgLnBvc3RDb21tZW50cyhkYXRhKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRCbG9nSXRlbSh0aGlzLnNsdWcpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29tbWVudEZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5zdWNjZXNzKHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdSZXNvdXJjZS5Qb3N0cy5Db21tZW50QWRkZWQnKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0YWdQb3N0KHNlbGVjdGVkVGFnKSB7XG4gICAgICAgIHRoaXMucmVjZW50UG9zdHMgPSB0aGlzLnJlY2VudFBvc3RzLmZpbHRlcihlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJlZDtcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnRhZ3M/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkID0gZWxlbWVudC50YWdzLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgdGFnID0+IHRhZy50YWdfY2F0ZWdvcnlfaWQgPT09IHNlbGVjdGVkVGFnPy50YWdfY2F0ZWdvcnlfaWRcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZWxlbWVudCwgZmlsdGVyZWQgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0cmFja0J5VGFnSWQoX2luZGV4OiBudW1iZXIsIGl0ZW06IHsgaWQ6IG51bWJlciB9KSB7XG4gICAgICAgIHJldHVybiBpdGVtLmlkO1xuICAgIH1cblxuICAgIHRyYWNrQnlSZWNlbnRQb3N0KF9pbmRleDogbnVtYmVyLCBpdGVtOiB7IGlkOiBudW1iZXIgfSkge1xuICAgICAgICByZXR1cm4gaXRlbS5pZDtcbiAgICB9XG5cbiAgICB0cmFja0J5Q29tbWVudChfaW5kZXg6IG51bWJlciwgaXRlbTogeyBpZDogbnVtYmVyIH0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPHB3LWhlYWRlci8+XG48ZGl2IGNsYXNzPVwicmVhZC1wb3N0IG10LTUgcHQtNVwiPlxuICA8ZGl2IGNsYXNzPVwic2hvdy1ibG9nXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPCEtLSBjb250ZW50IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTQgcG9zaXRpb24tcmVsYXRpdmVcIj5cbiAgICAgICAgICA8bGk+XG4gICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWltYWdlXCI+XG4gICAgICAgICAgICAgICAgPGEgW2F0dHIuZGlzYWJsZWRdPVwiIXVzZXJMb2dnZWRJblwiXG4gICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9tZW1iZXJzJywgcG9zdD8uYXV0aG9yPy5zbHVnXVwiPlxuICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInBvc3Q/LmF1dGhvcj8uYXZhdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJwb3N0Py5hdXRob3I/LmF2YXRhclswXS51cmxcIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJhdXRob3JcIiAvPlxuICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIiFwb3N0Py5hdXRob3I/LmF2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjQ1XCJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI0NVwiXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cIi9hc3NldHMvaW1nL2ljb25zL21hbGUucG5nXCJcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiYXV0aG9yXCIgLz48L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpPlxuICAgICAgICAgICAgPGEgW2F0dHIuZGlzYWJsZWRdPVwiIXVzZXJMb2dnZWRJblwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL21lbWJlcnMnLCBwb3N0Py5hdXRob3I/LnNsdWddXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJuYW1lXCI+XG4gICAgICAgICAgICAgIHt7IHBvc3Q/LmF1dGhvcj8uZmlyc3RfbmFtZSB9fVxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1jcm93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGk+XG4gICAgICAgICAgICA8YSBjbGFzcz1cInRleHQtZGFya1wiXG4gICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3N0Py5hdXRob3IucHVibGlzaGVkX2F0XG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvYT5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaT4uPC9saT5cbiAgICAgICAgICA8bGk+XG4gICAgICAgICAgICA8YSBjbGFzcz1cInRleHQtZGFya1wiXG4gICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+XG4gICAgICAgICAgICAgIHt7IHJlYWRpbmdUaW1lKHBvc3Q/LmJvZHkpIH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJzb2NpYWwtbWVkaWFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGFyZS1wb3N0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwiZHJvcGRvd25NZW51TGluazJcIlxuICAgICAgICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiTWVudVwiXG4gICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgJGV2ZW50LnRhcmdldC5jbGljaygpXCJcbiAgICAgICAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAkZXZlbnQudGFyZ2V0LmNsaWNrKClcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1lbGxpcHNpcy12XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImRyb3Bkb3duTWVudUxpbmsyXCI+XG4gICAgICAgICAgICAgICAgICA8YSBkYXRhLWJzLXRvZ2dsZT1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1icy10YXJnZXQ9XCIjZXhhbXBsZU1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtc2hhcmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IFNoYXJlIFBvc3RcbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgICA8aDIgY2xhc3M9XCJtYi0zXCI+e3sgcG9zdD8udGl0bGUgfX08L2gyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicWwtc25vdyBib2R5LXF1aWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicWwtZWRpdG9yIGJvZHkgcG9zdC1ib2R5LXRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwicG9zdD8uYm9keVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDx1bCBjbGFzcz1cImJvdHRvbS1zb2NpYWwtaWNvbnMgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTUgYm9yZGVyLXRvcCBib3JkZXItYm90dG9tIHB5LTNcIj5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJzb2NpYWwtbWVkaWEtYmxvZy1wYWdlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hhcmUtcG9zdFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiTWVudVwiXG4gICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgJGV2ZW50LnRhcmdldC5jbGljaygpXCJcbiAgICAgICAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAkZXZlbnQudGFyZ2V0LmNsaWNrKClcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJkcm9wZG93bk1lbnVMaW5rXCJcbiAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1lbGxpcHNpcy12XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImRyb3Bkb3duTWVudUxpbmtcIj5cbiAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYnMtdG9nZ2xlPVwibW9kYWxcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWJzLXRhcmdldD1cIiNleGFtcGxlTW9kYWxcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1zaGFyZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gU2hhcmUgUG9zdFxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpPlxuICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHRhZyBvZiBwb3N0Py50YWdzOyB0cmFja0J5OiB0cmFja0J5VGFnSWRcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInRhZ1Bvc3QodGFnKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRhZ1Bvc3QodGFnKVwiPlxuICAgICAgICAgICAgICAgIHt7IHRhZy5uYW1lIH19XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICAgIDx1bCBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0zIHZpZXdzXCI+XG4gICAgICAgICAgPGxpPlxuICAgICAgICAgICAgPHNwYW4+e3sgcG9zdD8udmlldyB8fCAwIH19IHZpZXdzPC9zcGFuPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpPjxpIGNsYXNzPVwiZmFyIGZhLWhlYXJ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS1jb250ZW50IGVuZCAtLT5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIG1vZGFsIGZvciBzaGFyZSBidXR0b25zIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbCBmYWRlXCJcbiAgICAgIGlkPVwiZXhhbXBsZU1vZGFsXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZXhhbXBsZU1vZGFsTGFiZWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtZGlhbG9nLWNlbnRlcmVkXCIgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCJcbiAgICAgICAgICAgICAgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPlNoYXJlIHRoZSBwb3N0PC9oNT5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWNsb3NlIGZsb2F0LWVuZFwiXG4gICAgICAgICAgICAgIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCI+XG4gICAgICAgICAgICAgIDxzcGFuPiZ0aW1lczs8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICAgICAgPHNoYXJlLWJ1dHRvbnMgdGhlbWU9XCJtYXRlcmlhbC1kYXJrXCJcbiAgICAgICAgICAgICAgc2hvdz1cIjdcIj48L3NoYXJlLWJ1dHRvbnM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgICAgICBkYXRhLWRpc21pc3M9XCJtb2RhbFwiPlxuICAgICAgICAgICAgICBDbG9zZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tIHJlY2VudCBwb3N0cyAtLT5cbiAgPGRpdiBjbGFzcz1cInJlbGF0ZWQtcG9zdHMgbXQtNVwiPlxuICAgIDx1bCBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgPGxpPlxuICAgICAgICA8aDU+UmVjZW50IFJlc291cmNlczwvaDU+XG4gICAgICA8L2xpPlxuICAgICAgPGxpPjxhIFtyb3V0ZXJMaW5rXT1cIlsnL3Jlc291cmNlcy92aWV3J11cIj5TZWUgQWxsPC9hPjwvbGk+XG4gICAgPC91bD5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG10LTRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBjb2wtbWQtNiBjb2wtbGctNCBjb2wteHMtMTIgbWItMlwiXG4gICAgICAgICpuZ0Zvcj1cImxldCByZWNlbnRQb3N0IG9mIHJlY2VudFBvc3RzOyB0cmFja0J5OiB0cmFja0J5UmVjZW50UG9zdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVjZW50LXBvc3RcIlxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL3Jlc291cmNlcy92aWV3JywgcmVjZW50UG9zdC5zbHVnXVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9nLWltYWdlXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwicmVjZW50UG9zdC5waWN0dXJlLnVybFwiXG4gICAgICAgICAgICAgIGFsdD1cIlJlc291cmNlXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aDUgY2xhc3M9XCJwdC00IGJsb2ctdGl0bGUgcHMtMyBwZS0zXCI+e3sgcmVjZW50UG9zdD8udGl0bGUgfX08L2g1PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9nLXZpZXcgcHQtMyBwcy0zIHBlLTNcIj5cbiAgICAgICAgICAgIDxwPnt7IHJlY2VudFBvc3QudmlldyAhPT0gbnVsbCA/IHJlY2VudFBvc3QudmlldyA6ICcwJyB9fSBWaWV3PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInJvdyBtdC01IG1iLTRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICA8Zm9ybSBjbGFzcz1cImNvbW1lbnRzLXNlY1wiXG4gICAgICAgIFtmb3JtR3JvdXBdPVwiY29tbWVudEZvcm1cIlxuICAgICAgICAobmdTdWJtaXQpPVwib25Db21tZW50KClcIlxuICAgICAgICAqbmdJZj1cInVzZXJMb2dnZWRJbjsgZWxzZSB1c2VyTG9nZ2VkT3V0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcHQtNFwiPlxuICAgICAgICAgIDwhLS0gQ29tbWVudCBNYXNzYWdlIC0tPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgbGFiZWw9XCJXcml0ZSBhIHJlc3BvbnNlXCJcbiAgICAgICAgICAgIG5hbWU9XCJjb21tZW50XCJcbiAgICAgICAgICAgIGVycm9yTXNnPVwiUGxlYXNlIGVudGVyIGNvbW1lbnRcIj5cbiAgICAgICAgICAgIDx0ZXh0YXJlYSB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29tbWVudFwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmQgbXQtNFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIFtidXR0b25CdXN5XT1cImJ1dHRvbkJ1c3lcIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5cbiAgICAgICAgICAgIHt7ICdCdXR0b24uU3VibWl0JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdXNlckxvZ2dlZE91dD5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC0zIHBiLTMgdXNlci1ub3QtbG9nZ2VkLWluXCI+XG4gICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvbG9naW4nXVwiPkxvZyBpbjwvYT5cbiAgICAgICAgICB0byBsZWF2ZSBhIGNvbW1lbnQhXG4gICAgICAgIDwvcD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicm93IG10LTUgbWItNVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIlxuICAgICAgKm5nRm9yPVwibGV0IGNvbW1lbnQgb2YgcG9zdENvbW1lbnRzOyB0cmFja0J5OiB0cmFja0J5Q29tbWVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtcG9zdCBtdC0yXCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJjb21tZW50Py51c2VyPy5hdmF0YXJcIlxuICAgICAgICAgIFtzcmNdPVwiY29tbWVudC51c2VyPy5hdmF0YXJbMF0/LnVybFwiXG4gICAgICAgICAgYWx0PVwiYXZhdGFyXCJcbiAgICAgICAgICB3aWR0aD1cIjQ1XCJcbiAgICAgICAgICBoZWlnaHQ9XCI0NVwiXG4gICAgICAgICAgY2xhc3M9XCJyb3VuZGVkLWNpcmNsZSBtZS0zIG1iLTJcIlxuICAgICAgICAgIChlcnJvcik9XCJoYW5kbGVJbWFnZUVycm9yKCRldmVudCwgJ2Fzc2V0cy9pbWcvaWNvbnMvbWFsZS5wbmcnKVwiIC8+XG4gICAgICAgIDxpbWcgKm5nSWY9XCIhY29tbWVudD8udXNlcj8uYXZhdGFyXCJcbiAgICAgICAgICBhbHQ9XCJhdmF0YXJcIlxuICAgICAgICAgIHdpZHRoPVwiNDVcIlxuICAgICAgICAgIGhlaWdodD1cIjQ1XCJcbiAgICAgICAgICBjbGFzcz1cInJvdW5kZWQtY2lyY2xlIG1lLTMgbWItMlwiXG4gICAgICAgICAgc3JjPVwiYXNzZXRzL2ltZy9pY29ucy9tYWxlLnBuZ1wiIC8+XG4gICAgICAgIDxzbWFsbD57eyBjb21tZW50LnVzZXI/LmZpcnN0X25hbWUgPyBjb21tZW50LnVzZXI/LmZpcnN0X25hbWUgOiAnJyB9fVxuICAgICAgICAgIHt7IGNvbW1lbnQudXNlcj8ubGFzdF9uYW1lID8gY29tbWVudC51c2VyPy5sYXN0X25hbWUgOiAnJyB9fVxuICAgICAgICA8L3NtYWxsPlxuICAgICAgICA8cD57eyBjb21tZW50LmNvbW1lbnQgfX08L3A+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1lbmQgY29tbWVudC1kYXRlXCI+e3sgY29tbWVudC5jcmVhdGVkX2F0IHwgZGF0ZTogJ2RkL01NL3l5eXknIH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
124
+ }], ctorParameters: () => [{ type: i1.ResourceService }, { type: i2.CustomToastService }, { type: i2.AuthService }, { type: i0.Injector }, { type: i3.DomSanitizer }] });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLXJlYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZXMtcmVhZC9yZXNvdXJjZXMtcmVhZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlcy1yZWFkL3Jlc291cmNlcy1yZWFkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFRckUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQWN2RCxZQUNxQixlQUFnQyxFQUNoQyxNQUEwQixFQUMxQixXQUF3QixFQUN6QyxRQUFrQixFQUNELFNBQXVCO1FBRXhDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQU5DLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUV4Qixj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QUNqRCxJQUFJLFFBQVEsQ0FBQztZQUNiLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUMxQixHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEtBQUssV0FBVyxFQUFFLGVBQWUsQ0FDOUQsQ0FBQztnQkFFRixPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLENBQUM7WUFFRCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjLEVBQUUsSUFBb0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsSUFBb0I7UUFDbEQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBYyxFQUFFLElBQW9CO1FBQy9DLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRVEsV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0E5SFEscUJBQXFCO21HQUFyQixxQkFBcUIsMkVDbEJsQywwMFJBZ1BBOzs0RkQ5TmEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGNBQWMsaUJBR1QsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgQ3VzdG9tVG9hc3RTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWNlbnRQb3N0LCBSZXNvdXJjZSwgUmVzb3VyY2VDb21tZW50LCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5cbmltcG9ydCB7IFJlc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzb3VyY2VCbG9nIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9yZXNvdXJjZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctcG9zdC1yZWFkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2VzLXJlYWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Jlc291cmNlcy1yZWFkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZVJlYWRDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHBvc3Q6IFJlc291cmNlO1xuICAgIHVzZXI6IFVzZXI7XG4gICAgcmVjZW50UG9zdHM6IFJlY2VudFBvc3RbXSA9IFtdO1xuICAgIHBvc3RDb21tZW50czogUmVzb3VyY2VDb21tZW50W10gPSBbXTtcblxuICAgIHNsdWc6IHN0cmluZztcbiAgICBtYXN0ZXJTdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgY29tbWVudEZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICB1c2VyTG9nZ2VkSW4gPSBmYWxzZTtcbiAgICBidXR0b25CdXN5ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZVNlcnZpY2U6IFJlc291cmNlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdHI6IEN1c3RvbVRvYXN0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuY29tbWVudEZvcm0gPSBSZXNvdXJjZUJsb2cuZ2V0UmVzb3VyY2VQb3N0c0Zvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZCA9IHRoaXMuYXBwQ29uZmlnLm1hc3Rlcl9zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uX2lkO1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2x1ZyA9IHBhcmFtc1snc2x1ZyddID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5nZXRCbG9nSXRlbSh0aGlzLnNsdWcpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbiQoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlckxvZ2dlZEluID0gISFyZXM7XG4gICAgICAgICAgICBpZiAodGhpcy51c2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFVzZXJJbmZvKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXIgPSBkYXRhO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZWFkaW5nVGltZSh0ZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRDb250ZW50ID0gdGV4dC50b1N0cmluZygpO1xuICAgICAgICAgICAgY29uc3Qgd29yZHNQZXJNaW51dGUgPSAyMDA7XG4gICAgICAgICAgICBjb25zdCBub09mV29yZHMgPSB0ZXh0Q29udGVudC5zcGxpdCgvXFxzL2cpLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBub09mV29yZHMgLyB3b3Jkc1Blck1pbnV0ZTtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRUaW1lID0gTWF0aC5jZWlsKG1pbnV0ZXMpO1xuXG4gICAgICAgICAgICByZXR1cm4gYCR7cmVhZFRpbWV9IG1pbnV0ZSByZWFkYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUVycm9yKGV2ZW50OiBFdmVudCwgZmFsbGJhY2tQYXRoKTogdm9pZCB7XG4gICAgICAgIEhlbHBlclNlcnZpY2UuaGFuZGxlSW1hZ2VGYWxsYmFja1BhdGgoZXZlbnQsIGZhbGxiYWNrUGF0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCbG9nSXRlbShzbHVnOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2UuZ2V0UG9zdEJ5U2x1ZyhzbHVnKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgbGV0IGJsb2dCb2R5O1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlPy5ib2R5KSB7XG4gICAgICAgICAgICAgICAgYmxvZ0JvZHkgPSBIZWxwZXJTZXJ2aWNlLnNhbml0aXplUXVpbGxCb2R5KHJlc3BvbnNlLmJvZHksIHRoaXMuc2FuaXRpemVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucG9zdCA9IHsgLi4ucmVzcG9uc2UsIGJvZHk6IGJsb2dCb2R5IH07XG4gICAgICAgICAgICB0aGlzLnBvc3RDb21tZW50cyA9IHJlc3BvbnNlLmVudGl0eV9jb21tZW50cztcbiAgICAgICAgICAgIHRoaXMuZ2V0UG9zdHMoMSwgNCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zdHMocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UHVibGljUG9zdHModGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZCwgcGFnZSwgcGFnZVNpemUsICcnKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWNlbnRQb3N0cyA9IHJlc3BvbnNlLnBvc3RzLmZpbHRlcihwb3N0ID0+IHBvc3Quc2x1ZyAhPT0gdGhpcy5wb3N0LnNsdWcpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Db21tZW50KCkge1xuICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSB0cnVlO1xuICAgICAgICBjb25zdCBkYXRhID0geyAuLi50aGlzLmNvbW1lbnRGb3JtLnZhbHVlIH07XG4gICAgICAgIGRhdGEucmVsYXRlZF9lbnRpdHlfaWQgPSB0aGlzLnBvc3Q/LmlkO1xuICAgICAgICBkYXRhLnJlbGF0ZWRfZW50aXR5X3R5cGUgPSAnUG9zdCc7XG4gICAgICAgIGRhdGEudXNlcl9pZCA9IHRoaXMudXNlcj8uaWQ7XG4gICAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlXG4gICAgICAgICAgICAucG9zdENvbW1lbnRzKGRhdGEpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEJsb2dJdGVtKHRoaXMuc2x1Zyk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tZW50Rm9ybS5yZXNldCgpO1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ1Jlc291cmNlLlBvc3RzLkNvbW1lbnRBZGRlZCcpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRhZ1Bvc3Qoc2VsZWN0ZWRUYWcpIHtcbiAgICAgICAgdGhpcy5yZWNlbnRQb3N0cyA9IHRoaXMucmVjZW50UG9zdHMuZmlsdGVyKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgbGV0IGZpbHRlcmVkO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQudGFncz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyZWQgPSBlbGVtZW50LnRhZ3MuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICB0YWcgPT4gdGFnLnRhZ19jYXRlZ29yeV9pZCA9PT0gc2VsZWN0ZWRUYWc/LnRhZ19jYXRlZ29yeV9pZFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4geyBlbGVtZW50LCBmaWx0ZXJlZCB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRyYWNrQnlUYWdJZChfaW5kZXg6IG51bWJlciwgaXRlbTogeyBpZDogbnVtYmVyIH0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxuXG4gICAgdHJhY2tCeVJlY2VudFBvc3QoX2luZGV4OiBudW1iZXIsIGl0ZW06IHsgaWQ6IG51bWJlciB9KSB7XG4gICAgICAgIHJldHVybiBpdGVtLmlkO1xuICAgIH1cblxuICAgIHRyYWNrQnlDb21tZW50KF9pbmRleDogbnVtYmVyLCBpdGVtOiB7IGlkOiBudW1iZXIgfSkge1xuICAgICAgICByZXR1cm4gaXRlbS5pZDtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8cHctaGVhZGVyLz5cbjxkaXYgY2xhc3M9XCJyZWFkLXBvc3QgbXQtNSBwdC01XCI+XG4gIDxkaXYgY2xhc3M9XCJzaG93LWJsb2dcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8IS0tIGNvbnRlbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItNCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItaW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8YSBbYXR0ci5kaXNhYmxlZF09XCIhdXNlckxvZ2dlZEluXCJcbiAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL21lbWJlcnMnLCBwb3N0Py5hdXRob3I/LnNsdWddXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwicG9zdD8uYXV0aG9yPy5hdmF0YXJcIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInBvc3Q/LmF1dGhvcj8uYXZhdGFyWzBdLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cImF1dGhvclwiIC8+XG4gICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiIXBvc3Q/LmF1dGhvcj8uYXZhdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDVcIlxuICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjQ1XCJcbiAgICAgICAgICAgICAgICAgICAgc3JjPVwiL2Fzc2V0cy9pbWcvaWNvbnMvbWFsZS5wbmdcIlxuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJhdXRob3JcIiAvPjwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGk+XG4gICAgICAgICAgICA8YSBbYXR0ci5kaXNhYmxlZF09XCIhdXNlckxvZ2dlZEluXCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvbWVtYmVycycsIHBvc3Q/LmF1dGhvcj8uc2x1Z11cIlxuICAgICAgICAgICAgICBjbGFzcz1cIm5hbWVcIj5cbiAgICAgICAgICAgICAge3sgcG9zdD8uYXV0aG9yPy5maXJzdF9uYW1lIH19XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNyb3duXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvYT5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxhIGNsYXNzPVwidGV4dC1kYXJrXCJcbiAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3Q/LmF1dGhvci5wdWJsaXNoZWRfYXRcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9hPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpPi48L2xpPlxuICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxhIGNsYXNzPVwidGV4dC1kYXJrXCJcbiAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj5cbiAgICAgICAgICAgICAge3sgcmVhZGluZ1RpbWUocG9zdD8uYm9keSkgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInNvY2lhbC1tZWRpYVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoYXJlLXBvc3RcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJkcm9wZG93bk1lbnVMaW5rMlwiXG4gICAgICAgICAgICAgICAgICBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJNZW51XCJcbiAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAkZXZlbnQudGFyZ2V0LmNsaWNrKClcIlxuICAgICAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICRldmVudC50YXJnZXQuY2xpY2soKVwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWVsbGlwc2lzLXZcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZHJvcGRvd25NZW51TGluazJcIj5cbiAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYnMtdG9nZ2xlPVwibW9kYWxcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWJzLXRhcmdldD1cIiNleGFtcGxlTW9kYWxcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1zaGFyZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gU2hhcmUgUG9zdFxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICAgIDxoMiBjbGFzcz1cIm1iLTNcIj57eyBwb3N0Py50aXRsZSB9fTwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJxbC1zbm93IGJvZHktcXVpbGxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxbC1lZGl0b3IgYm9keSBwb3N0LWJvZHktdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJwb3N0Py5ib2R5XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPHVsIGNsYXNzPVwiYm90dG9tLXNvY2lhbC1pY29ucyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtNSBib3JkZXItdG9wIGJvcmRlci1ib3R0b20gcHktM1wiPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInNvY2lhbC1tZWRpYS1ibG9nLXBhZ2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGFyZS1wb3N0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJNZW51XCJcbiAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAkZXZlbnQudGFyZ2V0LmNsaWNrKClcIlxuICAgICAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICRldmVudC50YXJnZXQuY2xpY2soKVwiXG4gICAgICAgICAgICAgICAgICBpZD1cImRyb3Bkb3duTWVudUxpbmtcIlxuICAgICAgICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWVsbGlwc2lzLXZcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZHJvcGRvd25NZW51TGlua1wiPlxuICAgICAgICAgICAgICAgICAgPGEgZGF0YS1icy10b2dnbGU9XCJtb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdGFyZ2V0PVwiI2V4YW1wbGVNb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXNoYXJlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiBTaGFyZSBQb3N0XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGk+XG4gICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdGFnIG9mIHBvc3Q/LnRhZ3M7IHRyYWNrQnk6IHRyYWNrQnlUYWdJZFwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwidGFnUG9zdCh0YWcpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidGFnUG9zdCh0YWcpXCI+XG4gICAgICAgICAgICAgICAge3sgdGFnLm5hbWUgfX1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgICAgPHVsIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTMgdmlld3NcIj5cbiAgICAgICAgICA8bGk+XG4gICAgICAgICAgICA8c3Bhbj57eyBwb3N0Py52aWV3IHx8IDAgfX0gdmlld3M8L3NwYW4+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGk+PGkgY2xhc3M9XCJmYXIgZmEtaGVhcnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLWNvbnRlbnQgZW5kIC0tPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gbW9kYWwgZm9yIHNoYXJlIGJ1dHRvbnMgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsIGZhZGVcIlxuICAgICAgaWQ9XCJleGFtcGxlTW9kYWxcIlxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBhcmlhLWxhYmVsbGVkYnk9XCJleGFtcGxlTW9kYWxMYWJlbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1kaWFsb2ctY2VudGVyZWRcIiA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIlxuICAgICAgICAgICAgICBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+U2hhcmUgdGhlIHBvc3Q8L2g1PlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4tY2xvc2UgZmxvYXQtZW5kXCJcbiAgICAgICAgICAgICAgZGF0YS1kaXNtaXNzPVwibW9kYWxcIlxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIj5cbiAgICAgICAgICAgICAgPHNwYW4+JnRpbWVzOzwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgICAgICAgICA8c2hhcmUtYnV0dG9ucyB0aGVtZT1cIm1hdGVyaWFsLWRhcmtcIlxuICAgICAgICAgICAgICBzaG93PVwiN1wiPjwvc2hhcmUtYnV0dG9ucz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICAgICAgICAgIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCI+XG4gICAgICAgICAgICAgIENsb3NlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwhLS0gcmVjZW50IHBvc3RzIC0tPlxuICA8ZGl2IGNsYXNzPVwicmVsYXRlZC1wb3N0cyBtdC01XCI+XG4gICAgPHVsIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICA8bGk+XG4gICAgICAgIDxoNT5SZWNlbnQgUmVzb3VyY2VzPC9oNT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGk+PGEgW3JvdXRlckxpbmtdPVwiWycvcmVzb3VyY2VzL3ZpZXcnXVwiPlNlZSBBbGw8L2E+PC9saT5cbiAgICA8L3VsPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtNFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02IGNvbC1tZC02IGNvbC1sZy00IGNvbC14cy0xMiBtYi0yXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHJlY2VudFBvc3Qgb2YgcmVjZW50UG9zdHM7IHRyYWNrQnk6IHRyYWNrQnlSZWNlbnRQb3N0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWNlbnQtcG9zdFwiXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvcmVzb3VyY2VzL3ZpZXcnLCByZWNlbnRQb3N0LnNsdWddXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2ctaW1hZ2VcIj5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJyZWNlbnRQb3N0LnBpY3R1cmUudXJsXCJcbiAgICAgICAgICAgICAgYWx0PVwiUmVzb3VyY2VcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxoNSBjbGFzcz1cInB0LTQgYmxvZy10aXRsZSBwcy0zIHBlLTNcIj57eyByZWNlbnRQb3N0Py50aXRsZSB9fTwvaDU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2ctdmlldyBwdC0zIHBzLTMgcGUtM1wiPlxuICAgICAgICAgICAgPHA+e3sgcmVjZW50UG9zdC52aWV3ICE9PSBudWxsID8gcmVjZW50UG9zdC52aWV3IDogJzAnIH19IFZpZXc8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicm93IG10LTUgbWItNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgIDxmb3JtIGNsYXNzPVwiY29tbWVudHMtc2VjXCJcbiAgICAgICAgW2Zvcm1Hcm91cF09XCJjb21tZW50Rm9ybVwiXG4gICAgICAgIChuZ1N1Ym1pdCk9XCJvbkNvbW1lbnQoKVwiXG4gICAgICAgICpuZ0lmPVwidXNlckxvZ2dlZEluOyBlbHNlIHVzZXJMb2dnZWRPdXRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBwdC00XCI+XG4gICAgICAgICAgPCEtLSBDb21tZW50IE1hc3NhZ2UgLS0+XG4gICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBsYWJlbD1cIldyaXRlIGEgcmVzcG9uc2VcIlxuICAgICAgICAgICAgbmFtZT1cImNvbW1lbnRcIlxuICAgICAgICAgICAgZXJyb3JNc2c9XCJQbGVhc2UgZW50ZXIgY29tbWVudFwiPlxuICAgICAgICAgICAgPHRleHRhcmVhIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb21tZW50XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWVuZCBtdC00XCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgW2J1dHRvbkJ1c3ldPVwiYnV0dG9uQnVzeVwiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPlxuICAgICAgICAgICAge3sgJ0J1dHRvbi5TdWJtaXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuICAgICAgPG5nLXRlbXBsYXRlICN1c2VyTG9nZ2VkT3V0PlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIHB0LTMgcGItMyB1c2VyLW5vdC1sb2dnZWQtaW5cIj5cbiAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9sb2dpbiddXCI+TG9nIGluPC9hPlxuICAgICAgICAgIHRvIGxlYXZlIGEgY29tbWVudCFcbiAgICAgICAgPC9wPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJyb3cgbXQtNSBtYi01XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiXG4gICAgICAqbmdGb3I9XCJsZXQgY29tbWVudCBvZiBwb3N0Q29tbWVudHM7IHRyYWNrQnk6IHRyYWNrQnlDb21tZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1wb3N0IG10LTJcIj5cbiAgICAgICAgPGltZyAqbmdJZj1cImNvbW1lbnQ/LnVzZXI/LmF2YXRhclwiXG4gICAgICAgICAgW3NyY109XCJjb21tZW50LnVzZXI/LmF2YXRhclswXT8udXJsXCJcbiAgICAgICAgICBhbHQ9XCJhdmF0YXJcIlxuICAgICAgICAgIHdpZHRoPVwiNDVcIlxuICAgICAgICAgIGhlaWdodD1cIjQ1XCJcbiAgICAgICAgICBjbGFzcz1cInJvdW5kZWQtY2lyY2xlIG1lLTMgbWItMlwiXG4gICAgICAgICAgKGVycm9yKT1cImhhbmRsZUltYWdlRXJyb3IoJGV2ZW50LCAnYXNzZXRzL2ltZy9pY29ucy9tYWxlLnBuZycpXCIgLz5cbiAgICAgICAgPGltZyAqbmdJZj1cIiFjb21tZW50Py51c2VyPy5hdmF0YXJcIlxuICAgICAgICAgIGFsdD1cImF2YXRhclwiXG4gICAgICAgICAgd2lkdGg9XCI0NVwiXG4gICAgICAgICAgaGVpZ2h0PVwiNDVcIlxuICAgICAgICAgIGNsYXNzPVwicm91bmRlZC1jaXJjbGUgbWUtMyBtYi0yXCJcbiAgICAgICAgICBzcmM9XCJhc3NldHMvaW1nL2ljb25zL21hbGUucG5nXCIgLz5cbiAgICAgICAgPHNtYWxsPnt7IGNvbW1lbnQudXNlcj8uZmlyc3RfbmFtZSA/IGNvbW1lbnQudXNlcj8uZmlyc3RfbmFtZSA6ICcnIH19XG4gICAgICAgICAge3sgY29tbWVudC51c2VyPy5sYXN0X25hbWUgPyBjb21tZW50LnVzZXI/Lmxhc3RfbmFtZSA6ICcnIH19XG4gICAgICAgIDwvc21hbGw+XG4gICAgICAgIDxwPnt7IGNvbW1lbnQuY29tbWVudCB9fTwvcD5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LWVuZCBjb21tZW50LWRhdGVcIj57eyBjb21tZW50LmNyZWF0ZWRfYXQgfCBkYXRlOiAnZGQvTU0veXl5eScgfX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,66 +1,25 @@
1
1
  import { Component, Injector } from '@angular/core';
2
- import { AppBaseComponent } from '@posiwise/app-base-component';
3
- import { TagService } from '@posiwise/common-services';
4
- import { TOKEN_KEY } from '@posiwise/common-utilities';
2
+ import { AuthService, TagService } from '@posiwise/common-services';
5
3
  import { ResourceService } from '../../../../resource.service';
4
+ import { BaseTopBannerComponent } from '../../base/base-top-banner.component';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "../../../../resource.service";
8
7
  import * as i2 from "@posiwise/common-services";
9
8
  import * as i3 from "@angular/common";
10
9
  import * as i4 from "@posiwise/directives";
11
10
  import * as i5 from "../../resource-top-banner-edit/resource-top-banner-edit.component";
12
- export class WhitePaperTopBannerComponent extends AppBaseComponent {
13
- constructor(resourceService, tagService, injector) {
14
- super(injector);
15
- this.resourceService = resourceService;
16
- this.tagService = tagService;
17
- this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
18
- this.posts = [];
19
- this.testimonialsPosts = [];
20
- this.isLoaded = false;
11
+ export class WhitePaperTopBannerComponent extends BaseTopBannerComponent {
12
+ constructor(resourceService, tagService, injector, authService) {
13
+ super(resourceService, tagService, authService, injector);
21
14
  }
22
- ngOnInit() {
23
- this.getUserSubscriptionId().subscribe(response => {
24
- this.subscriptionId = response;
25
- });
26
- this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
27
- this.userLoggedIn = !!res;
28
- if (this.userLoggedIn) {
29
- this.localStorage.getItem$('product').subscribe(res => {
30
- const data = res ? JSON.parse(res) : null;
31
- this.subscriptionId = data?.subscriptionId;
32
- });
33
- this.userService.getUserInfo().subscribe(data => {
34
- this.user = data;
35
- });
36
- }
37
- this.getTags();
38
- });
15
+ getSearchTerm() {
16
+ return 'White Papers';
39
17
  }
40
- getTags() {
41
- this.isLoaded = false;
42
- this.tagService
43
- .getAllTagCategories({ search: 'White Papers' }, this.subscriptionId || this.masterSubscriptionId)
44
- .subscribe(response => {
45
- this.tagCategory = response.tag_categories[0];
46
- this.getPostTags();
47
- });
48
- }
49
- getPostTags() {
50
- this.tagService
51
- .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
52
- .subscribe(response => {
53
- this.blogPostTag = response.tags.find(tag => tag.tag_category_id === this.tagCategory?.id);
54
- })
55
- .add(() => {
56
- this.isLoaded = true;
57
- });
58
- }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: WhitePaperTopBannerComponent, deps: [{ token: i1.ResourceService }, { token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: WhitePaperTopBannerComponent, deps: [{ token: i1.ResourceService }, { token: i2.TagService }, { token: i0.Injector }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
60
19
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: WhitePaperTopBannerComponent, selector: "pw-white-paper-top-banner", usesInheritance: true, ngImport: i0, template: "<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\" *ngIf=\"isLoaded\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n <h1 class=\"nce-header mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'White papers & Tools'\"></span>\n <pw-resource-top-banner-edit\n *ngIf=\"userLoggedIn && (user?.auth?.granted['Pages.Admin'])\"\n [blogPostTag]=\"blogPostTag\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n <ng-container *ngIf=\"blogPostTag?.description && blogPostTag.description !== 'null' ; else defaultDescription\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </ng-container>\n <ng-template #defaultDescription>\n <p class=\"intro\">\n If you like your insights practical and <br>\n your downloads actually useful - you\u2019re <br>\n in the right place.\n </p>\n </ng-template>\n </div>\n </div>\n</div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"nce-math-img\" ></div>\n <img class=\"nce-laptop-img dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/white-paper-women.png'\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}@media (width <= 768px){.dyn-img{top:-3rem!important}}.text-extension{max-width:560px}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color);margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.nce-banner{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden;z-index:2}@media (width <= 1200px){.nce-banner .container{padding:7rem 3rem 0rem!important}}.nce-banner:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%)}.nce-banner .container{position:relative;z-index:2}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{max-width:500px;font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:1.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:0rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:300px;width:100%;position:relative;z-index:3;margin-top:3rem;left:2%;height:auto!important;top:4rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{left:36%!important;top:22rem!important}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.nce-divider{top:63.5rem;position:absolute!important}.nce-banner{padding-bottom:90px!important}}@media (width >= 1200px){.text-extension{max-width:500px;position:absolute;margin-bottom:31rem!important}.nce-laptop-img{width:100%;max-width:800px!important;max-height:800px!important;height:auto}}@media (width >= 1200px){.nce-divider{top:59.5rem;position:absolute!important}.cta-tab{margin-bottom:5rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:4rem;left:2rem;position:relative}.image-content .nce-math-img{bottom:9rem;left:61rem;position:relative;height:312px;margin-right:1rem;min-width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:11rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 704px) and (width <= 768px){.nce-laptop-img{top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 786px) and (width <= 991px){.nce-laptop-img{max-width:250px!important;top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 991px) and (width <= 1200px){.nce-laptop-img{top:7rem;left:3%;position:relative;width:100%;max-width:600px!important;height:auto}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-math-img{height:243px!important;min-width:350px;bottom:9rem;left:34rem;position:relative;width:350px!important}}@media (width <= 991px){.nce-banner{padding-bottom:15rem}}@media (width <= 768px){.nce-math-img{top:18rem}.cta-btn{justify-content:center}.nce-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media (width >= 768px) and (width <= 991px){.cta-btn{justify-content:center}.nce-divider{margin-top:36rem!important}}@media (width >= 991px){.nce-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (max-width: 991px){.nce-banner .container{display:flex;flex-direction:column;align-items:flex-start;min-height:auto}.nce-banner .text-content,.nce-banner .text-extension,.nce-banner .image-content{position:static!important;left:auto;top:auto;max-width:100%;margin:0!important}.nce-banner .text-content{margin-bottom:0!important}.text-extension{margin-top:1rem!important}.nce-banner .image-content{width:100%;height:auto;align-self:center;margin-top:auto!important}.nce-banner .nce-laptop-img{position:static!important;max-width:260px;width:100%;height:auto!important}.nce-banner{padding:2rem 0 0rem!important}}@media (max-width: 575px){.nce-banner:after{height:45%}}\n", "@media (width <= 768px){.dyn-img{top:6rem!important}}\n", ".bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.msp-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.msp-vault-section .vault-heading{font-size:3rem;font-weight:300}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.msp-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.msp-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.msp-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.msp-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:7rem 3rem 1rem!important}}\n", ".video-row{gap:5.5rem!important;margin-top:3rem!important}::ng-deep .resource-section{box-shadow:0 4px 32px -14px #40576d4d!important}.release-icon{height:auto;margin:0 11px 1.9rem;display:block;align-self:center}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-book-section .nce-contact a:hover{color:var(--first)!important}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:900px;display:block;margin-left:auto;margin-right:auto}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.LazyImgDirective, selector: "img" }, { kind: "component", type: i5.ResourceTopBannerEditComponent, selector: "pw-resource-top-banner-edit", inputs: ["blogPostTag"], outputs: ["getUpdatedTag"] }] }); }
61
20
  }
62
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: WhitePaperTopBannerComponent, decorators: [{
63
22
  type: Component,
64
23
  args: [{ selector: 'pw-white-paper-top-banner', template: "<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\" *ngIf=\"isLoaded\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n <h1 class=\"nce-header mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'White papers & Tools'\"></span>\n <pw-resource-top-banner-edit\n *ngIf=\"userLoggedIn && (user?.auth?.granted['Pages.Admin'])\"\n [blogPostTag]=\"blogPostTag\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n <ng-container *ngIf=\"blogPostTag?.description && blogPostTag.description !== 'null' ; else defaultDescription\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </ng-container>\n <ng-template #defaultDescription>\n <p class=\"intro\">\n If you like your insights practical and <br>\n your downloads actually useful - you\u2019re <br>\n in the right place.\n </p>\n </ng-template>\n </div>\n </div>\n</div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"nce-math-img\" ></div>\n <img class=\"nce-laptop-img dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/white-paper-women.png'\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}@media (width <= 768px){.dyn-img{top:-3rem!important}}.text-extension{max-width:560px}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color);margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.nce-banner{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden;z-index:2}@media (width <= 1200px){.nce-banner .container{padding:7rem 3rem 0rem!important}}.nce-banner:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%)}.nce-banner .container{position:relative;z-index:2}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{max-width:500px;font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:1.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:0rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:300px;width:100%;position:relative;z-index:3;margin-top:3rem;left:2%;height:auto!important;top:4rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{left:36%!important;top:22rem!important}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.nce-divider{top:63.5rem;position:absolute!important}.nce-banner{padding-bottom:90px!important}}@media (width >= 1200px){.text-extension{max-width:500px;position:absolute;margin-bottom:31rem!important}.nce-laptop-img{width:100%;max-width:800px!important;max-height:800px!important;height:auto}}@media (width >= 1200px){.nce-divider{top:59.5rem;position:absolute!important}.cta-tab{margin-bottom:5rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:4rem;left:2rem;position:relative}.image-content .nce-math-img{bottom:9rem;left:61rem;position:relative;height:312px;margin-right:1rem;min-width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:11rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 704px) and (width <= 768px){.nce-laptop-img{top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 786px) and (width <= 991px){.nce-laptop-img{max-width:250px!important;top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 991px) and (width <= 1200px){.nce-laptop-img{top:7rem;left:3%;position:relative;width:100%;max-width:600px!important;height:auto}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-math-img{height:243px!important;min-width:350px;bottom:9rem;left:34rem;position:relative;width:350px!important}}@media (width <= 991px){.nce-banner{padding-bottom:15rem}}@media (width <= 768px){.nce-math-img{top:18rem}.cta-btn{justify-content:center}.nce-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media (width >= 768px) and (width <= 991px){.cta-btn{justify-content:center}.nce-divider{margin-top:36rem!important}}@media (width >= 991px){.nce-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (max-width: 991px){.nce-banner .container{display:flex;flex-direction:column;align-items:flex-start;min-height:auto}.nce-banner .text-content,.nce-banner .text-extension,.nce-banner .image-content{position:static!important;left:auto;top:auto;max-width:100%;margin:0!important}.nce-banner .text-content{margin-bottom:0!important}.text-extension{margin-top:1rem!important}.nce-banner .image-content{width:100%;height:auto;align-self:center;margin-top:auto!important}.nce-banner .nce-laptop-img{position:static!important;max-width:260px;width:100%;height:auto!important}.nce-banner{padding:2rem 0 0rem!important}}@media (max-width: 575px){.nce-banner:after{height:45%}}\n", "@media (width <= 768px){.dyn-img{top:6rem!important}}\n", ".bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.msp-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.msp-vault-section .vault-heading{font-size:3rem;font-weight:300}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.msp-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.msp-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.msp-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.msp-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:7rem 3rem 1rem!important}}\n", ".video-row{gap:5.5rem!important;margin-top:3rem!important}::ng-deep .resource-section{box-shadow:0 4px 32px -14px #40576d4d!important}.release-icon{height:auto;margin:0 11px 1.9rem;display:block;align-self:center}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-book-section .nce-contact a:hover{color:var(--first)!important}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:900px;display:block;margin-left:auto;margin-right:auto}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
65
- }], ctorParameters: () => [{ type: i1.ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpdGUtcGFwZXJzLXRvcC1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy93aGl0ZS1wYXBlcnMvd2hpdGUtcGFwZXJzLXRvcC1iYW5uZXIvd2hpdGUtcGFwZXJzLXRvcC1iYW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy93aGl0ZS1wYXBlcnMvd2hpdGUtcGFwZXJzLXRvcC1iYW5uZXIvd2hpdGUtcGFwZXJzLXRvcC1iYW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBWSxTQUFTLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFZL0QsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGdCQUFnQjtJQWE5RCxZQUNxQixlQUFnQyxFQUNoQyxVQUFzQixFQUN2QyxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWIzQyx5QkFBb0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQztRQUMxRSxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUt2QixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBVWpCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUMxQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNsRCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEVBQUUsY0FBYyxDQUFDO2dCQUMvQyxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxPQUFPO1FBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVU7YUFDVixtQkFBbUIsQ0FDaEIsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEVBQzFCLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUNuRDthQUNBLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLENBQUMsVUFBVTthQUNWLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUM7YUFDdEYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGVBQWUsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDdEQsQ0FBQztRQUNOLENBQUMsQ0FBQzthQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7K0dBaEVRLDRCQUE0QjttR0FBNUIsNEJBQTRCLHdGQ2xCekMsNHNFQXFEQTs7NEZEbkNhLDRCQUE0QjtrQkFWeEMsU0FBUzsrQkFDSSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUmVzb3VyY2UsIFRPS0VOX0tFWSwgVXNlciB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctd2hpdGUtcGFwZXItdG9wLWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3doaXRlLXBhcGVycy10b3AtYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFtcbiAgICAgICAgJy4uLy4uL3Jlc291cmNlLWNhc2Utc3R1ZGllcy9yZXNvdXJjZS1jYXNlLXN0dWRpZXMuY29tcG9uZW50LnNjc3MnLFxuICAgICAgICAnLi93aGl0ZS1wYXBlcnMtdG9wLWJhbm5lci5jb21wb25lbnQuc2NzcycsXG4gICAgICAgICcuLi8uLi9yZXNvdXJjZXMvcmVzb3VyY2VzLXNoYXJlZC5jb21wb25lbnQuc2NzcycsXG4gICAgICAgICcuLi8uLi9yZXNvdXJjZS1wb3N0L3JlbGF0ZWQtcmVzb3VyY2VzL3JlbGF0ZWQtcmVzb3VyY2VzLmNvbXBvbmVudC5zY3NzJ1xuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgV2hpdGVQYXBlclRvcEJhbm5lckNvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG4gICAgbWFzdGVyU3Vic2NyaXB0aW9uSWQgPSB0aGlzLmFwcENvbmZpZy5tYXN0ZXJfc3Vic2NyaXB0aW9uLnN1YnNjcmlwdGlvbl9pZDtcbiAgICBwb3N0czogUmVzb3VyY2VbXSA9IFtdO1xuICAgIHRlc3RpbW9uaWFsc1Bvc3RzID0gW107XG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGJsb2dQb3N0VGFnO1xuICAgIHRhZ0NhdGVnb3J5O1xuICAgIGJsb2dUZXN0aW1vbmlhbHNQb3N0VGFnO1xuICAgIGlzTG9hZGVkID0gZmFsc2U7XG5cbiAgICB1c2VyOiBVc2VyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VTZXJ2aWNlOiBSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5nZXRVc2VyU3Vic2NyaXB0aW9uSWQoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IHJlc3BvbnNlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoVE9LRU5fS0VZKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlckxvZ2dlZEluID0gISFyZXM7XG4gICAgICAgICAgICBpZiAodGhpcy51c2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJCgncHJvZHVjdCcpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzID8gSlNPTi5wYXJzZShyZXMpIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IGRhdGE/LnN1YnNjcmlwdGlvbklkO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckluZm8oKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlciA9IGRhdGE7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmdldFRhZ3MoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWdzKCkge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldEFsbFRhZ0NhdGVnb3JpZXMoXG4gICAgICAgICAgICAgICAgeyBzZWFyY2g6ICdXaGl0ZSBQYXBlcnMnIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCB8fCB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhZ0NhdGVnb3J5ID0gcmVzcG9uc2UudGFnX2NhdGVnb3JpZXNbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRQb3N0VGFncygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQb3N0VGFncygpIHtcbiAgICAgICAgdGhpcy50YWdTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VGFnc0J5VHlwZSgncG9zdF9jYXRlZ29yaWVzJywge30sIHRoaXMuc3Vic2NyaXB0aW9uSWQgfHwgdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvZ1Bvc3RUYWcgPSByZXNwb25zZS50YWdzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgIHRhZyA9PiB0YWcudGFnX2NhdGVnb3J5X2lkID09PSB0aGlzLnRhZ0NhdGVnb3J5Py5pZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImJnLXdoaXRlIHByaWNpbmctc2VjdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwibmNlLWJhbm5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbGctcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiICpuZ0lmPVwiaXNMb2FkZWRcIj5cblxuICAgICAgPCEtLSBMZWZ0IENvbnRlbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuY2UtaGVhZGluZ1wiPlxuICAgICAgICAgIDxoMSBjbGFzcz1cIm5jZS1oZWFkZXIgbWItNFwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzPVwibmNlLWhlYWRlciBtYi00XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1pbmxpbmUtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgZmxleC13cmFwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJibG9nUG9zdFRhZz8udGl0bGUgfHwgJ1doaXRlIHBhcGVycyAmIFRvb2xzJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8cHctcmVzb3VyY2UtdG9wLWJhbm5lci1lZGl0XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyTG9nZ2VkSW4gJiYgKHVzZXI/LmF1dGg/LmdyYW50ZWRbJ1BhZ2VzLkFkbWluJ10pXCJcbiAgICAgICAgICAgICAgICAgIFtibG9nUG9zdFRhZ109XCJibG9nUG9zdFRhZ1wiXG4gICAgICAgICAgICAgICAgICAoZ2V0VXBkYXRlZFRhZyk9XCJnZXRQb3N0VGFncygpXCJcbiAgICAgICAgICAgICAgICA+PC9wdy1yZXNvdXJjZS10b3AtYmFubmVyLWVkaXQ+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJibHVlLXRleHRcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDwvaDE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQWRkIGRpcmVjdGx5IGJlbG93IC50ZXh0LWNvbnRlbnQsIHN0aWxsIGluc2lkZSAuY29udGFpbmVyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZXh0ZW5zaW9uIG10LTRcIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3RhLWJ1dHRvbnMgZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktYmV0d2VlbiBoLTEwMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJsb2dQb3N0VGFnPy5kZXNjcmlwdGlvbiAmJiBibG9nUG9zdFRhZy5kZXNjcmlwdGlvbiAhPT0gJ251bGwnIDsgZWxzZSBkZWZhdWx0RGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJpbnRyb1wiIFtpbm5lckhUTUxdPVwiYmxvZ1Bvc3RUYWcuZGVzY3JpcHRpb25cIj48L3A+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImludHJvXCI+XG4gICAgICAgICAgICAgICAgSWYgeW91IGxpa2UgeW91ciBpbnNpZ2h0cyBwcmFjdGljYWwgYW5kIDxicj5cbiAgICAgICAgICAgICAgICB5b3VyIGRvd25sb2FkcyBhY3R1YWxseSB1c2VmdWwgLSB5b3XigJlyZSA8YnI+XG4gICAgICAgICAgICAgICAgaW4gdGhlIHJpZ2h0IHBsYWNlLlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbjwvZGl2PlxuXG4gICAgICA8IS0tIFJpZ2h0IENvbnRlbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtY29udGVudCBtcy1sZy01IG10LTUgbXQtbGctMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmNlLW1hdGgtaW1nXCIgPjwvZGl2PlxuICAgICAgICA8aW1nIGNsYXNzPVwibmNlLWxhcHRvcC1pbWcgZHluLWltZ1wiXG4gICAgICAgIFtzcmNdPVwiKGJsb2dQb3N0VGFnPy5pbWFnZT8udXJsICYmICEoYmxvZ1Bvc3RUYWc/LmltYWdlPy51cmwuaW5jbHVkZXMoJ25vX2ltYWdlX3VwbG9hZGVkX3NxdWFyZWQnKSkpID8gYmxvZ1Bvc3RUYWc/LmltYWdlPy51cmwgOiAnL2Fzc2V0cy9pbWcvcmVzb3VyY2Uvd2hpdGUtcGFwZXItd29tZW4ucG5nJ1wiXG4gICAgICAgICAgYWx0PVwiTkNFYXN5IGxhcHRvcCBzY3JlZW5cIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
24
+ }], ctorParameters: () => [{ type: i1.ResourceService }, { type: i2.TagService }, { type: i0.Injector }, { type: i2.AuthService }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpdGUtcGFwZXJzLXRvcC1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy93aGl0ZS1wYXBlcnMvd2hpdGUtcGFwZXJzLXRvcC1iYW5uZXIvd2hpdGUtcGFwZXJzLXRvcC1iYW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy93aGl0ZS1wYXBlcnMvd2hpdGUtcGFwZXJzLXRvcC1iYW5uZXIvd2hpdGUtcGFwZXJzLXRvcC1iYW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7QUFZOUUsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHNCQUFzQjtJQUNwRSxZQUNJLGVBQWdDLEVBQ2hDLFVBQXNCLEVBQ3RCLFFBQWtCLEVBQ2xCLFdBQXdCO1FBRXhCLEtBQUssQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsYUFBYTtRQUNuQixPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDOytHQVpRLDRCQUE0QjttR0FBNUIsNEJBQTRCLHdGQ2pCekMsNHNFQXFEQTs7NEZEcENhLDRCQUE0QjtrQkFWeEMsU0FBUzsrQkFDSSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5cbmltcG9ydCB7IFJlc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVRvcEJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS10b3AtYmFubmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctd2hpdGUtcGFwZXItdG9wLWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3doaXRlLXBhcGVycy10b3AtYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFtcbiAgICAgICAgJy4uLy4uL3Jlc291cmNlLWNhc2Utc3R1ZGllcy9yZXNvdXJjZS1jYXNlLXN0dWRpZXMuY29tcG9uZW50LnNjc3MnLFxuICAgICAgICAnLi93aGl0ZS1wYXBlcnMtdG9wLWJhbm5lci5jb21wb25lbnQuc2NzcycsXG4gICAgICAgICcuLi8uLi9yZXNvdXJjZXMvcmVzb3VyY2VzLXNoYXJlZC5jb21wb25lbnQuc2NzcycsXG4gICAgICAgICcuLi8uLi9yZXNvdXJjZS1wb3N0L3JlbGF0ZWQtcmVzb3VyY2VzL3JlbGF0ZWQtcmVzb3VyY2VzLmNvbXBvbmVudC5zY3NzJ1xuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgV2hpdGVQYXBlclRvcEJhbm5lckNvbXBvbmVudCBleHRlbmRzIEJhc2VUb3BCYW5uZXJDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZXNvdXJjZVNlcnZpY2U6IFJlc291cmNlU2VydmljZSxcbiAgICAgICAgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBhdXRoU2VydmljZTogQXV0aFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIocmVzb3VyY2VTZXJ2aWNlLCB0YWdTZXJ2aWNlLCBhdXRoU2VydmljZSwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRTZWFyY2hUZXJtKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnV2hpdGUgUGFwZXJzJztcbiAgICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImJnLXdoaXRlIHByaWNpbmctc2VjdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwibmNlLWJhbm5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbGctcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiICpuZ0lmPVwiaXNMb2FkZWRcIj5cblxuICAgICAgPCEtLSBMZWZ0IENvbnRlbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuY2UtaGVhZGluZ1wiPlxuICAgICAgICAgIDxoMSBjbGFzcz1cIm5jZS1oZWFkZXIgbWItNFwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzPVwibmNlLWhlYWRlciBtYi00XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1pbmxpbmUtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgZmxleC13cmFwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJibG9nUG9zdFRhZz8udGl0bGUgfHwgJ1doaXRlIHBhcGVycyAmIFRvb2xzJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8cHctcmVzb3VyY2UtdG9wLWJhbm5lci1lZGl0XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyTG9nZ2VkSW4gJiYgKHVzZXI/LmF1dGg/LmdyYW50ZWRbJ1BhZ2VzLkFkbWluJ10pXCJcbiAgICAgICAgICAgICAgICAgIFtibG9nUG9zdFRhZ109XCJibG9nUG9zdFRhZ1wiXG4gICAgICAgICAgICAgICAgICAoZ2V0VXBkYXRlZFRhZyk9XCJnZXRQb3N0VGFncygpXCJcbiAgICAgICAgICAgICAgICA+PC9wdy1yZXNvdXJjZS10b3AtYmFubmVyLWVkaXQ+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJibHVlLXRleHRcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDwvaDE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQWRkIGRpcmVjdGx5IGJlbG93IC50ZXh0LWNvbnRlbnQsIHN0aWxsIGluc2lkZSAuY29udGFpbmVyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZXh0ZW5zaW9uIG10LTRcIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3RhLWJ1dHRvbnMgZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktYmV0d2VlbiBoLTEwMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJsb2dQb3N0VGFnPy5kZXNjcmlwdGlvbiAmJiBibG9nUG9zdFRhZy5kZXNjcmlwdGlvbiAhPT0gJ251bGwnIDsgZWxzZSBkZWZhdWx0RGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJpbnRyb1wiIFtpbm5lckhUTUxdPVwiYmxvZ1Bvc3RUYWcuZGVzY3JpcHRpb25cIj48L3A+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImludHJvXCI+XG4gICAgICAgICAgICAgICAgSWYgeW91IGxpa2UgeW91ciBpbnNpZ2h0cyBwcmFjdGljYWwgYW5kIDxicj5cbiAgICAgICAgICAgICAgICB5b3VyIGRvd25sb2FkcyBhY3R1YWxseSB1c2VmdWwgLSB5b3XigJlyZSA8YnI+XG4gICAgICAgICAgICAgICAgaW4gdGhlIHJpZ2h0IHBsYWNlLlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbjwvZGl2PlxuXG4gICAgICA8IS0tIFJpZ2h0IENvbnRlbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtY29udGVudCBtcy1sZy01IG10LTUgbXQtbGctMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmNlLW1hdGgtaW1nXCIgPjwvZGl2PlxuICAgICAgICA8aW1nIGNsYXNzPVwibmNlLWxhcHRvcC1pbWcgZHluLWltZ1wiXG4gICAgICAgIFtzcmNdPVwiKGJsb2dQb3N0VGFnPy5pbWFnZT8udXJsICYmICEoYmxvZ1Bvc3RUYWc/LmltYWdlPy51cmwuaW5jbHVkZXMoJ25vX2ltYWdlX3VwbG9hZGVkX3NxdWFyZWQnKSkpID8gYmxvZ1Bvc3RUYWc/LmltYWdlPy51cmwgOiAnL2Fzc2V0cy9pbWcvcmVzb3VyY2Uvd2hpdGUtcGFwZXItd29tZW4ucG5nJ1wiXG4gICAgICAgICAgYWx0PVwiTkNFYXN5IGxhcHRvcCBzY3JlZW5cIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
@@ -1,8 +1,7 @@
1
1
  import { Component, Injector } from '@angular/core';
2
- import { AppBaseComponent } from '@posiwise/app-base-component';
3
- import { TagService } from '@posiwise/common-services';
4
- import { TOKEN_KEY } from '@posiwise/common-utilities';
2
+ import { AuthService, TagService } from '@posiwise/common-services';
5
3
  import { ResourceService } from '../../../resource.service';
4
+ import { BaseResourceComponent } from '../base/base-resource.component';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "../../../resource.service";
8
7
  import * as i2 from "@posiwise/common-services";
@@ -11,52 +10,18 @@ import * as i4 from "@posiwise/alpha-module";
11
10
  import * as i5 from "@posiwise/shared-components";
12
11
  import * as i6 from "./white-papers-top-banner/white-papers-top-banner.component";
13
12
  import * as i7 from "../resource-vault/resource-vault.component";
14
- export class WhitePaperComponent extends AppBaseComponent {
15
- constructor(resourceService, tagService, injector) {
16
- super(injector);
17
- this.resourceService = resourceService;
18
- this.tagService = tagService;
19
- this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
20
- this.posts = [];
13
+ export class WhitePaperComponent extends BaseResourceComponent {
14
+ constructor(resourceService, tagService, injector, authService) {
15
+ super(resourceService, tagService, authService, injector);
21
16
  }
22
- ngOnInit() {
23
- this.getUserSubscriptionId().subscribe(response => {
24
- this.subscriptionId = response;
25
- });
26
- this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
27
- this.userLoggedIn = !!res;
28
- if (this.userLoggedIn) {
29
- this.localStorage.getItem$('product').subscribe(res => {
30
- const data = res ? JSON.parse(res) : null;
31
- this.subscriptionId = data?.subscriptionId;
32
- });
33
- }
34
- this.getPostTags();
35
- });
17
+ getResourceType() {
18
+ return 'White Papers';
36
19
  }
37
- getPostTags() {
38
- this.tagService
39
- .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
40
- .subscribe(response => {
41
- this.blogPostTag = response.tags.find(tag => tag.name === 'White Papers');
42
- this.getPosts(1, 100);
43
- });
44
- }
45
- getPosts(page, pageSize) {
46
- this.resourceService
47
- .getPublicPosts(this.subscriptionId || this.masterSubscriptionId, page, pageSize, '', this.blogPostTag?.tag_category_id)
48
- .subscribe(response => {
49
- this.posts = response.posts
50
- .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag?.tag_category_id))
51
- .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
52
- .slice(0, 12);
53
- });
54
- }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: WhitePaperComponent, deps: [{ token: i1.ResourceService }, { token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: WhitePaperComponent, deps: [{ token: i1.ResourceService }, { token: i2.TagService }, { token: i0.Injector }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
56
21
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: WhitePaperComponent, selector: "pw-resource-white-papers", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n\n<pw-white-paper-top-banner></pw-white-paper-top-banner>\n\n<pw-resource--vault *ngIf=\"blogPostTag?.tag_category_id\" [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\"></pw-resource--vault>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName", "shardName"] }, { kind: "component", type: i5.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "component", type: i6.WhitePaperTopBannerComponent, selector: "pw-white-paper-top-banner" }, { kind: "component", type: i7.ResourceVaultComponent, selector: "pw-resource--vault", inputs: ["showVaultSection", "postSlice", "categoryId", "resourceTitle", "tag"] }] }); }
57
22
  }
58
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: WhitePaperComponent, decorators: [{
59
24
  type: Component,
60
25
  args: [{ selector: 'pw-resource-white-papers', template: "<pw-resource-header></pw-resource-header>\n\n<pw-white-paper-top-banner></pw-white-paper-top-banner>\n\n<pw-resource--vault *ngIf=\"blogPostTag?.tag_category_id\" [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\"></pw-resource--vault>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n" }]
61
- }], ctorParameters: () => [{ type: i1.ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpdGUtcGFwZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvd2hpdGUtcGFwZXJzL3doaXRlLXBhcGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3doaXRlLXBhcGVycy93aGl0ZS1wYXBlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQU01RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZ0JBQWdCO0lBT3JELFlBQ3FCLGVBQWdDLEVBQ2hDLFVBQXNCLEVBQ3ZDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUpDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBUDNDLHlCQUFvQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDO1FBQzFFLFVBQUssR0FBZSxFQUFFLENBQUM7SUFVdkIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2xELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksRUFBRSxjQUFjLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxDQUFDLFVBQVU7YUFDVixhQUFhLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDO2FBQ3RGLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsQ0FBQztZQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBWSxFQUFFLFFBQWdCO1FBQ25DLElBQUksQ0FBQyxlQUFlO2FBQ2YsY0FBYyxDQUNYLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUNoRCxJQUFJLEVBQ0osUUFBUSxFQUNSLEVBQUUsRUFDRixJQUFJLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FDcEM7YUFDQSxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSztpQkFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQ1gsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUNuRSxDQUNKO2lCQUNBLElBQUksQ0FDRCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNMLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQzlFO2lCQUNBLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDOytHQTlEUSxtQkFBbUI7bUdBQW5CLG1CQUFtQix1RkNaaEMsK1dBT0E7OzRGREthLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDSSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUmVzb3VyY2UsIFRPS0VOX0tFWSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctcmVzb3VyY2Utd2hpdGUtcGFwZXJzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vd2hpdGUtcGFwZXJzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXaGl0ZVBhcGVyQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcbiAgICBtYXN0ZXJTdWJzY3JpcHRpb25JZCA9IHRoaXMuYXBwQ29uZmlnLm1hc3Rlcl9zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uX2lkO1xuICAgIHBvc3RzOiBSZXNvdXJjZVtdID0gW107XG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGJsb2dQb3N0VGFnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VTZXJ2aWNlOiBSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5nZXRVc2VyU3Vic2NyaXB0aW9uSWQoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IHJlc3BvbnNlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoVE9LRU5fS0VZKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlckxvZ2dlZEluID0gISFyZXM7XG4gICAgICAgICAgICBpZiAodGhpcy51c2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJCgncHJvZHVjdCcpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzID8gSlNPTi5wYXJzZShyZXMpIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IGRhdGE/LnN1YnNjcmlwdGlvbklkO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5nZXRQb3N0VGFncygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc3RUYWdzKCkge1xuICAgICAgICB0aGlzLnRhZ1NlcnZpY2VcbiAgICAgICAgICAgIC5nZXRUYWdzQnlUeXBlKCdwb3N0X2NhdGVnb3JpZXMnLCB7fSwgdGhpcy5zdWJzY3JpcHRpb25JZCB8fCB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9nUG9zdFRhZyA9IHJlc3BvbnNlLnRhZ3MuZmluZCh0YWcgPT4gdGFnLm5hbWUgPT09ICdXaGl0ZSBQYXBlcnMnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFBvc3RzKDEsIDEwMCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRQb3N0cyhwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRQdWJsaWNQb3N0cyhcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkIHx8IHRoaXMubWFzdGVyU3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2dQb3N0VGFnPy50YWdfY2F0ZWdvcnlfaWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucG9zdHMgPSByZXNwb25zZS5wb3N0c1xuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHBvc3QgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc3QudGFncz8uc29tZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcgPT4gdGFnLnRhZ19jYXRlZ29yeV9pZCA9PT0gdGhpcy5ibG9nUG9zdFRhZz8udGFnX2NhdGVnb3J5X2lkXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLnNvcnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAoYSwgYikgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZShiLnB1Ymxpc2hlZF9hdCkuZ2V0VGltZSgpIC0gbmV3IERhdGUoYS5wdWJsaXNoZWRfYXQpLmdldFRpbWUoKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zbGljZSgwLCAxMik7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8cHctcmVzb3VyY2UtaGVhZGVyPjwvcHctcmVzb3VyY2UtaGVhZGVyPlxuXG48cHctd2hpdGUtcGFwZXItdG9wLWJhbm5lcj48L3B3LXdoaXRlLXBhcGVyLXRvcC1iYW5uZXI+XG5cbjxwdy1yZXNvdXJjZS0tdmF1bHQgKm5nSWY9XCJibG9nUG9zdFRhZz8udGFnX2NhdGVnb3J5X2lkXCIgW3RhZ109XCJibG9nUG9zdFRhZ1wiIFtjYXRlZ29yeUlkXT1cImJsb2dQb3N0VGFnPy50YWdfY2F0ZWdvcnlfaWRcIiBbcmVzb3VyY2VUaXRsZV09XCJibG9nUG9zdFRhZz8udGl0bGVcIiBbcG9zdFNsaWNlXT1cInRydWVcIj48L3B3LXJlc291cmNlLS12YXVsdD5cblxuPHB3LXRyaWFsLTQtY29udGFjdC11cz48L3B3LXRyaWFsLTQtY29udGFjdC11cz5cbiJdfQ==
26
+ }], ctorParameters: () => [{ type: i1.ResourceService }, { type: i2.TagService }, { type: i0.Injector }, { type: i2.AuthService }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpdGUtcGFwZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvd2hpdGUtcGFwZXJzL3doaXRlLXBhcGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3doaXRlLXBhcGVycy93aGl0ZS1wYXBlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7OztBQU14RSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEscUJBQXFCO0lBQzFELFlBQ0ksZUFBZ0MsRUFDaEMsVUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsV0FBd0I7UUFFeEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFUyxlQUFlO1FBQ3JCLE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7K0dBWlEsbUJBQW1CO21HQUFuQixtQkFBbUIsdUZDWGhDLCtXQU9BOzs0RkRJYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0ksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgVGFnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VSZXNvdXJjZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS1yZXNvdXJjZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXJlc291cmNlLXdoaXRlLXBhcGVycycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3doaXRlLXBhcGVycy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV2hpdGVQYXBlckNvbXBvbmVudCBleHRlbmRzIEJhc2VSZXNvdXJjZUNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICB0YWdTZXJ2aWNlOiBUYWdTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihyZXNvdXJjZVNlcnZpY2UsIHRhZ1NlcnZpY2UsIGF1dGhTZXJ2aWNlLCBpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFJlc291cmNlVHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ1doaXRlIFBhcGVycyc7XG4gICAgfVxufVxuIiwiPHB3LXJlc291cmNlLWhlYWRlcj48L3B3LXJlc291cmNlLWhlYWRlcj5cblxuPHB3LXdoaXRlLXBhcGVyLXRvcC1iYW5uZXI+PC9wdy13aGl0ZS1wYXBlci10b3AtYmFubmVyPlxuXG48cHctcmVzb3VyY2UtLXZhdWx0ICpuZ0lmPVwiYmxvZ1Bvc3RUYWc/LnRhZ19jYXRlZ29yeV9pZFwiIFt0YWddPVwiYmxvZ1Bvc3RUYWdcIiBbY2F0ZWdvcnlJZF09XCJibG9nUG9zdFRhZz8udGFnX2NhdGVnb3J5X2lkXCIgW3Jlc291cmNlVGl0bGVdPVwiYmxvZ1Bvc3RUYWc/LnRpdGxlXCIgW3Bvc3RTbGljZV09XCJ0cnVlXCI+PC9wdy1yZXNvdXJjZS0tdmF1bHQ+XG5cbjxwdy10cmlhbC00LWNvbnRhY3QtdXM+PC9wdy10cmlhbC00LWNvbnRhY3QtdXM+XG4iXX0=