@acorex/components 18.16.0-next.7 → 18.16.0-next.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,7 +8,9 @@ export declare class AXCommentLikeComponent {
8
8
  /**
9
9
  * Indicates whether the comment is liked.
10
10
  */
11
- liked: import("@angular/core").InputSignal<unknown>;
11
+ liked: import("@angular/core").ModelSignal<boolean>;
12
+ onLiked: import("@angular/core").OutputEmitterRef<boolean>;
13
+ changeState(): void;
12
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCommentLikeComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<AXCommentLikeComponent, "ax-comment-like", never, { "liked": { "alias": "liked"; "required": true; "isSignal": true; }; }, {}, never, ["*"], false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXCommentLikeComponent, "ax-comment-like", never, { "liked": { "alias": "liked"; "required": true; "isSignal": true; }; }, { "liked": "likedChange"; "onLiked": "onLiked"; }, never, ["*"], false, never>;
14
16
  }
@@ -1,3 +1,4 @@
1
+ import { OnDestroy, Renderer2 } from '@angular/core';
1
2
  import { AXConversationMessageBaseComponent } from '../../conversation.types';
2
3
  import * as i0 from "@angular/core";
3
4
  /**
@@ -5,7 +6,8 @@ import * as i0 from "@angular/core";
5
6
  *
6
7
  * @category Components
7
8
  */
8
- export declare class AXConversationMessageAudioComponent extends AXConversationMessageBaseComponent<string> {
9
+ export declare class AXConversationMessageAudioComponent extends AXConversationMessageBaseComponent<string> implements OnDestroy {
10
+ rendrer: Renderer2;
9
11
  /**
10
12
  * @ignore
11
13
  */
@@ -34,10 +36,38 @@ export declare class AXConversationMessageAudioComponent extends AXConversationM
34
36
  * @ignore
35
37
  */
36
38
  protected durationFormat: import("@angular/core").WritableSignal<number>;
39
+ /**
40
+ * @ignore
41
+ */
42
+ protected endedEvent: any;
43
+ /**
44
+ * @ignore
45
+ */
46
+ protected durationchangeEvent: any;
47
+ /**
48
+ * @ignore
49
+ */
50
+ protected timeupdateEvent: any;
37
51
  /**
38
52
  * @ignore
39
53
  */
40
54
  constructor();
55
+ /**
56
+ * @ignore
57
+ */
58
+ ngOnDestroy(): void;
59
+ /**
60
+ * @ignore
61
+ */
62
+ protected endedFunction(): void;
63
+ /**
64
+ * @ignore
65
+ */
66
+ protected durationchangeFunction(): void;
67
+ /**
68
+ * @ignore
69
+ */
70
+ protected timeupdateFunction(): void;
41
71
  /**
42
72
  * Seeks to the specified time and resumes audio playback.
43
73
  *
@@ -28,10 +28,10 @@ export class AxCommentItemComponent {
28
28
  this.collaps().toggle();
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AxCommentItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AxCommentItemComponent, selector: "ax-comment-item", inputs: { replyCount: { classPropertyName: "replyCount", publicName: "replyCount", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "avatar", first: true, predicate: AXAvatarComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "collaps", first: true, predicate: ["c"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-collapse-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-collapse\n #c\n [caption]=\"\n ('comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? 'comment.replies' : 'comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n }\n</div>\n", styles: [".ax-comment-items .ax-header-container{display:flex;align-items:center;justify-content:space-between}.ax-comment-items .ax-header-container .ax-title-avatar-container{display:flex;align-items:center}.ax-comment-items .ax-header-container ax-title{font-weight:700;padding:.5rem}.ax-comment-items .ax-content-container{margin-inline-start:3rem;display:flex;flex-direction:column}.ax-comment-items .ax-content-container .ax-reaction-container{margin-top:.8rem;display:flex}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like{margin-inline-end:1.5rem}.ax-comment-items .ax-content-container .ax-reaction-container ax-text{color:rgba(var(--ax-color-neutral-500))}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like,.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-reply,.ax-comment-items .ax-content-container .ax-reaction-container ax-text{cursor:pointer}.ax-comment-items .ax-comment-replies{margin-inline-start:2rem}.ax-comment-items .ax-comment-replies ax-comment-reply-more{cursor:pointer;color:rgba(var(--ax-color-neutral-500))}\n"], dependencies: [{ kind: "component", type: i1.AXCollapseComponent, selector: "ax-collapse", inputs: ["disabled", "look", "isCollapsed", "showHeader", "caption", "icon", "isLoading", "headerTemplate"], outputs: ["onClick", "isCollapsedChange"] }, { kind: "component", type: i1.AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: ["look", "accordion", "activeIndex"], outputs: ["accordionChange", "activeIndexChange"] }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AxCommentItemComponent, selector: "ax-comment-item", inputs: { replyCount: { classPropertyName: "replyCount", publicName: "replyCount", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "avatar", first: true, predicate: AXAvatarComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "collaps", first: true, predicate: ["c"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-collapse-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-collapse\n #c\n [caption]=\"\n ('comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? 'comment.replies' : 'comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n }\n</div>\n", styles: [".ax-comment-items{margin-bottom:.25rem}.ax-comment-items .ax-header-container{display:flex;align-items:center;justify-content:space-between}.ax-comment-items .ax-header-container .ax-title-avatar-container{display:flex;align-items:center}.ax-comment-items .ax-header-container ax-title{font-weight:500;padding:.5rem}.ax-comment-items .ax-content-container{margin-inline-start:3rem;display:flex;flex-direction:column;font-size:.875rem;opacity:80%}.ax-comment-items .ax-content-container .ax-reaction-container{margin-top:.75rem;display:flex}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like{margin-inline-end:1.5rem}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like,.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-reply,.ax-comment-items .ax-content-container .ax-reaction-container ax-text{cursor:pointer}.ax-comment-items .ax-comment-replies{margin-inline-start:2rem}.ax-comment-items .ax-comment-replies .ax-collapse-header-container{font-weight:500;justify-content:unset;color:rgba(var(--ax-color-primary-500))}.ax-comment-items .ax-comment-replies ax-comment-reply-more{cursor:pointer}.ax-dark .ax-comment-items .ax-comment-like-container.ax-state-liked ax-text{color:rgba(var(--ax-color-danger-400))!important}.ax-dark .ax-comment-items .ax-collapse-header-container{color:rgba(var(--ax-color-primary-200))}\n"], dependencies: [{ kind: "component", type: i1.AXCollapseComponent, selector: "ax-collapse", inputs: ["disabled", "look", "isCollapsed", "showHeader", "caption", "icon", "isLoading", "headerTemplate"], outputs: ["onClick", "isCollapsedChange"] }, { kind: "component", type: i1.AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: ["look", "accordion", "activeIndex"], outputs: ["accordionChange", "activeIndexChange"] }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AxCommentItemComponent, decorators: [{
34
34
  type: Component,
35
- args: [{ selector: 'ax-comment-item', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-collapse-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-collapse\n #c\n [caption]=\"\n ('comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? 'comment.replies' : 'comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n }\n</div>\n", styles: [".ax-comment-items .ax-header-container{display:flex;align-items:center;justify-content:space-between}.ax-comment-items .ax-header-container .ax-title-avatar-container{display:flex;align-items:center}.ax-comment-items .ax-header-container ax-title{font-weight:700;padding:.5rem}.ax-comment-items .ax-content-container{margin-inline-start:3rem;display:flex;flex-direction:column}.ax-comment-items .ax-content-container .ax-reaction-container{margin-top:.8rem;display:flex}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like{margin-inline-end:1.5rem}.ax-comment-items .ax-content-container .ax-reaction-container ax-text{color:rgba(var(--ax-color-neutral-500))}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like,.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-reply,.ax-comment-items .ax-content-container .ax-reaction-container ax-text{cursor:pointer}.ax-comment-items .ax-comment-replies{margin-inline-start:2rem}.ax-comment-items .ax-comment-replies ax-comment-reply-more{cursor:pointer;color:rgba(var(--ax-color-neutral-500))}\n"] }]
35
+ args: [{ selector: 'ax-comment-item', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-collapse-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-collapse\n #c\n [caption]=\"\n ('comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? 'comment.replies' : 'comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n }\n</div>\n", styles: [".ax-comment-items{margin-bottom:.25rem}.ax-comment-items .ax-header-container{display:flex;align-items:center;justify-content:space-between}.ax-comment-items .ax-header-container .ax-title-avatar-container{display:flex;align-items:center}.ax-comment-items .ax-header-container ax-title{font-weight:500;padding:.5rem}.ax-comment-items .ax-content-container{margin-inline-start:3rem;display:flex;flex-direction:column;font-size:.875rem;opacity:80%}.ax-comment-items .ax-content-container .ax-reaction-container{margin-top:.75rem;display:flex}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like{margin-inline-end:1.5rem}.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-like,.ax-comment-items .ax-content-container .ax-reaction-container ax-comment-reply,.ax-comment-items .ax-content-container .ax-reaction-container ax-text{cursor:pointer}.ax-comment-items .ax-comment-replies{margin-inline-start:2rem}.ax-comment-items .ax-comment-replies .ax-collapse-header-container{font-weight:500;justify-content:unset;color:rgba(var(--ax-color-primary-500))}.ax-comment-items .ax-comment-replies ax-comment-reply-more{cursor:pointer}.ax-dark .ax-comment-items .ax-comment-like-container.ax-state-liked ax-text{color:rgba(var(--ax-color-danger-400))!important}.ax-dark .ax-comment-items .ax-collapse-header-container{color:rgba(var(--ax-color-primary-200))}\n"] }]
36
36
  }], ctorParameters: () => [] });
37
37
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb21tZW50L3NyYy9saWIvY29tbWVudC1pdGVtL2NvbW1lbnQtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29tbWVudC9zcmMvbGliL2NvbW1lbnQtaXRlbS9jb21tZW50LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBRTlHOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sc0JBQXNCO0lBVWpDOztPQUVHO0lBQ0g7UUFaQTs7V0FFRztRQUNPLFdBQU0sR0FBRyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV6QyxZQUFPLEdBQUcsU0FBUyxDQUFzQixHQUFHLENBQUMsQ0FBQztRQUV4RCxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFNM0IsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFCLENBQUM7OEdBckJVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDhPQUlELGlCQUFpQiw4S0NuQm5ELDgxQ0F3Q0E7OzJGRHpCYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUdaLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEF2YXRhckNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHsgQVhDb2xsYXBzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xsYXBzZSc7XG5pbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIENvbXBvbmVudCwgY29udGVudENoaWxkLCBpbnB1dCwgdmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyBhbiBpbmRpdmlkdWFsIGNvbW1lbnQgaXRlbSBpbiB0aGUgY29tbWVudCBzeXN0ZW0uXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29tbWVudC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1lbnQtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jb21tZW50LWl0ZW0uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBeENvbW1lbnRJdGVtQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgYXZhdGFyID0gY29udGVudENoaWxkKEFYQXZhdGFyQ29tcG9uZW50KTtcblxuICBwcm90ZWN0ZWQgY29sbGFwcyA9IHZpZXdDaGlsZDxBWENvbGxhcHNlQ29tcG9uZW50PignYycpO1xuXG4gIHJlcGx5Q291bnQgPSBpbnB1dDxudW1iZXI+KCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgdGhpcy5hdmF0YXIoKT8uc2l6ZT8uc2V0KDQwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZUNvbGxhcHMoKSB7XG4gICAgdGhpcy5jb2xsYXBzKCkudG9nZ2xlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1jb21tZW50LWl0ZW1zXCI+XG4gIDxkaXYgY2xhc3M9XCJheC1oZWFkZXItY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LXRpdGxlLWF2YXRhci1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWF2YXRhclwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXRpdGxlXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY29tbWVudC1kYXRlXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNvbW1lbnQtbWVudS1vcHRpb25zXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF4LWNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtcmVhY3Rpb24tY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jb21tZW50LWxpa2VcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jb21tZW50LXJlcGx5LXRleHRcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBAaWYgKHJlcGx5Q291bnQoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJheC1jb21tZW50LXJlcGxpZXNcIj5cbiAgICAgIDxheC1jb2xsYXBzZS1ncm91cCBsb29rPVwibm9uZVwiIFthY2NvcmRpb25dPVwidHJ1ZVwiIFthY3RpdmVJbmRleF09XCIxXCI+XG4gICAgICAgIDxheC1jb2xsYXBzZVxuICAgICAgICAgICNjXG4gICAgICAgICAgW2NhcHRpb25dPVwiXG4gICAgICAgICAgICAoJ2NvbW1lbnQudmlldycgfCB0cmFuc2xhdGUgfCBhc3luYykgK1xuICAgICAgICAgICAgJyAnICtcbiAgICAgICAgICAgIHJlcGx5Q291bnQoKSArXG4gICAgICAgICAgICAnICcgK1xuICAgICAgICAgICAgKChyZXBseUNvdW50KCkgPiAxID8gJ2NvbW1lbnQucmVwbGllcycgOiAnY29tbWVudC5yZXBseScpIHwgdHJhbnNsYXRlIHwgYXN5bmMpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbaXNDb2xsYXBzZWRdPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jb21tZW50LWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY29tbWVudC1yZXBseS1tb3JlXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2F4LWNvbGxhcHNlPlxuICAgICAgPC9heC1jb2xsYXBzZS1ncm91cD5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, input } from '@angular/core';
1
+ import { Component, model, output } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@acorex/components/decorators";
4
4
  /**
@@ -11,13 +11,18 @@ export class AXCommentLikeComponent {
11
11
  /**
12
12
  * Indicates whether the comment is liked.
13
13
  */
14
- this.liked = input.required();
14
+ this.liked = model.required();
15
+ this.onLiked = output();
16
+ }
17
+ changeState() {
18
+ this.liked.update((prev) => !prev);
19
+ this.onLiked.emit(this.liked());
15
20
  }
16
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCommentLikeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXCommentLikeComponent, selector: "ax-comment-like", inputs: { liked: { classPropertyName: "liked", publicName: "liked", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"ax-comment-like-container\">\n <ax-icon class=\"ax-icon ax-icon-heart\" [class.ax-state-liked]=\"liked()\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n", styles: [".ax-comment-like-container{display:flex;align-items:center}.ax-comment-like-container ax-icon{margin-inline-end:.2rem;color:rgba(var(--ax-color-danger-500))}.ax-comment-like-container ax-icon.ax-state-liked{font-weight:700}.ax-comment-like-container ax-text{color:rgba(var(--ax-color-danger-500))}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }] }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXCommentLikeComponent, selector: "ax-comment-like", inputs: { liked: { classPropertyName: "liked", publicName: "liked", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { liked: "likedChange", onLiked: "onLiked" }, ngImport: i0, template: "<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"liked()\" (click)=\"changeState()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n", styles: [".ax-comment-like-container{display:flex;align-items:center;gap:.25rem}.ax-comment-like-container ax-icon{font-size:.938rem}.ax-comment-like-container.ax-state-liked{color:rgba(var(--ax-color-danger-500))}.ax-comment-like-container.ax-state-liked ax-icon{font-weight:700}.ax-comment-like-container.ax-state-liked ax-text{color:rgba(var(--ax-color-danger-500))}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }] }); }
18
23
  }
19
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCommentLikeComponent, decorators: [{
20
25
  type: Component,
21
- args: [{ selector: 'ax-comment-like', template: "<div class=\"ax-comment-like-container\">\n <ax-icon class=\"ax-icon ax-icon-heart\" [class.ax-state-liked]=\"liked()\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n", styles: [".ax-comment-like-container{display:flex;align-items:center}.ax-comment-like-container ax-icon{margin-inline-end:.2rem;color:rgba(var(--ax-color-danger-500))}.ax-comment-like-container ax-icon.ax-state-liked{font-weight:700}.ax-comment-like-container ax-text{color:rgba(var(--ax-color-danger-500))}\n"] }]
26
+ args: [{ selector: 'ax-comment-like', template: "<div class=\"ax-comment-like-container\" [class.ax-state-liked]=\"liked()\" (click)=\"changeState()\">\n <ax-icon class=\"ax-icon ax-icon-heart\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n", styles: [".ax-comment-like-container{display:flex;align-items:center;gap:.25rem}.ax-comment-like-container ax-icon{font-size:.938rem}.ax-comment-like-container.ax-state-liked{color:rgba(var(--ax-color-danger-500))}.ax-comment-like-container.ax-state-liked ax-icon{font-weight:700}.ax-comment-like-container.ax-state-liked ax-text{color:rgba(var(--ax-color-danger-500))}\n"] }]
22
27
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1saWtlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb21tZW50L3NyYy9saWIvY29tbWVudC10b29scy9jb21tZW50LWxpa2UvY29tbWVudC1saWtlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb21tZW50L3NyYy9saWIvY29tbWVudC10b29scy9jb21tZW50LWxpa2UvY29tbWVudC1saWtlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFakQ7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNRTs7V0FFRztRQUNILFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDMUI7OEdBTFksc0JBQXNCO2tHQUF0QixzQkFBc0IsMExDWm5DLCtMQUlBOzsyRkRRYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGFuZCBtYW5hZ2luZyBsaWtlcyBvbiBhIGNvbW1lbnQuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29tbWVudC1saWtlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1lbnQtbGlrZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jb21tZW50LWxpa2UuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbW1lbnRMaWtlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb21tZW50IGlzIGxpa2VkLlxuICAgKi9cbiAgbGlrZWQgPSBpbnB1dC5yZXF1aXJlZCgpO1xufVxuIiwiPGRpdiBjbGFzcz1cImF4LWNvbW1lbnQtbGlrZS1jb250YWluZXJcIj5cbiAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24taGVhcnRcIiBbY2xhc3MuYXgtc3RhdGUtbGlrZWRdPVwibGlrZWQoKVwiPjwvYXgtaWNvbj5cbiAgPGF4LXRleHQ+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvYXgtdGV4dD5cbjwvZGl2PlxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1saWtlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb21tZW50L3NyYy9saWIvY29tbWVudC10b29scy9jb21tZW50LWxpa2UvY29tbWVudC1saWtlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb21tZW50L3NyYy9saWIvY29tbWVudC10b29scy9jb21tZW50LWxpa2UvY29tbWVudC1saWtlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRXpEOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBTUU7O1dBRUc7UUFDSCxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBQ2xDLFlBQU8sR0FBRyxNQUFNLEVBQVcsQ0FBQztLQU03QjtJQUpDLFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDOzhHQVZVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGlQQ1puQyx5TkFJQTs7MkZEUWEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgbW9kZWwsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGFuZCBtYW5hZ2luZyBsaWtlcyBvbiBhIGNvbW1lbnQuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29tbWVudC1saWtlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1lbnQtbGlrZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jb21tZW50LWxpa2UuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbW1lbnRMaWtlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb21tZW50IGlzIGxpa2VkLlxuICAgKi9cbiAgbGlrZWQgPSBtb2RlbC5yZXF1aXJlZDxib29sZWFuPigpO1xuICBvbkxpa2VkID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgY2hhbmdlU3RhdGUoKSB7XG4gICAgdGhpcy5saWtlZC51cGRhdGUoKHByZXYpID0+ICFwcmV2KTtcbiAgICB0aGlzLm9uTGlrZWQuZW1pdCh0aGlzLmxpa2VkKCkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtY29tbWVudC1saWtlLWNvbnRhaW5lclwiIFtjbGFzcy5heC1zdGF0ZS1saWtlZF09XCJsaWtlZCgpXCIgKGNsaWNrKT1cImNoYW5nZVN0YXRlKClcIj5cbiAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24taGVhcnRcIj48L2F4LWljb24+XG4gIDxheC10ZXh0PjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2F4LXRleHQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, ViewEncapsulation, afterNextRender, signal } from '@angular/core';
1
+ import { Component, Renderer2, ViewEncapsulation, afterNextRender, inject, signal, } from '@angular/core';
2
2
  import { AXConversationMessageBaseComponent } from '../../conversation.types';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/forms";
@@ -17,6 +17,7 @@ export class AXConversationMessageAudioComponent extends AXConversationMessageBa
17
17
  */
18
18
  constructor() {
19
19
  super();
20
+ this.rendrer = inject(Renderer2);
20
21
  /**
21
22
  * @ignore
22
23
  */
@@ -49,24 +50,50 @@ export class AXConversationMessageAudioComponent extends AXConversationMessageBa
49
50
  afterNextRender(() => {
50
51
  this.audioTag().autoplay = false;
51
52
  this.audioTag().src = this.message.content;
52
- this.audioTag().addEventListener('ended', () => {
53
- this.audioState.set('paused');
54
- this.audioTag().pause();
55
- this.audioTag().currentTime = 0;
56
- this.currentTime.set(0);
57
- });
58
- this.audioTag().addEventListener('durationchange', () => {
59
- if (this.audioTag().duration === Infinity)
60
- return;
61
- this.duration.set(this.audioTag().duration);
62
- this.durationFormat.set(Math.ceil(this.audioTag().duration) * 1000);
63
- });
64
- this.audioTag().addEventListener('timeupdate', () => {
65
- this.currentTime.set(this.audioTag().currentTime);
66
- this.currentTimeFormat.set(Math.ceil(this.audioTag().currentTime * 1000));
67
- });
53
+ this.rendrer.listen(this.audioTag(), 'ended', this.endedFunction.bind(this));
54
+ this.rendrer.listen(this.audioTag(), 'durationchange', this.durationchangeFunction.bind(this));
55
+ this.rendrer.listen(this.audioTag(), 'timeupdate', this.timeupdateFunction.bind(this));
68
56
  });
69
57
  }
58
+ /**
59
+ * @ignore
60
+ */
61
+ ngOnDestroy() {
62
+ if (this.endedEvent) {
63
+ this.endedEvent();
64
+ }
65
+ if (this.durationchangeEvent) {
66
+ this.durationchangeEvent();
67
+ }
68
+ if (this.timeupdateEvent) {
69
+ this.timeupdateEvent();
70
+ }
71
+ }
72
+ /**
73
+ * @ignore
74
+ */
75
+ endedFunction() {
76
+ this.audioState.set('paused');
77
+ this.audioTag().pause();
78
+ this.audioTag().currentTime = 0;
79
+ this.currentTime.set(0);
80
+ }
81
+ /**
82
+ * @ignore
83
+ */
84
+ durationchangeFunction() {
85
+ if (this.audioTag().duration === Infinity)
86
+ return;
87
+ this.duration.set(this.audioTag().duration);
88
+ this.durationFormat.set(Math.ceil(this.audioTag().duration) * 1000);
89
+ }
90
+ /**
91
+ * @ignore
92
+ */
93
+ timeupdateFunction() {
94
+ this.currentTime.set(this.audioTag().currentTime);
95
+ this.currentTimeFormat.set(Math.ceil(this.audioTag().currentTime * 1000));
96
+ }
70
97
  /**
71
98
  * Seeks to the specified time and resumes audio playback.
72
99
  *
@@ -117,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
117
144
  type: Component,
118
145
  args: [{ selector: 'ax-conversation-message-audio', encapsulation: ViewEncapsulation.None, template: "<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\">{{ audioRate() }}X</button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (ngModelChange)=\"clickHandler($event)\"\n [max]=\"duration()\"\n [min]=\"0\"\n mode=\"single\"\n [ngModel]=\"currentTime()\"\n color=\"secondary\"\n>\n</ax-range-slider>\n", styles: [".ax-time-rate button{margin-inline-start:.3rem;background-color:rgba(var(--ax-color-primary-fore));color:rgba(var(--ax-color-neutral-950));border-radius:.2rem;min-width:2rem}.ax-modify-bgSlider{width:14rem;margin:0 1rem}\n"] }]
119
146
  }], ctorParameters: () => [] });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLW1lc3NhZ2UtYXVkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL2NvbnZlcnNhdGlvbi1tZXNzYWdlcy9jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpby9jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvY29udmVyc2F0aW9uLW1lc3NhZ2VzL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWF1ZGlvL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWF1ZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUU5RTs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLGtDQUEwQztJQXFDakc7O09BRUc7SUFDSDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBeENWOztXQUVHO1FBQ08sZUFBVSxHQUFHLE1BQU0sQ0FBdUIsUUFBUSxDQUFDLENBQUM7UUFFOUQ7O1dBRUc7UUFDSCwyREFBMkQ7UUFDakQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFekM7O1dBRUc7UUFDTyxjQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWhDOztXQUVHO1FBQ08sZ0JBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEM7O1dBRUc7UUFDTyxhQUFRLEdBQUcsTUFBTSxDQUFDLENB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LENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUNuQyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7OEdBN0dVLG1DQUFtQztrR0FBbkMsbUNBQW1DLDRGQ2RoRCxtbENBd0NBOzsyRkQxQmEsbUNBQW1DO2tCQU4vQyxTQUFTOytCQUNFLCtCQUErQixpQkFHMUIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGFmdGVyTmV4dFJlbmRlciwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udmVyc2F0aW9uLnR5cGVzJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgYXVkaW8gbWVzc2FnZXMgaW4gYSBjb252ZXJzYXRpb24uXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29udmVyc2F0aW9uLW1lc3NhZ2UtYXVkaW8nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udmVyc2F0aW9uLW1lc3NhZ2UtYXVkaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpby5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbnZlcnNhdGlvbk1lc3NhZ2VBdWRpb0NvbXBvbmVudCBleHRlbmRzIEFYQ29udmVyc2F0aW9uTWVzc2FnZUJhc2VDb21wb25lbnQ8c3RyaW5nPiB7XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGF1ZGlvU3RhdGUgPSBzaWduYWw8J3BsYXlpbmcnIHwgJ3BhdXNlZCc+KCdwYXVzZWQnKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIC8vIGF1ZGlvVGFnID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEF1ZGlvRWxlbWVudD4+KCdhJyk7XG4gIHByb3RlY3RlZCBhdWRpb1RhZyA9IHNpZ25hbChuZXcgQXVkaW8oKSk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgYXVkaW9SYXRlID0gc2lnbmFsKDEpO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGN1cnJlbnRUaW1lID0gc2lnbmFsKDApO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGR1cmF0aW9uID0gc2lnbmFsKDApO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGN1cnJlbnRUaW1lRm9ybWF0ID0gc2lnbmFsKDApO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGR1cmF0aW9uRm9ybWF0ID0gc2lnbmFsKDApO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgdGhpcy5hdWRpb1RhZygpLmF1dG9wbGF5ID0gZmFsc2U7XG4gICAgICB0aGlzLmF1ZGlvVGFnKCkuc3JjID0gdGhpcy5tZXNzYWdlLmNvbnRlbnQ7XG5cbiAgICAgIHRoaXMuYXVkaW9UYWcoKS5hZGRFdmVudExpc3RlbmVyKCdlbmRlZCcsICgpID0+IHtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgncGF1c2VkJyk7XG4gICAgICAgIHRoaXMuYXVkaW9UYWcoKS5wYXVzZSgpO1xuICAgICAgICB0aGlzLmF1ZGlvVGFnKCkuY3VycmVudFRpbWUgPSAwO1xuICAgICAgICB0aGlzLmN1cnJlbnRUaW1lLnNldCgwKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmF1ZGlvVGFnKCkuYWRkRXZlbnRMaXN0ZW5lcignZHVyYXRpb25jaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmF1ZGlvVGFnKCkuZHVyYXRpb24gPT09IEluZmluaXR5KSByZXR1cm47XG4gICAgICAgIHRoaXMuZHVyYXRpb24uc2V0KHRoaXMuYXVkaW9UYWcoKS5kdXJhdGlvbik7XG4gICAgICAgIHRoaXMuZHVyYXRpb25Gb3JtYXQuc2V0KE1hdGguY2VpbCh0aGlzLmF1ZGlvVGFnKCkuZHVyYXRpb24pICogMTAwMCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5hdWRpb1RhZygpLmFkZEV2ZW50TGlzdGVuZXIoJ3RpbWV1cGRhdGUnLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudFRpbWUuc2V0KHRoaXMuYXVkaW9UYWcoKS5jdXJyZW50VGltZSk7XG4gICAgICAgIHRoaXMuY3VycmVudFRpbWVGb3JtYXQuc2V0KE1hdGguY2VpbCh0aGlzLmF1ZGlvVGFnKCkuY3VycmVudFRpbWUgKiAxMDAwKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWVrcyB0byB0aGUgc3BlY2lmaWVkIHRpbWUgYW5kIHJlc3VtZXMgYXVkaW8gcGxheWJhY2suXG4gICAqXG4gICAqIEBwYXJhbSBlIC0gVGltZSBpbiBzZWNvbmRzIHRvIHNlZWsgdG8uXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBjbGlja0hhbmRsZXIoZTogYW55KSB7XG4gICAgdGhpcy5hdWRpb1RhZygpLmN1cnJlbnRUaW1lID0gZSBhcyBudW1iZXI7XG4gIH1cblxuICAvKipcbiAgICogUGF1c2VzIHRoZSBhdWRpbyBhbmQgdXBkYXRlcyB0aGUgc3RhdGUgdG8gJ3BhdXNlZCcuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVQYXVzZUNsaWNrKCkge1xuICAgIHRoaXMuYXVkaW9TdGF0ZS5zZXQoJ3BhdXNlZCcpO1xuICAgIHRoaXMuYXVkaW9UYWcoKS5wYXVzZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBsYXlzIHRoZSBhdWRpbyBhbmQgdXBkYXRlcyB0aGUgc3RhdGUgdG8gJ3BsYXlpbmcnLlxcXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVQbGF5Q2xpY2soKSB7XG4gICAgdGhpcy5hdWRpb1N0YXRlLnNldCgncGxheWluZycpO1xuICAgIHRoaXMuYXVkaW9UYWcoKS5wbGF5KCk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgcGxheWJhY2sgcmF0ZSBvZiB0aGUgYXVkaW8gYmV0d2VlbiAxeCwgMS41eCwgYW5kIDJ4LlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUmF0ZUNsaWNrKCkge1xuICAgIGlmICh0aGlzLmF1ZGlvUmF0ZSgpID09PSAxKSB7XG4gICAgICB0aGlzLmF1ZGlvUmF0ZS5zZXQoMS41KTtcbiAgICAgIHRoaXMuYXVkaW9UYWcoKS5wbGF5YmFja1JhdGUgPSAxLjU7XG4gICAgfSBlbHNlIGlmICh0aGlzLmF1ZGlvUmF0ZSgpID09PSAxLjUpIHtcbiAgICAgIHRoaXMuYXVkaW9SYXRlLnNldCgyKTtcbiAgICAgIHRoaXMuYXVkaW9UYWcoKS5wbGF5YmFja1JhdGUgPSAyO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hdWRpb1JhdGUoKSA9PT0gMikge1xuICAgICAgdGhpcy5hdWRpb1JhdGUuc2V0KDEpO1xuICAgICAgdGhpcy5hdWRpb1RhZygpLnBsYXliYWNrUmF0ZSA9IDE7XG4gICAgfVxuICB9XG59XG4iLCI8YXgtcHJlZml4PlxuICA8ZGl2IGNsYXNzPVwiYXgtdGltZS1yYXRlXCI+XG4gICAgQHN3aXRjaCAoYXVkaW9TdGF0ZSgpKSB7XG4gICAgICBAY2FzZSAoJ3BhdXNlZCcpIHtcbiAgICAgICAge3sgY3VycmVudFRpbWVGb3JtYXQoKSB8IGZvcm1hdDogJ3RpbWUtZHVyYXRpb24nIHwgYXN5bmMgfX1cbiAgICAgIH1cbiAgICAgIEBjYXNlICgncGxheWluZycpIHtcbiAgICAgICAge3sgY3VycmVudFRpbWVGb3JtYXQoKSB8IGZvcm1hdDogJ3RpbWUtZHVyYXRpb24nIHwgYXN5bmMgfX1cbiAgICAgIH1cbiAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAge3sgZHVyYXRpb25Gb3JtYXQoKSB8IGZvcm1hdDogJ3RpbWUtZHVyYXRpb24nIHwgYXN5bmMgfX1cbiAgICAgIH1cbiAgICB9XG4gICAgPGJ1dHRvbiBjbGFzcz1cImF4LWF1ZGlvLXNwZWVkXCIgKGNsaWNrKT1cImhhbmRsZVJhdGVDbGljaygpXCI+e3sgYXVkaW9SYXRlKCkgfX1YPC9idXR0b24+XG4gIDwvZGl2PlxuPC9heC1wcmVmaXg+XG48ZGl2IGNsYXNzPVwiYXgtY29udmVyc2F0aW9uLWNvbnRyb2xsZXJcIj5cbiAgQHN3aXRjaCAoYXVkaW9TdGF0ZSgpKSB7XG4gICAgQGNhc2UgKCdwbGF5aW5nJykge1xuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUGF1c2VDbGljaygpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLXBhdXNlXCI+PC9pPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICAgIEBjYXNlICgncGF1c2VkJykge1xuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUGxheUNsaWNrKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tcGxheVwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgfVxuPC9kaXY+XG48YXgtcmFuZ2Utc2xpZGVyXG4gIGNsYXNzPVwiYXgtbW9kaWZ5LWJnU2xpZGVyXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwiY2xpY2tIYW5kbGVyKCRldmVudClcIlxuICBbbWF4XT1cImR1cmF0aW9uKClcIlxuICBbbWluXT1cIjBcIlxuICBtb2RlPVwic2luZ2xlXCJcbiAgW25nTW9kZWxdPVwiY3VycmVudFRpbWUoKVwiXG4gIGNvbG9yPVwic2Vjb25kYXJ5XCJcbj5cbjwvYXgtcmFuZ2Utc2xpZGVyPlxuIl19
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLW1lc3NhZ2UtYXVkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbi9zcmMvbGliL2NvbnZlcnNhdGlvbi1tZXNzYWdlcy9jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpby9jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29udmVyc2F0aW9uL3NyYy9saWIvY29udmVyc2F0aW9uLW1lc3NhZ2VzL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWF1ZGlvL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWF1ZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsU0FBUyxFQUNULGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUU5RTs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLG1DQUNYLFNBQVEsa0NBQTBDO0lBdURsRDs7T0FFRztJQUNIO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUF4RFYsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1Qjs7V0FFRztRQUNPLGVBQVUsR0FBRyxNQUFNLENBQXVCLFFBQVEsQ0FBQyxDQUFDO1FBRTlEOztXQUVHO1FBQ0gsMkRBQTJEO1FBQ2pELGFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXpDOztXQUVHO1FBQ08sY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVoQzs7V0FFRztRQUNPLGdCQUFXLEdBQUcsTUFB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MUIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBhZnRlck5leHRSZW5kZXIsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29udmVyc2F0aW9uTWVzc2FnZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb252ZXJzYXRpb24udHlwZXMnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhdWRpbyBtZXNzYWdlcyBpbiBhIGNvbnZlcnNhdGlvbi5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb252ZXJzYXRpb24tbWVzc2FnZS1hdWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnZlcnNhdGlvbi1tZXNzYWdlLWF1ZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29udmVyc2F0aW9uTWVzc2FnZUF1ZGlvQ29tcG9uZW50XG4gIGV4dGVuZHMgQVhDb252ZXJzYXRpb25NZXNzYWdlQmFzZUNvbXBvbmVudDxzdHJpbmc+XG4gIGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gIHJlbmRyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgYXVkaW9TdGF0ZSA9IHNpZ25hbDwncGxheWluZycgfCAncGF1c2VkJz4oJ3BhdXNlZCcpO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgLy8gYXVkaW9UYWcgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MQXVkaW9FbGVtZW50Pj4oJ2EnKTtcbiAgcHJvdGVjdGVkIGF1ZGlvVGFnID0gc2lnbmFsKG5ldyBBdWRpbygpKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBhdWRpb1JhdGUgPSBzaWduYWwoMSk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgY3VycmVudFRpbWUgPSBzaWduYWwoMCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZHVyYXRpb24gPSBzaWduYWwoMCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgY3VycmVudFRpbWVGb3JtYXQgPSBzaWduYWwoMCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZHVyYXRpb25Gb3JtYXQgPSBzaWduYWwoMCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZW5kZWRFdmVudDtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBkdXJhdGlvbmNoYW5nZUV2ZW50O1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIHRpbWV1cGRhdGVFdmVudDtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIHRoaXMuYXVkaW9UYWcoKS5hdXRvcGxheSA9IGZhbHNlO1xuICAgICAgdGhpcy5hdWRpb1RhZygpLnNyYyA9IHRoaXMubWVzc2FnZS5jb250ZW50O1xuICAgICAgdGhpcy5yZW5kcmVyLmxpc3Rlbih0aGlzLmF1ZGlvVGFnKCksICdlbmRlZCcsIHRoaXMuZW5kZWRGdW5jdGlvbi5iaW5kKHRoaXMpKTtcbiAgICAgIHRoaXMucmVuZHJlci5saXN0ZW4odGhpcy5hdWRpb1RhZygpLCAnZHVyYXRpb25jaGFuZ2UnLCB0aGlzLmR1cmF0aW9uY2hhbmdlRnVuY3Rpb24uYmluZCh0aGlzKSk7XG4gICAgICB0aGlzLnJlbmRyZXIubGlzdGVuKHRoaXMuYXVkaW9UYWcoKSwgJ3RpbWV1cGRhdGUnLCB0aGlzLnRpbWV1cGRhdGVGdW5jdGlvbi5iaW5kKHRoaXMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW5kZWRFdmVudCkge1xuICAgICAgdGhpcy5lbmRlZEV2ZW50KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmR1cmF0aW9uY2hhbmdlRXZlbnQpIHtcbiAgICAgIHRoaXMuZHVyYXRpb25jaGFuZ2VFdmVudCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy50aW1ldXBkYXRlRXZlbnQpIHtcbiAgICAgIHRoaXMudGltZXVwZGF0ZUV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZW5kZWRGdW5jdGlvbigpIHtcbiAgICB0aGlzLmF1ZGlvU3RhdGUuc2V0KCdwYXVzZWQnKTtcbiAgICB0aGlzLmF1ZGlvVGFnKCkucGF1c2UoKTtcbiAgICB0aGlzLmF1ZGlvVGFnKCkuY3VycmVudFRpbWUgPSAwO1xuICAgIHRoaXMuY3VycmVudFRpbWUuc2V0KDApO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZHVyYXRpb25jaGFuZ2VGdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5hdWRpb1RhZygpLmR1cmF0aW9uID09PSBJbmZpbml0eSkgcmV0dXJuO1xuICAgIHRoaXMuZHVyYXRpb24uc2V0KHRoaXMuYXVkaW9UYWcoKS5kdXJhdGlvbik7XG4gICAgdGhpcy5kdXJhdGlvbkZvcm1hdC5zZXQoTWF0aC5jZWlsKHRoaXMuYXVkaW9UYWcoKS5kdXJhdGlvbikgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIHRpbWV1cGRhdGVGdW5jdGlvbigpIHtcbiAgICB0aGlzLmN1cnJlbnRUaW1lLnNldCh0aGlzLmF1ZGlvVGFnKCkuY3VycmVudFRpbWUpO1xuICAgIHRoaXMuY3VycmVudFRpbWVGb3JtYXQuc2V0KE1hdGguY2VpbCh0aGlzLmF1ZGlvVGFnKCkuY3VycmVudFRpbWUgKiAxMDAwKSk7XG4gIH1cbiAgLyoqXG4gICAqIFNlZWtzIHRvIHRoZSBzcGVjaWZpZWQgdGltZSBhbmQgcmVzdW1lcyBhdWRpbyBwbGF5YmFjay5cbiAgICpcbiAgICogQHBhcmFtIGUgLSBUaW1lIGluIHNlY29uZHMgdG8gc2VlayB0by5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGNsaWNrSGFuZGxlcihlOiBhbnkpIHtcbiAgICB0aGlzLmF1ZGlvVGFnKCkuY3VycmVudFRpbWUgPSBlIGFzIG51bWJlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXVzZXMgdGhlIGF1ZGlvIGFuZCB1cGRhdGVzIHRoZSBzdGF0ZSB0byAncGF1c2VkJy5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVBhdXNlQ2xpY2soKSB7XG4gICAgdGhpcy5hdWRpb1N0YXRlLnNldCgncGF1c2VkJyk7XG4gICAgdGhpcy5hdWRpb1RhZygpLnBhdXNlKCk7XG4gIH1cblxuICAvKipcbiAgICogUGxheXMgdGhlIGF1ZGlvIGFuZCB1cGRhdGVzIHRoZSBzdGF0ZSB0byAncGxheWluZycuXFxcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVBsYXlDbGljaygpIHtcbiAgICB0aGlzLmF1ZGlvU3RhdGUuc2V0KCdwbGF5aW5nJyk7XG4gICAgdGhpcy5hdWRpb1RhZygpLnBsYXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBwbGF5YmFjayByYXRlIG9mIHRoZSBhdWRpbyBiZXR3ZWVuIDF4LCAxLjV4LCBhbmQgMnguXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVSYXRlQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuYXVkaW9SYXRlKCkgPT09IDEpIHtcbiAgICAgIHRoaXMuYXVkaW9SYXRlLnNldCgxLjUpO1xuICAgICAgdGhpcy5hdWRpb1RhZygpLnBsYXliYWNrUmF0ZSA9IDEuNTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYXVkaW9SYXRlKCkgPT09IDEuNSkge1xuICAgICAgdGhpcy5hdWRpb1JhdGUuc2V0KDIpO1xuICAgICAgdGhpcy5hdWRpb1RhZygpLnBsYXliYWNrUmF0ZSA9IDI7XG4gICAgfSBlbHNlIGlmICh0aGlzLmF1ZGlvUmF0ZSgpID09PSAyKSB7XG4gICAgICB0aGlzLmF1ZGlvUmF0ZS5zZXQoMSk7XG4gICAgICB0aGlzLmF1ZGlvVGFnKCkucGxheWJhY2tSYXRlID0gMTtcbiAgICB9XG4gIH1cbn1cbiIsIjxheC1wcmVmaXg+XG4gIDxkaXYgY2xhc3M9XCJheC10aW1lLXJhdGVcIj5cbiAgICBAc3dpdGNoIChhdWRpb1N0YXRlKCkpIHtcbiAgICAgIEBjYXNlICgncGF1c2VkJykge1xuICAgICAgICB7eyBjdXJyZW50VGltZUZvcm1hdCgpIHwgZm9ybWF0OiAndGltZS1kdXJhdGlvbicgfCBhc3luYyB9fVxuICAgICAgfVxuICAgICAgQGNhc2UgKCdwbGF5aW5nJykge1xuICAgICAgICB7eyBjdXJyZW50VGltZUZvcm1hdCgpIHwgZm9ybWF0OiAndGltZS1kdXJhdGlvbicgfCBhc3luYyB9fVxuICAgICAgfVxuICAgICAgQGRlZmF1bHQge1xuICAgICAgICB7eyBkdXJhdGlvbkZvcm1hdCgpIHwgZm9ybWF0OiAndGltZS1kdXJhdGlvbicgfCBhc3luYyB9fVxuICAgICAgfVxuICAgIH1cbiAgICA8YnV0dG9uIGNsYXNzPVwiYXgtYXVkaW8tc3BlZWRcIiAoY2xpY2spPVwiaGFuZGxlUmF0ZUNsaWNrKClcIj57eyBhdWRpb1JhdGUoKSB9fVg8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2F4LXByZWZpeD5cbjxkaXYgY2xhc3M9XCJheC1jb252ZXJzYXRpb24tY29udHJvbGxlclwiPlxuICBAc3dpdGNoIChhdWRpb1N0YXRlKCkpIHtcbiAgICBAY2FzZSAoJ3BsYXlpbmcnKSB7XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVQYXVzZUNsaWNrKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tcGF1c2VcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gICAgQGNhc2UgKCdwYXVzZWQnKSB7XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVQbGF5Q2xpY2soKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1wbGF5XCI+PC9pPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICB9XG48L2Rpdj5cbjxheC1yYW5nZS1zbGlkZXJcbiAgY2xhc3M9XCJheC1tb2RpZnktYmdTbGlkZXJcIlxuICAobmdNb2RlbENoYW5nZSk9XCJjbGlja0hhbmRsZXIoJGV2ZW50KVwiXG4gIFttYXhdPVwiZHVyYXRpb24oKVwiXG4gIFttaW5dPVwiMFwiXG4gIG1vZGU9XCJzaW5nbGVcIlxuICBbbmdNb2RlbF09XCJjdXJyZW50VGltZSgpXCJcbiAgY29sb3I9XCJzZWNvbmRhcnlcIlxuPlxuPC9heC1yYW5nZS1zbGlkZXI+XG4iXX0=
@@ -81,7 +81,7 @@ export class AXCronJobContainerComponent extends MXInputBaseValueComponent {
81
81
  useExisting: forwardRef(() => AXCronJobContainerComponent),
82
82
  multi: true,
83
83
  },
84
- ], viewQueries: [{ propertyName: "tabComponent", first: true, predicate: AXTabsComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ax-tabs\n [content]=\"cronTab\"\n [look]=\"options().look\"\n [fitParent]=\"options().fit\"\n [location]=\"options().location\"\n>\n <ax-tab-item key=\"Seconds\" [text]=\"'time.Seconds' | translate | async\">\n <ax-content> <ax-cron-seconds (secondsChanged)=\"onGetModel()\"></ax-cron-seconds></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Minutes\" [text]=\"'time.Minutes' | translate | async\">\n <ax-content> <ax-cron-minutes (minutesChanged)=\"onGetModel()\"></ax-cron-minutes></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Hours\" [text]=\"'time.Hours' | translate | async\">\n <ax-content> <ax-cron-hours (hoursChanged)=\"onGetModel()\"></ax-cron-hours></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Days\" [text]=\"'time.Days' | translate | async\">\n <ax-content> <ax-cron-day (dayChanged)=\"onGetModel()\"></ax-cron-day></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Months\" [text]=\"'time.Months' | translate | async\">\n <ax-content> <ax-cron-month (monthChanged)=\"onGetModel()\"></ax-cron-month></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Years\" [text]=\"'time.Years' | translate | async\">\n <ax-content><ax-cron-year (yearChanged)=\"onGetModel()\"></ax-cron-year></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<div class=\"ax-cron-tools-container\">\n <ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n</div>\n", styles: ["ax-cron-job-container{display:block;border:1px solid rgb(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}.ax-btn-result-container{padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.ax-btn-result-container ax-button{margin-inline-end:1rem}.ax-cron-tools-container{padding:1rem;border-bottom:1px solid rgb(var(--ax-color-border-default));overflow-x:auto}\n"], dependencies: [{ kind: "component", type: i1.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i1.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i1.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i3.AXCronDayComponent, selector: "ax-cron-day", outputs: ["dayChanged"] }, { kind: "component", type: i4.AXCronHoursComponent, selector: "ax-cron-hours", outputs: ["hoursChanged"] }, { kind: "component", type: i5.AXCronMinutesComponent, selector: "ax-cron-minutes", outputs: ["minutesChanged"] }, { kind: "component", type: i6.AXCronMonthComponent, selector: "ax-cron-month", outputs: ["monthChanged"] }, { kind: "component", type: i7.AXCronSecondsComponent, selector: "ax-cron-seconds", outputs: ["secondsChanged"] }, { kind: "component", type: i8.AXCronYearComponent, selector: "ax-cron-year", outputs: ["yearChanged"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
84
+ ], viewQueries: [{ propertyName: "tabComponent", first: true, predicate: AXTabsComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ax-tabs\n [content]=\"cronTab\"\n [look]=\"options().look\"\n [fitParent]=\"options().fit\"\n [location]=\"options().location\"\n>\n <ax-tab-item key=\"Seconds\" [text]=\"'time.Seconds' | translate | async\">\n <ax-content> <ax-cron-seconds (secondsChanged)=\"onGetModel()\"></ax-cron-seconds></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Minutes\" [text]=\"'time.Minutes' | translate | async\">\n <ax-content> <ax-cron-minutes (minutesChanged)=\"onGetModel()\"></ax-cron-minutes></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Hours\" [text]=\"'time.Hours' | translate | async\">\n <ax-content> <ax-cron-hours (hoursChanged)=\"onGetModel()\"></ax-cron-hours></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Days\" [text]=\"'time.Days' | translate | async\">\n <ax-content> <ax-cron-day (dayChanged)=\"onGetModel()\"></ax-cron-day></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Months\" [text]=\"'time.Months' | translate | async\">\n <ax-content> <ax-cron-month (monthChanged)=\"onGetModel()\"></ax-cron-month></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Years\" [text]=\"'time.Years' | translate | async\">\n <ax-content><ax-cron-year (yearChanged)=\"onGetModel()\"></ax-cron-year></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<div class=\"ax-cron-tools-container\">\n <ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n</div>\n", styles: ["ax-cron-job-container{display:flex;flex-direction:column;overflow-x:auto;border:1px solid rgb(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}.ax-btn-result-container{padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.ax-btn-result-container ax-button{margin-inline-end:1rem}.ax-cron-tools-container{padding:1rem;border-bottom:1px solid rgb(var(--ax-color-border-default));overflow-x:auto}\n"], dependencies: [{ kind: "component", type: i1.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i1.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i1.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i3.AXCronDayComponent, selector: "ax-cron-day", outputs: ["dayChanged"] }, { kind: "component", type: i4.AXCronHoursComponent, selector: "ax-cron-hours", outputs: ["hoursChanged"] }, { kind: "component", type: i5.AXCronMinutesComponent, selector: "ax-cron-minutes", outputs: ["minutesChanged"] }, { kind: "component", type: i6.AXCronMonthComponent, selector: "ax-cron-month", outputs: ["monthChanged"] }, { kind: "component", type: i7.AXCronSecondsComponent, selector: "ax-cron-seconds", outputs: ["secondsChanged"] }, { kind: "component", type: i8.AXCronYearComponent, selector: "ax-cron-year", outputs: ["yearChanged"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
85
85
  }
86
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCronJobContainerComponent, decorators: [{
87
87
  type: Component,
@@ -102,6 +102,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
102
102
  useExisting: forwardRef(() => AXCronJobContainerComponent),
103
103
  multi: true,
104
104
  },
105
- ], encapsulation: ViewEncapsulation.None, template: "<ax-tabs\n [content]=\"cronTab\"\n [look]=\"options().look\"\n [fitParent]=\"options().fit\"\n [location]=\"options().location\"\n>\n <ax-tab-item key=\"Seconds\" [text]=\"'time.Seconds' | translate | async\">\n <ax-content> <ax-cron-seconds (secondsChanged)=\"onGetModel()\"></ax-cron-seconds></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Minutes\" [text]=\"'time.Minutes' | translate | async\">\n <ax-content> <ax-cron-minutes (minutesChanged)=\"onGetModel()\"></ax-cron-minutes></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Hours\" [text]=\"'time.Hours' | translate | async\">\n <ax-content> <ax-cron-hours (hoursChanged)=\"onGetModel()\"></ax-cron-hours></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Days\" [text]=\"'time.Days' | translate | async\">\n <ax-content> <ax-cron-day (dayChanged)=\"onGetModel()\"></ax-cron-day></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Months\" [text]=\"'time.Months' | translate | async\">\n <ax-content> <ax-cron-month (monthChanged)=\"onGetModel()\"></ax-cron-month></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Years\" [text]=\"'time.Years' | translate | async\">\n <ax-content><ax-cron-year (yearChanged)=\"onGetModel()\"></ax-cron-year></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<div class=\"ax-cron-tools-container\">\n <ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n</div>\n", styles: ["ax-cron-job-container{display:block;border:1px solid rgb(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}.ax-btn-result-container{padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.ax-btn-result-container ax-button{margin-inline-end:1rem}.ax-cron-tools-container{padding:1rem;border-bottom:1px solid rgb(var(--ax-color-border-default));overflow-x:auto}\n"] }]
105
+ ], encapsulation: ViewEncapsulation.None, template: "<ax-tabs\n [content]=\"cronTab\"\n [look]=\"options().look\"\n [fitParent]=\"options().fit\"\n [location]=\"options().location\"\n>\n <ax-tab-item key=\"Seconds\" [text]=\"'time.Seconds' | translate | async\">\n <ax-content> <ax-cron-seconds (secondsChanged)=\"onGetModel()\"></ax-cron-seconds></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Minutes\" [text]=\"'time.Minutes' | translate | async\">\n <ax-content> <ax-cron-minutes (minutesChanged)=\"onGetModel()\"></ax-cron-minutes></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Hours\" [text]=\"'time.Hours' | translate | async\">\n <ax-content> <ax-cron-hours (hoursChanged)=\"onGetModel()\"></ax-cron-hours></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Days\" [text]=\"'time.Days' | translate | async\">\n <ax-content> <ax-cron-day (dayChanged)=\"onGetModel()\"></ax-cron-day></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Months\" [text]=\"'time.Months' | translate | async\">\n <ax-content> <ax-cron-month (monthChanged)=\"onGetModel()\"></ax-cron-month></ax-content>\n </ax-tab-item>\n <ax-tab-item key=\"Years\" [text]=\"'time.Years' | translate | async\">\n <ax-content><ax-cron-year (yearChanged)=\"onGetModel()\"></ax-cron-year></ax-content>\n </ax-tab-item>\n</ax-tabs>\n\n<div class=\"ax-cron-tools-container\">\n <ng-template [axTabContent] #cronTab=\"axTabContent\"> </ng-template>\n</div>\n", styles: ["ax-cron-job-container{display:flex;flex-direction:column;overflow-x:auto;border:1px solid rgb(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}.ax-btn-result-container{padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.ax-btn-result-container ax-button{margin-inline-end:1rem}.ax-cron-tools-container{padding:1rem;border-bottom:1px solid rgb(var(--ax-color-border-default));overflow-x:auto}\n"] }]
106
106
  }] });
107
107
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1qb2ItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jcm9uLWpvYi9zcmMvbGliL2Nyb24tam9iLWNvbnRhaW5lci9jcm9uLWpvYi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Nyb24tam9iL3NyYy9saWIvY3Jvbi1qb2ItY29udGFpbmVyL2Nyb24tam9iLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHlCQUF5QixHQUMxQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBNEIsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JB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biAgQVhDb21wb25lbnQsXG4gIEFYRm9jdXNhYmxlQ29tcG9uZW50LFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYVGFiTG9jYXRpb24sIEFYVGFiTG9vaywgQVhUYWJzQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ3JvbkpvYlNlcnZpY2UgfSBmcm9tICcuLi9jcm9uLWpvYi5zZXJ2aWNlJztcbmltcG9ydCB7IERheVNlcnZpY2UgfSBmcm9tICcuLi9kYXkvZGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgSG91cnNTZXJ2aWNlIH0gZnJvbSAnLi4vaG91cnMvaG91cnMuc2VydmljZSc7XG5pbXBvcnQgeyBNaW51dGVzU2VydmljZSB9IGZyb20gJy4uL21pbnV0ZXMvbWludXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbnRoU2VydmljZSB9IGZyb20gJy4uL21vbnRoL21vbnRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vjb25kc1NlcnZpY2UgfSBmcm9tICcuLi9zZWNvbmRzL3NlY29uZHMuc2VydmljZSc7XG5pbXBvcnQgeyBZZWFyU2VydmljZSB9IGZyb20gJy4uL3llYXIveWVhci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY3Jvbi1qb2ItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nyb24tam9iLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jcm9uLWpvYi1jb250YWluZXIuY29tcG9uZW50LnNjc3MnLFxuICBvdXRwdXRzOiBbJ29uVmFsdWVDaGFuZ2VkJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNlY29uZHNTZXJ2aWNlLFxuICAgIE1pbnV0ZXNTZXJ2aWNlLFxuICAgIEhvdXJzU2VydmljZSxcbiAgICBEYXlTZXJ2aWNlLFxuICAgIE1vbnRoU2VydmljZSxcbiAgICBZZWFyU2VydmljZSxcbiAgICBDcm9uSm9iU2VydmljZSxcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhDcm9uSm9iQ29udGFpbmVyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQ3JvbkpvYkNvbnRhaW5lckNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhDbGVhcmFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWENyb25Kb2JDb250YWluZXJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWENyb25Kb2JDb250YWluZXJDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYQ3JvbkpvYkNvbnRhaW5lckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWENyb25Kb2JDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50PHN0cmluZz4ge1xuICBwcm90ZWN0ZWQgc2Vjb25kc1NlcnZpY2UgPSBpbmplY3QoU2Vjb25kc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgbWludXRlc1NlcnZpY2UgPSBpbmplY3QoTWludXRlc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgaG91cnNTZXJ2aWNlID0gaW5qZWN0KEhvdXJzU2VydmljZSk7XG4gIHByb3RlY3RlZCBtb250aFNlcnZpY2UgPSBpbmplY3QoTW9udGhTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGRheVNlcnZpY2UgPSBpbmplY3QoRGF5U2VydmljZSk7XG4gIHByb3RlY3RlZCB5ZWFyU2VydmljZSA9IGluamVjdChZZWFyU2VydmljZSk7XG4gIHByb3RlY3RlZCB0YWJDb21wb25lbnQgPSB2aWV3Q2hpbGQoQVhUYWJzQ29tcG9uZW50KTtcbiAgcHJvdGVjdGVkIGFjdGl2ZVRhYiA9IHNpZ25hbCgnU2Vjb25kcycpO1xuXG4gIHByb3RlY3RlZCBvcHRpb25zID0gc2lnbmFsKHtcbiAgICBmaXQ6IHRydWUsXG4gICAgbG9vazogJ3dpdGgtbGluZScgYXMgQVhUYWJMb29rLFxuICAgIGxvY2F0aW9uOiAnYm90dG9tJyBhcyBBWFRhYkxvY2F0aW9uLFxuICB9KTtcblxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgdGhpcy50YWJDb21wb25lbnQoKS5vbkFjdGl2ZVRhYkNoYW5nZWQuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLmFjdGl2ZVRhYi5zZXQoZS50YWIua2V5KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgb25HZXRNb2RlbCgpIHtcbiAgICBjb25zdCBzZWNvbmRzRXhwID0gdGhpcy5zZWNvbmRzU2VydmljZS5nZXRFeHByZXNzaW9uKCk7XG4gICAgY29uc3QgbWludXRlc0V4cCA9IHRoaXMubWludXRlc1NlcnZpY2UuZ2V0RXhwcmVzc2lvbigpO1xuICAgIGNvbnN0IGhvdXJzRXhwID0gdGhpcy5ob3Vyc1NlcnZpY2UuZ2V0RXhwcmVzc2lvbigpO1xuICAgIGNvbnN0IG1vbnRoRXhwID0gdGhpcy5tb250aFNlcnZpY2UuZ2V0RXhwcmVzc2lvbigpO1xuICAgIGNvbnN0IGRheUV4cCA9IHRoaXMuZGF5U2VydmljZS5nZXRFeHByZXNzaW9uKCk7XG4gICAgY29uc3QgeWVhckV4cCA9IHRoaXMueWVhclNlcnZpY2UuZ2V0RXhwcmVzc2lvbigpO1xuICAgIGNvbnN0IGV4cFJlc3VsdCA9IGAke3NlY29uZHNFeHB9ICR7bWludXRlc0V4cH0gJHtob3Vyc0V4cH0gJHtkYXlFeHBbMV19ICR7bW9udGhFeHB9ICR7ZGF5RXhwWzBdfSAke3llYXJFeHB9YDtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKGV4cFJlc3VsdCwgdHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW50ZXJuYWxWYWx1ZUNoYW5nZWQoY3JvbkV4cHJlc3Npb25QYXR0ZXJuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2Vjb25kc1NlcnZpY2UucmV2ZXJzRXhwcmVzc2lvbihjcm9uRXhwcmVzc2lvblBhdHRlcm4pO1xuICAgICAgdGhpcy5taW51dGVzU2VydmljZS5yZXZlcnNFeHByZXNzaW9uKGNyb25FeHByZXNzaW9uUGF0dGVybik7XG4gICAgICB0aGlzLmhvdXJzU2VydmljZS5yZXZlcnNFeHByZXNzaW9uKGNyb25FeHByZXNzaW9uUGF0dGVybik7XG4gICAgICB0aGlzLmRheVNlcnZpY2UucmV2ZXJzRXhwcmVzc2lvbihjcm9uRXhwcmVzc2lvblBhdHRlcm4pO1xuICAgICAgdGhpcy5tb250aFNlcnZpY2UucmV2ZXJzRXhwcmVzc2lvbihjcm9uRXhwcmVzc2lvblBhdHRlcm4pO1xuICAgICAgdGhpcy55ZWFyU2VydmljZS5yZXZlcnNFeHByZXNzaW9uKGNyb25FeHByZXNzaW9uUGF0dGVybik7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxheC10YWJzXG4gIFtjb250ZW50XT1cImNyb25UYWJcIlxuICBbbG9va109XCJvcHRpb25zKCkubG9va1wiXG4gIFtmaXRQYXJlbnRdPVwib3B0aW9ucygpLmZpdFwiXG4gIFtsb2NhdGlvbl09XCJvcHRpb25zKCkubG9jYXRpb25cIlxuPlxuICA8YXgtdGFiLWl0ZW0ga2V5PVwiU2Vjb25kc1wiIFt0ZXh0XT1cIid0aW1lLlNlY29uZHMnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIj5cbiAgICA8YXgtY29udGVudD4gPGF4LWNyb24tc2Vjb25kcyAoc2Vjb25kc0NoYW5nZWQpPVwib25HZXRNb2RlbCgpXCI+PC9heC1jcm9uLXNlY29uZHM+PC9heC1jb250ZW50PlxuICA8L2F4LXRhYi1pdGVtPlxuICA8YXgtdGFiLWl0ZW0ga2V5PVwiTWludXRlc1wiIFt0ZXh0XT1cIid0aW1lLk1pbnV0ZXMnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIj5cbiAgICA8YXgtY29udGVudD4gPGF4LWNyb24tbWludXRlcyAobWludXRlc0NoYW5nZWQpPVwib25HZXRNb2RlbCgpXCI+PC9heC1jcm9uLW1pbnV0ZXM+PC9heC1jb250ZW50PlxuICA8L2F4LXRhYi1pdGVtPlxuICA8YXgtdGFiLWl0ZW0ga2V5PVwiSG91cnNcIiBbdGV4dF09XCIndGltZS5Ib3VycycgfCB0cmFuc2xhdGUgfCBhc3luY1wiPlxuICAgIDxheC1jb250ZW50PiA8YXgtY3Jvbi1ob3VycyAoaG91cnNDaGFuZ2VkKT1cIm9uR2V0TW9kZWwoKVwiPjwvYXgtY3Jvbi1ob3Vycz48L2F4LWNvbnRlbnQ+XG4gIDwvYXgtdGFiLWl0ZW0+XG4gIDxheC10YWItaXRlbSBrZXk9XCJEYXlzXCIgW3RleHRdPVwiJ3RpbWUuRGF5cycgfCB0cmFuc2xhdGUgfCBhc3luY1wiPlxuICAgIDxheC1jb250ZW50PiA8YXgtY3Jvbi1kYXkgKGRheUNoYW5nZWQpPVwib25HZXRNb2RlbCgpXCI+PC9heC1jcm9uLWRheT48L2F4LWNvbnRlbnQ+XG4gIDwvYXgtdGFiLWl0ZW0+XG4gIDxheC10YWItaXRlbSBrZXk9XCJNb250aHNcIiBbdGV4dF09XCIndGltZS5Nb250aHMnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIj5cbiAgICA8YXgtY29udGVudD4gPGF4LWNyb24tbW9udGggKG1vbnRoQ2hhbmdlZCk9XCJvbkdldE1vZGVsKClcIj48L2F4LWNyb24tbW9udGg+PC9heC1jb250ZW50PlxuICA8L2F4LXRhYi1pdGVtPlxuICA8YXgtdGFiLWl0ZW0ga2V5PVwiWWVhcnNcIiBbdGV4dF09XCIndGltZS5ZZWFycycgfCB0cmFuc2xhdGUgfCBhc3luY1wiPlxuICAgIDxheC1jb250ZW50PjxheC1jcm9uLXllYXIgKHllYXJDaGFuZ2VkKT1cIm9uR2V0TW9kZWwoKVwiPjwvYXgtY3Jvbi15ZWFyPjwvYXgtY29udGVudD5cbiAgPC9heC10YWItaXRlbT5cbjwvYXgtdGFicz5cblxuPGRpdiBjbGFzcz1cImF4LWNyb24tdG9vbHMtY29udGFpbmVyXCI+XG4gIDxuZy10ZW1wbGF0ZSBbYXhUYWJDb250ZW50XSAjY3JvblRhYj1cImF4VGFiQ29udGVudFwiPiA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { isBrowser } from '@acorex/core/platform';
2
- import { afterNextRender, Component, effect, HostBinding, inject, input, signal, viewChild, ViewEncapsulation, } from '@angular/core';
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import { afterNextRender, Component, effect, HostBinding, inject, input, PLATFORM_ID, Renderer2, signal, viewChild, ViewEncapsulation, } from '@angular/core';
3
3
  import { AXPaintContainerComponent } from '../paint-container/paint-container.component';
4
4
  import { AXPaintService } from '../paint.service';
5
5
  import * as i0 from "@angular/core";
@@ -14,6 +14,9 @@ export class AXPaintViewComponent {
14
14
  this.parent = inject(AXPaintContainerComponent);
15
15
  /** @ignore */
16
16
  this.service = inject(AXPaintService);
17
+ /** @ignore */
18
+ this.rendred = inject(Renderer2);
19
+ this.platformID = inject(PLATFORM_ID);
17
20
  /**
18
21
  * Specifies the class that pass to component.
19
22
  *
@@ -41,14 +44,14 @@ export class AXPaintViewComponent {
41
44
  this.service.toggleClear();
42
45
  this.ctx()?.clearRect(0, 0, this.getBoundingCanvasHandler()?.width, this.getBoundingCanvasHandler()?.height);
43
46
  }, { allowSignalWrites: true });
44
- if (isBrowser()) {
45
- window.addEventListener('resize', this.resizeEventHandler.bind(this));
47
+ if (isPlatformBrowser(this.platformID)) {
48
+ this.resizeEvent = this.rendred.listen(window, 'resize', this.resizeEventHandler.bind(this));
46
49
  }
47
50
  }
48
51
  /** @ignore */
49
52
  ngOnDestroy() {
50
- if (isBrowser()) {
51
- window.removeEventListener('resize', this.resizeEventHandler);
53
+ if (isPlatformBrowser(this.platformID) && this.resizeEvent) {
54
+ this.resizeEvent();
52
55
  }
53
56
  }
54
57
  /** @ignore */
@@ -155,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
155
158
  type: HostBinding,
156
159
  args: ['class']
157
160
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC12aWV3L3BhaW50LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQvcGFpbnQtdmlldy9wYWludC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLFNBQVMsRUFDVCxNQUFNLEVBRU4sV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVsRDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sb0JBQW9CO0lBeUIvQixjQUFjO0lBQ2Q7UUF6QkEsY0FBYztRQUNkLFdBQU0sR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUUzQyxjQUFjO1FBQ0osWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUzQzs7O1dBR0c7UUFDSCxnQkFBVyxHQUFHLEtBQUssQ0FBUyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUVwRCxjQUFjO1FBQ0osZUFBVSxHQUFHLFNBQVMsQ0FBZ0MsR0FBRyxDQUFDLENBQUM7UUFFckUsY0FBYztRQUNKLFFBQUcsR0FBRyxNQUFNLENBQTJCLElBQUksQ0FBQyxDQUFDO1FBRXZELGNB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QUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDYixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDakMsQ0FBQzs4R0E3S1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsNldDM0JqQyx3VUFZQTs7MkZEZWEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTt3REE2S2pDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBPbkRlc3Ryb3ksXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBhaW50Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFpbnQtY29udGFpbmVyL3BhaW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQYWludFNlcnZpY2UgfSBmcm9tICcuLi9wYWludC5zZXJ2aWNlJztcblxuLyoqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICogcGFpbnQgdmlld1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1wYWludC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhaW50LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcGFpbnQtdmlldy5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUGFpbnRWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqIEBpZ25vcmUgKi9cbiAgcGFyZW50ID0gaW5qZWN0KEFYUGFpbnRDb250YWluZXJDb21wb25lbnQpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUGFpbnRTZXJ2aWNlKTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBjbGFzcyB0aGF0IHBhc3MgdG8gY29tcG9uZW50LlxuICAgKlxuICAgKi9cbiAgY3VzdG9tQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCcnLCB7IGFsaWFzOiAnY2xhc3MnIH0pO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBjYW52YXNFbGVtID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+PignYycpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBjdHggPSBzaWduYWw8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEPihudWxsKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgaXNQYWludGluZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGlzVXNlckludGVyYWN0ID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgdGhpcy5jdHguc2V0KHRoaXMuY2FudmFzRWxlbSgpLm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKSk7XG4gICAgICB0aGlzLmN0eCgpLmNhbnZhcy53aWR0aCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCkud2lkdGg7XG4gICAgICB0aGlzLmN0eCgpLmNhbnZhcy5oZWlnaHQgPSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpLmhlaWdodDtcbiAgICAgIHRoaXMuY3R4KCkubGluZUpvaW4gPSAncm91bmQnO1xuICAgICAgdGhpcy5jdHgoKS5saW5lQ2FwID0gJ3JvdW5kJztcbiAgICAgIHRoaXMuY3R4KCkuc3Ryb2tlU3R5bGUgPSB0aGlzLnNlcnZpY2UucGVuQ29sb3IoKTtcbiAgICAgIHRoaXMuY3R4KCkubGluZVdpZHRoID0gdGhpcy5zZXJ2aWNlLmxpbmVXaWR0aCgpO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzVXNlckludGVyYWN0LnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuc2VydmljZS50b2dnbGVDbGVhcigpO1xuICAgICAgICB0aGlzLmN0eCgpPy5jbGVhclJlY3QoXG4gICAgICAgICAgMCxcbiAgICAgICAgICAwLFxuICAgICAgICAgIHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LndpZHRoLFxuICAgICAgICAgIHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LmhlaWdodCxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG4gICAgKTtcblxuICAgIGlmIChpc0Jyb3dzZXIoKSkge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplRXZlbnRIYW5kbGVyLmJpbmQodGhpcykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmIChpc0Jyb3dzZXIoKSkge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplRXZlbnRIYW5kbGVyKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcmVzaXplRXZlbnRIYW5kbGVyKCkge1xuICAgIHRoaXMuY3R4KCkuY2FudmFzLndpZHRoID0gdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKT8ud2lkdGg7XG4gICAgdGhpcy5jdHgoKS5jYW52YXMuaGVpZ2h0ID0gdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKT8uaGVpZ2h0O1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHBlbkNvbmZpZ0hhbmRsZXIocGVuVHlwZTogJ2VyYXNlcicgfCAncGVuJyB8ICdoaWdobGlnaHQnKSB7XG4gICAgc3dpdGNoIChwZW5UeXBlKSB7XG4gICAgICBjYXNlICdwZW4nOlxuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbEFscGhhID0gMTtcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2VyYXNlcic6XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQWxwaGEgPSAxO1xuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdkZXN0aW5hdGlvbi1vdXQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2hpZ2hsaWdodCc6XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQWxwaGEgPSAwLjAwODtcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCkge1xuICAgIHJldHVybiB0aGlzLmNhbnZhc0VsZW0oKS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIG1vdXNlRG93bkhhbmRsZXIoZTogTW91c2VFdmVudCkge1xuICAgIHRoaXMuaXNQYWludGluZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdC5zZXQodHJ1ZSk7XG5cbiAgICB0aGlzLnBlbkNvbmZpZ0hhbmRsZXIodGhpcy5zZXJ2aWNlLnBlblR5cGUoKSk7XG5cbiAgICB0aGlzLmN0eCgpLnN0cm9rZVN0eWxlID0gdGhpcy5zZXJ2aWNlLnBlbkNvbG9yKCk7XG4gICAgdGhpcy5jdHgoKS5saW5lV2lkdGggPSB0aGlzLnNlcnZpY2UubGluZVdpZHRoKCk7XG5cbiAgICB0aGlzLmN0eCgpLmJlZ2luUGF0aCgpO1xuICAgIHRoaXMuY3R4KCkubW92ZVRvKGUub2Zmc2V0WCwgZS5vZmZzZXRZKTtcbiAgICB0aGlzLmN0eCgpLmxpbmVUbyhlLm9mZnNldFgsIGUub2Zmc2V0WSk7XG4gICAgdGhpcy5jdHgoKS5zdHJva2UoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBtb3VzZU1vdmVIYW5kbGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc1BhaW50aW5nKCkpIHtcbiAgICAgIHRoaXMuY3R4KCkubGluZVRvKGUub2Zmc2V0WCwgZS5vZmZzZXRZKTtcbiAgICAgIHRoaXMuY3R4KCkuc3Ryb2tlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIG1vdXNlVXBIYW5kbGVyKCkge1xuICAgIHRoaXMuY3R4KCkuY2xvc2VQYXRoKCk7XG4gICAgdGhpcy5pc1BhaW50aW5nLnNldChmYWxzZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgdG91Y2hTdGFydEhhbmRsZXIoZTogVG91Y2hFdmVudCkge1xuICAgIGNvbnN0IG9mZnNldFggPSBlLnRvdWNoZXNbMF0uY2xpZW50WCAtIHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCkubGVmdDtcbiAgICBjb25zdCBvZmZzZXRZID0gZS50b3VjaGVzWzBdLmNsaWVudFkgLSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpLnRvcDtcblxuICAgIHRoaXMuaXNQYWludGluZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdC5zZXQodHJ1ZSk7XG5cbiAgICB0aGlzLnBlbkNvbmZpZ0hhbmRsZXIodGhpcy5zZXJ2aWNlLnBlblR5cGUoKSk7XG5cbiAgICB0aGlzLmN0eCgpLnN0cm9rZVN0eWxlID0gdGhpcy5zZXJ2aWNlLnBlbkNvbG9yKCk7XG4gICAgdGhpcy5jdHgoKS5saW5lV2lkdGggPSB0aGlzLnNlcnZpY2UubGluZVdpZHRoKCk7XG5cbiAgICB0aGlzLmN0eCgpLmJlZ2luUGF0aCgpO1xuICAgIHRoaXMuY3R4KCkubW92ZVRvKG9mZnNldFgsIG9mZnNldFkpO1xuICAgIHRoaXMuY3R4KCkubGluZVRvKG9mZnNldFgsIG9mZnNldFkpO1xuICAgIHRoaXMuY3R4KCkuc3Ryb2tlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgdG91Y2hNb3ZlSGFuZGxlcihlOiBUb3VjaEV2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpOyAvLyBwcmV2ZW50IHBhZ2UgZnJvbSBzY3JvbGxcbiAgICBpZiAodGhpcy5pc1BhaW50aW5nKCkpIHtcbiAgICAgIGNvbnN0IG9mZnNldFggPSBlLnRvdWNoZXNbMF0uY2xpZW50WCAtIHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCkubGVmdDtcbiAgICAgIGNvbnN0IG9mZnNldFkgPSBlLnRvdWNoZXNbMF0uY2xpZW50WSAtIHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCkudG9wO1xuICAgICAgdGhpcy5jdHgoKS5saW5lVG8ob2Zmc2V0WCwgb2Zmc2V0WSk7XG4gICAgICB0aGlzLmN0eCgpLnN0cm9rZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCB0b3VjaEVuZEhhbmRsZXIoKSB7XG4gICAgdGhpcy5jdHgoKS5jbG9zZVBhdGgoKTtcbiAgICB0aGlzLmlzUGFpbnRpbmcuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZSAtIG91dHB1dCBmaWxlIHR5cGVcbiAgICovXG4gIGdldE91dFB1dChlOiAnaW1hZ2Uvd2VicCcgfCAnaW1hZ2UvcG5nJyB8ICdpbWFnZS9qcGVnJykge1xuICAgIGNvbnN0IGJhc2U2NCA9IHRoaXMuY2FudmFzRWxlbSgpLm5hdGl2ZUVsZW1lbnQudG9EYXRhVVJMKGUsIDAuMSk7XG4gICAgaWYgKHRoaXMuaXNVc2VySW50ZXJhY3QoKSkge1xuICAgICAgdGhpcy5wYXJlbnQuY29tbWl0VmFsdWUoYmFzZTY0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXJlbnQuY29tbWl0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmN1c3RvbUNsYXNzKCl9YDtcbiAgfVxufVxuIiwiPGNhbnZhc1xuICAjY1xuICB0YWJpbmRleD1cIjFcIlxuICAobW91c2Vkb3duKT1cIm1vdXNlRG93bkhhbmRsZXIoJGV2ZW50KVwiXG4gIChtb3VzZXVwKT1cIm1vdXNlVXBIYW5kbGVyKClcIlxuICAobW91c2Vtb3ZlKT1cIm1vdXNlTW92ZUhhbmRsZXIoJGV2ZW50KVwiXG4gICh0b3VjaHN0YXJ0KT1cInRvdWNoU3RhcnRIYW5kbGVyKCRldmVudClcIlxuICAodG91Y2hlbmQpPVwidG91Y2hFbmRIYW5kbGVyKClcIlxuICAodG91Y2htb3ZlKT1cInRvdWNoTW92ZUhhbmRsZXIoJGV2ZW50KVwiXG4gIGNsYXNzPVwiYXgtY2FudmFzLWVsZW1lbnRcIlxuPlxuPC9jYW52YXM+XG4iXX0=
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFpbnQvc3JjL2xpYi9wYWludC9wYWludC12aWV3L3BhaW50LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhaW50L3NyYy9saWIvcGFpbnQvcGFpbnQtdmlldy9wYWludC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFFTixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFbEQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLG9CQUFvQjtJQWlDL0IsY0FBYztJQUNkO1FBakNBLGNBQWM7UUFDZCxXQUFNLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFM0MsY0FBYztRQUNKLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFM0MsY0FBYztRQUNKLFlBQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUt6Qzs7O1dBR0c7UUFDSCxnQkFBVyxHQUFHLEtBQUssQ0FBUyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FB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LEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsQ0FBNEM7UUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNiLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzhHQXJMVSxvQkFBb0I7a0dBQXBCLG9CQUFvQiw2V0M3QmpDLHdVQVlBOzsyRkRpQmEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTt3REFxTGpDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUExBVEZPUk1fSUQsXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUGFpbnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9wYWludC1jb250YWluZXIvcGFpbnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBhaW50U2VydmljZSB9IGZyb20gJy4uL3BhaW50LnNlcnZpY2UnO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKiBwYWludCB2aWV3XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXBhaW50LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFpbnQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wYWludC12aWV3LmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQYWludFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKiogQGlnbm9yZSAqL1xuICBwYXJlbnQgPSBpbmplY3QoQVhQYWludENvbnRhaW5lckNvbXBvbmVudCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhQYWludFNlcnZpY2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCByZW5kcmVkID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgcHJpdmF0ZSBwbGF0Zm9ybUlEID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICByZXNpemVFdmVudDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBjbGFzcyB0aGF0IHBhc3MgdG8gY29tcG9uZW50LlxuICAgKlxuICAgKi9cbiAgY3VzdG9tQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCcnLCB7IGFsaWFzOiAnY2xhc3MnIH0pO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBjYW52YXNFbGVtID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+PignYycpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBjdHggPSBzaWduYWw8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEPihudWxsKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgaXNQYWludGluZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGlzVXNlckludGVyYWN0ID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgdGhpcy5jdHguc2V0KHRoaXMuY2FudmFzRWxlbSgpLm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKSk7XG4gICAgICB0aGlzLmN0eCgpLmNhbnZhcy53aWR0aCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCkud2lkdGg7XG4gICAgICB0aGlzLmN0eCgpLmNhbnZhcy5oZWlnaHQgPSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpLmhlaWdodDtcbiAgICAgIHRoaXMuY3R4KCkubGluZUpvaW4gPSAncm91bmQnO1xuICAgICAgdGhpcy5jdHgoKS5saW5lQ2FwID0gJ3JvdW5kJztcbiAgICAgIHRoaXMuY3R4KCkuc3Ryb2tlU3R5bGUgPSB0aGlzLnNlcnZpY2UucGVuQ29sb3IoKTtcbiAgICAgIHRoaXMuY3R4KCkubGluZVdpZHRoID0gdGhpcy5zZXJ2aWNlLmxpbmVXaWR0aCgpO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzVXNlckludGVyYWN0LnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuc2VydmljZS50b2dnbGVDbGVhcigpO1xuICAgICAgICB0aGlzLmN0eCgpPy5jbGVhclJlY3QoXG4gICAgICAgICAgMCxcbiAgICAgICAgICAwLFxuICAgICAgICAgIHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LndpZHRoLFxuICAgICAgICAgIHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LmhlaWdodCxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG4gICAgKTtcblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICB0aGlzLnJlc2l6ZUV2ZW50ID0gdGhpcy5yZW5kcmVkLmxpc3Rlbih3aW5kb3csICdyZXNpemUnLCB0aGlzLnJlc2l6ZUV2ZW50SGFuZGxlci5iaW5kKHRoaXMpKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSAmJiB0aGlzLnJlc2l6ZUV2ZW50KSB7XG4gICAgICB0aGlzLnJlc2l6ZUV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHJlc2l6ZUV2ZW50SGFuZGxlcigpIHtcbiAgICB0aGlzLmN0eCgpLmNhbnZhcy53aWR0aCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LndpZHRoO1xuICAgIHRoaXMuY3R4KCkuY2FudmFzLmhlaWdodCA9IHRoaXMuZ2V0Qm91bmRpbmdDYW52YXNIYW5kbGVyKCk/LmhlaWdodDtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBwZW5Db25maWdIYW5kbGVyKHBlblR5cGU6ICdlcmFzZXInIHwgJ3BlbicgfCAnaGlnaGxpZ2h0Jykge1xuICAgIHN3aXRjaCAocGVuVHlwZSkge1xuICAgICAgY2FzZSAncGVuJzpcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxBbHBoYSA9IDE7XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlcmFzZXInOlxuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbEFscGhhID0gMTtcbiAgICAgICAgdGhpcy5jdHgoKS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3V0JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdoaWdobGlnaHQnOlxuICAgICAgICB0aGlzLmN0eCgpLmdsb2JhbEFscGhhID0gMC4wMDg7XG4gICAgICAgIHRoaXMuY3R4KCkuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIGdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpIHtcbiAgICByZXR1cm4gdGhpcy5jYW52YXNFbGVtKCkubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBtb3VzZURvd25IYW5kbGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmlzUGFpbnRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuaXNVc2VySW50ZXJhY3Quc2V0KHRydWUpO1xuXG4gICAgdGhpcy5wZW5Db25maWdIYW5kbGVyKHRoaXMuc2VydmljZS5wZW5UeXBlKCkpO1xuXG4gICAgdGhpcy5jdHgoKS5zdHJva2VTdHlsZSA9IHRoaXMuc2VydmljZS5wZW5Db2xvcigpO1xuICAgIHRoaXMuY3R4KCkubGluZVdpZHRoID0gdGhpcy5zZXJ2aWNlLmxpbmVXaWR0aCgpO1xuXG4gICAgdGhpcy5jdHgoKS5iZWdpblBhdGgoKTtcbiAgICB0aGlzLmN0eCgpLm1vdmVUbyhlLm9mZnNldFgsIGUub2Zmc2V0WSk7XG4gICAgdGhpcy5jdHgoKS5saW5lVG8oZS5vZmZzZXRYLCBlLm9mZnNldFkpO1xuICAgIHRoaXMuY3R4KCkuc3Ryb2tlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgbW91c2VNb3ZlSGFuZGxlcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXNQYWludGluZygpKSB7XG4gICAgICB0aGlzLmN0eCgpLmxpbmVUbyhlLm9mZnNldFgsIGUub2Zmc2V0WSk7XG4gICAgICB0aGlzLmN0eCgpLnN0cm9rZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBtb3VzZVVwSGFuZGxlcigpIHtcbiAgICB0aGlzLmN0eCgpLmNsb3NlUGF0aCgpO1xuICAgIHRoaXMuaXNQYWludGluZy5zZXQoZmFsc2UpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHRvdWNoU3RhcnRIYW5kbGVyKGU6IFRvdWNoRXZlbnQpIHtcbiAgICBjb25zdCBvZmZzZXRYID0gZS50b3VjaGVzWzBdLmNsaWVudFggLSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpLmxlZnQ7XG4gICAgY29uc3Qgb2Zmc2V0WSA9IGUudG91Y2hlc1swXS5jbGllbnRZIC0gdGhpcy5nZXRCb3VuZGluZ0NhbnZhc0hhbmRsZXIoKS50b3A7XG5cbiAgICB0aGlzLmlzUGFpbnRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuaXNVc2VySW50ZXJhY3Quc2V0KHRydWUpO1xuXG4gICAgdGhpcy5wZW5Db25maWdIYW5kbGVyKHRoaXMuc2VydmljZS5wZW5UeXBlKCkpO1xuXG4gICAgdGhpcy5jdHgoKS5zdHJva2VTdHlsZSA9IHRoaXMuc2VydmljZS5wZW5Db2xvcigpO1xuICAgIHRoaXMuY3R4KCkubGluZVdpZHRoID0gdGhpcy5zZXJ2aWNlLmxpbmVXaWR0aCgpO1xuXG4gICAgdGhpcy5jdHgoKS5iZWdpblBhdGgoKTtcbiAgICB0aGlzLmN0eCgpLm1vdmVUbyhvZmZzZXRYLCBvZmZzZXRZKTtcbiAgICB0aGlzLmN0eCgpLmxpbmVUbyhvZmZzZXRYLCBvZmZzZXRZKTtcbiAgICB0aGlzLmN0eCgpLnN0cm9rZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHRvdWNoTW92ZUhhbmRsZXIoZTogVG91Y2hFdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTsgLy8gcHJldmVudCBwYWdlIGZyb20gc2Nyb2xsXG4gICAgaWYgKHRoaXMuaXNQYWludGluZygpKSB7XG4gICAgICBjb25zdCBvZmZzZXRYID0gZS50b3VjaGVzWzBdLmNsaWVudFggLSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpLmxlZnQ7XG4gICAgICBjb25zdCBvZmZzZXRZID0gZS50b3VjaGVzWzBdLmNsaWVudFkgLSB0aGlzLmdldEJvdW5kaW5nQ2FudmFzSGFuZGxlcigpLnRvcDtcbiAgICAgIHRoaXMuY3R4KCkubGluZVRvKG9mZnNldFgsIG9mZnNldFkpO1xuICAgICAgdGhpcy5jdHgoKS5zdHJva2UoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgdG91Y2hFbmRIYW5kbGVyKCkge1xuICAgIHRoaXMuY3R4KCkuY2xvc2VQYXRoKCk7XG4gICAgdGhpcy5pc1BhaW50aW5nLnNldChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGUgLSBvdXRwdXQgZmlsZSB0eXBlXG4gICAqL1xuICBnZXRPdXRQdXQoZTogJ2ltYWdlL3dlYnAnIHwgJ2ltYWdlL3BuZycgfCAnaW1hZ2UvanBlZycpIHtcbiAgICBjb25zdCBiYXNlNjQgPSB0aGlzLmNhbnZhc0VsZW0oKS5uYXRpdmVFbGVtZW50LnRvRGF0YVVSTChlLCAwLjEpO1xuICAgIGlmICh0aGlzLmlzVXNlckludGVyYWN0KCkpIHtcbiAgICAgIHRoaXMucGFyZW50LmNvbW1pdFZhbHVlKGJhc2U2NCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFyZW50LmNvbW1pdFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21DbGFzcygpfWA7XG4gIH1cbn1cbiIsIjxjYW52YXNcbiAgI2NcbiAgdGFiaW5kZXg9XCIxXCJcbiAgKG1vdXNlZG93bik9XCJtb3VzZURvd25IYW5kbGVyKCRldmVudClcIlxuICAobW91c2V1cCk9XCJtb3VzZVVwSGFuZGxlcigpXCJcbiAgKG1vdXNlbW92ZSk9XCJtb3VzZU1vdmVIYW5kbGVyKCRldmVudClcIlxuICAodG91Y2hzdGFydCk9XCJ0b3VjaFN0YXJ0SGFuZGxlcigkZXZlbnQpXCJcbiAgKHRvdWNoZW5kKT1cInRvdWNoRW5kSGFuZGxlcigpXCJcbiAgKHRvdWNobW92ZSk9XCJ0b3VjaE1vdmVIYW5kbGVyKCRldmVudClcIlxuICBjbGFzcz1cImF4LWNhbnZhcy1lbGVtZW50XCJcbj5cbjwvY2FudmFzPlxuIl19