@volo/ngx-lepton-x.core 3.1.1 → 3.1.3

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.
@@ -71,7 +71,10 @@ export class NavbarRoutesComponent {
71
71
  });
72
72
  }
73
73
  fixNavbarItems(currentUrl, items) {
74
- items.forEach((item) => {
74
+ if (!items) {
75
+ return;
76
+ }
77
+ for (const item of items) {
75
78
  if (item.children?.length) {
76
79
  item.expanded = this.hasUrlInChildren(item, currentUrl);
77
80
  this.fixNavbarItems(currentUrl, item.children);
@@ -79,7 +82,7 @@ export class NavbarRoutesComponent {
79
82
  else {
80
83
  item.selected = item.link === currentUrl;
81
84
  }
82
- });
85
+ }
83
86
  }
84
87
  hasUrlInChildren(item, url) {
85
88
  if (item.link === url) {
@@ -108,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
108
111
  }], routeClick: [{
109
112
  type: Output
110
113
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLXJvdXRlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItcm91dGVzL25hdmJhci1yb3V0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sZXB0b24teC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLXJvdXRlcy9uYXZiYXItcm91dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7OztBQVV2RSxNQUFNLE9BQU8scUJBQXFCO0lBZWhDLElBQVksY0FBYztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPLGlCQUFpQixDQUN0QixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVEO1FBeEJtQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBUXpELGVBQVUsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUc5QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFnQnZDLHlCQUFvQixHQUFHLENBQUMsSUFBbUIs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QUM7b0JBQ1YsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQXpJVSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw0Z0JDdkJsQyxrNUNBK0NBOzsyRkR4QmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQixpQkFFZCxpQkFBaUIsQ0FBQyxJQUFJO3dEQU9yQyxZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQU1OLFVBQVU7c0JBRFQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIGVmZmVjdCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIGlucHV0LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR3JvdXBlZE5hdmJhckl0ZW1zLCBMcHhOYXZiYXJJdGVtIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgZ2V0SXRlbXNGcm9tR3JvdXAgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IFJvdXRlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yb3V0ZS9yb3V0ZXMuc2VydmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBOYXZiYXJJdGVtc1R5cGUgPSBMcHhOYXZiYXJJdGVtW10gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5leHBvcnQgdHlwZSBOYXZiYXJHcm91cEl0ZW1zVHlwZSA9IEdyb3VwZWROYXZiYXJJdGVtc1tdIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbHB4LW5hdmJhci1yb3V0ZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXItcm91dGVzLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2YmFyUm91dGVzQ29tcG9uZW50IHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXNTZXJ2aWNlID0gaW5qZWN0KFJvdXRlc1NlcnZpY2UpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdyb3VwZWRJdGVtczogTmF2YmFyR3JvdXBJdGVtc1R5cGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbmF2YmFySXRlbXM6IE5hdmJhckl0ZW1zVHlwZTtcclxuXHJcbiAgcm91dGVySXRlbSA9IGlucHV0PGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHJvdXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPExweE5hdmJhckl0ZW0+KCk7XHJcblxyXG4gIHByaXZhdGUgZ2V0IGl0ZW1zRnJvbUdyb3VwKCk6IExweE5hdmJhckl0ZW1bXSB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRoaXMuZ3JvdXBlZEl0ZW1zKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGdldEl0ZW1zRnJvbUdyb3VwPEdyb3VwZWROYXZiYXJJdGVtcywgTHB4TmF2YmFySXRlbT4oXHJcbiAgICAgIHRoaXMuZ3JvdXBlZEl0ZW1zLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5maXhOYXZiYXJJdGVtc0J5Um91dGVyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRXhwYW5kZWRPclNlbGVjdGVkID0gKGl0ZW06IExweE5hdmJhckl0ZW0pOiBib29sZWFuID0+XHJcbiAgICAhIShpdGVtLmV4cGFuZGVkIHx8IGl0ZW0uc2VsZWN0ZWQpO1xyXG5cclxuICBvblN1Ym5hdmJhckV4cGFuZChtZW51SXRlbTogTHB4TmF2YmFySXRlbSwgbWVudUl0ZW1zOiBOYXZiYXJJdGVtc1R5cGUpOiB2b2lkIHtcclxuICAgIGlmIChtZW51SXRlbS5leHBhbmRlZCkge1xyXG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXNGcm9tR3JvdXAgfHwgbWVudUl0ZW1zO1xyXG4gICAgICBpZiAoIWl0ZW1zKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpdGVtc1xyXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG1lbnVJdGVtKVxyXG4gICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiAoaXRlbS5leHBhbmRlZCA9IGZhbHNlKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblJvdXRlQ2xpY2sobWVudUl0ZW06IExweE5hdmJhckl0ZW0sIG1lbnVJdGVtczogTmF2YmFySXRlbXNUeXBlKTogdm9pZCB7XHJcbiAgICBjb25zdCBleHBhbmRlZEl0ZW1zID0gbWVudUl0ZW1zPy5maWx0ZXIodGhpcy5pc0V4cGFuZGVkT3JTZWxlY3RlZCk7XHJcbiAgICBjb25zdCBleHBhbmRlZEdyb3VwSXRlbXMgPSB0aGlzLml0ZW1zRnJvbUdyb3VwPy5maWx0ZXIoXHJcbiAgICAgIHRoaXMuaXNFeHBhbmRlZE9yU2VsZWN0ZWQsXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IGl0ZW1zID0gZXhwYW5kZWRHcm91cEl0ZW1zIHx8IGV4cGFuZGVkSXRlbXM7XHJcblxyXG4gICAgaWYgKGl0ZW1zKSB7XHJcbiAgICAgIGl0ZW1zXHJcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gbWVudUl0ZW0pXHJcbiAgICAgICAgLnJlZHVjZTxMcHhOYXZiYXJJdGVtW10+KChhY2MsIGl0ZW0pID0+IHtcclxuICAgICAgICAgIHJldHVybiBbLi4uYWNjLCBpdGVtLCAuLi50aGlzLmZsYXRDaGlsZHJlbihpdGVtLmNoaWxkcmVuIHx8IFtdKV07XHJcbiAgICAgICAgfSwgW10pXHJcbiAgICAgICAgPy5maWx0ZXIoXHJcbiAgICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgICAgIXRoaXMuY2hlY2tDaGlsZHJlbkluY2x1ZGVzSXRlbShpdGVtLCBtZW51SXRlbSkgJiZcclxuICAgICAgICAgICAgaXRlbSAhPT0gbWVudUl0ZW0sXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpdGVtLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICBpdGVtLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3V0ZUNsaWNrLmVtaXQobWVudUl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tDaGlsZHJlbkluY2x1ZGVzSXRlbShcclxuICAgIGl0ZW06IExweE5hdmJhckl0ZW0sXHJcbiAgICBtZW51SXRlbTogTHB4TmF2YmFySXRlbSxcclxuICApOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGl0ZW0uY2hpbGRyZW4/LnJlZHVjZShcclxuICAgICAgICAoYWNjLCBjaGlsZCkgPT5cclxuICAgICAgICAgIGFjYyB8fFxyXG4gICAgICAgICAgY2hpbGQgPT09IG1lbnVJdGVtIHx8XHJcbiAgICAgICAgICB0aGlzLmNoZWNrQ2hpbGRyZW5JbmNsdWRlc0l0ZW0oY2hpbGQsIG1lbnVJdGVtKSxcclxuICAgICAgICBmYWxzZSxcclxuICAgICAgKSB8fCBmYWxzZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGZsYXRDaGlsZHJlbihtZW51SXRlbXM6IE5hdmJhckl0ZW1zVHlwZSk6IExweE5hdmJhckl0ZW1bXSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBtZW51SXRlbXM/LnJlZHVjZTxMcHhOYXZiYXJJdGVtW10+KChhY2MsIGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gWy4uLmFjYywgaXRlbSwgLi4udGhpcy5mbGF0Q2hpbGRyZW4oaXRlbS5jaGlsZHJlbiB8fCBbXSldO1xyXG4gICAgICB9LCBbXSkgfHwgW11cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBmaXhOYXZiYXJJdGVtc0J5Um91dGVyKCkge1xyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgY29uc3QgY3VycmVudE5hdmlnYXRpb24gPSB0aGlzLnJvdXRlc1NlcnZpY2UuY3VycmVudE5hdmlnYXRpb24oKTtcclxuXHJcbiAgICAgIGlmICghY3VycmVudE5hdmlnYXRpb24pIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZml4TmF2YmFySXRlbXMoXHJcbiAgICAgICAgY3VycmVudE5hdmlnYXRpb24sXHJcbiAgICAgICAgdGhpcy5uYXZiYXJJdGVtcyBhcyBMcHhOYXZiYXJJdGVtW10sXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpeE5hdmJhckl0ZW1zKGN1cnJlbnRVcmw6IHN0cmluZywgaXRlbXM6IExweE5hdmJhckl0ZW1bXSk6IHZvaWQge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgaXRlbS5leHBhbmRlZCA9IHRoaXMuaGFzVXJsSW5DaGlsZHJlbihpdGVtLCBjdXJyZW50VXJsKTtcclxuICAgICAgICB0aGlzLmZpeE5hdmJhckl0ZW1zKGN1cnJlbnRVcmwsIGl0ZW0uY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBpdGVtLmxpbmsgPT09IGN1cnJlbnRVcmw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFzVXJsSW5DaGlsZHJlbihpdGVtOiBMcHhOYXZiYXJJdGVtLCB1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGl0ZW0ubGluayA9PT0gdXJsKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XHJcbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgaXRlbS5jaGlsZHJlbikge1xyXG4gICAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy5oYXNVcmxJbkNoaWxkcmVuKGNoaWxkLCB1cmwpO1xyXG4gICAgICAgIGlmIChmb3VuZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJscHgtbmF2LW1lbnVcIj5cclxuICBAaWYgKGdyb3VwZWRJdGVtcykge1xyXG4gICAgQGZvciAoaXRlbSBvZiBncm91cGVkSXRlbXM7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiZ3JvdXBUZXh0OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgQGZvciAobmF2YmFySXRlbSBvZiBpdGVtLml0ZW1zOyB0cmFjayBuYXZiYXJJdGVtKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBuYXZiYXJJdGVtIH1cIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRlZmF1bHRSb3V0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuPC91bD5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFJvdXRlPlxyXG4gIEBmb3IgKGl0ZW0gb2YgbmF2YmFySXRlbXM7IHRyYWNrIGl0ZW0pIHtcclxuICAgIDxuZy1jb250YWluZXJcclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZ3JvdXBUZXh0IGxldC1pdGVtPlxyXG4gIEBpZiAoaXRlbS5pdGVtcy5sZW5ndGgpIHtcclxuICAgIDxsaSBjbGFzcz1cImdyb3VwLW1lbnUtaXRlbSBoaWRkZW4taW4taG92ZXItdHJpZ2dlclwiPlxyXG4gICAgICB7eyBpdGVtLmdyb3VwIHwgbHB4VHJhbnNsYXRlIHwgYXN5bmMgfX1cclxuICAgIDwvbGk+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgPGxpXHJcbiAgICBjbGFzcz1cIm91dGVyLW1lbnUtaXRlbVwiXHJcbiAgICAqbHB4VmlzaWJsZT1cIiFpdGVtLnZpc2libGUgfHwgaXRlbS52aXNpYmxlKGl0ZW0sIGluamVjdG9yKVwiXHJcbiAgPlxyXG4gICAgPGxweC1zdWItbmF2YmFyXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAoZXhwYW5kKT1cIm9uU3VibmF2YmFyRXhwYW5kKCRldmVudCwgbmF2YmFySXRlbXMpXCJcclxuICAgICAgKHJvdXRlQ2xpY2spPVwib25Sb3V0ZUNsaWNrKCRldmVudCwgbmF2YmFySXRlbXMpXCJcclxuICAgICAgW3JvdXRlckl0ZW1dPVwicm91dGVySXRlbSgpXCJcclxuICAgID48L2xweC1zdWItbmF2YmFyPlxyXG4gIDwvbGk+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLXJvdXRlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItcm91dGVzL25hdmJhci1yb3V0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sZXB0b24teC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLXJvdXRlcy9uYXZiYXItcm91dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7OztBQVV2RSxNQUFNLE9BQU8scUJBQXFCO0lBZWhDLElBQVksY0FBYztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPLGlCQUFpQixDQUN0QixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVEO1FBeEJtQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBUXpELGVBQVUsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUc5QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFnQnZDLHlCQUFvQixHQUFHLENBQUMsSUFBbUIs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LENBQUMsQ0FBQztnQkFDaEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDVixPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBN0lVLHFCQUFxQjtrR0FBckIscUJBQXFCLDRnQkN2QmxDLGs1Q0ErQ0E7OzJGRHhCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGlCQUVkLGlCQUFpQixDQUFDLElBQUk7d0RBT3JDLFlBQVk7c0JBRFgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBTU4sVUFBVTtzQkFEVCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgZWZmZWN0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgaW5wdXQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHcm91cGVkTmF2YmFySXRlbXMsIExweE5hdmJhckl0ZW0gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBnZXRJdGVtc0Zyb21Hcm91cCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgUm91dGVzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JvdXRlL3JvdXRlcy5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIE5hdmJhckl0ZW1zVHlwZSA9IExweE5hdmJhckl0ZW1bXSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbmV4cG9ydCB0eXBlIE5hdmJhckdyb3VwSXRlbXNUeXBlID0gR3JvdXBlZE5hdmJhckl0ZW1zW10gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdscHgtbmF2YmFyLXJvdXRlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmJhci1yb3V0ZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZiYXJSb3V0ZXNDb21wb25lbnQge1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlc1NlcnZpY2UgPSBpbmplY3QoUm91dGVzU2VydmljZSk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ3JvdXBlZEl0ZW1zOiBOYXZiYXJHcm91cEl0ZW1zVHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBuYXZiYXJJdGVtczogTmF2YmFySXRlbXNUeXBlO1xyXG5cclxuICByb3V0ZXJJdGVtID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcm91dGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8THB4TmF2YmFySXRlbT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgaXRlbXNGcm9tR3JvdXAoKTogTHB4TmF2YmFySXRlbVtdIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICghdGhpcy5ncm91cGVkSXRlbXMpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZ2V0SXRlbXNGcm9tR3JvdXA8R3JvdXBlZE5hdmJhckl0ZW1zLCBMcHhOYXZiYXJJdGVtPihcclxuICAgICAgdGhpcy5ncm91cGVkSXRlbXMsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmZpeE5hdmJhckl0ZW1zQnlSb3V0ZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNFeHBhbmRlZE9yU2VsZWN0ZWQgPSAoaXRlbTogTHB4TmF2YmFySXRlbSk6IGJvb2xlYW4gPT5cclxuICAgICEhKGl0ZW0uZXhwYW5kZWQgfHwgaXRlbS5zZWxlY3RlZCk7XHJcblxyXG4gIG9uU3VibmF2YmFyRXhwYW5kKG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtLCBtZW51SXRlbXM6IE5hdmJhckl0ZW1zVHlwZSk6IHZvaWQge1xyXG4gICAgaWYgKG1lbnVJdGVtLmV4cGFuZGVkKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtc0Zyb21Hcm91cCB8fCBtZW51SXRlbXM7XHJcbiAgICAgIGlmICghaXRlbXMpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGl0ZW1zXHJcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gbWVudUl0ZW0pXHJcbiAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IChpdGVtLmV4cGFuZGVkID0gZmFsc2UpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUm91dGVDbGljayhtZW51SXRlbTogTHB4TmF2YmFySXRlbSwgbWVudUl0ZW1zOiBOYXZiYXJJdGVtc1R5cGUpOiB2b2lkIHtcclxuICAgIGNvbnN0IGV4cGFuZGVkSXRlbXMgPSBtZW51SXRlbXM/LmZpbHRlcih0aGlzLmlzRXhwYW5kZWRPclNlbGVjdGVkKTtcclxuICAgIGNvbnN0IGV4cGFuZGVkR3JvdXBJdGVtcyA9IHRoaXMuaXRlbXNGcm9tR3JvdXA/LmZpbHRlcihcclxuICAgICAgdGhpcy5pc0V4cGFuZGVkT3JTZWxlY3RlZCxcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgaXRlbXMgPSBleHBhbmRlZEdyb3VwSXRlbXMgfHwgZXhwYW5kZWRJdGVtcztcclxuXHJcbiAgICBpZiAoaXRlbXMpIHtcclxuICAgICAgaXRlbXNcclxuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBtZW51SXRlbSlcclxuICAgICAgICAucmVkdWNlPExweE5hdmJhckl0ZW1bXT4oKGFjYywgaXRlbSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIGl0ZW0sIC4uLnRoaXMuZmxhdENoaWxkcmVuKGl0ZW0uY2hpbGRyZW4gfHwgW10pXTtcclxuICAgICAgICB9LCBbXSlcclxuICAgICAgICA/LmZpbHRlcihcclxuICAgICAgICAgIChpdGVtKSA9PlxyXG4gICAgICAgICAgICAhdGhpcy5jaGVja0NoaWxkcmVuSW5jbHVkZXNJdGVtKGl0ZW0sIG1lbnVJdGVtKSAmJlxyXG4gICAgICAgICAgICBpdGVtICE9PSBtZW51SXRlbSxcclxuICAgICAgICApXHJcbiAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIGl0ZW0uZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvdXRlQ2xpY2suZW1pdChtZW51SXRlbSk7XHJcbiAgfVxyXG5cclxuICBjaGVja0NoaWxkcmVuSW5jbHVkZXNJdGVtKFxyXG4gICAgaXRlbTogTHB4TmF2YmFySXRlbSxcclxuICAgIG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtLFxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgaXRlbS5jaGlsZHJlbj8ucmVkdWNlKFxyXG4gICAgICAgIChhY2MsIGNoaWxkKSA9PlxyXG4gICAgICAgICAgYWNjIHx8XHJcbiAgICAgICAgICBjaGlsZCA9PT0gbWVudUl0ZW0gfHxcclxuICAgICAgICAgIHRoaXMuY2hlY2tDaGlsZHJlbkluY2x1ZGVzSXRlbShjaGlsZCwgbWVudUl0ZW0pLFxyXG4gICAgICAgIGZhbHNlLFxyXG4gICAgICApIHx8IGZhbHNlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZmxhdENoaWxkcmVuKG1lbnVJdGVtczogTmF2YmFySXRlbXNUeXBlKTogTHB4TmF2YmFySXRlbVtdIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIG1lbnVJdGVtcz8ucmVkdWNlPExweE5hdmJhckl0ZW1bXT4oKGFjYywgaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBbLi4uYWNjLCBpdGVtLCAuLi50aGlzLmZsYXRDaGlsZHJlbihpdGVtLmNoaWxkcmVuIHx8IFtdKV07XHJcbiAgICAgIH0sIFtdKSB8fCBbXVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGZpeE5hdmJhckl0ZW1zQnlSb3V0ZXIoKSB7XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjdXJyZW50TmF2aWdhdGlvbiA9IHRoaXMucm91dGVzU2VydmljZS5jdXJyZW50TmF2aWdhdGlvbigpO1xyXG5cclxuICAgICAgaWYgKCFjdXJyZW50TmF2aWdhdGlvbikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5maXhOYXZiYXJJdGVtcyhcclxuICAgICAgICBjdXJyZW50TmF2aWdhdGlvbixcclxuICAgICAgICB0aGlzLm5hdmJhckl0ZW1zIGFzIExweE5hdmJhckl0ZW1bXSxcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZml4TmF2YmFySXRlbXMoY3VycmVudFVybDogc3RyaW5nLCBpdGVtczogTHB4TmF2YmFySXRlbVtdKTogdm9pZCB7XHJcbiAgICBpZiAoIWl0ZW1zKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgIGl0ZW0uZXhwYW5kZWQgPSB0aGlzLmhhc1VybEluQ2hpbGRyZW4oaXRlbSwgY3VycmVudFVybCk7XHJcbiAgICAgICAgdGhpcy5maXhOYXZiYXJJdGVtcyhjdXJyZW50VXJsLCBpdGVtLmNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpdGVtLnNlbGVjdGVkID0gaXRlbS5saW5rID09PSBjdXJyZW50VXJsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYXNVcmxJbkNoaWxkcmVuKGl0ZW06IExweE5hdmJhckl0ZW0sIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoaXRlbS5saW5rID09PSB1cmwpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcclxuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLmhhc1VybEluQ2hpbGRyZW4oY2hpbGQsIHVybCk7XHJcbiAgICAgICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjx1bCBjbGFzcz1cImxweC1uYXYtbWVudVwiPlxyXG4gIEBpZiAoZ3JvdXBlZEl0ZW1zKSB7XHJcbiAgICBAZm9yIChpdGVtIG9mIGdyb3VwZWRJdGVtczsgdHJhY2sgaXRlbSkge1xyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJncm91cFRleHQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxyXG4gICAgICA+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICBAZm9yIChuYXZiYXJJdGVtIG9mIGl0ZW0uaXRlbXM7IHRyYWNrIG5hdmJhckl0ZW0pIHtcclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG5hdmJhckl0ZW0gfVwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVmYXVsdFJvdXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG48L3VsPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0Um91dGU+XHJcbiAgQGZvciAoaXRlbSBvZiBuYXZiYXJJdGVtczsgdHJhY2sgaXRlbSkge1xyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiXHJcbiAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNncm91cFRleHQgbGV0LWl0ZW0+XHJcbiAgQGlmIChpdGVtLml0ZW1zLmxlbmd0aCkge1xyXG4gICAgPGxpIGNsYXNzPVwiZ3JvdXAtbWVudS1pdGVtIGhpZGRlbi1pbi1ob3Zlci10cmlnZ2VyXCI+XHJcbiAgICAgIHt7IGl0ZW0uZ3JvdXAgfCBscHhUcmFuc2xhdGUgfCBhc3luYyB9fVxyXG4gICAgPC9saT5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZSBsZXQtaXRlbT5cclxuICA8bGlcclxuICAgIGNsYXNzPVwib3V0ZXItbWVudS1pdGVtXCJcclxuICAgICpscHhWaXNpYmxlPVwiIWl0ZW0udmlzaWJsZSB8fCBpdGVtLnZpc2libGUoaXRlbSwgaW5qZWN0b3IpXCJcclxuICA+XHJcbiAgICA8bHB4LXN1Yi1uYXZiYXJcclxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgIChleHBhbmQpPVwib25TdWJuYXZiYXJFeHBhbmQoJGV2ZW50LCBuYXZiYXJJdGVtcylcIlxyXG4gICAgICAocm91dGVDbGljayk9XCJvblJvdXRlQ2xpY2soJGV2ZW50LCBuYXZiYXJJdGVtcylcIlxyXG4gICAgICBbcm91dGVySXRlbV09XCJyb3V0ZXJJdGVtKClcIlxyXG4gICAgPjwvbHB4LXN1Yi1uYXZiYXI+XHJcbiAgPC9saT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -915,7 +915,10 @@ class NavbarRoutesComponent {
915
915
  });
916
916
  }
917
917
  fixNavbarItems(currentUrl, items) {
918
- items.forEach((item) => {
918
+ if (!items) {
919
+ return;
920
+ }
921
+ for (const item of items) {
919
922
  if (item.children?.length) {
920
923
  item.expanded = this.hasUrlInChildren(item, currentUrl);
921
924
  this.fixNavbarItems(currentUrl, item.children);
@@ -923,7 +926,7 @@ class NavbarRoutesComponent {
923
926
  else {
924
927
  item.selected = item.link === currentUrl;
925
928
  }
926
- });
929
+ }
927
930
  }
928
931
  hasUrlInChildren(item, url) {
929
932
  if (item.link === url) {
@@ -1 +1 @@
1
- {"version":3,"file":"volo-ngx-lepton-x.core.mjs","sources":["../../../../libs/lepton-x-core/src/lib/abstracts/perfect-scrollbar.ts","../../../../libs/lepton-x-core/src/lib/services/language/tokens.ts","../../../../libs/lepton-x-core/src/lib/utils/data-store.ts","../../../../libs/lepton-x-core/src/lib/services/language/language-translate-keys.enum.ts","../../../../libs/lepton-x-core/src/lib/services/language/language.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/tokens.ts","../../../../libs/lepton-x-core/src/lib/services/language/language.module.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.token.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.component.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.module.ts","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.component.ts","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.component.html","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.module.ts","../../../../libs/lepton-x-core/src/lib/services/layout/layout.service.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.token.ts","../../../../libs/lepton-x-core/src/lib/utils/common.ts","../../../../libs/lepton-x-core/src/lib/utils/tree-utils.ts","../../../../libs/lepton-x-core/src/lib/consts/others-group.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.service.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/logo-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/services/route/routes.service.ts","../../../../libs/lepton-x-core/src/lib/directives/visible.directive.ts","../../../../libs/lepton-x-core/src/lib/services/user-profile/user-profile.service.ts","../../../../libs/lepton-x-core/src/lib/services/body/body.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/default-translate.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/translate.service.ts","../../../../libs/lepton-x-core/src/lib/services/auth/default-auth.service.ts","../../../../libs/lepton-x-core/src/lib/services/auth/tokens.ts","../../../../libs/lepton-x-core/src/lib/services/auth/providers.ts","../../../../libs/lepton-x-core/src/lib/services/local-storage/local-storage.service.ts","../../../../libs/lepton-x-core/src/lib/services/perfect-scrollbar.service.ts","../../../../libs/lepton-x-core/src/lib/pipes/translate/translate.pipe.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/sub-navbar/sub-navbar.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/sub-navbar/sub-navbar.component.html","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.component.html","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.component.html","../../../../libs/lepton-x-core/src/lib/pipes/to-observable/to-observable.pipe.ts","../../../../libs/lepton-x-core/src/lib/pipes/to-observable/to-observable.module.ts","../../../../libs/lepton-x-core/src/lib/pipes/safe-html/safe-html.pipe.ts","../../../../libs/lepton-x-core/src/lib/pipes/translate/translate.module.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.module.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.service.ts","../../../../libs/lepton-x-core/src/lib/directives/click-outside/click-outside.directive.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.component.html","../../../../libs/lepton-x-core/src/lib/directives/click-outside/click-outside.module.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb-route-listener.service.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../../libs/lepton-x-core/src/lib/services/translate/providers.ts","../../../../libs/lepton-x-core/src/lib/style/tokens.ts","../../../../libs/lepton-x-core/src/lib/style/style.service.ts","../../../../libs/lepton-x-core/src/lib/style/utils.ts","../../../../libs/lepton-x-core/src/lib/style/style-load.factory.ts","../../../../libs/lepton-x-core/src/lib/providers/styles.provider.ts","../../../../libs/lepton-x-core/src/lib/tokens/window.token.ts","../../../../libs/lepton-x-core/src/lib/providers/window.provider.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive-breakpoints.token.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.service.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.directive.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.module.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/defaults.ts","../../../../libs/lepton-x-core/src/lib/providers/responsive.provider.ts","../../../../libs/lepton-x-core/src/lib/providers/direction.provider.ts","../../../../libs/lepton-x-core/src/lib/tokens/perfect-scrollbar.token.ts","../../../../libs/lepton-x-core/src/lib/lepton-x-core.module.ts","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.component.ts","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.component.html","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.module.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer-links.service.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer.component.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer.component.html","../../../../libs/lepton-x-core/src/lib/components/footer/footer.module.ts","../../../../libs/lepton-x-core/src/lib/directives/perfect-scrollbar.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/breadcrumb-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/content-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/current-user-image-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/current-user-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/footer-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/language-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/mobile-navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/navitem-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/toolbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/top-navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/settings-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/panels.module.ts","../../../../libs/lepton-x-core/src/lib/services/toolbar/toolbar.service.ts","../../../../libs/lepton-x-core/src/volo-ngx-lepton-x.core.ts"],"sourcesContent":["import { ElementRef, inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport PerfectScrollbar from 'perfect-scrollbar';\r\nimport { LpxPerfectScrollbarOptions } from '../models';\r\n\r\nexport abstract class LpxPerfectScrollbar {\r\n protected readonly router = inject(Router);\r\n\r\n protected elementRef!: ElementRef<any>;\r\n protected perfectScrollbar!: PerfectScrollbar;\r\n protected options: LpxPerfectScrollbarOptions | undefined;\r\n\r\n abstract setElement(value: ElementRef<any>): void;\r\n abstract setOptions(value: LpxPerfectScrollbarOptions): void;\r\n abstract createScrollbar(): void;\r\n abstract onResize(): void;\r\n abstract afterViewInit(): void;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxLanguage } from './models';\r\n\r\nexport const LPX_LANGUAGE = new InjectionToken<LpxLanguage[]>('LPX_LANGUAGE');\r\n","import { BehaviorSubject, Subject } from 'rxjs';\r\nimport { map, distinctUntilChanged, filter } from 'rxjs/operators';\r\n\r\nexport class DataStore<State> {\r\n private state$ = new BehaviorSubject<State>(this.initialState);\r\n\r\n private update$ = new Subject<Partial<State>>();\r\n\r\n get state() {\r\n return this.state$.value;\r\n }\r\n\r\n sliceState = <Slice>(\r\n selector: (state: State) => Slice,\r\n compareFn = (s1: Slice, s2: Slice) => s1 === s2\r\n ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\r\n\r\n sliceUpdate = <Slice>(\r\n selector: (state: Partial<State>) => Slice,\r\n filterFn = (x: Slice) => x !== undefined\r\n ) => this.update$.pipe(map(selector), filter(filterFn));\r\n\r\n constructor(private initialState: State) {}\r\n\r\n patch(state: Partial<State>) {\r\n let patchedState = state as State;\r\n\r\n if (typeof state === 'object' && !Array.isArray(state)) {\r\n patchedState = { ...this.state, ...state };\r\n }\r\n\r\n this.state$.next(patchedState);\r\n this.update$.next(patchedState);\r\n }\r\n\r\n set(state: State) {\r\n this.state$.next(state);\r\n this.update$.next(state);\r\n }\r\n\r\n reset() {\r\n this.set(this.initialState);\r\n }\r\n}\r\n","export enum LanguageTranslateKeys {\r\n SettingsTitle = 'language.settings.title',\r\n}\r\n\r\nexport type LanguageTranslateValues = {\r\n [key in LanguageTranslateKeys]: string;\r\n};\r\n\r\nexport const LanguageTranslateDefaults: LanguageTranslateValues = {\r\n [LanguageTranslateKeys.SettingsTitle]: 'Language Options',\r\n};\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LPX_LANGUAGE } from './tokens';\r\nimport { LpxNavbarItem } from '../../components/navbar/models';\r\nimport { LpxLanguage, LpxLanguageState } from './models';\r\nimport { LanguageTranslateKeys } from './language-translate-keys.enum';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LanguageService {\r\n readonly store = new DataStore<LpxLanguageState>({ languages: [] });\r\n\r\n id = 'languages';\r\n\r\n convertLanguageToNavbarItem = (languages: LpxLanguage[]): LpxNavbarItem[] => {\r\n return languages.map((lang) => ({\r\n icon: '',\r\n text: lang.displayName,\r\n selected: lang.selected,\r\n action: () => {\r\n this.setSelectedLanguage(lang);\r\n return true;\r\n },\r\n }));\r\n };\r\n\r\n selectedLanguage$ = this.store.sliceState(\r\n ({ selectedLanguage }) => selectedLanguage\r\n );\r\n\r\n get selectedLanguage(): LpxLanguage {\r\n return this.store.state.selectedLanguage as LpxLanguage;\r\n }\r\n\r\n languageChange$: Observable<LpxLanguage> = this.selectedLanguage$.pipe(\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n filter<LpxLanguage>((lang: LpxLanguage) => lang !== undefined),\r\n distinctUntilChanged((a, b) => a?.cultureName === b?.cultureName)\r\n );\r\n languages$ = this.store.sliceState((state) => state.languages);\r\n languagesAsNavbarItems$ = this.languages$.pipe(\r\n map(this.convertLanguageToNavbarItem)\r\n );\r\n //TODO: PROVIDE API\r\n languagesAsSettingsGroup$ = this.languagesAsNavbarItems$.pipe(\r\n map((languages) => ({\r\n text: LanguageTranslateKeys.SettingsTitle as string,\r\n icon: 'bi bi-globe',\r\n id: this.id,\r\n children: languages,\r\n }))\r\n );\r\n\r\n constructor(@Inject(LPX_LANGUAGE) private languages: LpxLanguage[]) {\r\n this.init(this.languages);\r\n }\r\n\r\n setLanguages(languages: LpxLanguage[]) {\r\n this.init(languages);\r\n }\r\n\r\n init(languages: LpxLanguage[]): void {\r\n this.store.patch({\r\n languages,\r\n selectedLanguage: languages.find((lang) => lang.selected),\r\n });\r\n }\r\n\r\n setSelectedLanguage(lang: LpxLanguage) {\r\n this.store.patch({\r\n selectedLanguage: lang,\r\n });\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxTranslate, TranslateService } from './models';\r\n\r\nexport const LPX_TRANSLATE_SERVICE_TOKEN = new InjectionToken<TranslateService>(\r\n 'LPX_TRANSLATE_SERVICE_TOKEN'\r\n);\r\nexport const LPX_TRANSLATE_TOKEN = new InjectionToken<LpxTranslate[]>(\r\n 'LPX_TRANSLATE_TOKEN'\r\n);\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxLanguageModuleOptions } from './models';\r\nimport { LPX_LANGUAGE } from './tokens';\r\nimport { LanguageService } from './language.service';\r\nimport { LanguageTranslateDefaults } from './language-translate-keys.enum';\r\nimport { LPX_TRANSLATE_TOKEN } from '../translate/tokens';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\r\n})\r\nexport class LpxLanguageModule {\r\n static forRoot(\r\n options?: LpxLanguageModuleOptions\r\n ): ModuleWithProviders<LpxLanguageModule> {\r\n return {\r\n ngModule: LpxLanguageModule,\r\n providers: [\r\n {\r\n provide: LPX_LANGUAGE,\r\n useValue: options?.languages || [],\r\n },\r\n {\r\n provide: LPX_TRANSLATE_TOKEN,\r\n useValue: [LanguageTranslateDefaults],\r\n multi: true,\r\n },\r\n LanguageService,\r\n ],\r\n };\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const ICON_MAP = {\r\n bagFill: 'bi bi-bag-fill',\r\n bellFill: 'bi bi-bell-fill',\r\n calendarWeek: 'bi bi-calendar2-week',\r\n chatDots: 'bi bi-chat-dots',\r\n chevronDown: 'bi bi-chevron-down',\r\n chevronUp: 'bi bi-chevron-up',\r\n gearConnected: 'bi bi-gear-wide-connected',\r\n filter: 'bi bi-filter',\r\n filterFill: 'bi bi-filter-circle-fill',\r\n layoutThreeColumns: 'bi bi-layout-three-columns',\r\n moon: 'bi bi-moon',\r\n square: 'bi bi-square',\r\n sunset: 'bi bi-brightness-alt-high-fill',\r\n sunup: 'bi bi-brightness-high-fill',\r\n star: 'bi bi-star',\r\n x: 'bi bi-x',\r\n xCircleFill: 'bi bi-x-circle-fill',\r\n};\r\n\r\nexport type ICON_MAP_TYPE = typeof ICON_MAP;\r\n\r\nexport const LEPTON_X_ICON_SET = new InjectionToken<ICON_MAP_TYPE>('LEPTON_X_ICON_SET');\r\n","import { Component, Inject, Input, ViewEncapsulation } from '@angular/core';\r\nimport { LEPTON_X_ICON_SET, ICON_MAP_TYPE } from './icon.token';\r\n\r\n@Component({\r\n selector: 'lpx-icon',\r\n template: ` <i class=\"lpx-icon\" [ngClass]=\"styleClass\" aria-hidden=\"true\"></i> `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class IconComponent {\r\n @Input() iconClass?: keyof ICON_MAP_TYPE | string;\r\n\r\n get styleClass() {\r\n return this.iconSet[this.iconClass as keyof ICON_MAP_TYPE] || this.iconClass;\r\n }\r\n\r\n constructor(@Inject(LEPTON_X_ICON_SET) public iconSet: ICON_MAP_TYPE) {}\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IconComponent } from './icon.component';\r\nimport { LEPTON_X_ICON_SET, ICON_MAP_TYPE, ICON_MAP } from './icon.token';\r\n\r\nexport interface LpxIconSettings {\r\n iconSet?: ICON_MAP_TYPE;\r\n}\r\n\r\n@NgModule({\r\n declarations: [IconComponent],\r\n imports: [CommonModule],\r\n exports: [IconComponent],\r\n})\r\nexport class LpxIconModule {\r\n static forRoot(options?: LpxIconSettings): ModuleWithProviders<LpxIconModule> {\r\n return {\r\n ngModule: LpxIconModule,\r\n providers: [\r\n {\r\n provide: LEPTON_X_ICON_SET,\r\n useValue: options?.iconSet || ICON_MAP,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lpx-brand-logo',\r\n templateUrl: './brand-logo.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BrandLogoComponent {}\r\n","<a routerLink=\"/\">\r\n <div class=\"lpx-brand-logo\"></div>\r\n</a>\r\n","import { NgModule } from '@angular/core';\r\nimport { BrandLogoComponent } from './brand-logo.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [BrandLogoComponent],\r\n imports: [\r\n RouterModule\r\n ],\r\n exports: [BrandLogoComponent]\r\n})\r\nexport class LpxBrandLogoModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DataStore } from '../../utils/data-store';\r\n\r\nexport interface LayoutSettings {\r\n containerClass: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LayoutService {\r\n readonly store = new DataStore({\r\n containerClass: [''],\r\n });\r\n\r\n containerClass$: Observable<Array<string>> = this.store.sliceState(\r\n ({ containerClass }) => containerClass || [],\r\n );\r\n\r\n setClass(cssClass: string | Array<string>): void {\r\n const containerClass = Array.isArray(cssClass) ? cssClass : [cssClass];\r\n this.patchStore(containerClass);\r\n }\r\n\r\n addClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n this.patchStore([...containerClass, cssClass]);\r\n }\r\n\r\n removeClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n const index = containerClass.findIndex(item => item === cssClass);\r\n if (index === -1) return;\r\n const update = [...containerClass.slice(0, index), ...containerClass.slice(index + 1)];\r\n this.patchStore(update);\r\n }\r\n\r\n removeClasses(classlist: string[]) {\r\n const { containerClass } = this.store.state;\r\n const filteredClasslist = containerClass.filter(clss => !classlist.includes(clss));\r\n this.patchStore(filteredClasslist);\r\n }\r\n\r\n toggleClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n const index = containerClass.findIndex(item => item === cssClass);\r\n if (index === -1) {\r\n this.addClass(cssClass);\r\n } else {\r\n this.removeClass(cssClass);\r\n }\r\n }\r\n\r\n patchStore(containerClass: string[]) {\r\n this.store.patch({\r\n containerClass,\r\n });\r\n }\r\n}\r\n","import { InjectionToken, Type } from '@angular/core';\r\nimport { LpxNavbarItem } from './models';\r\n\r\nexport const CONTENT_BEFORE_ROUTES = new InjectionToken<Type<any>[][]>(\r\n 'CONTENT_BEFORE_ROUTES'\r\n);\r\nexport const CONTENT_AFTER_ROUTES = new InjectionToken<Type<any>[][]>(\r\n 'CONTENT_AFTER_ROUTES'\r\n);\r\nexport const LPX_MENU_ITEMS = new InjectionToken<LpxNavbarItem[]>(\r\n 'LPX_MENU_ITEMS'\r\n);\r\n","import { from, Observable, of } from 'rxjs';\r\nimport { ArrayTypeDeep, RecursiveArray, VariantSource } from '../models/common';\r\n\r\nexport function sortItems<T extends { order?: number }>(a: T, b: T): number {\r\n if (!a.order) {\r\n return 1;\r\n }\r\n if (!b.order) {\r\n return -1;\r\n }\r\n\r\n return a.order - b.order;\r\n}\r\n\r\nexport function flatArrayDeepToObject<T extends { [key: string]: any }>(\r\n arr: RecursiveArray<ArrayTypeDeep<T>>\r\n): ArrayTypeDeep<T> {\r\n return arr.reduce(\r\n (acc, curr) => ({\r\n ...acc,\r\n ...(Array.isArray(curr) ? flatArrayDeepToObject(curr) : curr),\r\n }),\r\n {}\r\n ) as ArrayTypeDeep<T>;\r\n}\r\n\r\nexport function getStream$<T>(source: VariantSource<T>): Observable<T> {\r\n return source instanceof Observable\r\n ? source\r\n : source instanceof Promise\r\n ? from(source)\r\n : of(source);\r\n}\r\n\r\nexport function isNullOrUndefined<T>(obj: T) {\r\n return obj === null || obj === undefined;\r\n}\r\n\r\nexport function isArray<T>(obj: T): boolean {\r\n return Array.isArray(obj);\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { isArray } from './common';\r\n\r\nexport function createGroupMap<T extends { group?: string }>(\r\n list: T[],\r\n othersGroupKey: string,\r\n skipGroupCheck: boolean = false\r\n): Map<string, T[]> | undefined {\r\n if (\r\n !skipGroupCheck &&\r\n (!isArray(list) || !list.some((node) => Boolean(node.group)))\r\n )\r\n return undefined;\r\n\r\n const mapGroup = new Map<string, T[]>();\r\n\r\n for (const node of list) {\r\n const group = node?.group || othersGroupKey;\r\n if (typeof group !== 'string') {\r\n throw new Error(`Invalid group: ${group}`);\r\n }\r\n\r\n const items = mapGroup.get(group) || [];\r\n items.push(node);\r\n mapGroup.set(group, items);\r\n }\r\n return mapGroup;\r\n}\r\n\r\nexport function getItemsFromGroup<S extends { items: R[] }, R>(\r\n list: S[],\r\n pred?: ItemPropPredicate<R>\r\n): R[] | undefined {\r\n return list?.reduce<R[]>(\r\n (acc, { items }) => [...acc, ...(pred ? items.filter(pred) : items)],\r\n []\r\n );\r\n}\r\n\r\nexport type ItemPropPredicate<T> = (\r\n prop: T\r\n) => boolean | Promise<boolean> | Observable<boolean>;\r\n","export const OTHERS_GROUP_KEY = 'AbpUi::OthersGroup';\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { filter, map, take, tap } from 'rxjs/operators';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LpxNavbarItem } from './models';\r\nimport { LPX_MENU_ITEMS } from './navbar.token';\r\nimport { createGroupMap } from '../../utils';\r\nimport { OTHERS_GROUP_KEY } from '../../consts';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NavbarService {\r\n protected readonly router = inject(Router);\r\n menuItems = inject(LPX_MENU_ITEMS);\r\n\r\n private store = new DataStore<LpxNavbarItem[]>(\r\n this.addContainerLinks(this.menuItems),\r\n );\r\n\r\n navbarItems$ = this.store.sliceState((state) => state);\r\n\r\n groupedNavbarItems$ = this.store\r\n .sliceState((state) => state)\r\n .pipe(\r\n filter((navItems) => navItems.some((f) => !!f.group)),\r\n map((items) => {\r\n const map = createGroupMap(items, OTHERS_GROUP_KEY) || [];\r\n return Array.from(map, ([group, items]) => ({\r\n group,\r\n items,\r\n }));\r\n }),\r\n );\r\n\r\n constructor() {\r\n this.expandItemByLink$().pipe(take(1)).subscribe();\r\n }\r\n\r\n addNavbarItems(...menuItems: LpxNavbarItem[]): void {\r\n this.store.set([...this.store.state, ...this.addContainerLinks(menuItems)]);\r\n }\r\n\r\n setNavbarItems(...menuItems: LpxNavbarItem[]): void {\r\n this.store.set([...this.addContainerLinks(menuItems)]);\r\n }\r\n\r\n // TODO: muhammed: refactor this method to be readable\r\n addChildren(id: string, ...menuItems: LpxNavbarItem[]): void {\r\n const parent = this.findById(id, this.store.state);\r\n const update = (\r\n items: LpxNavbarItem[],\r\n location: Array<number>,\r\n link = '',\r\n ): LpxNavbarItem[] => {\r\n const i = location.shift();\r\n return items.reduce((acc, item, index) => {\r\n return [\r\n ...acc,\r\n ...(index === i\r\n ? [\r\n {\r\n ...item,\r\n children: !location.length\r\n ? [\r\n ...(item.children || []),\r\n ...this.addContainerLinks(\r\n menuItems,\r\n `${link}/${item.containerLink}`,\r\n ),\r\n ]\r\n : update(\r\n item.children || [],\r\n location,\r\n `${link}/${item.containerLink}`,\r\n ),\r\n },\r\n ]\r\n : [item]),\r\n ];\r\n }, [] as LpxNavbarItem[]);\r\n };\r\n \r\n const updated = update(this.store.state, parent.location);\r\n this.store.patch(updated);\r\n }\r\n\r\n findByLink(link: string, items?: LpxNavbarItem[]) {\r\n return this.findByProp('link', link, items);\r\n }\r\n\r\n expandItemByLink$() {\r\n return this.router.events.pipe(\r\n filter((e) => e instanceof NavigationEnd),\r\n tap(() => this.expandItems()),\r\n );\r\n }\r\n\r\n expandItems() {\r\n const route = this.getRouteItem();\r\n if (route?.item) {\r\n const expanded = this.calculateExpandState(\r\n this.store.state,\r\n route.location,\r\n );\r\n this.store.patch(expanded);\r\n }\r\n }\r\n\r\n getRouteItem() {\r\n return this.findByLink(this.router.url);\r\n }\r\n\r\n calculateExpandState(\r\n items: LpxNavbarItem[],\r\n indexes: Array<number>,\r\n ): LpxNavbarItem[] {\r\n const matchIndex = indexes.shift();\r\n return items.reduce((acc, item, index) => {\r\n if (index === matchIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...item,\r\n expanded: true,\r\n selected: true,\r\n children: this.calculateExpandState(item.children || [], indexes),\r\n },\r\n ];\r\n }\r\n const newItem = {\r\n ...item,\r\n ...(item.children\r\n ? { children: this.collapseChildren(item.children) }\r\n : {}),\r\n };\r\n return [...acc, { ...newItem, expanded: false, selected: false }];\r\n }, [] as LpxNavbarItem[]);\r\n }\r\n\r\n collapseChildren(children: Array<LpxNavbarItem>): Array<LpxNavbarItem> {\r\n return [\r\n ...children.map((child) => ({\r\n ...child,\r\n expanded: false,\r\n selected: false,\r\n children: child.children ? this.collapseChildren(child.children) : [],\r\n })),\r\n ];\r\n }\r\n\r\n private findById(id: string, items?: LpxNavbarItem[]) {\r\n return this.findByProp('id', id, items);\r\n }\r\n\r\n private findByProp(\r\n prop: keyof LpxNavbarItem,\r\n value: string,\r\n items?: LpxNavbarItem[],\r\n location: Array<number> = [],\r\n ) {\r\n const navbarItems = items || this.store.state;\r\n const itemIndex = navbarItems.findIndex((i) => i[prop] === value);\r\n let item;\r\n if (itemIndex === -1) {\r\n navbarItems.forEach((i, index) => {\r\n if (i.children) {\r\n const child = this.findByProp(prop, value, i.children, [\r\n ...location,\r\n index,\r\n ]);\r\n if (child?.item) {\r\n item = child.item;\r\n location = child.location;\r\n }\r\n }\r\n });\r\n } else {\r\n item = navbarItems[itemIndex];\r\n location.push(itemIndex);\r\n }\r\n\r\n return { item, location };\r\n }\r\n\r\n private addContainerLinks(\r\n items: LpxNavbarItem[],\r\n link = '',\r\n ): LpxNavbarItem[] {\r\n return items.map((item) => ({\r\n ...item,\r\n ...(item.link && link ? { link: `${link}/${item.link}` } : {}),\r\n children: this.addContainerLinks(\r\n item.children || [],\r\n `${link ? link + '/' : ''}${item.containerLink || ''}`,\r\n ),\r\n }));\r\n }\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[lpx-navbar-routes],[lpxNavbarRoutes]',\r\n exportAs: 'lpxNavbarRoutes',\r\n})\r\nexport class NavbarRoutesDirective {}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-logo-panel]',\r\n})\r\nexport class LogoPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { toSignal } from '@angular/core/rxjs-interop';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RoutesService {\r\n protected readonly router = inject(Router);\r\n\r\n readonly currentNavigation = toSignal(\r\n this.router.events.pipe(\r\n filter((e) => e instanceof NavigationEnd),\r\n //TODO: location object might be problem in the future for SSR\r\n map(() => location.pathname),\r\n ),\r\n { initialValue: location.pathname },\r\n );\r\n}\r\n","import {\r\n OnInit,\r\n Directive,\r\n OnDestroy,\r\n Input,\r\n ViewContainerRef,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { EMPTY, from, Observable, of, Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[lpxVisible]',\r\n standalone: true,\r\n})\r\nexport class LpxVisibleDirective implements OnDestroy, OnInit {\r\n conditionSubscription: Subscription | undefined;\r\n isVisible: boolean | undefined;\r\n\r\n @Input('lpxVisible') set lpxVisible(\r\n value: boolean | Promise<boolean> | Observable<boolean> | undefined | null\r\n ) {\r\n this.condition$ = checkType(value);\r\n this.subscribeToCondition();\r\n }\r\n\r\n private condition$: Observable<boolean> = of(false);\r\n\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private templateRef: TemplateRef<unknown>\r\n ) {}\r\n ngOnInit(): void {\r\n this.updateVisibility();\r\n }\r\n ngOnDestroy(): void {\r\n this.conditionSubscription?.unsubscribe();\r\n }\r\n\r\n private subscribeToCondition() {\r\n this.conditionSubscription = this.condition$.subscribe((value) => {\r\n this.isVisible = value;\r\n this.updateVisibility();\r\n });\r\n }\r\n private updateVisibility() {\r\n this.viewContainerRef.clear();\r\n // it should be false not falsy\r\n if(this.isVisible === false) {\r\n return;\r\n }\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n \r\n }\r\n}\r\n\r\nfunction checkType(value: boolean | Promise<boolean> | Observable<boolean> | undefined | null) {\r\n if (value instanceof Promise) {\r\n return from(value);\r\n } else if (value instanceof Observable) {\r\n return value;\r\n } else if (typeof value === 'boolean') {\r\n return of(value);\r\n } else if(value === undefined || value === null ) {\r\n return of(true)\r\n }\r\n else {\r\n return EMPTY;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { UserProfile } from '../../models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserProfileService {\r\n private store = new DataStore({} as UserProfile);\r\n user$ = this.store.sliceState((state) => state);\r\n\r\n setUser(user: UserProfile) {\r\n this.store.set(user);\r\n }\r\n\r\n patchUser(user: Partial<UserProfile>) {\r\n this.store.patch(user);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BodyService {\r\n body = document.querySelector('body');\r\n classes = {\r\n overflowYHidden: 'overflow-y-hidden',\r\n };\r\n\r\n disableScrollY() {\r\n this.body?.classList.add(this.classes.overflowYHidden);\r\n }\r\n\r\n enableScrollY() {\r\n this.body?.classList.remove(this.classes.overflowYHidden);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { TranslateService } from './models';\r\n\r\n@Injectable()\r\nexport class DefaultTranslateService implements TranslateService {\r\n get$(key: string, defaultValue?: string): Observable<string> {\r\n return of(defaultValue || key || '');\r\n }\r\n\r\n get(key: string, defaultValue?: string): string {\r\n return defaultValue || key || '';\r\n }\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LPX_TRANSLATE_SERVICE_TOKEN, LPX_TRANSLATE_TOKEN } from './tokens';\r\nimport { LpxTranslate, TranslateService } from './models';\r\nimport { flatArrayDeepToObject } from '../../utils/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LpxThemeTranslateService {\r\n private _content: LpxTranslate = flatArrayDeepToObject(this.translateValues);\r\n constructor(\r\n @Optional()\r\n @Inject(LPX_TRANSLATE_TOKEN)\r\n private translateValues: Array<LpxTranslate[]>,\r\n @Inject(LPX_TRANSLATE_SERVICE_TOKEN)\r\n private translateService: TranslateService\r\n ) {}\r\n\r\n // TODO: PROVIDE API : Implement args\r\n translate$(key: string, ...args: any[]): Observable<string> {\r\n return this.translateService.get$(key, this._content[key]);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from './models';\r\n\r\nimport { UserProfileService } from '../user-profile';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class DefaultAuthService implements AuthService {\r\n constructor(private userProfileService: UserProfileService) {}\r\n isUserExists$ = this.userProfileService.user$.pipe(\r\n map((user) => !!user && Object.keys(user).length > 0)\r\n );\r\n\r\n navigateToLogin(): void {\r\n return;\r\n }\r\n}\r\n","import {InjectionToken} from \"@angular/core\";\r\nimport {AuthService} from \"./models\";\r\n\r\nexport const LPX_AUTH_SERVICE_TOKEN = new InjectionToken<AuthService>(\r\n 'LPX_AUTH_SERVICE_TOKEN'\r\n);\r\n","import {Provider} from \"@angular/core\";\r\nimport {LPX_AUTH_SERVICE_TOKEN} from \"./tokens\";\r\nimport {DefaultAuthService} from \"./default-auth.service\";\r\n\r\nexport const LPX_AUTH_SERVICE_PROVIDER: Provider = {\r\n provide: LPX_AUTH_SERVICE_TOKEN,\r\n useClass: DefaultAuthService,\r\n};\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LpxLocalStorageService implements Storage {\r\n\r\n constructor() { }\r\n [name: string]: any;\r\n get length(): number {\r\n return localStorage.length\r\n }\r\n clear(): void {\r\n localStorage.clear();\r\n }\r\n getItem(key: string): string | null {\r\n return localStorage.getItem(key);\r\n }\r\n key(index: number): string |null{\r\n return localStorage.key(index);\r\n }\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n setItem(key: string, value: string): void {\r\n localStorage.setItem(key, value);\r\n }\r\n}\r\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\r\nimport {\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n} from '@angular/router';\r\nimport { Subscription, filter } from 'rxjs';\r\n\r\nimport { LpxPerfectScrollbarOptions } from '../models';\r\nimport { LpxPerfectScrollbar } from '../abstracts';\r\n\r\nimport PerfectScrollbar from 'perfect-scrollbar';\r\n\r\n@Injectable()\r\nexport class LpxPerfectScrollbarService\r\n extends LpxPerfectScrollbar\r\n implements OnDestroy\r\n{\r\n private subscription: Subscription | undefined;\r\n\r\n setElement(value: ElementRef<any>): void {\r\n if (value) {\r\n this.elementRef = value;\r\n }\r\n }\r\n\r\n setOptions(value: LpxPerfectScrollbarOptions): void {\r\n if (value) {\r\n this.options = value;\r\n }\r\n }\r\n\r\n createScrollbar(): void {\r\n this.perfectScrollbar = new PerfectScrollbar(\r\n this.elementRef.nativeElement,\r\n this.options\r\n );\r\n }\r\n\r\n onResize(): void {\r\n this.perfectScrollbar.update();\r\n }\r\n\r\n afterViewInit(): void {\r\n this.createScrollbar();\r\n\r\n this.subscription?.unsubscribe();\r\n this.subscription = this.router.events\r\n .pipe(\r\n filter(\r\n (event) =>\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationError ||\r\n event instanceof NavigationCancel\r\n )\r\n )\r\n .subscribe(() => {\r\n const { element } = this.perfectScrollbar;\r\n const { topAfterNavigate, leftAfterNavigate } = this.options || {};\r\n element.scrollTop = topAfterNavigate || 0;\r\n element.scrollLeft = leftAfterNavigate || 0;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription?.unsubscribe();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LpxThemeTranslateService } from '../../services';\r\n\r\n@Pipe({\r\n name: 'lpxTranslate',\r\n})\r\nexport class TranslatePipe implements PipeTransform {\r\n constructor(private lpxThemeTranslateService: LpxThemeTranslateService) {}\r\n\r\n transform(value: string, ...args: any[]) {\r\n return this.lpxThemeTranslateService.translate$(value, args);\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n inject,\r\n Injector,\r\n input,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { getStream$ } from '../../../utils/common';\r\nimport { LpxNavbarItem } from '../models';\r\n\r\n@Component({\r\n selector: 'lpx-sub-navbar',\r\n templateUrl: './sub-navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SubNavbarComponent {\r\n protected readonly injector = inject(Injector);\r\n\r\n @Input() item!: LpxNavbarItem;\r\n\r\n routerItem = input<boolean>();\r\n\r\n @Output() routeClick = new EventEmitter<LpxNavbarItem>();\r\n @Output() expand = new EventEmitter<LpxNavbarItem>();\r\n\r\n onItemClick(menuItem: LpxNavbarItem): void {\r\n let action$ = of(true);\r\n if (menuItem.action) {\r\n const result = menuItem.action();\r\n action$ = getStream$(result);\r\n }\r\n action$.pipe(take(1)).subscribe((result) => {\r\n if (result) {\r\n this.processItemClick(menuItem);\r\n }\r\n });\r\n }\r\n\r\n onChildExpand(child: LpxNavbarItem): void {\r\n if (child.expanded) {\r\n this.item?.children\r\n ?.filter((otherChild) => otherChild !== child)\r\n .forEach((otherChild) => {\r\n otherChild.expanded = false;\r\n otherChild.selected = false;\r\n });\r\n }\r\n }\r\n\r\n private processItemClick(menuItem: LpxNavbarItem): void {\r\n if (menuItem.children?.length) {\r\n menuItem.expanded = !menuItem.expanded;\r\n this.expand.emit(menuItem);\r\n return;\r\n }\r\n this.routeClick.emit(menuItem);\r\n if (!this.routerItem()) {\r\n menuItem.selected = true;\r\n }\r\n }\r\n}\r\n","@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track item.children) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n","import {\r\n Component,\r\n effect,\r\n EventEmitter,\r\n inject,\r\n Injector,\r\n input,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { GroupedNavbarItems, LpxNavbarItem } from '../models';\r\nimport { getItemsFromGroup } from '../../../utils';\r\nimport { RoutesService } from '../../../services/route/routes.service';\r\n\r\nexport type NavbarItemsType = LpxNavbarItem[] | null | undefined;\r\nexport type NavbarGroupItemsType = GroupedNavbarItems[] | null | undefined;\r\n\r\n@Component({\r\n selector: 'lpx-navbar-routes',\r\n templateUrl: './navbar-routes.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NavbarRoutesComponent {\r\n protected readonly injector = inject(Injector);\r\n protected readonly routesService = inject(RoutesService);\r\n\r\n @Input()\r\n groupedItems: NavbarGroupItemsType;\r\n\r\n @Input()\r\n navbarItems: NavbarItemsType;\r\n\r\n routerItem = input<boolean>();\r\n\r\n @Output()\r\n routeClick = new EventEmitter<LpxNavbarItem>();\r\n\r\n private get itemsFromGroup(): LpxNavbarItem[] | undefined {\r\n if (!this.groupedItems) {\r\n return undefined;\r\n }\r\n\r\n return getItemsFromGroup<GroupedNavbarItems, LpxNavbarItem>(\r\n this.groupedItems,\r\n );\r\n }\r\n\r\n constructor() {\r\n this.fixNavbarItemsByRouter();\r\n }\r\n\r\n private isExpandedOrSelected = (item: LpxNavbarItem): boolean =>\r\n !!(item.expanded || item.selected);\r\n\r\n onSubnavbarExpand(menuItem: LpxNavbarItem, menuItems: NavbarItemsType): void {\r\n if (menuItem.expanded) {\r\n const items = this.itemsFromGroup || menuItems;\r\n if (!items) {\r\n return;\r\n }\r\n\r\n items\r\n .filter((item) => item !== menuItem)\r\n .forEach((item) => (item.expanded = false));\r\n }\r\n }\r\n\r\n onRouteClick(menuItem: LpxNavbarItem, menuItems: NavbarItemsType): void {\r\n const expandedItems = menuItems?.filter(this.isExpandedOrSelected);\r\n const expandedGroupItems = this.itemsFromGroup?.filter(\r\n this.isExpandedOrSelected,\r\n );\r\n\r\n const items = expandedGroupItems || expandedItems;\r\n\r\n if (items) {\r\n items\r\n .filter((item) => item !== menuItem)\r\n .reduce<LpxNavbarItem[]>((acc, item) => {\r\n return [...acc, item, ...this.flatChildren(item.children || [])];\r\n }, [])\r\n ?.filter(\r\n (item) =>\r\n !this.checkChildrenIncludesItem(item, menuItem) &&\r\n item !== menuItem,\r\n )\r\n .forEach((item) => {\r\n item.selected = false;\r\n item.expanded = false;\r\n });\r\n }\r\n\r\n this.routeClick.emit(menuItem);\r\n }\r\n\r\n checkChildrenIncludesItem(\r\n item: LpxNavbarItem,\r\n menuItem: LpxNavbarItem,\r\n ): boolean {\r\n return (\r\n item.children?.reduce(\r\n (acc, child) =>\r\n acc ||\r\n child === menuItem ||\r\n this.checkChildrenIncludesItem(child, menuItem),\r\n false,\r\n ) || false\r\n );\r\n }\r\n\r\n flatChildren(menuItems: NavbarItemsType): LpxNavbarItem[] {\r\n return (\r\n menuItems?.reduce<LpxNavbarItem[]>((acc, item) => {\r\n return [...acc, item, ...this.flatChildren(item.children || [])];\r\n }, []) || []\r\n );\r\n }\r\n\r\n fixNavbarItemsByRouter() {\r\n effect(() => {\r\n const currentNavigation = this.routesService.currentNavigation();\r\n\r\n if (!currentNavigation) {\r\n return;\r\n }\r\n\r\n this.fixNavbarItems(\r\n currentNavigation,\r\n this.navbarItems as LpxNavbarItem[],\r\n );\r\n });\r\n }\r\n\r\n fixNavbarItems(currentUrl: string, items: LpxNavbarItem[]): void {\r\n items.forEach((item) => {\r\n if (item.children?.length) {\r\n item.expanded = this.hasUrlInChildren(item, currentUrl);\r\n this.fixNavbarItems(currentUrl, item.children);\r\n } else {\r\n item.selected = item.link === currentUrl;\r\n }\r\n });\r\n }\r\n\r\n hasUrlInChildren(item: LpxNavbarItem, url: string): boolean {\r\n if (item.link === url) {\r\n return true;\r\n }\r\n\r\n if (item.children) {\r\n for (const child of item.children) {\r\n const found = this.hasUrlInChildren(child, url);\r\n if (found) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems) {\r\n @for (item of groupedItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track navbarItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ContentChild,\r\n InjectionToken,\r\n Injector,\r\n PLATFORM_ID,\r\n TemplateRef,\r\n Type,\r\n ViewEncapsulation,\r\n inject,\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { map } from 'rxjs';\r\nimport { LayoutService } from '../../services/layout';\r\nimport { NavbarService } from './navbar.service';\r\nimport { NavbarRoutesDirective } from './navbar-routes/navbar-routes.directive';\r\nimport { LogoPanelDirective } from '../../panels/logo-panel.directive';\r\nimport { CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES } from './navbar.token';\r\n\r\n@Component({\r\n selector: 'lpx-navbar',\r\n templateUrl: './navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NavbarComponent implements AfterViewChecked {\r\n protected readonly layoutService = inject(LayoutService);\r\n protected readonly platformId = inject<Object>(PLATFORM_ID);\r\n public readonly service = inject(NavbarService);\r\n public readonly injector = inject(Injector);\r\n\r\n @ContentChild(NavbarRoutesDirective, { read: TemplateRef })\r\n routesTemplate?: TemplateRef<NavbarRoutesDirective>;\r\n\r\n @ContentChild(LogoPanelDirective) logoPanel?: LogoPanelDirective;\r\n\r\n private didResized = false;\r\n contentBefore: Type<any>[];\r\n contentAfter: Type<any>[];\r\n showFilterMenu$ = this.service.navbarItems$.pipe(\r\n map((items) => !!items.length)\r\n );\r\n\r\n constructor() {\r\n this.contentBefore = this.flatContents(CONTENT_BEFORE_ROUTES);\r\n this.contentAfter = this.flatContents(CONTENT_AFTER_ROUTES);\r\n }\r\n\r\n toggleSidebarHover() {\r\n this.didResized = true;\r\n this.layoutService.toggleClass('hover-trigger');\r\n }\r\n ngAfterViewChecked() {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n if (this.didResized) {\r\n this.didResized = false;\r\n window.dispatchEvent(new Event('resize'));\r\n }\r\n }\r\n\r\n private flatContents(token: InjectionToken<Type<any>[][]>) {\r\n const contents = this.injector.get(token, []);\r\n return contents.reduce((acc, val) => acc.concat(val), []);\r\n }\r\n}\r\n","<nav class=\"lpx-nav\">\r\n <div class=\"lpx-logo-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"logoPanel?.template || defaultLogo\"\r\n ></ng-container>\r\n <lpx-icon\r\n class=\"menu-collapse-icon hidden-in-hover-trigger\"\r\n iconClass=\"bi bi-filter-left\"\r\n (click)=\"toggleSidebarHover()\"\r\n ></lpx-icon>\r\n </div>\r\n\r\n @if (showFilterMenu$ | async) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentBefore }\r\n \"\r\n ></ng-container>\r\n }\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n routesTemplate || defaultRouteTemplate;\r\n context: {\r\n $implicit: service.navbarItems$ | async,\r\n groupItems: service.groupedNavbarItems$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentAfter }\r\n \"\r\n ></ng-container>\r\n</nav>\r\n\r\n<ng-template #defaultRouteTemplate let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n [routerItem]=\"true\"\r\n ></lpx-navbar-routes>\r\n</ng-template>\r\n\r\n<ng-template #customContentTemplate let-contents>\r\n <ng-container *ngFor=\"let component of contents\">\r\n <ng-container\r\n *ngComponentOutlet=\"component; injector: injector\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultLogo>\r\n <lpx-brand-logo></lpx-brand-logo>\r\n</ng-template>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { VariantSource } from '../../models/common';\r\nimport { getStream$ } from '../../utils/common';\r\n\r\n@Pipe({\r\n name: 'toObservable',\r\n})\r\nexport class ToObservablePipe implements PipeTransform {\r\n transform(\r\n value: VariantSource<string> | VariantSource<number> | undefined\r\n ): Observable<string | number> {\r\n return value ? getStream$(value) : of('');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToObservablePipe } from './to-observable.pipe';\r\n\r\n@NgModule({\r\n declarations: [ToObservablePipe],\r\n imports: [CommonModule],\r\n exports: [ToObservablePipe],\r\n})\r\nexport class ToObservableModule {}\r\n","import { inject, Pipe, PipeTransform, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'lpxSafeHtml', standalone: true })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n private readonly sanitizer = inject(DomSanitizer);\r\n \r\n transform(value: string): string {\r\n if (!value || typeof value !== 'string') return '';\r\n return this.sanitizer.sanitize(SecurityContext.HTML, value) || '';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslatePipe } from './translate.pipe';\r\n\r\n@NgModule({\r\n declarations: [TranslatePipe],\r\n imports: [CommonModule],\r\n exports: [TranslatePipe],\r\n})\r\nexport class LpxTranslateModule {}\r\n","import { ModuleWithProviders, NgModule, Type } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LpxBrandLogoModule } from '../brand-logo/brand-logo.module';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { NavbarComponent } from './navbar.component';\r\nimport { SubNavbarComponent } from './sub-navbar/sub-navbar.component';\r\nimport { NavbarRoutesComponent } from './navbar-routes/navbar-routes.component';\r\nimport { NavbarRoutesDirective } from './navbar-routes/navbar-routes.directive';\r\nimport { LpxNavbarItem } from './models';\r\nimport {\r\n CONTENT_AFTER_ROUTES,\r\n CONTENT_BEFORE_ROUTES,\r\n LPX_MENU_ITEMS,\r\n} from './navbar.token';\r\nimport { ToObservableModule } from '../../pipes/to-observable/to-observable.module';\r\nimport { LpxTranslateModule } from '../../pipes';\r\nimport { LpxVisibleDirective } from '../../directives/visible.directive';\r\n\r\nconst exportedDeclarations = [\r\n NavbarComponent,\r\n SubNavbarComponent,\r\n NavbarRoutesComponent,\r\n NavbarRoutesDirective,\r\n];\r\n\r\nexport interface LpxNavbarSettings {\r\n menuItems?: LpxNavbarItem[];\r\n contentAfterRoutes?: Type<any>[];\r\n contentBeforeRoutes?: Type<any>[];\r\n}\r\n\r\n@NgModule({\r\n declarations: [...exportedDeclarations],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n LpxBrandLogoModule,\r\n LpxIconModule,\r\n ToObservableModule,\r\n LpxTranslateModule,\r\n LpxVisibleDirective,\r\n ],\r\n exports: [...exportedDeclarations],\r\n})\r\nexport class LpxNavbarModule {\r\n static forRoot(\r\n options: LpxNavbarSettings = {},\r\n ): ModuleWithProviders<LpxNavbarModule> {\r\n return {\r\n ngModule: LpxNavbarModule,\r\n providers: [\r\n {\r\n provide: LPX_MENU_ITEMS,\r\n useValue: options?.menuItems || [],\r\n },\r\n {\r\n provide: CONTENT_AFTER_ROUTES,\r\n useValue: options?.contentAfterRoutes || [],\r\n multi: true,\r\n },\r\n {\r\n provide: CONTENT_BEFORE_ROUTES,\r\n useValue: options?.contentBeforeRoutes || [],\r\n multi: true,\r\n },\r\n ],\r\n };\r\n }\r\n\r\n static forChild(\r\n options: Omit<LpxNavbarSettings, 'menuItems'> = {},\r\n ): ModuleWithProviders<LpxNavbarModule> {\r\n return {\r\n ngModule: LpxNavbarModule,\r\n providers: [\r\n {\r\n provide: CONTENT_AFTER_ROUTES,\r\n useValue: options?.contentAfterRoutes || [],\r\n multi: true,\r\n },\r\n {\r\n provide: CONTENT_BEFORE_ROUTES,\r\n useValue: options?.contentBeforeRoutes || [],\r\n multi: true,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { Observable } from 'rxjs';\r\n\r\n// TODO : add onClick\r\nexport interface BreadcrumbItem {\r\n icon?: string;\r\n text: string | Observable<string>;\r\n link?: string;\r\n children?: BreadcrumbItem[];\r\n expanded?: boolean;\r\n active?: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbService {\r\n private store = new DataStore<BreadcrumbItem[]>([]);\r\n items$ = this.store.sliceState((state) => state);\r\n // TODO: generate id per item\r\n add(item: BreadcrumbItem | BreadcrumbItem[]): void {\r\n const items = Array.isArray(item) ? item : [item];\r\n this.store.set([...this.store.state, ...items]);\r\n }\r\n\r\n // TODO: generate id per item\r\n insert(item: BreadcrumbItem | BreadcrumbItem[], index: number): void {\r\n const state = this.store.state;\r\n const items = Array.isArray(item) ? item : [item];\r\n this.store.set([...state.slice(0, index), ...items, ...state.slice(index)]);\r\n }\r\n\r\n // TODO: generate id per item\r\n setItems(items: BreadcrumbItem[]): void {\r\n this.store.set(items);\r\n }\r\n\r\n // TODO: Add remove function\r\n}\r\n","import { Directive, Output, EventEmitter, HostListener, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[lpxClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() lpxClickOutside = new EventEmitter();\r\n @Input()\r\n exceptedRefs: Array<ElementRef> = [];\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n !(\r\n this.elementRef.nativeElement.contains(event.target) ||\r\n this.exceptedRefs.some(ref => ref.nativeElement.contains(event.target))\r\n )\r\n ) {\r\n this.lpxClickOutside.emit();\r\n }\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\r\nimport { ICON_MAP } from '../icon/icon.token';\r\n\r\n@Component({\r\n selector: 'lpx-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BreadcrumbComponent {\r\n icon = ICON_MAP;\r\n\r\n constructor(public service: BreadcrumbService) {}\r\n\r\n onClick(item: BreadcrumbItem): void {\r\n if (item.children) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n // TODO: close dropdown when click outside\r\n}\r\n","<nav aria-label=\"breadcrumb\">\r\n <ol class=\"lpx-breadcrumb\">\r\n <ng-container *ngFor=\"let item of service.items$ | async; last as last\">\r\n <li\r\n class=\"lpx-breadcrumb-item\"\r\n (click)=\"onClick(item)\"\r\n [class.expanded]=\"item.expanded\"\r\n (lpxClickOutside)=\"item.expanded = false\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-breadcrumb-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.children?.length ? textTemplate : linkTemplate;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n </li>\r\n <li *ngIf=\"!last\" class=\"lpx-breadcrumb-separator\">\r\n <lpx-icon iconClass=\"bi bi-chevron-right\"></lpx-icon>\r\n </li>\r\n </ng-container>\r\n </ol>\r\n</nav>\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.link\"> {{ item.text | toObservable | async }} </a>\r\n</ng-template>\r\n<ng-template #textTemplate let-item>\r\n <span class=\"lpx-breadcrumb-item-text\">\r\n {{ item.text | toObservable | async }}\r\n </span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n@NgModule({\r\n declarations: [ClickOutsideDirective],\r\n imports: [CommonModule],\r\n exports: [ClickOutsideDirective],\r\n})\r\nexport class LpxClickOutsideModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { NavbarService } from '../navbar/navbar.service';\r\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\r\nimport { combineLatest } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { LpxNavbarItem } from '../navbar';\r\n\r\ninterface BreadCrumbNavigation extends LpxNavbarItem {\r\n siblings: BreadCrumbNavigation[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbRouteListenerService {\r\n constructor(\r\n private navbarService: NavbarService,\r\n private router: Router,\r\n private breadcrumbService: BreadcrumbService,\r\n ) {}\r\n\r\n subscribeRoute(): void {\r\n combineLatest([\r\n this.router.events.pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n ),\r\n this.navbarService.navbarItems$.pipe(filter((items) => !!items.length)),\r\n ]).subscribe(([event, items]) => {\r\n let activeItem = this.navbarService.findByLink(\r\n (event as NavigationEnd).url,\r\n );\r\n\r\n if (!activeItem.item) {\r\n activeItem = this.navbarService.findByLink('/');\r\n }\r\n\r\n const breadCrumbItems = activeItem.location.reduce((acc, itemIndex) => {\r\n const parent = acc[acc.length - 1]?.children || items;\r\n const item = parent[itemIndex];\r\n\r\n return [\r\n ...acc,\r\n { ...item, siblings: parent as BreadCrumbNavigation[] },\r\n ];\r\n }, [] as BreadCrumbNavigation[]);\r\n\r\n this.breadcrumbService.setItems(\r\n this.mapNavbarItemToBreadcrumbItem(breadCrumbItems),\r\n );\r\n });\r\n }\r\n\r\n private mapNavbarItemToBreadcrumbItem(\r\n items: BreadCrumbNavigation[],\r\n ): BreadcrumbItem[] {\r\n return items.map(({ breadcrumbText, text, link, icon, siblings }) => ({\r\n text: breadcrumbText || text || '',\r\n link,\r\n icon,\r\n children: this.mapNavbarItemToBreadcrumbItem(siblings || []),\r\n }));\r\n }\r\n}\r\n","import {\r\n APP_INITIALIZER,\r\n Injector,\r\n ModuleWithProviders,\r\n NgModule,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumbComponent } from './breadcrumb.component';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LpxClickOutsideModule } from '../../directives/click-outside/click-outside.module';\r\nimport { BreadcrumbRouteListenerService } from './breadcrumb-route-listener.service';\r\nimport { ToObservableModule } from '../../pipes/to-observable/to-observable.module';\r\n\r\nexport const exportedDeclarations = [BreadcrumbComponent];\r\n@NgModule({\r\n declarations: [...exportedDeclarations],\r\n imports: [\r\n CommonModule,\r\n LpxIconModule,\r\n ToObservableModule,\r\n RouterModule,\r\n LpxClickOutsideModule,\r\n ],\r\n exports: [...exportedDeclarations],\r\n})\r\nexport class LpxBreadcrumbModule {\r\n static forRoot(): ModuleWithProviders<LpxBreadcrumbModule> {\r\n return {\r\n ngModule: LpxBreadcrumbModule,\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: breadCrumbInit,\r\n multi: true,\r\n deps: [Injector],\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n\r\nexport function breadCrumbInit(injector: Injector) {\r\n const subs = () => {\r\n const service = injector.get(BreadcrumbRouteListenerService);\r\n service.subscribeRoute();\r\n };\r\n return subs;\r\n}\r\n","import { Provider } from '@angular/core';\r\nimport { LPX_TRANSLATE_SERVICE_TOKEN } from './tokens';\r\nimport { DefaultTranslateService } from './default-translate.service';\r\n\r\nexport const LPX_TRANSLATE_SERVICE_PROVIDER: Provider = {\r\n provide: LPX_TRANSLATE_SERVICE_TOKEN,\r\n useClass: DefaultTranslateService,\r\n};\r\n\r\nexport const LPX_TRANSLATE_PROVIDERS: Provider[] = [\r\n LPX_TRANSLATE_SERVICE_PROVIDER,\r\n];\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxStyles } from './models';\r\n\r\nexport const LPX_INITIAL_STYLES = new InjectionToken<LpxStyles>(\r\n 'LPX_INITIAL_STYLES_TOKEN'\r\n);\r\n\r\nexport const LPX_STYLE_FINAL = new InjectionToken<LpxStyles>(\r\n 'LPX_STYLE_FINAL_TOKEN'\r\n);\r\n\r\nexport const LPX_LAYOUT_STYLE_FINAL = new InjectionToken<LpxStyles>(\r\n 'LPX_LAYOUT_STYLE_FINALIZE_TOKEN'\r\n);\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { LPX_STYLE_FINAL } from './tokens';\r\nimport { LpxStyle, LpxStyles } from './models';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StyleService {\r\n lastInjectedStyle: HTMLLinkElement | null = null;\r\n\r\n initialized$ = new BehaviorSubject<boolean>(false);\r\n\r\n constructor(\r\n @Inject(LPX_STYLE_FINAL) private initialStyles: LpxStyles,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {}\r\n\r\n async initStyles(direction: 'rtl' | 'ltr') {\r\n for (const style of this.initialStyles) {\r\n await this.loadStyle(style, direction);\r\n }\r\n this.initialized$.next(true);\r\n }\r\n\r\n async loadStyle(\r\n style: LpxStyle,\r\n direction: 'ltr' | 'rtl'\r\n ): Promise<HTMLStyleElement | void> {\r\n return new Promise((resolve, reject) => {\r\n const linkElem = this.createLinkElem(style, direction, resolve);\r\n //TODO: find a better way for understand style laaded by angular json\r\n const appStyles = document.querySelector(\r\n 'link[rel=\"stylesheet\"][href*=\"styles\"]'\r\n );\r\n if (appStyles) {\r\n if (this.lastInjectedStyle && this.lastInjectedStyle.isConnected) {\r\n this.lastInjectedStyle.insertAdjacentElement('afterend', linkElem);\r\n } else {\r\n appStyles.insertAdjacentElement('beforebegin', linkElem);\r\n }\r\n } else {\r\n this.document.head.appendChild(linkElem);\r\n }\r\n this.lastInjectedStyle = linkElem;\r\n return Promise.resolve(linkElem);\r\n });\r\n }\r\n\r\n async replaceStyle<T extends LpxStyle>(\r\n style: T,\r\n direction: 'rtl' | 'ltr'\r\n ): Promise<HTMLStyleElement | void> {\r\n const loaded = this.document.querySelector(`link#${style.bundleName}`);\r\n if (loaded) {\r\n loaded.remove();\r\n }\r\n return this.loadStyle(style, direction);\r\n }\r\n\r\n async reloadInitialStyles(direction: 'rtl' | 'ltr') {\r\n for (const style of this.initialStyles) {\r\n await this.replaceStyle(style, direction);\r\n }\r\n }\r\n\r\n createLinkElem(\r\n style: LpxStyle,\r\n direction: 'rtl' | 'ltr',\r\n resolve: (param: any) => void\r\n ): HTMLLinkElement {\r\n const linkElem = document.createElement('link');\r\n linkElem.rel = 'stylesheet';\r\n linkElem.id = style.bundleName;\r\n linkElem.href = `${style.bundleName}${\r\n direction === 'rtl' ? '.rtl' : ''\r\n }.css`;\r\n linkElem.onload = () => {\r\n resolve(linkElem);\r\n };\r\n return linkElem;\r\n }\r\n}\r\n","import { LpxStyleFactory, LpxStyles } from './models';\r\n\r\nexport function createStyleFactory<T = LpxStyles>(\r\n handler?: LpxStyleFactory<T>\r\n): LpxStyleFactory<T> {\r\n return handler || ((defaultValue: T) => defaultValue);\r\n}\r\n","import { LpxStyles } from \"../style/models\";\r\n\r\n\r\nexport function styleLoadFactory(\r\n styleList: LpxStyles,\r\n layoutStyles: LpxStyles\r\n) {\r\n styleList.push({\r\n bundleName: 'ng-bundle',\r\n });\r\n styleList.push({\r\n bundleName: 'font-bundle',\r\n });\r\n return [...styleList, ...layoutStyles];\r\n}\r\n","import { APP_INITIALIZER, Provider } from '@angular/core';\r\nimport { LPX_INITIAL_STYLES, StyleService } from '../style';\r\nimport { LanguageService } from '../services';\r\nimport { switchMap, take } from 'rxjs/operators';\r\nimport { Observable, from } from 'rxjs';\r\n\r\nexport const LPX_STYLE_PROVIDERS: Provider[] = [\r\n {\r\n provide: LPX_INITIAL_STYLES,\r\n useFactory: () => [],\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n deps: [StyleService, LanguageService],\r\n useFactory: loadInitialStyles,\r\n multi: true,\r\n },\r\n];\r\n\r\nexport function loadInitialStyles(\r\n styleService: StyleService,\r\n languageService: LanguageService\r\n): () => Observable<any> {\r\n return () => {\r\n return languageService.languageChange$.pipe(\r\n take(1),\r\n switchMap((lang) =>\r\n from(styleService.initStyles(lang.isRTL ? 'rtl' : 'ltr'))\r\n )\r\n );\r\n };\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const WINDOW = new InjectionToken<Window>('WINDOW');\r\n","import { Provider } from '@angular/core';\r\nimport { WINDOW } from '../tokens/window.token';\r\n\r\nexport function createWindowProvider(windowObj: Window | undefined): Provider {\r\n return { provide: WINDOW, useValue: windowObj || window }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface ResponsiveBreakpoints {\r\n [key: string]: number;\r\n}\r\n\r\nexport const RESPONSIVE_BREAKPOINTS = new InjectionToken<ResponsiveBreakpoints>(\r\n 'RESPONSIVE_BREAKPOINTS',\r\n);\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, fromEvent, Observable } from 'rxjs';\r\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\r\nimport { RESPONSIVE_BREAKPOINTS, ResponsiveBreakpoints } from './responsive-breakpoints.token';\r\nimport { WINDOW } from '../../tokens/window.token';\r\n\r\nexport const enum ResponsiveTokens {\r\n none = 'none',\r\n all = 'all',\r\n separator = '-',\r\n}\r\n\r\nexport interface ResponsiveBreakpoint {\r\n name: string;\r\n width: number;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResponsiveService {\r\n currentResolution$!: Observable<{ height: number; width: number }>;\r\n\r\n defaultBreakpoint = {\r\n name: ResponsiveTokens.all,\r\n width: 0,\r\n };\r\n\r\n breakpoints: { name: string; width: number }[] = this.buildBreakpoints(this.providedBreakpoints);\r\n\r\n protected getCurrentSize = () => ({\r\n height: this.window.innerHeight,\r\n width: this.window.innerWidth,\r\n });\r\n\r\n protected mapSizeToBreakpoint = ({ width } = this.getCurrentSize()) => {\r\n return this.breakpoints.find(s => width >= s.width) as ResponsiveBreakpoint;\r\n };\r\n\r\n currentSize$: BehaviorSubject<ResponsiveBreakpoint> = new BehaviorSubject<ResponsiveBreakpoint>(\r\n this.mapSizeToBreakpoint(),\r\n );\r\n\r\n shouldRenderWithCurrentSize = (query: string) => {\r\n return this.matchQuery(query);\r\n };\r\n\r\n constructor(\r\n @Inject(RESPONSIVE_BREAKPOINTS) protected providedBreakpoints: ResponsiveBreakpoints,\r\n @Inject(WINDOW) protected window: any,\r\n ) {\r\n this.setupListener();\r\n }\r\n\r\n protected setupListener() {\r\n this.currentResolution$ = fromEvent(this.window, 'resize')\r\n .pipe(map(this.getCurrentSize))\r\n .pipe(startWith(this.getCurrentSize()));\r\n\r\n this.currentResolution$\r\n .pipe(map(this.mapSizeToBreakpoint), distinctUntilChanged())\r\n .subscribe(current => {\r\n this.currentSize$.next(current);\r\n });\r\n }\r\n\r\n protected buildBreakpoints(breakpoints: ResponsiveBreakpoints) {\r\n return [\r\n ...Object.keys(breakpoints)\r\n .map(key => ({\r\n name: key,\r\n width: breakpoints[key],\r\n }))\r\n .sort((a, b) => b.width - a.width),\r\n this.defaultBreakpoint,\r\n ];\r\n }\r\n\r\n protected matchQuery(query: string) {\r\n const { width } = this.getCurrentSize();\r\n const tokens = query.split(' ');\r\n const findInTokens = (size: string) =>\r\n tokens.find(token => token.split(ResponsiveTokens.separator)[0] === size);\r\n\r\n const matchedBreakpoint = this.breakpoints.find(\r\n breakpoint => width >= breakpoint.width && findInTokens(breakpoint.name),\r\n );\r\n if (matchedBreakpoint) {\r\n const token = findInTokens(matchedBreakpoint.name);\r\n const shouldBeBigger = !token?.includes(ResponsiveTokens.none);\r\n return shouldBeBigger === width >= matchedBreakpoint.width;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n SkipSelf,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { ResponsiveService } from './responsive.service';\r\n\r\n@Directive({\r\n selector: '[lpxResponsive]',\r\n})\r\nexport class ResponsiveDirective implements OnInit, OnDestroy {\r\n hasRendered = false;\r\n sub = new Subscription();\r\n\r\n @Input('lpxResponsive') query!: string;\r\n\r\n render = (shouldRender: boolean) => {\r\n if (shouldRender && !this.hasRendered) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n this.hasRendered = true;\r\n } else if (!shouldRender && this.hasRendered) {\r\n this.viewContainer.clear();\r\n this.hasRendered = false;\r\n }\r\n this.parentCdr.detectChanges();\r\n };\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private service: ResponsiveService,\r\n @Optional() @SkipSelf() private parentCdr: ChangeDetectorRef,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.sub.add(\r\n this.service.currentSize$\r\n .pipe(map(_ => this.service.shouldRenderWithCurrentSize(this.query)))\r\n .subscribe(this.render),\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ResponsiveDirective } from './responsive.directive';\r\n\r\n@NgModule({\r\n declarations: [ResponsiveDirective],\r\n imports: [CommonModule],\r\n exports: [ResponsiveDirective],\r\n})\r\nexport class LpxResponsiveModule {}\r\n","import { ResponsiveBreakpoints } from './responsive-breakpoints.token';\r\n\r\nexport const LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS: ResponsiveBreakpoints = {\r\n sm: 480,\r\n md: 768,\r\n lg: 992,\r\n xl: 1200,\r\n};\r\n","import {\r\n LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS,\r\n RESPONSIVE_BREAKPOINTS,\r\n ResponsiveBreakpoints,\r\n} from '../directives/responsive';\r\nimport { Provider } from '@angular/core';\r\n\r\nexport function createResponsiveProvider(responsiveSettings:ResponsiveBreakpoints |undefined ): Provider{\r\n return {\r\n provide: RESPONSIVE_BREAKPOINTS,\r\n useValue:\r\n responsiveSettings || LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS,\r\n };\r\n}\r\n","import { APP_INITIALIZER, Provider } from '@angular/core';\r\nimport { LanguageService } from '../services/language';\r\nimport { StyleService } from '../style';\r\nimport {\r\n distinctUntilKeyChanged,\r\n filter,\r\n switchMap,\r\n take,\r\n} from 'rxjs/operators';\r\n\r\nexport function createDirectionProvider(listenDirection: boolean): Provider {\r\n return {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [LanguageService, StyleService],\r\n useFactory: listenDirection ? listenDirectionChange : () => () => null,\r\n };\r\n}\r\n// subscribe to direction from documentElement and load direction stylesheet\r\nexport function listenDirectionChange(\r\n languageService: LanguageService,\r\n styleService: StyleService\r\n) {\r\n return () => {\r\n return new Promise((resolve) => {\r\n styleService.initialized$\r\n .pipe(\r\n filter(Boolean),\r\n take(1),\r\n switchMap(() => languageService.languageChange$),\r\n distinctUntilKeyChanged('isRTL')\r\n )\r\n .subscribe(async (lang) => {\r\n const direction = lang?.isRTL ? 'rtl' : 'ltr';\r\n const documentElement = document.documentElement;\r\n if (documentElement.dir !== direction) {\r\n documentElement.dir = direction;\r\n }\r\n await styleService.reloadInitialStyles(direction);\r\n resolve(null);\r\n });\r\n });\r\n };\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxPerfectScrollbar } from '../abstracts';\r\n\r\nexport const LPX_PERFECT_SCROLLBAR = new InjectionToken<LpxPerfectScrollbar>(\r\n 'LPX_PERFECT_SCROLLBAR'\r\n);\r\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ResponsiveBreakpoints } from './directives/responsive/responsive-breakpoints.token';\r\nimport { LpxLanguageModuleOptions } from './services/language/models';\r\nimport { LpxLanguageModule } from './services/language/language.module';\r\nimport { LpxIconModule, LpxIconSettings } from './components/icon/icon.module';\r\nimport {\r\n LpxNavbarModule,\r\n LpxNavbarSettings,\r\n} from './components/navbar/navbar.module';\r\nimport { LpxBreadcrumbModule } from './components/breadcrumb/breadcrumb.module';\r\nimport { LpxPerfectScrollbarService, LpxTranslate } from './services';\r\nimport { LPX_TRANSLATE_PROVIDERS } from './services/translate/providers';\r\nimport { LPX_STYLE_PROVIDERS } from './providers/styles.provider';\r\nimport { createWindowProvider } from './providers/window.provider';\r\nimport { createResponsiveProvider } from './providers/responsive.provider';\r\nimport { createDirectionProvider } from './providers/direction.provider';\r\nimport { LpxVisibleDirective } from './directives/visible.directive';\r\nimport { LPX_PERFECT_SCROLLBAR } from './tokens';\r\n\r\nexport interface LpxCoreOptions {\r\n responsiveSettings?: ResponsiveBreakpoints;\r\n window?: Window;\r\n iconSettings?: LpxIconSettings;\r\n languageSettings?: LpxLanguageModuleOptions;\r\n navbarSettings?: LpxNavbarSettings;\r\n texts?: LpxTranslate[];\r\n listenDirectionChanges?: boolean;\r\n}\r\n\r\n@NgModule({\r\n imports: [CommonModule, LpxVisibleDirective],\r\n})\r\nexport class LpxCoreModule {\r\n static forRoot(options?: LpxCoreOptions): ModuleWithProviders<LpxCoreModule> {\r\n return {\r\n ngModule: LpxCoreModule,\r\n providers: [\r\n {\r\n provide: LPX_PERFECT_SCROLLBAR,\r\n useClass: LpxPerfectScrollbarService,\r\n },\r\n createResponsiveProvider(options?.responsiveSettings),\r\n createWindowProvider(options?.window),\r\n LpxIconModule.forRoot(options?.iconSettings).providers as Provider,\r\n LpxLanguageModule.forRoot(options?.languageSettings)\r\n .providers as Provider[],\r\n LpxNavbarModule.forRoot(options?.navbarSettings).providers as Provider,\r\n LpxBreadcrumbModule.forRoot().providers as Provider,\r\n LPX_TRANSLATE_PROVIDERS,\r\n ...LPX_STYLE_PROVIDERS,\r\n createDirectionProvider(options?.listenDirectionChanges || true),\r\n ],\r\n };\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, Input } from '@angular/core';\r\n\r\nexport interface Avatar {\r\n type: 'icon' | 'image';\r\n source: string;\r\n}\r\n\r\n@Component({\r\n selector: 'lpx-avatar',\r\n templateUrl: './avatar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AvatarComponent {\r\n @Input() avatar?: Avatar;\r\n}\r\n","<div class=\"lpx-avatar\" *ngIf=\"avatar && avatar?.source\">\r\n <ng-container [ngSwitch]=\"avatar.type\">\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <lpx-icon class=\"lpx-avatar-icon\" [iconClass]=\"avatar.source\"></lpx-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img class=\"lpx-avatar-img\" [src]=\"avatar.source\" />\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { AvatarComponent } from './avatar.component';\r\n\r\n@NgModule({\r\n declarations: [AvatarComponent],\r\n imports: [CommonModule, LpxIconModule],\r\n exports: [AvatarComponent],\r\n})\r\nexport class LpxAvatarModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\n\r\nexport interface FooterLink {\r\n link: string;\r\n text: string;\r\n}\r\n\r\nexport interface FooterNav {\r\n descUrl?: string;\r\n desc: string;\r\n footerLinks?: FooterLink[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FooterLinksService {\r\n private store = new DataStore({} as FooterNav);\r\n footerInfo$ = this.store.sliceState((state) => state);\r\n\r\n setFooterInfo(links: FooterNav) {\r\n this.store.set(links);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { FooterLinksService } from './footer-links.service';\r\n\r\n@Component({\r\n selector: 'lpx-footer',\r\n templateUrl: './footer.component.html',\r\n})\r\nexport class FooterComponent {\r\n footerValues$ = this.service.footerInfo$;\r\n \r\n constructor(private service: FooterLinksService) {}\r\n}\r\n","<ng-container *ngIf=\"footerValues$ | async as footerValues\">\r\n\r\n <div class=\"lpx-footbar\">\r\n <div class=\"lpx-footbar-copyright\">\r\n \r\n <a\r\n *ngIf=\"footerValues.descUrl; else footerDesc\"\r\n [routerLink]=\"[footerValues.descUrl]\"\r\n >\r\n {{ footerValues.desc }}</a\r\n >\r\n <ng-template #footerDesc>\r\n <a> {{ footerValues.desc }}</a>\r\n </ng-template>\r\n </div>\r\n <div class=\"lpx-footbar-solo-links\">\r\n <ng-container *ngFor=\"let footerLink of footerValues.footerLinks\">\r\n <a *ngIf=\"footerLink\" [routerLink]=\"[footerLink.link]\">{{\r\n footerLink.text\r\n }}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n</ng-container>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\nimport { FooterComponent } from './footer.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n declarations: [FooterComponent],\r\n exports: [FooterComponent],\r\n imports: [CommonModule, RouterModule],\r\n})\r\nexport class LpxFooterModule {\r\n static forRoot(): ModuleWithProviders<LpxFooterModule> {\r\n return {\r\n ngModule: LpxFooterModule,\r\n providers: [],\r\n };\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n inject,\r\n} from '@angular/core';\r\nimport { LpxPerfectScrollbar } from '../abstracts';\r\nimport { LPX_PERFECT_SCROLLBAR } from '../tokens';\r\n\r\n@Directive({\r\n selector: '[lpxPerfectScrollbar]',\r\n standalone: true,\r\n})\r\nexport class PerfectScrollbarDirective implements AfterViewInit {\r\n protected readonly elementRef = inject(ElementRef);\r\n protected readonly lpxPerfectService = inject<LpxPerfectScrollbar>(\r\n LPX_PERFECT_SCROLLBAR\r\n );\r\n\r\n @Input()\r\n set lpxPerfectScrollbarOptions(value: any) {\r\n this.lpxPerfectService.setOptions(value);\r\n }\r\n\r\n @HostListener('window:resize')\r\n onResize(): void {\r\n this.lpxPerfectService.onResize();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.lpxPerfectService.setElement(this.elementRef);\r\n this.lpxPerfectService.afterViewInit();\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-breadcrumb-panel]',\r\n})\r\nexport class BreadcrumbPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-content]',\r\n})\r\nexport class ContentPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-current-user-image-panel]',\r\n})\r\nexport class CurrentUserImagePanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-current-user-panel]',\r\n})\r\nexport class CurrentUserPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-footer-panel]',\r\n})\r\nexport class FooterPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-language-panel]',\r\n})\r\nexport class LanguagePanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-mobile-navbar-panel]',\r\n})\r\nexport class MobileNavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-navbar-panel]',\r\n})\r\nexport class NavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-navitem-panel]',\r\n})\r\nexport class NavitemPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-toolbar-panel]',\r\n})\r\nexport class ToolbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-top-navbar-panel]',\r\n})\r\nexport class TopNavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-settings-panel]',\r\n})\r\nexport class SettingsPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumbPanelDirective } from './breadcrumb-panel.directive';\r\nimport { NavbarPanelDirective } from './navbar-panel.directive';\r\nimport { FooterPanelDirective } from './footer-panel.directive';\r\nimport { MobileNavbarPanelDirective } from './mobile-navbar-panel.directive';\r\nimport { ToolbarPanelDirective } from './toolbar-panel.directive';\r\nimport { TopNavbarPanelDirective } from './top-navbar-panel.directive';\r\nimport { SettingsPanelDirective } from './settings-panel.directive';\r\nimport { NavitemPanelDirective } from './navitem-panel.directive';\r\nimport { LogoPanelDirective } from './logo-panel.directive';\r\nimport { CurrentUserPanelDirective } from './current-user-panel.directive';\r\nimport { CurrentUserImagePanelDirective } from './current-user-image-panel.directive';\r\nimport { LanguagePanelDirective } from './language-panel.directive';\r\nimport { ContentPanelDirective } from './content-panel.directive';\r\n\r\nconst declarationsAndExports = [\r\n BreadcrumbPanelDirective,\r\n ContentPanelDirective,\r\n CurrentUserImagePanelDirective,\r\n CurrentUserPanelDirective,\r\n FooterPanelDirective,\r\n LanguagePanelDirective,\r\n LogoPanelDirective,\r\n MobileNavbarPanelDirective,\r\n NavbarPanelDirective,\r\n NavitemPanelDirective,\r\n SettingsPanelDirective,\r\n TopNavbarPanelDirective,\r\n ToolbarPanelDirective,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...declarationsAndExports],\r\n imports: [CommonModule],\r\n exports: [...declarationsAndExports],\r\n})\r\nexport class PanelsModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToolbarItem } from '../../models/toolbar-item.model';\r\nimport { DataStore, sortItems } from '../../utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ToolbarService {\r\n private store = new DataStore({ items: <Array<ToolbarItem>>[] });\r\n\r\n items$ = this.store.sliceState(({ items }) => items);\r\n\r\n setItems(items: Array<ToolbarItem>): void {\r\n this.store.patch({ items: items.sort(sortItems) });\r\n }\r\n\r\n addItem(item: ToolbarItem): void {\r\n this.setItems([...this.store.state.items, item]);\r\n }\r\n\r\n patchItem(itemId: string | number, item: Omit<ToolbarItem, 'id'>): void {\r\n const { items } = this.store.state;\r\n const index = items.findIndex(({ id }) => id === itemId);\r\n if (index === -1) {\r\n return;\r\n }\r\n const updateItems = [...items];\r\n updateItems[index] = { id: itemId, ...item };\r\n this.setItems(updateItems);\r\n }\r\n\r\n removeItem(id: string | number): void {\r\n const { items } = this.store.state;\r\n const index = items.findIndex((item) => item.id === id);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n const updateItems = [...items.slice(0, index), ...items.slice(index + 1)];\r\n this.store.patch({ items: updateItems });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.UserProfileService","filter","i1.LpxThemeTranslateService","i3.IconComponent","i4.LpxVisibleDirective","i5.TranslatePipe","i2.LpxVisibleDirective","i3.SubNavbarComponent","i4.TranslatePipe","map","i2.BrandLogoComponent","i4.NavbarRoutesComponent","exportedDeclarations","i1.BreadcrumbService","i2","i4","i5.ClickOutsideDirective","i6.ToObservablePipe","i1.NavbarService","i3.BreadcrumbService","i1.ResponsiveService","i2.IconComponent","i1.FooterLinksService","i3"],"mappings":"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"}
1
+ {"version":3,"file":"volo-ngx-lepton-x.core.mjs","sources":["../../../../libs/lepton-x-core/src/lib/abstracts/perfect-scrollbar.ts","../../../../libs/lepton-x-core/src/lib/services/language/tokens.ts","../../../../libs/lepton-x-core/src/lib/utils/data-store.ts","../../../../libs/lepton-x-core/src/lib/services/language/language-translate-keys.enum.ts","../../../../libs/lepton-x-core/src/lib/services/language/language.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/tokens.ts","../../../../libs/lepton-x-core/src/lib/services/language/language.module.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.token.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.component.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.module.ts","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.component.ts","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.component.html","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.module.ts","../../../../libs/lepton-x-core/src/lib/services/layout/layout.service.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.token.ts","../../../../libs/lepton-x-core/src/lib/utils/common.ts","../../../../libs/lepton-x-core/src/lib/utils/tree-utils.ts","../../../../libs/lepton-x-core/src/lib/consts/others-group.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.service.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/logo-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/services/route/routes.service.ts","../../../../libs/lepton-x-core/src/lib/directives/visible.directive.ts","../../../../libs/lepton-x-core/src/lib/services/user-profile/user-profile.service.ts","../../../../libs/lepton-x-core/src/lib/services/body/body.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/default-translate.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/translate.service.ts","../../../../libs/lepton-x-core/src/lib/services/auth/default-auth.service.ts","../../../../libs/lepton-x-core/src/lib/services/auth/tokens.ts","../../../../libs/lepton-x-core/src/lib/services/auth/providers.ts","../../../../libs/lepton-x-core/src/lib/services/local-storage/local-storage.service.ts","../../../../libs/lepton-x-core/src/lib/services/perfect-scrollbar.service.ts","../../../../libs/lepton-x-core/src/lib/pipes/translate/translate.pipe.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/sub-navbar/sub-navbar.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/sub-navbar/sub-navbar.component.html","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.component.html","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.component.html","../../../../libs/lepton-x-core/src/lib/pipes/to-observable/to-observable.pipe.ts","../../../../libs/lepton-x-core/src/lib/pipes/to-observable/to-observable.module.ts","../../../../libs/lepton-x-core/src/lib/pipes/safe-html/safe-html.pipe.ts","../../../../libs/lepton-x-core/src/lib/pipes/translate/translate.module.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.module.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.service.ts","../../../../libs/lepton-x-core/src/lib/directives/click-outside/click-outside.directive.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.component.html","../../../../libs/lepton-x-core/src/lib/directives/click-outside/click-outside.module.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb-route-listener.service.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../../libs/lepton-x-core/src/lib/services/translate/providers.ts","../../../../libs/lepton-x-core/src/lib/style/tokens.ts","../../../../libs/lepton-x-core/src/lib/style/style.service.ts","../../../../libs/lepton-x-core/src/lib/style/utils.ts","../../../../libs/lepton-x-core/src/lib/style/style-load.factory.ts","../../../../libs/lepton-x-core/src/lib/providers/styles.provider.ts","../../../../libs/lepton-x-core/src/lib/tokens/window.token.ts","../../../../libs/lepton-x-core/src/lib/providers/window.provider.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive-breakpoints.token.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.service.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.directive.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.module.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/defaults.ts","../../../../libs/lepton-x-core/src/lib/providers/responsive.provider.ts","../../../../libs/lepton-x-core/src/lib/providers/direction.provider.ts","../../../../libs/lepton-x-core/src/lib/tokens/perfect-scrollbar.token.ts","../../../../libs/lepton-x-core/src/lib/lepton-x-core.module.ts","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.component.ts","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.component.html","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.module.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer-links.service.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer.component.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer.component.html","../../../../libs/lepton-x-core/src/lib/components/footer/footer.module.ts","../../../../libs/lepton-x-core/src/lib/directives/perfect-scrollbar.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/breadcrumb-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/content-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/current-user-image-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/current-user-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/footer-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/language-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/mobile-navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/navitem-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/toolbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/top-navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/settings-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/panels.module.ts","../../../../libs/lepton-x-core/src/lib/services/toolbar/toolbar.service.ts","../../../../libs/lepton-x-core/src/volo-ngx-lepton-x.core.ts"],"sourcesContent":["import { ElementRef, inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport PerfectScrollbar from 'perfect-scrollbar';\r\nimport { LpxPerfectScrollbarOptions } from '../models';\r\n\r\nexport abstract class LpxPerfectScrollbar {\r\n protected readonly router = inject(Router);\r\n\r\n protected elementRef!: ElementRef<any>;\r\n protected perfectScrollbar!: PerfectScrollbar;\r\n protected options: LpxPerfectScrollbarOptions | undefined;\r\n\r\n abstract setElement(value: ElementRef<any>): void;\r\n abstract setOptions(value: LpxPerfectScrollbarOptions): void;\r\n abstract createScrollbar(): void;\r\n abstract onResize(): void;\r\n abstract afterViewInit(): void;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxLanguage } from './models';\r\n\r\nexport const LPX_LANGUAGE = new InjectionToken<LpxLanguage[]>('LPX_LANGUAGE');\r\n","import { BehaviorSubject, Subject } from 'rxjs';\r\nimport { map, distinctUntilChanged, filter } from 'rxjs/operators';\r\n\r\nexport class DataStore<State> {\r\n private state$ = new BehaviorSubject<State>(this.initialState);\r\n\r\n private update$ = new Subject<Partial<State>>();\r\n\r\n get state() {\r\n return this.state$.value;\r\n }\r\n\r\n sliceState = <Slice>(\r\n selector: (state: State) => Slice,\r\n compareFn = (s1: Slice, s2: Slice) => s1 === s2\r\n ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\r\n\r\n sliceUpdate = <Slice>(\r\n selector: (state: Partial<State>) => Slice,\r\n filterFn = (x: Slice) => x !== undefined\r\n ) => this.update$.pipe(map(selector), filter(filterFn));\r\n\r\n constructor(private initialState: State) {}\r\n\r\n patch(state: Partial<State>) {\r\n let patchedState = state as State;\r\n\r\n if (typeof state === 'object' && !Array.isArray(state)) {\r\n patchedState = { ...this.state, ...state };\r\n }\r\n\r\n this.state$.next(patchedState);\r\n this.update$.next(patchedState);\r\n }\r\n\r\n set(state: State) {\r\n this.state$.next(state);\r\n this.update$.next(state);\r\n }\r\n\r\n reset() {\r\n this.set(this.initialState);\r\n }\r\n}\r\n","export enum LanguageTranslateKeys {\r\n SettingsTitle = 'language.settings.title',\r\n}\r\n\r\nexport type LanguageTranslateValues = {\r\n [key in LanguageTranslateKeys]: string;\r\n};\r\n\r\nexport const LanguageTranslateDefaults: LanguageTranslateValues = {\r\n [LanguageTranslateKeys.SettingsTitle]: 'Language Options',\r\n};\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LPX_LANGUAGE } from './tokens';\r\nimport { LpxNavbarItem } from '../../components/navbar/models';\r\nimport { LpxLanguage, LpxLanguageState } from './models';\r\nimport { LanguageTranslateKeys } from './language-translate-keys.enum';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LanguageService {\r\n readonly store = new DataStore<LpxLanguageState>({ languages: [] });\r\n\r\n id = 'languages';\r\n\r\n convertLanguageToNavbarItem = (languages: LpxLanguage[]): LpxNavbarItem[] => {\r\n return languages.map((lang) => ({\r\n icon: '',\r\n text: lang.displayName,\r\n selected: lang.selected,\r\n action: () => {\r\n this.setSelectedLanguage(lang);\r\n return true;\r\n },\r\n }));\r\n };\r\n\r\n selectedLanguage$ = this.store.sliceState(\r\n ({ selectedLanguage }) => selectedLanguage\r\n );\r\n\r\n get selectedLanguage(): LpxLanguage {\r\n return this.store.state.selectedLanguage as LpxLanguage;\r\n }\r\n\r\n languageChange$: Observable<LpxLanguage> = this.selectedLanguage$.pipe(\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n filter<LpxLanguage>((lang: LpxLanguage) => lang !== undefined),\r\n distinctUntilChanged((a, b) => a?.cultureName === b?.cultureName)\r\n );\r\n languages$ = this.store.sliceState((state) => state.languages);\r\n languagesAsNavbarItems$ = this.languages$.pipe(\r\n map(this.convertLanguageToNavbarItem)\r\n );\r\n //TODO: PROVIDE API\r\n languagesAsSettingsGroup$ = this.languagesAsNavbarItems$.pipe(\r\n map((languages) => ({\r\n text: LanguageTranslateKeys.SettingsTitle as string,\r\n icon: 'bi bi-globe',\r\n id: this.id,\r\n children: languages,\r\n }))\r\n );\r\n\r\n constructor(@Inject(LPX_LANGUAGE) private languages: LpxLanguage[]) {\r\n this.init(this.languages);\r\n }\r\n\r\n setLanguages(languages: LpxLanguage[]) {\r\n this.init(languages);\r\n }\r\n\r\n init(languages: LpxLanguage[]): void {\r\n this.store.patch({\r\n languages,\r\n selectedLanguage: languages.find((lang) => lang.selected),\r\n });\r\n }\r\n\r\n setSelectedLanguage(lang: LpxLanguage) {\r\n this.store.patch({\r\n selectedLanguage: lang,\r\n });\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxTranslate, TranslateService } from './models';\r\n\r\nexport const LPX_TRANSLATE_SERVICE_TOKEN = new InjectionToken<TranslateService>(\r\n 'LPX_TRANSLATE_SERVICE_TOKEN'\r\n);\r\nexport const LPX_TRANSLATE_TOKEN = new InjectionToken<LpxTranslate[]>(\r\n 'LPX_TRANSLATE_TOKEN'\r\n);\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxLanguageModuleOptions } from './models';\r\nimport { LPX_LANGUAGE } from './tokens';\r\nimport { LanguageService } from './language.service';\r\nimport { LanguageTranslateDefaults } from './language-translate-keys.enum';\r\nimport { LPX_TRANSLATE_TOKEN } from '../translate/tokens';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\r\n})\r\nexport class LpxLanguageModule {\r\n static forRoot(\r\n options?: LpxLanguageModuleOptions\r\n ): ModuleWithProviders<LpxLanguageModule> {\r\n return {\r\n ngModule: LpxLanguageModule,\r\n providers: [\r\n {\r\n provide: LPX_LANGUAGE,\r\n useValue: options?.languages || [],\r\n },\r\n {\r\n provide: LPX_TRANSLATE_TOKEN,\r\n useValue: [LanguageTranslateDefaults],\r\n multi: true,\r\n },\r\n LanguageService,\r\n ],\r\n };\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const ICON_MAP = {\r\n bagFill: 'bi bi-bag-fill',\r\n bellFill: 'bi bi-bell-fill',\r\n calendarWeek: 'bi bi-calendar2-week',\r\n chatDots: 'bi bi-chat-dots',\r\n chevronDown: 'bi bi-chevron-down',\r\n chevronUp: 'bi bi-chevron-up',\r\n gearConnected: 'bi bi-gear-wide-connected',\r\n filter: 'bi bi-filter',\r\n filterFill: 'bi bi-filter-circle-fill',\r\n layoutThreeColumns: 'bi bi-layout-three-columns',\r\n moon: 'bi bi-moon',\r\n square: 'bi bi-square',\r\n sunset: 'bi bi-brightness-alt-high-fill',\r\n sunup: 'bi bi-brightness-high-fill',\r\n star: 'bi bi-star',\r\n x: 'bi bi-x',\r\n xCircleFill: 'bi bi-x-circle-fill',\r\n};\r\n\r\nexport type ICON_MAP_TYPE = typeof ICON_MAP;\r\n\r\nexport const LEPTON_X_ICON_SET = new InjectionToken<ICON_MAP_TYPE>('LEPTON_X_ICON_SET');\r\n","import { Component, Inject, Input, ViewEncapsulation } from '@angular/core';\r\nimport { LEPTON_X_ICON_SET, ICON_MAP_TYPE } from './icon.token';\r\n\r\n@Component({\r\n selector: 'lpx-icon',\r\n template: ` <i class=\"lpx-icon\" [ngClass]=\"styleClass\" aria-hidden=\"true\"></i> `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class IconComponent {\r\n @Input() iconClass?: keyof ICON_MAP_TYPE | string;\r\n\r\n get styleClass() {\r\n return this.iconSet[this.iconClass as keyof ICON_MAP_TYPE] || this.iconClass;\r\n }\r\n\r\n constructor(@Inject(LEPTON_X_ICON_SET) public iconSet: ICON_MAP_TYPE) {}\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IconComponent } from './icon.component';\r\nimport { LEPTON_X_ICON_SET, ICON_MAP_TYPE, ICON_MAP } from './icon.token';\r\n\r\nexport interface LpxIconSettings {\r\n iconSet?: ICON_MAP_TYPE;\r\n}\r\n\r\n@NgModule({\r\n declarations: [IconComponent],\r\n imports: [CommonModule],\r\n exports: [IconComponent],\r\n})\r\nexport class LpxIconModule {\r\n static forRoot(options?: LpxIconSettings): ModuleWithProviders<LpxIconModule> {\r\n return {\r\n ngModule: LpxIconModule,\r\n providers: [\r\n {\r\n provide: LEPTON_X_ICON_SET,\r\n useValue: options?.iconSet || ICON_MAP,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lpx-brand-logo',\r\n templateUrl: './brand-logo.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BrandLogoComponent {}\r\n","<a routerLink=\"/\">\r\n <div class=\"lpx-brand-logo\"></div>\r\n</a>\r\n","import { NgModule } from '@angular/core';\r\nimport { BrandLogoComponent } from './brand-logo.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [BrandLogoComponent],\r\n imports: [\r\n RouterModule\r\n ],\r\n exports: [BrandLogoComponent]\r\n})\r\nexport class LpxBrandLogoModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DataStore } from '../../utils/data-store';\r\n\r\nexport interface LayoutSettings {\r\n containerClass: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LayoutService {\r\n readonly store = new DataStore({\r\n containerClass: [''],\r\n });\r\n\r\n containerClass$: Observable<Array<string>> = this.store.sliceState(\r\n ({ containerClass }) => containerClass || [],\r\n );\r\n\r\n setClass(cssClass: string | Array<string>): void {\r\n const containerClass = Array.isArray(cssClass) ? cssClass : [cssClass];\r\n this.patchStore(containerClass);\r\n }\r\n\r\n addClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n this.patchStore([...containerClass, cssClass]);\r\n }\r\n\r\n removeClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n const index = containerClass.findIndex(item => item === cssClass);\r\n if (index === -1) return;\r\n const update = [...containerClass.slice(0, index), ...containerClass.slice(index + 1)];\r\n this.patchStore(update);\r\n }\r\n\r\n removeClasses(classlist: string[]) {\r\n const { containerClass } = this.store.state;\r\n const filteredClasslist = containerClass.filter(clss => !classlist.includes(clss));\r\n this.patchStore(filteredClasslist);\r\n }\r\n\r\n toggleClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n const index = containerClass.findIndex(item => item === cssClass);\r\n if (index === -1) {\r\n this.addClass(cssClass);\r\n } else {\r\n this.removeClass(cssClass);\r\n }\r\n }\r\n\r\n patchStore(containerClass: string[]) {\r\n this.store.patch({\r\n containerClass,\r\n });\r\n }\r\n}\r\n","import { InjectionToken, Type } from '@angular/core';\r\nimport { LpxNavbarItem } from './models';\r\n\r\nexport const CONTENT_BEFORE_ROUTES = new InjectionToken<Type<any>[][]>(\r\n 'CONTENT_BEFORE_ROUTES'\r\n);\r\nexport const CONTENT_AFTER_ROUTES = new InjectionToken<Type<any>[][]>(\r\n 'CONTENT_AFTER_ROUTES'\r\n);\r\nexport const LPX_MENU_ITEMS = new InjectionToken<LpxNavbarItem[]>(\r\n 'LPX_MENU_ITEMS'\r\n);\r\n","import { from, Observable, of } from 'rxjs';\r\nimport { ArrayTypeDeep, RecursiveArray, VariantSource } from '../models/common';\r\n\r\nexport function sortItems<T extends { order?: number }>(a: T, b: T): number {\r\n if (!a.order) {\r\n return 1;\r\n }\r\n if (!b.order) {\r\n return -1;\r\n }\r\n\r\n return a.order - b.order;\r\n}\r\n\r\nexport function flatArrayDeepToObject<T extends { [key: string]: any }>(\r\n arr: RecursiveArray<ArrayTypeDeep<T>>\r\n): ArrayTypeDeep<T> {\r\n return arr.reduce(\r\n (acc, curr) => ({\r\n ...acc,\r\n ...(Array.isArray(curr) ? flatArrayDeepToObject(curr) : curr),\r\n }),\r\n {}\r\n ) as ArrayTypeDeep<T>;\r\n}\r\n\r\nexport function getStream$<T>(source: VariantSource<T>): Observable<T> {\r\n return source instanceof Observable\r\n ? source\r\n : source instanceof Promise\r\n ? from(source)\r\n : of(source);\r\n}\r\n\r\nexport function isNullOrUndefined<T>(obj: T) {\r\n return obj === null || obj === undefined;\r\n}\r\n\r\nexport function isArray<T>(obj: T): boolean {\r\n return Array.isArray(obj);\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { isArray } from './common';\r\n\r\nexport function createGroupMap<T extends { group?: string }>(\r\n list: T[],\r\n othersGroupKey: string,\r\n skipGroupCheck: boolean = false\r\n): Map<string, T[]> | undefined {\r\n if (\r\n !skipGroupCheck &&\r\n (!isArray(list) || !list.some((node) => Boolean(node.group)))\r\n )\r\n return undefined;\r\n\r\n const mapGroup = new Map<string, T[]>();\r\n\r\n for (const node of list) {\r\n const group = node?.group || othersGroupKey;\r\n if (typeof group !== 'string') {\r\n throw new Error(`Invalid group: ${group}`);\r\n }\r\n\r\n const items = mapGroup.get(group) || [];\r\n items.push(node);\r\n mapGroup.set(group, items);\r\n }\r\n return mapGroup;\r\n}\r\n\r\nexport function getItemsFromGroup<S extends { items: R[] }, R>(\r\n list: S[],\r\n pred?: ItemPropPredicate<R>\r\n): R[] | undefined {\r\n return list?.reduce<R[]>(\r\n (acc, { items }) => [...acc, ...(pred ? items.filter(pred) : items)],\r\n []\r\n );\r\n}\r\n\r\nexport type ItemPropPredicate<T> = (\r\n prop: T\r\n) => boolean | Promise<boolean> | Observable<boolean>;\r\n","export const OTHERS_GROUP_KEY = 'AbpUi::OthersGroup';\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { filter, map, take, tap } from 'rxjs/operators';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LpxNavbarItem } from './models';\r\nimport { LPX_MENU_ITEMS } from './navbar.token';\r\nimport { createGroupMap } from '../../utils';\r\nimport { OTHERS_GROUP_KEY } from '../../consts';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NavbarService {\r\n protected readonly router = inject(Router);\r\n menuItems = inject(LPX_MENU_ITEMS);\r\n\r\n private store = new DataStore<LpxNavbarItem[]>(\r\n this.addContainerLinks(this.menuItems),\r\n );\r\n\r\n navbarItems$ = this.store.sliceState((state) => state);\r\n\r\n groupedNavbarItems$ = this.store\r\n .sliceState((state) => state)\r\n .pipe(\r\n filter((navItems) => navItems.some((f) => !!f.group)),\r\n map((items) => {\r\n const map = createGroupMap(items, OTHERS_GROUP_KEY) || [];\r\n return Array.from(map, ([group, items]) => ({\r\n group,\r\n items,\r\n }));\r\n }),\r\n );\r\n\r\n constructor() {\r\n this.expandItemByLink$().pipe(take(1)).subscribe();\r\n }\r\n\r\n addNavbarItems(...menuItems: LpxNavbarItem[]): void {\r\n this.store.set([...this.store.state, ...this.addContainerLinks(menuItems)]);\r\n }\r\n\r\n setNavbarItems(...menuItems: LpxNavbarItem[]): void {\r\n this.store.set([...this.addContainerLinks(menuItems)]);\r\n }\r\n\r\n // TODO: muhammed: refactor this method to be readable\r\n addChildren(id: string, ...menuItems: LpxNavbarItem[]): void {\r\n const parent = this.findById(id, this.store.state);\r\n const update = (\r\n items: LpxNavbarItem[],\r\n location: Array<number>,\r\n link = '',\r\n ): LpxNavbarItem[] => {\r\n const i = location.shift();\r\n return items.reduce((acc, item, index) => {\r\n return [\r\n ...acc,\r\n ...(index === i\r\n ? [\r\n {\r\n ...item,\r\n children: !location.length\r\n ? [\r\n ...(item.children || []),\r\n ...this.addContainerLinks(\r\n menuItems,\r\n `${link}/${item.containerLink}`,\r\n ),\r\n ]\r\n : update(\r\n item.children || [],\r\n location,\r\n `${link}/${item.containerLink}`,\r\n ),\r\n },\r\n ]\r\n : [item]),\r\n ];\r\n }, [] as LpxNavbarItem[]);\r\n };\r\n \r\n const updated = update(this.store.state, parent.location);\r\n this.store.patch(updated);\r\n }\r\n\r\n findByLink(link: string, items?: LpxNavbarItem[]) {\r\n return this.findByProp('link', link, items);\r\n }\r\n\r\n expandItemByLink$() {\r\n return this.router.events.pipe(\r\n filter((e) => e instanceof NavigationEnd),\r\n tap(() => this.expandItems()),\r\n );\r\n }\r\n\r\n expandItems() {\r\n const route = this.getRouteItem();\r\n if (route?.item) {\r\n const expanded = this.calculateExpandState(\r\n this.store.state,\r\n route.location,\r\n );\r\n this.store.patch(expanded);\r\n }\r\n }\r\n\r\n getRouteItem() {\r\n return this.findByLink(this.router.url);\r\n }\r\n\r\n calculateExpandState(\r\n items: LpxNavbarItem[],\r\n indexes: Array<number>,\r\n ): LpxNavbarItem[] {\r\n const matchIndex = indexes.shift();\r\n return items.reduce((acc, item, index) => {\r\n if (index === matchIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...item,\r\n expanded: true,\r\n selected: true,\r\n children: this.calculateExpandState(item.children || [], indexes),\r\n },\r\n ];\r\n }\r\n const newItem = {\r\n ...item,\r\n ...(item.children\r\n ? { children: this.collapseChildren(item.children) }\r\n : {}),\r\n };\r\n return [...acc, { ...newItem, expanded: false, selected: false }];\r\n }, [] as LpxNavbarItem[]);\r\n }\r\n\r\n collapseChildren(children: Array<LpxNavbarItem>): Array<LpxNavbarItem> {\r\n return [\r\n ...children.map((child) => ({\r\n ...child,\r\n expanded: false,\r\n selected: false,\r\n children: child.children ? this.collapseChildren(child.children) : [],\r\n })),\r\n ];\r\n }\r\n\r\n private findById(id: string, items?: LpxNavbarItem[]) {\r\n return this.findByProp('id', id, items);\r\n }\r\n\r\n private findByProp(\r\n prop: keyof LpxNavbarItem,\r\n value: string,\r\n items?: LpxNavbarItem[],\r\n location: Array<number> = [],\r\n ) {\r\n const navbarItems = items || this.store.state;\r\n const itemIndex = navbarItems.findIndex((i) => i[prop] === value);\r\n let item;\r\n if (itemIndex === -1) {\r\n navbarItems.forEach((i, index) => {\r\n if (i.children) {\r\n const child = this.findByProp(prop, value, i.children, [\r\n ...location,\r\n index,\r\n ]);\r\n if (child?.item) {\r\n item = child.item;\r\n location = child.location;\r\n }\r\n }\r\n });\r\n } else {\r\n item = navbarItems[itemIndex];\r\n location.push(itemIndex);\r\n }\r\n\r\n return { item, location };\r\n }\r\n\r\n private addContainerLinks(\r\n items: LpxNavbarItem[],\r\n link = '',\r\n ): LpxNavbarItem[] {\r\n return items.map((item) => ({\r\n ...item,\r\n ...(item.link && link ? { link: `${link}/${item.link}` } : {}),\r\n children: this.addContainerLinks(\r\n item.children || [],\r\n `${link ? link + '/' : ''}${item.containerLink || ''}`,\r\n ),\r\n }));\r\n }\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[lpx-navbar-routes],[lpxNavbarRoutes]',\r\n exportAs: 'lpxNavbarRoutes',\r\n})\r\nexport class NavbarRoutesDirective {}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-logo-panel]',\r\n})\r\nexport class LogoPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { toSignal } from '@angular/core/rxjs-interop';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RoutesService {\r\n protected readonly router = inject(Router);\r\n\r\n readonly currentNavigation = toSignal(\r\n this.router.events.pipe(\r\n filter((e) => e instanceof NavigationEnd),\r\n //TODO: location object might be problem in the future for SSR\r\n map(() => location.pathname),\r\n ),\r\n { initialValue: location.pathname },\r\n );\r\n}\r\n","import {\r\n OnInit,\r\n Directive,\r\n OnDestroy,\r\n Input,\r\n ViewContainerRef,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { EMPTY, from, Observable, of, Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[lpxVisible]',\r\n standalone: true,\r\n})\r\nexport class LpxVisibleDirective implements OnDestroy, OnInit {\r\n conditionSubscription: Subscription | undefined;\r\n isVisible: boolean | undefined;\r\n\r\n @Input('lpxVisible') set lpxVisible(\r\n value: boolean | Promise<boolean> | Observable<boolean> | undefined | null\r\n ) {\r\n this.condition$ = checkType(value);\r\n this.subscribeToCondition();\r\n }\r\n\r\n private condition$: Observable<boolean> = of(false);\r\n\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private templateRef: TemplateRef<unknown>\r\n ) {}\r\n ngOnInit(): void {\r\n this.updateVisibility();\r\n }\r\n ngOnDestroy(): void {\r\n this.conditionSubscription?.unsubscribe();\r\n }\r\n\r\n private subscribeToCondition() {\r\n this.conditionSubscription = this.condition$.subscribe((value) => {\r\n this.isVisible = value;\r\n this.updateVisibility();\r\n });\r\n }\r\n private updateVisibility() {\r\n this.viewContainerRef.clear();\r\n // it should be false not falsy\r\n if(this.isVisible === false) {\r\n return;\r\n }\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n \r\n }\r\n}\r\n\r\nfunction checkType(value: boolean | Promise<boolean> | Observable<boolean> | undefined | null) {\r\n if (value instanceof Promise) {\r\n return from(value);\r\n } else if (value instanceof Observable) {\r\n return value;\r\n } else if (typeof value === 'boolean') {\r\n return of(value);\r\n } else if(value === undefined || value === null ) {\r\n return of(true)\r\n }\r\n else {\r\n return EMPTY;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { UserProfile } from '../../models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserProfileService {\r\n private store = new DataStore({} as UserProfile);\r\n user$ = this.store.sliceState((state) => state);\r\n\r\n setUser(user: UserProfile) {\r\n this.store.set(user);\r\n }\r\n\r\n patchUser(user: Partial<UserProfile>) {\r\n this.store.patch(user);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BodyService {\r\n body = document.querySelector('body');\r\n classes = {\r\n overflowYHidden: 'overflow-y-hidden',\r\n };\r\n\r\n disableScrollY() {\r\n this.body?.classList.add(this.classes.overflowYHidden);\r\n }\r\n\r\n enableScrollY() {\r\n this.body?.classList.remove(this.classes.overflowYHidden);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { TranslateService } from './models';\r\n\r\n@Injectable()\r\nexport class DefaultTranslateService implements TranslateService {\r\n get$(key: string, defaultValue?: string): Observable<string> {\r\n return of(defaultValue || key || '');\r\n }\r\n\r\n get(key: string, defaultValue?: string): string {\r\n return defaultValue || key || '';\r\n }\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LPX_TRANSLATE_SERVICE_TOKEN, LPX_TRANSLATE_TOKEN } from './tokens';\r\nimport { LpxTranslate, TranslateService } from './models';\r\nimport { flatArrayDeepToObject } from '../../utils/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LpxThemeTranslateService {\r\n private _content: LpxTranslate = flatArrayDeepToObject(this.translateValues);\r\n constructor(\r\n @Optional()\r\n @Inject(LPX_TRANSLATE_TOKEN)\r\n private translateValues: Array<LpxTranslate[]>,\r\n @Inject(LPX_TRANSLATE_SERVICE_TOKEN)\r\n private translateService: TranslateService\r\n ) {}\r\n\r\n // TODO: PROVIDE API : Implement args\r\n translate$(key: string, ...args: any[]): Observable<string> {\r\n return this.translateService.get$(key, this._content[key]);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from './models';\r\n\r\nimport { UserProfileService } from '../user-profile';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class DefaultAuthService implements AuthService {\r\n constructor(private userProfileService: UserProfileService) {}\r\n isUserExists$ = this.userProfileService.user$.pipe(\r\n map((user) => !!user && Object.keys(user).length > 0)\r\n );\r\n\r\n navigateToLogin(): void {\r\n return;\r\n }\r\n}\r\n","import {InjectionToken} from \"@angular/core\";\r\nimport {AuthService} from \"./models\";\r\n\r\nexport const LPX_AUTH_SERVICE_TOKEN = new InjectionToken<AuthService>(\r\n 'LPX_AUTH_SERVICE_TOKEN'\r\n);\r\n","import {Provider} from \"@angular/core\";\r\nimport {LPX_AUTH_SERVICE_TOKEN} from \"./tokens\";\r\nimport {DefaultAuthService} from \"./default-auth.service\";\r\n\r\nexport const LPX_AUTH_SERVICE_PROVIDER: Provider = {\r\n provide: LPX_AUTH_SERVICE_TOKEN,\r\n useClass: DefaultAuthService,\r\n};\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LpxLocalStorageService implements Storage {\r\n\r\n constructor() { }\r\n [name: string]: any;\r\n get length(): number {\r\n return localStorage.length\r\n }\r\n clear(): void {\r\n localStorage.clear();\r\n }\r\n getItem(key: string): string | null {\r\n return localStorage.getItem(key);\r\n }\r\n key(index: number): string |null{\r\n return localStorage.key(index);\r\n }\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n setItem(key: string, value: string): void {\r\n localStorage.setItem(key, value);\r\n }\r\n}\r\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\r\nimport {\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n} from '@angular/router';\r\nimport { Subscription, filter } from 'rxjs';\r\n\r\nimport { LpxPerfectScrollbarOptions } from '../models';\r\nimport { LpxPerfectScrollbar } from '../abstracts';\r\n\r\nimport PerfectScrollbar from 'perfect-scrollbar';\r\n\r\n@Injectable()\r\nexport class LpxPerfectScrollbarService\r\n extends LpxPerfectScrollbar\r\n implements OnDestroy\r\n{\r\n private subscription: Subscription | undefined;\r\n\r\n setElement(value: ElementRef<any>): void {\r\n if (value) {\r\n this.elementRef = value;\r\n }\r\n }\r\n\r\n setOptions(value: LpxPerfectScrollbarOptions): void {\r\n if (value) {\r\n this.options = value;\r\n }\r\n }\r\n\r\n createScrollbar(): void {\r\n this.perfectScrollbar = new PerfectScrollbar(\r\n this.elementRef.nativeElement,\r\n this.options\r\n );\r\n }\r\n\r\n onResize(): void {\r\n this.perfectScrollbar.update();\r\n }\r\n\r\n afterViewInit(): void {\r\n this.createScrollbar();\r\n\r\n this.subscription?.unsubscribe();\r\n this.subscription = this.router.events\r\n .pipe(\r\n filter(\r\n (event) =>\r\n event instanceof NavigationEnd ||\r\n event instanceof NavigationError ||\r\n event instanceof NavigationCancel\r\n )\r\n )\r\n .subscribe(() => {\r\n const { element } = this.perfectScrollbar;\r\n const { topAfterNavigate, leftAfterNavigate } = this.options || {};\r\n element.scrollTop = topAfterNavigate || 0;\r\n element.scrollLeft = leftAfterNavigate || 0;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription?.unsubscribe();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LpxThemeTranslateService } from '../../services';\r\n\r\n@Pipe({\r\n name: 'lpxTranslate',\r\n})\r\nexport class TranslatePipe implements PipeTransform {\r\n constructor(private lpxThemeTranslateService: LpxThemeTranslateService) {}\r\n\r\n transform(value: string, ...args: any[]) {\r\n return this.lpxThemeTranslateService.translate$(value, args);\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n inject,\r\n Injector,\r\n input,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { getStream$ } from '../../../utils/common';\r\nimport { LpxNavbarItem } from '../models';\r\n\r\n@Component({\r\n selector: 'lpx-sub-navbar',\r\n templateUrl: './sub-navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SubNavbarComponent {\r\n protected readonly injector = inject(Injector);\r\n\r\n @Input() item!: LpxNavbarItem;\r\n\r\n routerItem = input<boolean>();\r\n\r\n @Output() routeClick = new EventEmitter<LpxNavbarItem>();\r\n @Output() expand = new EventEmitter<LpxNavbarItem>();\r\n\r\n onItemClick(menuItem: LpxNavbarItem): void {\r\n let action$ = of(true);\r\n if (menuItem.action) {\r\n const result = menuItem.action();\r\n action$ = getStream$(result);\r\n }\r\n action$.pipe(take(1)).subscribe((result) => {\r\n if (result) {\r\n this.processItemClick(menuItem);\r\n }\r\n });\r\n }\r\n\r\n onChildExpand(child: LpxNavbarItem): void {\r\n if (child.expanded) {\r\n this.item?.children\r\n ?.filter((otherChild) => otherChild !== child)\r\n .forEach((otherChild) => {\r\n otherChild.expanded = false;\r\n otherChild.selected = false;\r\n });\r\n }\r\n }\r\n\r\n private processItemClick(menuItem: LpxNavbarItem): void {\r\n if (menuItem.children?.length) {\r\n menuItem.expanded = !menuItem.expanded;\r\n this.expand.emit(menuItem);\r\n return;\r\n }\r\n this.routeClick.emit(menuItem);\r\n if (!this.routerItem()) {\r\n menuItem.selected = true;\r\n }\r\n }\r\n}\r\n","@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track item.children) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n","import {\r\n Component,\r\n effect,\r\n EventEmitter,\r\n inject,\r\n Injector,\r\n input,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { GroupedNavbarItems, LpxNavbarItem } from '../models';\r\nimport { getItemsFromGroup } from '../../../utils';\r\nimport { RoutesService } from '../../../services/route/routes.service';\r\n\r\nexport type NavbarItemsType = LpxNavbarItem[] | null | undefined;\r\nexport type NavbarGroupItemsType = GroupedNavbarItems[] | null | undefined;\r\n\r\n@Component({\r\n selector: 'lpx-navbar-routes',\r\n templateUrl: './navbar-routes.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NavbarRoutesComponent {\r\n protected readonly injector = inject(Injector);\r\n protected readonly routesService = inject(RoutesService);\r\n\r\n @Input()\r\n groupedItems: NavbarGroupItemsType;\r\n\r\n @Input()\r\n navbarItems: NavbarItemsType;\r\n\r\n routerItem = input<boolean>();\r\n\r\n @Output()\r\n routeClick = new EventEmitter<LpxNavbarItem>();\r\n\r\n private get itemsFromGroup(): LpxNavbarItem[] | undefined {\r\n if (!this.groupedItems) {\r\n return undefined;\r\n }\r\n\r\n return getItemsFromGroup<GroupedNavbarItems, LpxNavbarItem>(\r\n this.groupedItems,\r\n );\r\n }\r\n\r\n constructor() {\r\n this.fixNavbarItemsByRouter();\r\n }\r\n\r\n private isExpandedOrSelected = (item: LpxNavbarItem): boolean =>\r\n !!(item.expanded || item.selected);\r\n\r\n onSubnavbarExpand(menuItem: LpxNavbarItem, menuItems: NavbarItemsType): void {\r\n if (menuItem.expanded) {\r\n const items = this.itemsFromGroup || menuItems;\r\n if (!items) {\r\n return;\r\n }\r\n\r\n items\r\n .filter((item) => item !== menuItem)\r\n .forEach((item) => (item.expanded = false));\r\n }\r\n }\r\n\r\n onRouteClick(menuItem: LpxNavbarItem, menuItems: NavbarItemsType): void {\r\n const expandedItems = menuItems?.filter(this.isExpandedOrSelected);\r\n const expandedGroupItems = this.itemsFromGroup?.filter(\r\n this.isExpandedOrSelected,\r\n );\r\n\r\n const items = expandedGroupItems || expandedItems;\r\n\r\n if (items) {\r\n items\r\n .filter((item) => item !== menuItem)\r\n .reduce<LpxNavbarItem[]>((acc, item) => {\r\n return [...acc, item, ...this.flatChildren(item.children || [])];\r\n }, [])\r\n ?.filter(\r\n (item) =>\r\n !this.checkChildrenIncludesItem(item, menuItem) &&\r\n item !== menuItem,\r\n )\r\n .forEach((item) => {\r\n item.selected = false;\r\n item.expanded = false;\r\n });\r\n }\r\n\r\n this.routeClick.emit(menuItem);\r\n }\r\n\r\n checkChildrenIncludesItem(\r\n item: LpxNavbarItem,\r\n menuItem: LpxNavbarItem,\r\n ): boolean {\r\n return (\r\n item.children?.reduce(\r\n (acc, child) =>\r\n acc ||\r\n child === menuItem ||\r\n this.checkChildrenIncludesItem(child, menuItem),\r\n false,\r\n ) || false\r\n );\r\n }\r\n\r\n flatChildren(menuItems: NavbarItemsType): LpxNavbarItem[] {\r\n return (\r\n menuItems?.reduce<LpxNavbarItem[]>((acc, item) => {\r\n return [...acc, item, ...this.flatChildren(item.children || [])];\r\n }, []) || []\r\n );\r\n }\r\n\r\n fixNavbarItemsByRouter() {\r\n effect(() => {\r\n const currentNavigation = this.routesService.currentNavigation();\r\n\r\n if (!currentNavigation) {\r\n return;\r\n }\r\n\r\n this.fixNavbarItems(\r\n currentNavigation,\r\n this.navbarItems as LpxNavbarItem[],\r\n );\r\n });\r\n }\r\n\r\n fixNavbarItems(currentUrl: string, items: LpxNavbarItem[]): void {\r\n if (!items) {\r\n return;\r\n }\r\n\r\n for (const item of items) {\r\n if (item.children?.length) {\r\n item.expanded = this.hasUrlInChildren(item, currentUrl);\r\n this.fixNavbarItems(currentUrl, item.children);\r\n } else {\r\n item.selected = item.link === currentUrl;\r\n }\r\n }\r\n }\r\n\r\n hasUrlInChildren(item: LpxNavbarItem, url: string): boolean {\r\n if (item.link === url) {\r\n return true;\r\n }\r\n\r\n if (item.children) {\r\n for (const child of item.children) {\r\n const found = this.hasUrlInChildren(child, url);\r\n if (found) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems) {\r\n @for (item of groupedItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track navbarItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ContentChild,\r\n InjectionToken,\r\n Injector,\r\n PLATFORM_ID,\r\n TemplateRef,\r\n Type,\r\n ViewEncapsulation,\r\n inject,\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { map } from 'rxjs';\r\nimport { LayoutService } from '../../services/layout';\r\nimport { NavbarService } from './navbar.service';\r\nimport { NavbarRoutesDirective } from './navbar-routes/navbar-routes.directive';\r\nimport { LogoPanelDirective } from '../../panels/logo-panel.directive';\r\nimport { CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES } from './navbar.token';\r\n\r\n@Component({\r\n selector: 'lpx-navbar',\r\n templateUrl: './navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NavbarComponent implements AfterViewChecked {\r\n protected readonly layoutService = inject(LayoutService);\r\n protected readonly platformId = inject<Object>(PLATFORM_ID);\r\n public readonly service = inject(NavbarService);\r\n public readonly injector = inject(Injector);\r\n\r\n @ContentChild(NavbarRoutesDirective, { read: TemplateRef })\r\n routesTemplate?: TemplateRef<NavbarRoutesDirective>;\r\n\r\n @ContentChild(LogoPanelDirective) logoPanel?: LogoPanelDirective;\r\n\r\n private didResized = false;\r\n contentBefore: Type<any>[];\r\n contentAfter: Type<any>[];\r\n showFilterMenu$ = this.service.navbarItems$.pipe(\r\n map((items) => !!items.length)\r\n );\r\n\r\n constructor() {\r\n this.contentBefore = this.flatContents(CONTENT_BEFORE_ROUTES);\r\n this.contentAfter = this.flatContents(CONTENT_AFTER_ROUTES);\r\n }\r\n\r\n toggleSidebarHover() {\r\n this.didResized = true;\r\n this.layoutService.toggleClass('hover-trigger');\r\n }\r\n ngAfterViewChecked() {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n if (this.didResized) {\r\n this.didResized = false;\r\n window.dispatchEvent(new Event('resize'));\r\n }\r\n }\r\n\r\n private flatContents(token: InjectionToken<Type<any>[][]>) {\r\n const contents = this.injector.get(token, []);\r\n return contents.reduce((acc, val) => acc.concat(val), []);\r\n }\r\n}\r\n","<nav class=\"lpx-nav\">\r\n <div class=\"lpx-logo-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"logoPanel?.template || defaultLogo\"\r\n ></ng-container>\r\n <lpx-icon\r\n class=\"menu-collapse-icon hidden-in-hover-trigger\"\r\n iconClass=\"bi bi-filter-left\"\r\n (click)=\"toggleSidebarHover()\"\r\n ></lpx-icon>\r\n </div>\r\n\r\n @if (showFilterMenu$ | async) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentBefore }\r\n \"\r\n ></ng-container>\r\n }\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n routesTemplate || defaultRouteTemplate;\r\n context: {\r\n $implicit: service.navbarItems$ | async,\r\n groupItems: service.groupedNavbarItems$ | async\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentAfter }\r\n \"\r\n ></ng-container>\r\n</nav>\r\n\r\n<ng-template #defaultRouteTemplate let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n [routerItem]=\"true\"\r\n ></lpx-navbar-routes>\r\n</ng-template>\r\n\r\n<ng-template #customContentTemplate let-contents>\r\n <ng-container *ngFor=\"let component of contents\">\r\n <ng-container\r\n *ngComponentOutlet=\"component; injector: injector\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultLogo>\r\n <lpx-brand-logo></lpx-brand-logo>\r\n</ng-template>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { VariantSource } from '../../models/common';\r\nimport { getStream$ } from '../../utils/common';\r\n\r\n@Pipe({\r\n name: 'toObservable',\r\n})\r\nexport class ToObservablePipe implements PipeTransform {\r\n transform(\r\n value: VariantSource<string> | VariantSource<number> | undefined\r\n ): Observable<string | number> {\r\n return value ? getStream$(value) : of('');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToObservablePipe } from './to-observable.pipe';\r\n\r\n@NgModule({\r\n declarations: [ToObservablePipe],\r\n imports: [CommonModule],\r\n exports: [ToObservablePipe],\r\n})\r\nexport class ToObservableModule {}\r\n","import { inject, Pipe, PipeTransform, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'lpxSafeHtml', standalone: true })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n private readonly sanitizer = inject(DomSanitizer);\r\n \r\n transform(value: string): string {\r\n if (!value || typeof value !== 'string') return '';\r\n return this.sanitizer.sanitize(SecurityContext.HTML, value) || '';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslatePipe } from './translate.pipe';\r\n\r\n@NgModule({\r\n declarations: [TranslatePipe],\r\n imports: [CommonModule],\r\n exports: [TranslatePipe],\r\n})\r\nexport class LpxTranslateModule {}\r\n","import { ModuleWithProviders, NgModule, Type } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LpxBrandLogoModule } from '../brand-logo/brand-logo.module';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { NavbarComponent } from './navbar.component';\r\nimport { SubNavbarComponent } from './sub-navbar/sub-navbar.component';\r\nimport { NavbarRoutesComponent } from './navbar-routes/navbar-routes.component';\r\nimport { NavbarRoutesDirective } from './navbar-routes/navbar-routes.directive';\r\nimport { LpxNavbarItem } from './models';\r\nimport {\r\n CONTENT_AFTER_ROUTES,\r\n CONTENT_BEFORE_ROUTES,\r\n LPX_MENU_ITEMS,\r\n} from './navbar.token';\r\nimport { ToObservableModule } from '../../pipes/to-observable/to-observable.module';\r\nimport { LpxTranslateModule } from '../../pipes';\r\nimport { LpxVisibleDirective } from '../../directives/visible.directive';\r\n\r\nconst exportedDeclarations = [\r\n NavbarComponent,\r\n SubNavbarComponent,\r\n NavbarRoutesComponent,\r\n NavbarRoutesDirective,\r\n];\r\n\r\nexport interface LpxNavbarSettings {\r\n menuItems?: LpxNavbarItem[];\r\n contentAfterRoutes?: Type<any>[];\r\n contentBeforeRoutes?: Type<any>[];\r\n}\r\n\r\n@NgModule({\r\n declarations: [...exportedDeclarations],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n LpxBrandLogoModule,\r\n LpxIconModule,\r\n ToObservableModule,\r\n LpxTranslateModule,\r\n LpxVisibleDirective,\r\n ],\r\n exports: [...exportedDeclarations],\r\n})\r\nexport class LpxNavbarModule {\r\n static forRoot(\r\n options: LpxNavbarSettings = {},\r\n ): ModuleWithProviders<LpxNavbarModule> {\r\n return {\r\n ngModule: LpxNavbarModule,\r\n providers: [\r\n {\r\n provide: LPX_MENU_ITEMS,\r\n useValue: options?.menuItems || [],\r\n },\r\n {\r\n provide: CONTENT_AFTER_ROUTES,\r\n useValue: options?.contentAfterRoutes || [],\r\n multi: true,\r\n },\r\n {\r\n provide: CONTENT_BEFORE_ROUTES,\r\n useValue: options?.contentBeforeRoutes || [],\r\n multi: true,\r\n },\r\n ],\r\n };\r\n }\r\n\r\n static forChild(\r\n options: Omit<LpxNavbarSettings, 'menuItems'> = {},\r\n ): ModuleWithProviders<LpxNavbarModule> {\r\n return {\r\n ngModule: LpxNavbarModule,\r\n providers: [\r\n {\r\n provide: CONTENT_AFTER_ROUTES,\r\n useValue: options?.contentAfterRoutes || [],\r\n multi: true,\r\n },\r\n {\r\n provide: CONTENT_BEFORE_ROUTES,\r\n useValue: options?.contentBeforeRoutes || [],\r\n multi: true,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { Observable } from 'rxjs';\r\n\r\n// TODO : add onClick\r\nexport interface BreadcrumbItem {\r\n icon?: string;\r\n text: string | Observable<string>;\r\n link?: string;\r\n children?: BreadcrumbItem[];\r\n expanded?: boolean;\r\n active?: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbService {\r\n private store = new DataStore<BreadcrumbItem[]>([]);\r\n items$ = this.store.sliceState((state) => state);\r\n // TODO: generate id per item\r\n add(item: BreadcrumbItem | BreadcrumbItem[]): void {\r\n const items = Array.isArray(item) ? item : [item];\r\n this.store.set([...this.store.state, ...items]);\r\n }\r\n\r\n // TODO: generate id per item\r\n insert(item: BreadcrumbItem | BreadcrumbItem[], index: number): void {\r\n const state = this.store.state;\r\n const items = Array.isArray(item) ? item : [item];\r\n this.store.set([...state.slice(0, index), ...items, ...state.slice(index)]);\r\n }\r\n\r\n // TODO: generate id per item\r\n setItems(items: BreadcrumbItem[]): void {\r\n this.store.set(items);\r\n }\r\n\r\n // TODO: Add remove function\r\n}\r\n","import { Directive, Output, EventEmitter, HostListener, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[lpxClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() lpxClickOutside = new EventEmitter();\r\n @Input()\r\n exceptedRefs: Array<ElementRef> = [];\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n !(\r\n this.elementRef.nativeElement.contains(event.target) ||\r\n this.exceptedRefs.some(ref => ref.nativeElement.contains(event.target))\r\n )\r\n ) {\r\n this.lpxClickOutside.emit();\r\n }\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\r\nimport { ICON_MAP } from '../icon/icon.token';\r\n\r\n@Component({\r\n selector: 'lpx-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BreadcrumbComponent {\r\n icon = ICON_MAP;\r\n\r\n constructor(public service: BreadcrumbService) {}\r\n\r\n onClick(item: BreadcrumbItem): void {\r\n if (item.children) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n // TODO: close dropdown when click outside\r\n}\r\n","<nav aria-label=\"breadcrumb\">\r\n <ol class=\"lpx-breadcrumb\">\r\n <ng-container *ngFor=\"let item of service.items$ | async; last as last\">\r\n <li\r\n class=\"lpx-breadcrumb-item\"\r\n (click)=\"onClick(item)\"\r\n [class.expanded]=\"item.expanded\"\r\n (lpxClickOutside)=\"item.expanded = false\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-breadcrumb-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.children?.length ? textTemplate : linkTemplate;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n </li>\r\n <li *ngIf=\"!last\" class=\"lpx-breadcrumb-separator\">\r\n <lpx-icon iconClass=\"bi bi-chevron-right\"></lpx-icon>\r\n </li>\r\n </ng-container>\r\n </ol>\r\n</nav>\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.link\"> {{ item.text | toObservable | async }} </a>\r\n</ng-template>\r\n<ng-template #textTemplate let-item>\r\n <span class=\"lpx-breadcrumb-item-text\">\r\n {{ item.text | toObservable | async }}\r\n </span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n@NgModule({\r\n declarations: [ClickOutsideDirective],\r\n imports: [CommonModule],\r\n exports: [ClickOutsideDirective],\r\n})\r\nexport class LpxClickOutsideModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { NavbarService } from '../navbar/navbar.service';\r\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\r\nimport { combineLatest } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { LpxNavbarItem } from '../navbar';\r\n\r\ninterface BreadCrumbNavigation extends LpxNavbarItem {\r\n siblings: BreadCrumbNavigation[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbRouteListenerService {\r\n constructor(\r\n private navbarService: NavbarService,\r\n private router: Router,\r\n private breadcrumbService: BreadcrumbService,\r\n ) {}\r\n\r\n subscribeRoute(): void {\r\n combineLatest([\r\n this.router.events.pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n ),\r\n this.navbarService.navbarItems$.pipe(filter((items) => !!items.length)),\r\n ]).subscribe(([event, items]) => {\r\n let activeItem = this.navbarService.findByLink(\r\n (event as NavigationEnd).url,\r\n );\r\n\r\n if (!activeItem.item) {\r\n activeItem = this.navbarService.findByLink('/');\r\n }\r\n\r\n const breadCrumbItems = activeItem.location.reduce((acc, itemIndex) => {\r\n const parent = acc[acc.length - 1]?.children || items;\r\n const item = parent[itemIndex];\r\n\r\n return [\r\n ...acc,\r\n { ...item, siblings: parent as BreadCrumbNavigation[] },\r\n ];\r\n }, [] as BreadCrumbNavigation[]);\r\n\r\n this.breadcrumbService.setItems(\r\n this.mapNavbarItemToBreadcrumbItem(breadCrumbItems),\r\n );\r\n });\r\n }\r\n\r\n private mapNavbarItemToBreadcrumbItem(\r\n items: BreadCrumbNavigation[],\r\n ): BreadcrumbItem[] {\r\n return items.map(({ breadcrumbText, text, link, icon, siblings }) => ({\r\n text: breadcrumbText || text || '',\r\n link,\r\n icon,\r\n children: this.mapNavbarItemToBreadcrumbItem(siblings || []),\r\n }));\r\n }\r\n}\r\n","import {\r\n APP_INITIALIZER,\r\n Injector,\r\n ModuleWithProviders,\r\n NgModule,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumbComponent } from './breadcrumb.component';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LpxClickOutsideModule } from '../../directives/click-outside/click-outside.module';\r\nimport { BreadcrumbRouteListenerService } from './breadcrumb-route-listener.service';\r\nimport { ToObservableModule } from '../../pipes/to-observable/to-observable.module';\r\n\r\nexport const exportedDeclarations = [BreadcrumbComponent];\r\n@NgModule({\r\n declarations: [...exportedDeclarations],\r\n imports: [\r\n CommonModule,\r\n LpxIconModule,\r\n ToObservableModule,\r\n RouterModule,\r\n LpxClickOutsideModule,\r\n ],\r\n exports: [...exportedDeclarations],\r\n})\r\nexport class LpxBreadcrumbModule {\r\n static forRoot(): ModuleWithProviders<LpxBreadcrumbModule> {\r\n return {\r\n ngModule: LpxBreadcrumbModule,\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: breadCrumbInit,\r\n multi: true,\r\n deps: [Injector],\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n\r\nexport function breadCrumbInit(injector: Injector) {\r\n const subs = () => {\r\n const service = injector.get(BreadcrumbRouteListenerService);\r\n service.subscribeRoute();\r\n };\r\n return subs;\r\n}\r\n","import { Provider } from '@angular/core';\r\nimport { LPX_TRANSLATE_SERVICE_TOKEN } from './tokens';\r\nimport { DefaultTranslateService } from './default-translate.service';\r\n\r\nexport const LPX_TRANSLATE_SERVICE_PROVIDER: Provider = {\r\n provide: LPX_TRANSLATE_SERVICE_TOKEN,\r\n useClass: DefaultTranslateService,\r\n};\r\n\r\nexport const LPX_TRANSLATE_PROVIDERS: Provider[] = [\r\n LPX_TRANSLATE_SERVICE_PROVIDER,\r\n];\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxStyles } from './models';\r\n\r\nexport const LPX_INITIAL_STYLES = new InjectionToken<LpxStyles>(\r\n 'LPX_INITIAL_STYLES_TOKEN'\r\n);\r\n\r\nexport const LPX_STYLE_FINAL = new InjectionToken<LpxStyles>(\r\n 'LPX_STYLE_FINAL_TOKEN'\r\n);\r\n\r\nexport const LPX_LAYOUT_STYLE_FINAL = new InjectionToken<LpxStyles>(\r\n 'LPX_LAYOUT_STYLE_FINALIZE_TOKEN'\r\n);\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { LPX_STYLE_FINAL } from './tokens';\r\nimport { LpxStyle, LpxStyles } from './models';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StyleService {\r\n lastInjectedStyle: HTMLLinkElement | null = null;\r\n\r\n initialized$ = new BehaviorSubject<boolean>(false);\r\n\r\n constructor(\r\n @Inject(LPX_STYLE_FINAL) private initialStyles: LpxStyles,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {}\r\n\r\n async initStyles(direction: 'rtl' | 'ltr') {\r\n for (const style of this.initialStyles) {\r\n await this.loadStyle(style, direction);\r\n }\r\n this.initialized$.next(true);\r\n }\r\n\r\n async loadStyle(\r\n style: LpxStyle,\r\n direction: 'ltr' | 'rtl'\r\n ): Promise<HTMLStyleElement | void> {\r\n return new Promise((resolve, reject) => {\r\n const linkElem = this.createLinkElem(style, direction, resolve);\r\n //TODO: find a better way for understand style laaded by angular json\r\n const appStyles = document.querySelector(\r\n 'link[rel=\"stylesheet\"][href*=\"styles\"]'\r\n );\r\n if (appStyles) {\r\n if (this.lastInjectedStyle && this.lastInjectedStyle.isConnected) {\r\n this.lastInjectedStyle.insertAdjacentElement('afterend', linkElem);\r\n } else {\r\n appStyles.insertAdjacentElement('beforebegin', linkElem);\r\n }\r\n } else {\r\n this.document.head.appendChild(linkElem);\r\n }\r\n this.lastInjectedStyle = linkElem;\r\n return Promise.resolve(linkElem);\r\n });\r\n }\r\n\r\n async replaceStyle<T extends LpxStyle>(\r\n style: T,\r\n direction: 'rtl' | 'ltr'\r\n ): Promise<HTMLStyleElement | void> {\r\n const loaded = this.document.querySelector(`link#${style.bundleName}`);\r\n if (loaded) {\r\n loaded.remove();\r\n }\r\n return this.loadStyle(style, direction);\r\n }\r\n\r\n async reloadInitialStyles(direction: 'rtl' | 'ltr') {\r\n for (const style of this.initialStyles) {\r\n await this.replaceStyle(style, direction);\r\n }\r\n }\r\n\r\n createLinkElem(\r\n style: LpxStyle,\r\n direction: 'rtl' | 'ltr',\r\n resolve: (param: any) => void\r\n ): HTMLLinkElement {\r\n const linkElem = document.createElement('link');\r\n linkElem.rel = 'stylesheet';\r\n linkElem.id = style.bundleName;\r\n linkElem.href = `${style.bundleName}${\r\n direction === 'rtl' ? '.rtl' : ''\r\n }.css`;\r\n linkElem.onload = () => {\r\n resolve(linkElem);\r\n };\r\n return linkElem;\r\n }\r\n}\r\n","import { LpxStyleFactory, LpxStyles } from './models';\r\n\r\nexport function createStyleFactory<T = LpxStyles>(\r\n handler?: LpxStyleFactory<T>\r\n): LpxStyleFactory<T> {\r\n return handler || ((defaultValue: T) => defaultValue);\r\n}\r\n","import { LpxStyles } from \"../style/models\";\r\n\r\n\r\nexport function styleLoadFactory(\r\n styleList: LpxStyles,\r\n layoutStyles: LpxStyles\r\n) {\r\n styleList.push({\r\n bundleName: 'ng-bundle',\r\n });\r\n styleList.push({\r\n bundleName: 'font-bundle',\r\n });\r\n return [...styleList, ...layoutStyles];\r\n}\r\n","import { APP_INITIALIZER, Provider } from '@angular/core';\r\nimport { LPX_INITIAL_STYLES, StyleService } from '../style';\r\nimport { LanguageService } from '../services';\r\nimport { switchMap, take } from 'rxjs/operators';\r\nimport { Observable, from } from 'rxjs';\r\n\r\nexport const LPX_STYLE_PROVIDERS: Provider[] = [\r\n {\r\n provide: LPX_INITIAL_STYLES,\r\n useFactory: () => [],\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n deps: [StyleService, LanguageService],\r\n useFactory: loadInitialStyles,\r\n multi: true,\r\n },\r\n];\r\n\r\nexport function loadInitialStyles(\r\n styleService: StyleService,\r\n languageService: LanguageService\r\n): () => Observable<any> {\r\n return () => {\r\n return languageService.languageChange$.pipe(\r\n take(1),\r\n switchMap((lang) =>\r\n from(styleService.initStyles(lang.isRTL ? 'rtl' : 'ltr'))\r\n )\r\n );\r\n };\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const WINDOW = new InjectionToken<Window>('WINDOW');\r\n","import { Provider } from '@angular/core';\r\nimport { WINDOW } from '../tokens/window.token';\r\n\r\nexport function createWindowProvider(windowObj: Window | undefined): Provider {\r\n return { provide: WINDOW, useValue: windowObj || window }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface ResponsiveBreakpoints {\r\n [key: string]: number;\r\n}\r\n\r\nexport const RESPONSIVE_BREAKPOINTS = new InjectionToken<ResponsiveBreakpoints>(\r\n 'RESPONSIVE_BREAKPOINTS',\r\n);\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, fromEvent, Observable } from 'rxjs';\r\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\r\nimport { RESPONSIVE_BREAKPOINTS, ResponsiveBreakpoints } from './responsive-breakpoints.token';\r\nimport { WINDOW } from '../../tokens/window.token';\r\n\r\nexport const enum ResponsiveTokens {\r\n none = 'none',\r\n all = 'all',\r\n separator = '-',\r\n}\r\n\r\nexport interface ResponsiveBreakpoint {\r\n name: string;\r\n width: number;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResponsiveService {\r\n currentResolution$!: Observable<{ height: number; width: number }>;\r\n\r\n defaultBreakpoint = {\r\n name: ResponsiveTokens.all,\r\n width: 0,\r\n };\r\n\r\n breakpoints: { name: string; width: number }[] = this.buildBreakpoints(this.providedBreakpoints);\r\n\r\n protected getCurrentSize = () => ({\r\n height: this.window.innerHeight,\r\n width: this.window.innerWidth,\r\n });\r\n\r\n protected mapSizeToBreakpoint = ({ width } = this.getCurrentSize()) => {\r\n return this.breakpoints.find(s => width >= s.width) as ResponsiveBreakpoint;\r\n };\r\n\r\n currentSize$: BehaviorSubject<ResponsiveBreakpoint> = new BehaviorSubject<ResponsiveBreakpoint>(\r\n this.mapSizeToBreakpoint(),\r\n );\r\n\r\n shouldRenderWithCurrentSize = (query: string) => {\r\n return this.matchQuery(query);\r\n };\r\n\r\n constructor(\r\n @Inject(RESPONSIVE_BREAKPOINTS) protected providedBreakpoints: ResponsiveBreakpoints,\r\n @Inject(WINDOW) protected window: any,\r\n ) {\r\n this.setupListener();\r\n }\r\n\r\n protected setupListener() {\r\n this.currentResolution$ = fromEvent(this.window, 'resize')\r\n .pipe(map(this.getCurrentSize))\r\n .pipe(startWith(this.getCurrentSize()));\r\n\r\n this.currentResolution$\r\n .pipe(map(this.mapSizeToBreakpoint), distinctUntilChanged())\r\n .subscribe(current => {\r\n this.currentSize$.next(current);\r\n });\r\n }\r\n\r\n protected buildBreakpoints(breakpoints: ResponsiveBreakpoints) {\r\n return [\r\n ...Object.keys(breakpoints)\r\n .map(key => ({\r\n name: key,\r\n width: breakpoints[key],\r\n }))\r\n .sort((a, b) => b.width - a.width),\r\n this.defaultBreakpoint,\r\n ];\r\n }\r\n\r\n protected matchQuery(query: string) {\r\n const { width } = this.getCurrentSize();\r\n const tokens = query.split(' ');\r\n const findInTokens = (size: string) =>\r\n tokens.find(token => token.split(ResponsiveTokens.separator)[0] === size);\r\n\r\n const matchedBreakpoint = this.breakpoints.find(\r\n breakpoint => width >= breakpoint.width && findInTokens(breakpoint.name),\r\n );\r\n if (matchedBreakpoint) {\r\n const token = findInTokens(matchedBreakpoint.name);\r\n const shouldBeBigger = !token?.includes(ResponsiveTokens.none);\r\n return shouldBeBigger === width >= matchedBreakpoint.width;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n SkipSelf,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { ResponsiveService } from './responsive.service';\r\n\r\n@Directive({\r\n selector: '[lpxResponsive]',\r\n})\r\nexport class ResponsiveDirective implements OnInit, OnDestroy {\r\n hasRendered = false;\r\n sub = new Subscription();\r\n\r\n @Input('lpxResponsive') query!: string;\r\n\r\n render = (shouldRender: boolean) => {\r\n if (shouldRender && !this.hasRendered) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n this.hasRendered = true;\r\n } else if (!shouldRender && this.hasRendered) {\r\n this.viewContainer.clear();\r\n this.hasRendered = false;\r\n }\r\n this.parentCdr.detectChanges();\r\n };\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private service: ResponsiveService,\r\n @Optional() @SkipSelf() private parentCdr: ChangeDetectorRef,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.sub.add(\r\n this.service.currentSize$\r\n .pipe(map(_ => this.service.shouldRenderWithCurrentSize(this.query)))\r\n .subscribe(this.render),\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ResponsiveDirective } from './responsive.directive';\r\n\r\n@NgModule({\r\n declarations: [ResponsiveDirective],\r\n imports: [CommonModule],\r\n exports: [ResponsiveDirective],\r\n})\r\nexport class LpxResponsiveModule {}\r\n","import { ResponsiveBreakpoints } from './responsive-breakpoints.token';\r\n\r\nexport const LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS: ResponsiveBreakpoints = {\r\n sm: 480,\r\n md: 768,\r\n lg: 992,\r\n xl: 1200,\r\n};\r\n","import {\r\n LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS,\r\n RESPONSIVE_BREAKPOINTS,\r\n ResponsiveBreakpoints,\r\n} from '../directives/responsive';\r\nimport { Provider } from '@angular/core';\r\n\r\nexport function createResponsiveProvider(responsiveSettings:ResponsiveBreakpoints |undefined ): Provider{\r\n return {\r\n provide: RESPONSIVE_BREAKPOINTS,\r\n useValue:\r\n responsiveSettings || LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS,\r\n };\r\n}\r\n","import { APP_INITIALIZER, Provider } from '@angular/core';\r\nimport { LanguageService } from '../services/language';\r\nimport { StyleService } from '../style';\r\nimport {\r\n distinctUntilKeyChanged,\r\n filter,\r\n switchMap,\r\n take,\r\n} from 'rxjs/operators';\r\n\r\nexport function createDirectionProvider(listenDirection: boolean): Provider {\r\n return {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [LanguageService, StyleService],\r\n useFactory: listenDirection ? listenDirectionChange : () => () => null,\r\n };\r\n}\r\n// subscribe to direction from documentElement and load direction stylesheet\r\nexport function listenDirectionChange(\r\n languageService: LanguageService,\r\n styleService: StyleService\r\n) {\r\n return () => {\r\n return new Promise((resolve) => {\r\n styleService.initialized$\r\n .pipe(\r\n filter(Boolean),\r\n take(1),\r\n switchMap(() => languageService.languageChange$),\r\n distinctUntilKeyChanged('isRTL')\r\n )\r\n .subscribe(async (lang) => {\r\n const direction = lang?.isRTL ? 'rtl' : 'ltr';\r\n const documentElement = document.documentElement;\r\n if (documentElement.dir !== direction) {\r\n documentElement.dir = direction;\r\n }\r\n await styleService.reloadInitialStyles(direction);\r\n resolve(null);\r\n });\r\n });\r\n };\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxPerfectScrollbar } from '../abstracts';\r\n\r\nexport const LPX_PERFECT_SCROLLBAR = new InjectionToken<LpxPerfectScrollbar>(\r\n 'LPX_PERFECT_SCROLLBAR'\r\n);\r\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ResponsiveBreakpoints } from './directives/responsive/responsive-breakpoints.token';\r\nimport { LpxLanguageModuleOptions } from './services/language/models';\r\nimport { LpxLanguageModule } from './services/language/language.module';\r\nimport { LpxIconModule, LpxIconSettings } from './components/icon/icon.module';\r\nimport {\r\n LpxNavbarModule,\r\n LpxNavbarSettings,\r\n} from './components/navbar/navbar.module';\r\nimport { LpxBreadcrumbModule } from './components/breadcrumb/breadcrumb.module';\r\nimport { LpxPerfectScrollbarService, LpxTranslate } from './services';\r\nimport { LPX_TRANSLATE_PROVIDERS } from './services/translate/providers';\r\nimport { LPX_STYLE_PROVIDERS } from './providers/styles.provider';\r\nimport { createWindowProvider } from './providers/window.provider';\r\nimport { createResponsiveProvider } from './providers/responsive.provider';\r\nimport { createDirectionProvider } from './providers/direction.provider';\r\nimport { LpxVisibleDirective } from './directives/visible.directive';\r\nimport { LPX_PERFECT_SCROLLBAR } from './tokens';\r\n\r\nexport interface LpxCoreOptions {\r\n responsiveSettings?: ResponsiveBreakpoints;\r\n window?: Window;\r\n iconSettings?: LpxIconSettings;\r\n languageSettings?: LpxLanguageModuleOptions;\r\n navbarSettings?: LpxNavbarSettings;\r\n texts?: LpxTranslate[];\r\n listenDirectionChanges?: boolean;\r\n}\r\n\r\n@NgModule({\r\n imports: [CommonModule, LpxVisibleDirective],\r\n})\r\nexport class LpxCoreModule {\r\n static forRoot(options?: LpxCoreOptions): ModuleWithProviders<LpxCoreModule> {\r\n return {\r\n ngModule: LpxCoreModule,\r\n providers: [\r\n {\r\n provide: LPX_PERFECT_SCROLLBAR,\r\n useClass: LpxPerfectScrollbarService,\r\n },\r\n createResponsiveProvider(options?.responsiveSettings),\r\n createWindowProvider(options?.window),\r\n LpxIconModule.forRoot(options?.iconSettings).providers as Provider,\r\n LpxLanguageModule.forRoot(options?.languageSettings)\r\n .providers as Provider[],\r\n LpxNavbarModule.forRoot(options?.navbarSettings).providers as Provider,\r\n LpxBreadcrumbModule.forRoot().providers as Provider,\r\n LPX_TRANSLATE_PROVIDERS,\r\n ...LPX_STYLE_PROVIDERS,\r\n createDirectionProvider(options?.listenDirectionChanges || true),\r\n ],\r\n };\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, Input } from '@angular/core';\r\n\r\nexport interface Avatar {\r\n type: 'icon' | 'image';\r\n source: string;\r\n}\r\n\r\n@Component({\r\n selector: 'lpx-avatar',\r\n templateUrl: './avatar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AvatarComponent {\r\n @Input() avatar?: Avatar;\r\n}\r\n","<div class=\"lpx-avatar\" *ngIf=\"avatar && avatar?.source\">\r\n <ng-container [ngSwitch]=\"avatar.type\">\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <lpx-icon class=\"lpx-avatar-icon\" [iconClass]=\"avatar.source\"></lpx-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img class=\"lpx-avatar-img\" [src]=\"avatar.source\" />\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { AvatarComponent } from './avatar.component';\r\n\r\n@NgModule({\r\n declarations: [AvatarComponent],\r\n imports: [CommonModule, LpxIconModule],\r\n exports: [AvatarComponent],\r\n})\r\nexport class LpxAvatarModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\n\r\nexport interface FooterLink {\r\n link: string;\r\n text: string;\r\n}\r\n\r\nexport interface FooterNav {\r\n descUrl?: string;\r\n desc: string;\r\n footerLinks?: FooterLink[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FooterLinksService {\r\n private store = new DataStore({} as FooterNav);\r\n footerInfo$ = this.store.sliceState((state) => state);\r\n\r\n setFooterInfo(links: FooterNav) {\r\n this.store.set(links);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { FooterLinksService } from './footer-links.service';\r\n\r\n@Component({\r\n selector: 'lpx-footer',\r\n templateUrl: './footer.component.html',\r\n})\r\nexport class FooterComponent {\r\n footerValues$ = this.service.footerInfo$;\r\n \r\n constructor(private service: FooterLinksService) {}\r\n}\r\n","<ng-container *ngIf=\"footerValues$ | async as footerValues\">\r\n\r\n <div class=\"lpx-footbar\">\r\n <div class=\"lpx-footbar-copyright\">\r\n \r\n <a\r\n *ngIf=\"footerValues.descUrl; else footerDesc\"\r\n [routerLink]=\"[footerValues.descUrl]\"\r\n >\r\n {{ footerValues.desc }}</a\r\n >\r\n <ng-template #footerDesc>\r\n <a> {{ footerValues.desc }}</a>\r\n </ng-template>\r\n </div>\r\n <div class=\"lpx-footbar-solo-links\">\r\n <ng-container *ngFor=\"let footerLink of footerValues.footerLinks\">\r\n <a *ngIf=\"footerLink\" [routerLink]=\"[footerLink.link]\">{{\r\n footerLink.text\r\n }}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n</ng-container>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\nimport { FooterComponent } from './footer.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n declarations: [FooterComponent],\r\n exports: [FooterComponent],\r\n imports: [CommonModule, RouterModule],\r\n})\r\nexport class LpxFooterModule {\r\n static forRoot(): ModuleWithProviders<LpxFooterModule> {\r\n return {\r\n ngModule: LpxFooterModule,\r\n providers: [],\r\n };\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n inject,\r\n} from '@angular/core';\r\nimport { LpxPerfectScrollbar } from '../abstracts';\r\nimport { LPX_PERFECT_SCROLLBAR } from '../tokens';\r\n\r\n@Directive({\r\n selector: '[lpxPerfectScrollbar]',\r\n standalone: true,\r\n})\r\nexport class PerfectScrollbarDirective implements AfterViewInit {\r\n protected readonly elementRef = inject(ElementRef);\r\n protected readonly lpxPerfectService = inject<LpxPerfectScrollbar>(\r\n LPX_PERFECT_SCROLLBAR\r\n );\r\n\r\n @Input()\r\n set lpxPerfectScrollbarOptions(value: any) {\r\n this.lpxPerfectService.setOptions(value);\r\n }\r\n\r\n @HostListener('window:resize')\r\n onResize(): void {\r\n this.lpxPerfectService.onResize();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.lpxPerfectService.setElement(this.elementRef);\r\n this.lpxPerfectService.afterViewInit();\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-breadcrumb-panel]',\r\n})\r\nexport class BreadcrumbPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-content]',\r\n})\r\nexport class ContentPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-current-user-image-panel]',\r\n})\r\nexport class CurrentUserImagePanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-current-user-panel]',\r\n})\r\nexport class CurrentUserPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-footer-panel]',\r\n})\r\nexport class FooterPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-language-panel]',\r\n})\r\nexport class LanguagePanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-mobile-navbar-panel]',\r\n})\r\nexport class MobileNavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-navbar-panel]',\r\n})\r\nexport class NavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-navitem-panel]',\r\n})\r\nexport class NavitemPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-toolbar-panel]',\r\n})\r\nexport class ToolbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-top-navbar-panel]',\r\n})\r\nexport class TopNavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ng-template[lpx-settings-panel]',\r\n})\r\nexport class SettingsPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumbPanelDirective } from './breadcrumb-panel.directive';\r\nimport { NavbarPanelDirective } from './navbar-panel.directive';\r\nimport { FooterPanelDirective } from './footer-panel.directive';\r\nimport { MobileNavbarPanelDirective } from './mobile-navbar-panel.directive';\r\nimport { ToolbarPanelDirective } from './toolbar-panel.directive';\r\nimport { TopNavbarPanelDirective } from './top-navbar-panel.directive';\r\nimport { SettingsPanelDirective } from './settings-panel.directive';\r\nimport { NavitemPanelDirective } from './navitem-panel.directive';\r\nimport { LogoPanelDirective } from './logo-panel.directive';\r\nimport { CurrentUserPanelDirective } from './current-user-panel.directive';\r\nimport { CurrentUserImagePanelDirective } from './current-user-image-panel.directive';\r\nimport { LanguagePanelDirective } from './language-panel.directive';\r\nimport { ContentPanelDirective } from './content-panel.directive';\r\n\r\nconst declarationsAndExports = [\r\n BreadcrumbPanelDirective,\r\n ContentPanelDirective,\r\n CurrentUserImagePanelDirective,\r\n CurrentUserPanelDirective,\r\n FooterPanelDirective,\r\n LanguagePanelDirective,\r\n LogoPanelDirective,\r\n MobileNavbarPanelDirective,\r\n NavbarPanelDirective,\r\n NavitemPanelDirective,\r\n SettingsPanelDirective,\r\n TopNavbarPanelDirective,\r\n ToolbarPanelDirective,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...declarationsAndExports],\r\n imports: [CommonModule],\r\n exports: [...declarationsAndExports],\r\n})\r\nexport class PanelsModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToolbarItem } from '../../models/toolbar-item.model';\r\nimport { DataStore, sortItems } from '../../utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ToolbarService {\r\n private store = new DataStore({ items: <Array<ToolbarItem>>[] });\r\n\r\n items$ = this.store.sliceState(({ items }) => items);\r\n\r\n setItems(items: Array<ToolbarItem>): void {\r\n this.store.patch({ items: items.sort(sortItems) });\r\n }\r\n\r\n addItem(item: ToolbarItem): void {\r\n this.setItems([...this.store.state.items, item]);\r\n }\r\n\r\n patchItem(itemId: string | number, item: Omit<ToolbarItem, 'id'>): void {\r\n const { items } = this.store.state;\r\n const index = items.findIndex(({ id }) => id === itemId);\r\n if (index === -1) {\r\n return;\r\n }\r\n const updateItems = [...items];\r\n updateItems[index] = { id: itemId, ...item };\r\n this.setItems(updateItems);\r\n }\r\n\r\n removeItem(id: string | number): void {\r\n const { items } = this.store.state;\r\n const index = items.findIndex((item) => item.id === id);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n const updateItems = [...items.slice(0, index), ...items.slice(index + 1)];\r\n this.store.patch({ items: updateItems });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.UserProfileService","filter","i1.LpxThemeTranslateService","i3.IconComponent","i4.LpxVisibleDirective","i5.TranslatePipe","i2.LpxVisibleDirective","i3.SubNavbarComponent","i4.TranslatePipe","map","i2.BrandLogoComponent","i4.NavbarRoutesComponent","exportedDeclarations","i1.BreadcrumbService","i2","i4","i5.ClickOutsideDirective","i6.ToObservablePipe","i1.NavbarService","i3.BreadcrumbService","i1.ResponsiveService","i2.IconComponent","i1.FooterLinksService","i3"],"mappings":";;;;;;;;;;;;;MAMsB,mBAAmB,CAAA;AAAzC,IAAA,WAAA,GAAA;AACqB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;KAW5C;AAAA;;MCfY,YAAY,GAAG,IAAI,cAAc,CAAgB,cAAc;;MCA/D,SAAS,CAAA;AAKpB,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;KAC1B;AAYD,IAAA,WAAA,CAAoB,YAAmB,EAAA;QAAnB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAO;QAlB/B,IAAM,CAAA,MAAA,GAAG,IAAI,eAAe,CAAQ,IAAI,CAAC,YAAY,CAAC,CAAC;AAEvD,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAkB,CAAC;AAMhD,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,QAAiC,EACjC,YAAY,CAAC,EAAS,EAAE,EAAS,KAAK,EAAE,KAAK,EAAE,KAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;AAEtE,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,QAA0C,EAC1C,WAAW,CAAC,CAAQ,KAAK,CAAC,KAAK,SAAS,KACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;KAEb;AAE3C,IAAA,KAAK,CAAC,KAAqB,EAAA;QACzB,IAAI,YAAY,GAAG,KAAc,CAAC;AAElC,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtD,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;SAC5C;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACjC;AAED,IAAA,GAAG,CAAC,KAAY,EAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC7B;AACF;;IC3CW,sBAEX;AAFD,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,eAAA,CAAA,GAAA,yBAAyC,CAAA;AAC3C,CAAC,EAFW,qBAAqB,KAArB,qBAAqB,GAEhC,EAAA,CAAA,CAAA,CAAA;AAMY,MAAA,yBAAyB,GAA4B;AAChE,IAAA,CAAC,qBAAqB,CAAC,aAAa,GAAG,kBAAkB;;;MCG9C,eAAe,CAAA;AAqB1B,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAA+B,CAAC;KACzD;AAsBD,IAAA,WAAA,CAA0C,SAAwB,EAAA;QAAxB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAe;QA5CzD,IAAK,CAAA,KAAA,GAAG,IAAI,SAAS,CAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAEpE,IAAE,CAAA,EAAA,GAAG,WAAW,CAAC;AAEjB,QAAA,IAAA,CAAA,2BAA2B,GAAG,CAAC,SAAwB,KAAqB;YAC1E,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AAC9B,gBAAA,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,MAAK;AACX,oBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC/B,oBAAA,OAAO,IAAI,CAAC;iBACb;AACF,aAAA,CAAC,CAAC,CAAC;AACN,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CACvC,CAAC,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,CAC3C,CAAC;AAMF,QAAA,IAAA,CAAA,eAAe,GAA4B,IAAI,CAAC,iBAAiB,CAAC,IAAI;;;AAGpE,QAAA,MAAM,CAAc,CAAC,IAAiB,KAAK,IAAI,KAAK,SAAS,CAAC,EAC9D,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,KAAK,CAAC,EAAE,WAAW,CAAC,CAClE,CAAC;AACF,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/D,QAAA,IAAA,CAAA,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAC5C,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CACtC,CAAC;;AAEF,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAC3D,GAAG,CAAC,CAAC,SAAS,MAAM;YAClB,IAAI,EAAE,qBAAqB,CAAC,aAAuB;AACnD,YAAA,IAAI,EAAE,aAAa;YACnB,EAAE,EAAE,IAAI,CAAC,EAAE;AACX,YAAA,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC,CACJ,CAAC;AAGA,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC3B;AAED,IAAA,YAAY,CAAC,SAAwB,EAAA;AACnC,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACtB;AAED,IAAA,IAAI,CAAC,SAAwB,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACf,SAAS;AACT,YAAA,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC;AAC1D,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,mBAAmB,CAAC,IAAiB,EAAA;AACnC,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AACf,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,CAAC,CAAC;KACJ;AAhEU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBA6CN,YAAY,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AA7CrB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BA8Cc,MAAM;2BAAC,YAAY,CAAA;;;MCtDrB,2BAA2B,GAAG,IAAI,cAAc,CAC3D,6BAA6B,EAC7B;MACW,mBAAmB,GAAG,IAAI,cAAc,CACnD,qBAAqB;;MCKV,iBAAiB,CAAA;IAC5B,OAAO,OAAO,CACZ,OAAkC,EAAA;QAElC,OAAO;AACL,YAAA,QAAQ,EAAE,iBAAiB;AAC3B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;AACrB,oBAAA,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;AACnC,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,mBAAmB;oBAC5B,QAAQ,EAAE,CAAC,yBAAyB,CAAC;AACrC,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;gBACD,eAAe;AAChB,aAAA;SACF,CAAC;KACH;8GAnBU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAFlB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;AAEX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAFlB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;ACTY,MAAA,QAAQ,GAAG;AACtB,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,WAAW,EAAE,oBAAoB;AACjC,IAAA,SAAS,EAAE,kBAAkB;AAC7B,IAAA,aAAa,EAAE,2BAA2B;AAC1C,IAAA,MAAM,EAAE,cAAc;AACtB,IAAA,UAAU,EAAE,0BAA0B;AACtC,IAAA,kBAAkB,EAAE,4BAA4B;AAChD,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,MAAM,EAAE,cAAc;AACtB,IAAA,MAAM,EAAE,gCAAgC;AACxC,IAAA,KAAK,EAAE,4BAA4B;AACnC,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,WAAW,EAAE,qBAAqB;EAClC;MAIW,iBAAiB,GAAG,IAAI,cAAc,CAAgB,mBAAmB;;MChBzE,aAAa,CAAA;AAGxB,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAgC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;KAC9E;AAED,IAAA,WAAA,CAA8C,OAAsB,EAAA;QAAtB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAe;KAAI;AAP7D,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAOJ,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAP1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,oFAHd,CAAsE,oEAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAGrE,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,CAAsE,oEAAA,CAAA;oBAChF,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA,CAAA;;0BAQc,MAAM;2BAAC,iBAAiB,CAAA;yCAN5B,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MCKK,aAAa,CAAA;IACxB,OAAO,OAAO,CAAC,OAAyB,EAAA;QACtC,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,iBAAiB;AAC1B,oBAAA,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,QAAQ;AACvC,iBAAA;AACF,aAAA;SACF,CAAC;KACH;8GAXU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAJT,YAAA,EAAA,CAAA,aAAa,CAClB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAEZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAHd,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,aAAa,CAAC;oBAC7B,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,aAAa,CAAC;AACzB,iBAAA,CAAA;;;MCNY,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,sDCP/B,4EAGA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDIa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,gBAAgB,EAAA,aAAA,EAEX,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4EAAA,EAAA,CAAA;;;MEQ1B,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EANd,YAAA,EAAA,CAAA,kBAAkB,CAE/B,EAAA,OAAA,EAAA,CAAA,YAAY,aAEJ,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAJ3B,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIH,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;oBACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,iBAAA,CAAA;;;MCDY,aAAa,CAAA;AAH1B,IAAA,WAAA,GAAA;QAIW,IAAK,CAAA,KAAA,GAAG,IAAI,SAAS,CAAC;YAC7B,cAAc,EAAE,CAAC,EAAE,CAAC;AACrB,SAAA,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,eAAe,GAA8B,IAAI,CAAC,KAAK,CAAC,UAAU,CAChE,CAAC,EAAE,cAAc,EAAE,KAAK,cAAc,IAAI,EAAE,CAC7C,CAAC;AAyCH,KAAA;AAvCC,IAAA,QAAQ,CAAC,QAAgC,EAAA;AACvC,QAAA,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AACvE,QAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;KACjC;AAED,IAAA,QAAQ,CAAC,QAAgB,EAAA;QACvB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;KAChD;AAED,IAAA,WAAW,CAAC,QAAgB,EAAA;QAC1B,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5C,QAAA,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO;QACzB,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AACvF,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACzB;AAED,IAAA,aAAa,CAAC,SAAmB,EAAA;QAC/B,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5C,QAAA,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;KACpC;AAED,IAAA,WAAW,CAAC,QAAgB,EAAA;QAC1B,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5C,QAAA,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC;AAClE,QAAA,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACzB;aAAM;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC5B;KACF;AAED,IAAA,UAAU,CAAC,cAAwB,EAAA;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACf,cAAc;AACf,SAAA,CAAC,CAAC;KACJ;8GA/CU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCPY,qBAAqB,GAAG,IAAI,cAAc,CACrD,uBAAuB,EACvB;MACW,oBAAoB,GAAG,IAAI,cAAc,CACpD,sBAAsB,EACtB;MACW,cAAc,GAAG,IAAI,cAAc,CAC9C,gBAAgB;;ACPF,SAAA,SAAS,CAA+B,CAAI,EAAE,CAAI,EAAA;AAChE,IAAA,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;AACZ,QAAA,OAAO,CAAC,CAAC;KACV;AACD,IAAA,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;QACZ,OAAO,CAAC,CAAC,CAAC;KACX;AAED,IAAA,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAC3B,CAAC;AAEK,SAAU,qBAAqB,CACnC,GAAqC,EAAA;IAErC,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,GAAG,EAAE,IAAI,MAAM;AACd,QAAA,GAAG,GAAG;AACN,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,IAAI;KAC7D,CAAC,EACF,EAAE,CACiB,CAAC;AACxB,CAAC;AAEK,SAAU,UAAU,CAAI,MAAwB,EAAA;IACpD,OAAO,MAAM,YAAY,UAAU;AACjC,UAAE,MAAM;UACN,MAAM,YAAY,OAAO;AAC3B,cAAE,IAAI,CAAC,MAAM,CAAC;AACd,cAAE,EAAE,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAEK,SAAU,iBAAiB,CAAI,GAAM,EAAA;AACzC,IAAA,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC;AAC3C,CAAC;AAEK,SAAU,OAAO,CAAI,GAAM,EAAA;AAC/B,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5B;;ACrCM,SAAU,cAAc,CAC5B,IAAS,EACT,cAAsB,EACtB,iBAA0B,KAAK,EAAA;AAE/B,IAAA,IACE,CAAC,cAAc;SACd,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7D,QAAA,OAAO,SAAS,CAAC;AAEnB,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAC;AAExC,IAAA,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;AACvB,QAAA,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,cAAc,CAAC;AAC5C,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAA,CAAE,CAAC,CAAC;SAC5C;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACxC,QAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,QAAA,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC5B;AACD,IAAA,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEe,SAAA,iBAAiB,CAC/B,IAAS,EACT,IAA2B,EAAA;AAE3B,IAAA,OAAO,IAAI,EAAE,MAAM,CACjB,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,EACpE,EAAE,CACH,CAAC;AACJ;;ACrCO,MAAM,gBAAgB,GAAG;;MCYnB,aAAa,CAAA;AAuBxB,IAAA,WAAA,GAAA;AAtBmB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAE3B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,SAAS,CAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CACvC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAEvD,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC,KAAK;AAC7B,aAAA,UAAU,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;AAC5B,aAAA,IAAI,CACH,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EACrD,GAAG,CAAC,CAAC,KAAK,KAAI;YACZ,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC;AAC1D,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM;gBAC1C,KAAK;gBACL,KAAK;AACN,aAAA,CAAC,CAAC,CAAC;SACL,CAAC,CACH,CAAC;AAGF,QAAA,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;KACpD;IAED,cAAc,CAAC,GAAG,SAA0B,EAAA;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC7E;IAED,cAAc,CAAC,GAAG,SAA0B,EAAA;AAC1C,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACxD;;AAGD,IAAA,WAAW,CAAC,EAAU,EAAE,GAAG,SAA0B,EAAA;AACnD,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,CACb,KAAsB,EACtB,QAAuB,EACvB,IAAI,GAAG,EAAE,KACU;AACnB,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,KAAI;gBACvC,OAAO;AACL,oBAAA,GAAG,GAAG;oBACN,IAAI,KAAK,KAAK,CAAC;AACb,0BAAE;AACE,4BAAA;AACE,gCAAA,GAAG,IAAI;AACP,gCAAA,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM;AACxB,sCAAE;AACE,wCAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;AACvB,wCAAA,GAAG,IAAI,CAAC,iBAAiB,CACvB,SAAS,EACT,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,IAAI,CAAC,aAAa,EAAE,CAChC;AACF,qCAAA;AACH,sCAAE,MAAM,CACJ,IAAI,CAAC,QAAQ,IAAI,EAAE,EACnB,QAAQ,EACR,GAAG,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,aAAa,EAAE,CAChC;AACN,6BAAA;AACF,yBAAA;AACH,0BAAE,CAAC,IAAI,CAAC;iBACX,CAAC;aACH,EAAE,EAAqB,CAAC,CAAC;AAC5B,SAAC,CAAC;AAEF,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1D,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,UAAU,CAAC,IAAY,EAAE,KAAuB,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;KAC7C;IAED,iBAAiB,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC5B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,aAAa,CAAC,EACzC,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAC9B,CAAC;KACH;IAED,WAAW,GAAA;AACT,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;AAClC,QAAA,IAAI,KAAK,EAAE,IAAI,EAAE;AACf,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CACxC,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,KAAK,CAAC,QAAQ,CACf,CAAC;AACF,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC5B;KACF;IAED,YAAY,GAAA;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACzC;IAED,oBAAoB,CAClB,KAAsB,EACtB,OAAsB,EAAA;AAEtB,QAAA,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,KAAI;AACvC,YAAA,IAAI,KAAK,KAAK,UAAU,EAAE;gBACxB,OAAO;AACL,oBAAA,GAAG,GAAG;AACN,oBAAA;AACE,wBAAA,GAAG,IAAI;AACP,wBAAA,QAAQ,EAAE,IAAI;AACd,wBAAA,QAAQ,EAAE,IAAI;AACd,wBAAA,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC;AAClE,qBAAA;iBACF,CAAC;aACH;AACD,YAAA,MAAM,OAAO,GAAG;AACd,gBAAA,GAAG,IAAI;gBACP,IAAI,IAAI,CAAC,QAAQ;AACf,sBAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;sBAClD,EAAE;aACP,CAAC;AACF,YAAA,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;SACnE,EAAE,EAAqB,CAAC,CAAC;KAC3B;AAED,IAAA,gBAAgB,CAAC,QAA8B,EAAA;QAC7C,OAAO;YACL,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AAC1B,gBAAA,GAAG,KAAK;AACR,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;AACtE,aAAA,CAAC,CAAC;SACJ,CAAC;KACH;IAEO,QAAQ,CAAC,EAAU,EAAE,KAAuB,EAAA;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;KACzC;IAEO,UAAU,CAChB,IAAyB,EACzB,KAAa,EACb,KAAuB,EACvB,WAA0B,EAAE,EAAA;QAE5B,MAAM,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAC9C,QAAA,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AAClE,QAAA,IAAI,IAAI,CAAC;AACT,QAAA,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;YACpB,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,KAAI;AAC/B,gBAAA,IAAI,CAAC,CAAC,QAAQ,EAAE;AACd,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;AACrD,wBAAA,GAAG,QAAQ;wBACX,KAAK;AACN,qBAAA,CAAC,CAAC;AACH,oBAAA,IAAI,KAAK,EAAE,IAAI,EAAE;AACf,wBAAA,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAClB,wBAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;qBAC3B;iBACF;AACH,aAAC,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;AAC9B,YAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1B;AAED,QAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC3B;AAEO,IAAA,iBAAiB,CACvB,KAAsB,EACtB,IAAI,GAAG,EAAE,EAAA;QAET,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AAC1B,YAAA,GAAG,IAAI;YACP,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,IAAI,CAAA,CAAE,EAAE,GAAG,EAAE;AAC7D,YAAA,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAC9B,IAAI,CAAC,QAAQ,IAAI,EAAE,EACnB,CAAA,EAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CACvD;AACF,SAAA,CAAC,CAAC,CAAC;KACL;8GAzLU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCLY,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,QAAA,EAAA,uCAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uCAAuC;AACjD,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA,CAAA;;;MCAY,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlB,kBAAkB,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6BAA6B;AACxC,iBAAA,CAAA;;;MCIY,aAAa,CAAA;AAH1B,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAElC,IAAiB,CAAA,iBAAA,GAAG,QAAQ,CACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACrB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,aAAa,CAAC;;AAEzC,QAAA,GAAG,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAC7B,EACD,EAAE,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CACpC,CAAC;AACH,KAAA;8GAXY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCOY,mBAAmB,CAAA;IAI9B,IAAyB,UAAU,CACjC,KAA0E,EAAA;AAE1E,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAID,WACU,CAAA,gBAAkC,EAClC,WAAiC,EAAA;QADjC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAsB;AAJnC,QAAA,IAAA,CAAA,UAAU,GAAwB,EAAE,CAAC,KAAK,CAAC,CAAC;KAKhD;IACJ,QAAQ,GAAA;QACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,CAAC;KAC3C;IAEO,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC/D,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;KACJ;IACO,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;;AAE9B,QAAA,IAAG,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;YAC3B,OAAO;SACR;QACD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAE5D;8GAtCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;+GAK0B,UAAU,EAAA,CAAA;sBAAlC,KAAK;uBAAC,YAAY,CAAA;;AAqCrB,SAAS,SAAS,CAAC,KAA0E,EAAA;AAC3F,IAAA,IAAI,KAAK,YAAY,OAAO,EAAE;AAC5B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;AAAM,SAAA,IAAI,KAAK,YAAY,UAAU,EAAE;AACtC,QAAA,OAAO,KAAK,CAAC;KACd;AAAM,SAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AACrC,QAAA,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;KAClB;SAAO,IAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAI;AAClD,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;KAChB;SACI;AACH,QAAA,OAAO,KAAK,CAAC;KACd;AACH;;MC7Da,kBAAkB,CAAA;AAH/B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,SAAS,CAAC,EAAiB,CAAC,CAAC;AACjD,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AASjD,KAAA;AAPC,IAAA,OAAO,CAAC,IAAiB,EAAA;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACtB;AAED,IAAA,SAAS,CAAC,IAA0B,EAAA;AAClC,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACxB;8GAVU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCDY,WAAW,CAAA;AAHxB,IAAA,WAAA,GAAA;AAIE,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,OAAO,GAAG;AACR,YAAA,eAAe,EAAE,mBAAmB;SACrC,CAAC;AASH,KAAA;IAPC,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;KACxD;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;KAC3D;8GAZU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCCY,uBAAuB,CAAA;IAClC,IAAI,CAAC,GAAW,EAAE,YAAqB,EAAA;QACrC,OAAO,EAAE,CAAC,YAAY,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;KACtC;IAED,GAAG,CAAC,GAAW,EAAE,YAAqB,EAAA;AACpC,QAAA,OAAO,YAAY,IAAI,GAAG,IAAI,EAAE,CAAC;KAClC;8GAPU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAvB,uBAAuB,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;;MCKE,wBAAwB,CAAA;IAEnC,WAGU,CAAA,eAAsC,EAEtC,gBAAkC,EAAA;QAFlC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAuB;QAEtC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AANpC,QAAA,IAAA,CAAA,QAAQ,GAAiB,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAOzE;;AAGJ,IAAA,UAAU,CAAC,GAAW,EAAE,GAAG,IAAW,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KAC5D;8GAbU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAIzB,mBAAmB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAEnB,2BAA2B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAN1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFvB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAII,QAAQ;;0BACR,MAAM;2BAAC,mBAAmB,CAAA;;0BAE1B,MAAM;2BAAC,2BAA2B,CAAA;;;MCR1B,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CAAoB,kBAAsC,EAAA;QAAtC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAChD,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CACtD,CAAC;KAH4D;IAK9D,eAAe,GAAA;QACb,OAAO;KACR;8GARU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAlB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;MCHE,sBAAsB,GAAG,IAAI,cAAc,CACtD,wBAAwB;;ACAb,MAAA,yBAAyB,GAAa;AACjD,IAAA,OAAO,EAAE,sBAAsB;AAC/B,IAAA,QAAQ,EAAE,kBAAkB;;;MCDjB,sBAAsB,CAAA;AAEjC,IAAA,WAAA,GAAA,GAAiB;AAEjB,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,YAAY,CAAC,MAAM,CAAA;KAC3B;IACD,KAAK,GAAA;QACH,YAAY,CAAC,KAAK,EAAE,CAAC;KACtB;AACD,IAAA,OAAO,CAAC,GAAW,EAAA;AACjB,QAAA,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KAClC;AACD,IAAA,GAAG,CAAC,KAAa,EAAA;AACf,QAAA,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAChC;AACD,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAC9B;IACD,OAAO,CAAC,GAAW,EAAE,KAAa,EAAA;AAChC,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAClC;8GArBU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACUK,MAAO,0BACX,SAAQ,mBAAmB,CAAA;AAK3B,IAAA,UAAU,CAAC,KAAsB,EAAA;QAC/B,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;KACF;AAED,IAAA,UAAU,CAAC,KAAiC,EAAA;QAC1C,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,IAAI,CAAC,OAAO,CACb,CAAC;KACH;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;KAChC;IAED,aAAa,GAAA;QACX,IAAI,CAAC,eAAe,EAAE,CAAC;AAEvB,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;aACnC,IAAI,CACHC,QAAM,CACJ,CAAC,KAAK,KACJ,KAAK,YAAY,aAAa;AAC9B,YAAA,KAAK,YAAY,eAAe;YAChC,KAAK,YAAY,gBAAgB,CACpC,CACF;aACA,SAAS,CAAC,MAAK;AACd,YAAA,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC1C,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AACnE,YAAA,OAAO,CAAC,SAAS,GAAG,gBAAgB,IAAI,CAAC,CAAC;AAC1C,YAAA,OAAO,CAAC,UAAU,GAAG,iBAAiB,IAAI,CAAC,CAAC;AAC9C,SAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;KAClC;8GApDU,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA1B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;;MCPE,aAAa,CAAA;AACxB,IAAA,WAAA,CAAoB,wBAAkD,EAAA;QAAlD,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;KAAI;AAE1E,IAAA,SAAS,CAAC,KAAa,EAAE,GAAG,IAAW,EAAA;QACrC,OAAO,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KAC9D;8GALU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAb,aAAa,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACrB,iBAAA,CAAA;;;MCeY,kBAAkB,CAAA;AAL/B,IAAA,WAAA,GAAA;AAMqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAI/C,IAAU,CAAA,UAAA,GAAG,KAAK,EAAW,CAAC;AAEpB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAiB,CAAC;AAC/C,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAiB,CAAC;AAqCtD,KAAA;AAnCC,IAAA,WAAW,CAAC,QAAuB,EAAA;AACjC,QAAA,IAAI,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,IAAI,QAAQ,CAAC,MAAM,EAAE;AACnB,YAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;AACjC,YAAA,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;SAC9B;AACD,QAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;YACzC,IAAI,MAAM,EAAE;AACV,gBAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;aACjC;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,IAAI,EAAE,QAAQ;kBACf,MAAM,CAAC,CAAC,UAAU,KAAK,UAAU,KAAK,KAAK,CAAC;AAC7C,iBAAA,OAAO,CAAC,CAAC,UAAU,KAAI;AACtB,gBAAA,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC5B,gBAAA,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC9B,aAAC,CAAC,CAAC;SACN;KACF;AAEO,IAAA,gBAAgB,CAAC,QAAuB,EAAA;AAC9C,QAAA,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;AAC7B,YAAA,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACvC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,OAAO;SACR;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;AACtB,YAAA,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;SAC1B;KACF;8GA5CU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlB,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpB/B,g3DA+DA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,kCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED3Ca,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,gBAAgB,EAAA,aAAA,EAEX,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,g3DAAA,EAAA,CAAA;8BAK5B,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAII,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MELI,qBAAqB,CAAA;AAehC,IAAA,IAAY,cAAc,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,OAAO,SAAS,CAAC;SAClB;AAED,QAAA,OAAO,iBAAiB,CACtB,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;AAED,IAAA,WAAA,GAAA;AAxBmB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAQzD,IAAU,CAAA,UAAA,GAAG,KAAK,EAAW,CAAC;AAG9B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAiB,CAAC;AAgBvC,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,IAAmB,KACjD,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAJnC,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;IAKD,iBAAiB,CAAC,QAAuB,EAAE,SAA0B,EAAA;AACnE,QAAA,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACrB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO;aACR;YAED,KAAK;iBACF,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,QAAQ,CAAC;AACnC,iBAAA,OAAO,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;SAC/C;KACF;IAED,YAAY,CAAC,QAAuB,EAAE,SAA0B,EAAA;QAC9D,MAAM,aAAa,GAAG,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACnE,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CACpD,IAAI,CAAC,oBAAoB,CAC1B,CAAC;AAEF,QAAA,MAAM,KAAK,GAAG,kBAAkB,IAAI,aAAa,CAAC;QAElD,IAAI,KAAK,EAAE;YACT,KAAK;iBACF,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,QAAQ,CAAC;AACnC,iBAAA,MAAM,CAAkB,CAAC,GAAG,EAAE,IAAI,KAAI;AACrC,gBAAA,OAAO,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;aAClE,EAAE,EAAE,CAAC;AACN,kBAAE,MAAM,CACN,CAAC,IAAI,KACH,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC/C,IAAI,KAAK,QAAQ,CACpB;AACA,iBAAA,OAAO,CAAC,CAAC,IAAI,KAAI;AAChB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACxB,aAAC,CAAC,CAAC;SACN;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAChC;IAED,yBAAyB,CACvB,IAAmB,EACnB,QAAuB,EAAA;AAEvB,QAAA,QACE,IAAI,CAAC,QAAQ,EAAE,MAAM,CACnB,CAAC,GAAG,EAAE,KAAK,KACT,GAAG;AACH,YAAA,KAAK,KAAK,QAAQ;AAClB,YAAA,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,EACjD,KAAK,CACN,IAAI,KAAK,EACV;KACH;AAED,IAAA,YAAY,CAAC,SAA0B,EAAA;QACrC,QACE,SAAS,EAAE,MAAM,CAAkB,CAAC,GAAG,EAAE,IAAI,KAAI;AAC/C,YAAA,OAAO,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;AACnE,SAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EACZ;KACH;IAED,sBAAsB,GAAA;QACpB,MAAM,CAAC,MAAK;YACV,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;YAEjE,IAAI,CAAC,iBAAiB,EAAE;gBACtB,OAAO;aACR;YAED,IAAI,CAAC,cAAc,CACjB,iBAAiB,EACjB,IAAI,CAAC,WAA8B,CACpC,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;IAED,cAAc,CAAC,UAAkB,EAAE,KAAsB,EAAA;QACvD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;AAED,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACxD,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChD;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;aAC1C;SACF;KACF;IAED,gBAAgB,CAAC,IAAmB,EAAE,GAAW,EAAA;AAC/C,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;AACrB,YAAA,OAAO,IAAI,CAAC;SACb;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAChD,IAAI,KAAK,EAAE;AACT,oBAAA,OAAO,IAAI,CAAC;iBACb;aACF;SACF;AAED,QAAA,OAAO,KAAK,CAAC;KACd;8GA7IU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,4gBCvBlC,k5CA+CA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDxBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,mBAAmB,EAAA,aAAA,EAEd,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,k5CAAA,EAAA,CAAA;wDAOrC,YAAY,EAAA,CAAA;sBADX,KAAK;gBAIN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAMN,UAAU,EAAA,CAAA;sBADT,MAAM;;;MEVI,eAAe,CAAA;AAkB1B,IAAA,WAAA,GAAA;AAjBmB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAS,WAAW,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAOpC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAG3B,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAC9CC,KAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAC/B,CAAC;QAGA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;KAC7D;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;KACjD;IACD,kBAAkB,GAAA;QAChB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACvC,OAAO;SACR;AACD,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC3C;KACF;AAEO,IAAA,YAAY,CAAC,KAAoC,EAAA;AACvD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;KAC3D;8GAxCU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,8FAMZ,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,WAAW,EAG1C,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,kBAAkB,gDClClC,qmDA0DA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,kCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,qBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDjCa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,YAAY,EAAA,aAAA,EAEP,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,qmDAAA,EAAA,CAAA;wDASrC,cAAc,EAAA,CAAA;sBADb,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;gBAGxB,SAAS,EAAA,CAAA;sBAA1C,YAAY;uBAAC,kBAAkB,CAAA;;;ME1BrB,gBAAgB,CAAA;AAC3B,IAAA,SAAS,CACP,KAAgE,EAAA;AAEhE,QAAA,OAAO,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;KAC3C;8GALU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAhB,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACrB,iBAAA,CAAA;;;MCEY,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAJd,YAAA,EAAA,CAAA,gBAAgB,CACrB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAHnB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA,CAAA;;;MCJY,YAAY,CAAA;AADzB,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAMnD,KAAA;AAJC,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;AAAE,YAAA,OAAO,EAAE,CAAC;AACnD,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;KACnE;8GANU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA,EAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;;;MCMlC,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAJd,YAAA,EAAA,CAAA,aAAa,CAClB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAEZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAHnB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,aAAa,CAAC;oBAC7B,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,aAAa,CAAC;AACzB,iBAAA,CAAA;;;ACYD,MAAMC,sBAAoB,GAAG;IAC3B,eAAe;IACf,kBAAkB;IAClB,qBAAqB;IACrB,qBAAqB;CACtB,CAAC;MAsBW,eAAe,CAAA;AAC1B,IAAA,OAAO,OAAO,CACZ,OAAA,GAA6B,EAAE,EAAA;QAE/B,OAAO;AACL,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,cAAc;AACvB,oBAAA,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;AACnC,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,oBAAoB;AAC7B,oBAAA,QAAQ,EAAE,OAAO,EAAE,kBAAkB,IAAI,EAAE;AAC3C,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,qBAAqB;AAC9B,oBAAA,QAAQ,EAAE,OAAO,EAAE,mBAAmB,IAAI,EAAE;AAC5C,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF,CAAC;KACH;AAED,IAAA,OAAO,QAAQ,CACb,OAAA,GAAgD,EAAE,EAAA;QAElD,OAAO;AACL,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,oBAAoB;AAC7B,oBAAA,QAAQ,EAAE,OAAO,EAAE,kBAAkB,IAAI,EAAE;AAC3C,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,qBAAqB;AAC9B,oBAAA,QAAQ,EAAE,OAAO,EAAE,mBAAmB,IAAI,EAAE;AAC5C,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF,CAAC;KACH;8GA3CU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBA1B1B,eAAe;YACf,kBAAkB;YAClB,qBAAqB;AACrB,YAAA,qBAAqB,aAYnB,YAAY;YACZ,WAAW;YACX,YAAY;YACZ,kBAAkB;YAClB,aAAa;YACb,kBAAkB;YAClB,kBAAkB;AAClB,YAAA,mBAAmB,aAtBrB,eAAe;YACf,kBAAkB;YAClB,qBAAqB;YACrB,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;AAuBV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAXxB,YAAY;YACZ,WAAW;YACX,YAAY;YACZ,kBAAkB;YAClB,aAAa;YACb,kBAAkB;YAClB,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKT,eAAe,EAAA,UAAA,EAAA,CAAA;kBAd3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,GAAGA,sBAAoB,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,YAAY;wBACZ,kBAAkB;wBAClB,aAAa;wBACb,kBAAkB;wBAClB,kBAAkB;wBAClB,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,GAAGA,sBAAoB,CAAC;AACnC,iBAAA,CAAA;;;MC7BY,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,SAAS,CAAmB,EAAE,CAAC,CAAC;AACpD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAoBlD,KAAA;;AAlBC,IAAA,GAAG,CAAC,IAAuC,EAAA;AACzC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;KACjD;;IAGD,MAAM,CAAC,IAAuC,EAAE,KAAa,EAAA;AAC3D,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAC/B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC7E;;AAGD,IAAA,QAAQ,CAAC,KAAuB,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACvB;8GAnBU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCXY,qBAAqB,CAAA;AAKhC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAJhC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAE,CAAC;QAE/C,IAAY,CAAA,YAAA,GAAsB,EAAE,CAAC;KAES;AAG9C,IAAA,eAAe,CAAC,KAAiB,EAAA;AAC/B,QAAA,IACE,EACE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACxE,EACD;AACA,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;SAC7B;KACF;8GAjBU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;+EAEW,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBAEP,YAAY,EAAA,CAAA;sBADX,KAAK;gBAMN,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCH/B,mBAAmB,CAAA;AAG9B,IAAA,WAAA,CAAmB,OAA0B,EAAA;QAA1B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAmB;QAF7C,IAAI,CAAA,IAAA,GAAG,QAAQ,CAAC;KAEiC;AAEjD,IAAA,OAAO,CAAC,IAAoB,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;SAChC;KACF;8GATU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,sDCThC,iuCAoCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAX,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAG,gBAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FD3Ba,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,gBAAgB,EAAA,aAAA,EAEX,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,iuCAAA,EAAA,CAAA;;;MEE1B,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAJjB,YAAA,EAAA,CAAA,qBAAqB,CAC1B,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAHtB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACjC,iBAAA,CAAA;;;MCOY,8BAA8B,CAAA;AACzC,IAAA,WAAA,CACU,aAA4B,EAC5B,MAAc,EACd,iBAAoC,EAAA;QAFpC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;KAC1C;IAEJ,cAAc,GAAA;AACZ,QAAA,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACrB,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,aAAa,CAAC,CAClD;YACD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACxE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,KAAI;AAC9B,YAAA,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAC3C,KAAuB,CAAC,GAAG,CAC7B,CAAC;AAEF,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBACpB,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACjD;AAED,YAAA,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,KAAI;AACpE,gBAAA,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC;AACtD,gBAAA,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAE/B,OAAO;AACL,oBAAA,GAAG,GAAG;AACN,oBAAA,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAgC,EAAE;iBACxD,CAAC;aACH,EAAE,EAA4B,CAAC,CAAC;AAEjC,YAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAC7B,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,CACpD,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,6BAA6B,CACnC,KAA6B,EAAA;AAE7B,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM;AACpE,YAAA,IAAI,EAAE,cAAc,IAAI,IAAI,IAAI,EAAE;YAClC,IAAI;YACJ,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,QAAQ,IAAI,EAAE,CAAC;AAC7D,SAAA,CAAC,CAAC,CAAC;KACL;8GA/CU,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cAF7B,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACAY,MAAA,oBAAoB,GAAG,CAAC,mBAAmB,EAAE;MAY7C,mBAAmB,CAAA;AAC9B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,mBAAmB;AAC7B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,eAAe;AACxB,oBAAA,UAAU,EAAE,cAAc;AAC1B,oBAAA,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,CAAC,QAAQ,CAAC;AACjB,iBAAA;AACF,aAAA;SACF,CAAC;KACH;8GAbU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAnB,mBAAmB,EAAA,YAAA,EAAA,CAZK,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAIpD,YAAY;YACZ,aAAa;YACb,kBAAkB;YAClB,YAAY;AACZ,YAAA,qBAAqB,aARY,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAY3C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAR5B,YAAY;YACZ,aAAa;YACb,kBAAkB;YAClB,YAAY;YACZ,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIZ,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,GAAG,oBAAoB,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,aAAa;wBACb,kBAAkB;wBAClB,YAAY;wBACZ,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,GAAG,oBAAoB,CAAC;AACnC,iBAAA,CAAA;;AAiBK,SAAU,cAAc,CAAC,QAAkB,EAAA;IAC/C,MAAM,IAAI,GAAG,MAAK;QAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC7D,OAAO,CAAC,cAAc,EAAE,CAAC;AAC3B,KAAC,CAAC;AACF,IAAA,OAAO,IAAI,CAAC;AACd;;AC5CO,MAAM,8BAA8B,GAAa;AACtD,IAAA,OAAO,EAAE,2BAA2B;AACpC,IAAA,QAAQ,EAAE,uBAAuB;CAClC,CAAC;AAEK,MAAM,uBAAuB,GAAe;IACjD,8BAA8B;CAC/B;;MCRY,kBAAkB,GAAG,IAAI,cAAc,CAClD,0BAA0B,EAC1B;MAEW,eAAe,GAAG,IAAI,cAAc,CAC/C,uBAAuB,EACvB;MAEW,sBAAsB,GAAG,IAAI,cAAc,CACtD,iCAAiC;;MCHtB,YAAY,CAAA;IAKvB,WACmC,CAAA,aAAwB,EAC/B,QAAkB,EAAA;QADX,IAAa,CAAA,aAAA,GAAb,aAAa,CAAW;QAC/B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAN9C,IAAiB,CAAA,iBAAA,GAA2B,IAAI,CAAC;AAEjD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;KAK/C;IAEJ,MAAM,UAAU,CAAC,SAAwB,EAAA;AACvC,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;YACtC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SACxC;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;AAED,IAAA,MAAM,SAAS,CACb,KAAe,EACf,SAAwB,EAAA;QAExB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;;YAEhE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CACtC,wCAAwC,CACzC,CAAC;YACF,IAAI,SAAS,EAAE;gBACb,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;oBAChE,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;iBACpE;qBAAM;AACL,oBAAA,SAAS,CAAC,qBAAqB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;iBAC1D;aACF;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aAC1C;AACD,YAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;AAClC,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnC,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,MAAM,YAAY,CAChB,KAAQ,EACR,SAAwB,EAAA;AAExB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA,KAAA,EAAQ,KAAK,CAAC,UAAU,CAAA,CAAE,CAAC,CAAC;QACvE,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,MAAM,EAAE,CAAC;SACjB;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KACzC;IAED,MAAM,mBAAmB,CAAC,SAAwB,EAAA;AAChD,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;YACtC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SAC3C;KACF;AAED,IAAA,cAAc,CACZ,KAAe,EACf,SAAwB,EACxB,OAA6B,EAAA;QAE7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAChD,QAAA,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC;AAC5B,QAAA,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;QAC/B,QAAQ,CAAC,IAAI,GAAG,CAAA,EAAG,KAAK,CAAC,UAAU,GACjC,SAAS,KAAK,KAAK,GAAG,MAAM,GAAG,EACjC,MAAM,CAAC;AACP,QAAA,QAAQ,CAAC,MAAM,GAAG,MAAK;YACrB,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpB,SAAC,CAAC;AACF,QAAA,OAAO,QAAQ,CAAC;KACjB;8GAzEU,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAMb,eAAe,EAAA,EAAA,EAAA,KAAA,EACf,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAPP,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAOI,MAAM;2BAAC,eAAe,CAAA;;0BACtB,MAAM;2BAAC,QAAQ,CAAA;;;ACdd,SAAU,kBAAkB,CAChC,OAA4B,EAAA;IAE5B,OAAO,OAAO,KAAK,CAAC,YAAe,KAAK,YAAY,CAAC,CAAC;AACxD;;ACHgB,SAAA,gBAAgB,CAC9B,SAAoB,EACpB,YAAuB,EAAA;IAEvB,SAAS,CAAC,IAAI,CAAC;AACb,QAAA,UAAU,EAAE,WAAW;AACxB,KAAA,CAAC,CAAC;IACH,SAAS,CAAC,IAAI,CAAC;AACb,QAAA,UAAU,EAAE,aAAa;AAC1B,KAAA,CAAC,CAAC;AACH,IAAA,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;AACzC;;ACRa,MAAA,mBAAmB,GAAe;AAC7C,IAAA;AACE,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,UAAU,EAAE,MAAM,EAAE;AACrB,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;AACrC,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,KAAK,EAAE,IAAI;AACZ,KAAA;EACD;AAEc,SAAA,iBAAiB,CAC/B,YAA0B,EAC1B,eAAgC,EAAA;AAEhC,IAAA,OAAO,MAAK;AACV,QAAA,OAAO,eAAe,CAAC,eAAe,CAAC,IAAI,CACzC,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC,CAAC,IAAI,KACb,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAC1D,CACF,CAAC;AACJ,KAAC,CAAC;AACJ;;MC7Ba,MAAM,GAAG,IAAI,cAAc,CAAS,QAAQ;;ACCnD,SAAU,oBAAoB,CAAC,SAA6B,EAAA;IAChE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,IAAI,MAAM,EAAE,CAAA;AAC3D;;MCCa,sBAAsB,GAAG,IAAI,cAAc,CACtD,wBAAwB;;MCab,iBAAiB,CAAA;IA2B5B,WAC4C,CAAA,mBAA0C,EAC1D,MAAW,EAAA;QADK,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAuB;QAC1D,IAAM,CAAA,MAAA,GAAN,MAAM,CAAK;AA1BvC,QAAA,IAAA,CAAA,iBAAiB,GAAG;AAClB,YAAA,IAAI,EAAsB,KAAA;AAC1B,YAAA,KAAK,EAAE,CAAC;SACT,CAAC;QAEF,IAAW,CAAA,WAAA,GAAsC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAEvF,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO;AAChC,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;AAC/B,YAAA,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;AAC9B,SAAA,CAAC,CAAC;QAEO,IAAmB,CAAA,mBAAA,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,KAAI;AACpE,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAyB,CAAC;AAC9E,SAAC,CAAC;QAEF,IAAY,CAAA,YAAA,GAA0C,IAAI,eAAe,CACvE,IAAI,CAAC,mBAAmB,EAAE,CAC3B,CAAC;AAEF,QAAA,IAAA,CAAA,2BAA2B,GAAG,CAAC,KAAa,KAAI;AAC9C,YAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAChC,SAAC,CAAC;QAMA,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAES,aAAa,GAAA;QACrB,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;AACvD,aAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AAE1C,QAAA,IAAI,CAAC,kBAAkB;aACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,oBAAoB,EAAE,CAAC;aAC3D,SAAS,CAAC,OAAO,IAAG;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC;KACN;AAES,IAAA,gBAAgB,CAAC,WAAkC,EAAA;QAC3D,OAAO;AACL,YAAA,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AACxB,iBAAA,GAAG,CAAC,GAAG,KAAK;AACX,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;AACxB,aAAA,CAAC,CAAC;AACF,iBAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AACpC,YAAA,IAAI,CAAC,iBAAiB;SACvB,CAAC;KACH;AAES,IAAA,UAAU,CAAC,KAAa,EAAA;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,YAAY,GAAG,CAAC,IAAY,KAChC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAA,GAAA,kCAA4B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAE5E,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAC7C,UAAU,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CACzE,CAAC;QACF,IAAI,iBAAiB,EAAE;YACrB,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACnD,YAAA,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,QAAQ,oCAAuB,CAAC;AAC/D,YAAA,OAAO,cAAc,KAAK,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC;SAC5D;AAED,QAAA,OAAO,KAAK,CAAC;KACd;8GA1EU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EA4BlB,sBAAsB,EAAA,EAAA,EAAA,KAAA,EACtB,MAAM,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AA7BL,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BA6BI,MAAM;2BAAC,sBAAsB,CAAA;;0BAC7B,MAAM;2BAAC,MAAM,CAAA;;;MC/BL,mBAAmB,CAAA;AAiB9B,IAAA,WAAA,CACU,WAA6B,EAC7B,aAA+B,EAC/B,OAA0B,EACF,SAA4B,EAAA;QAHpD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;QAC7B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;QAC/B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAmB;QACF,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;QApB9D,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AACpB,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;AAIzB,QAAA,IAAA,CAAA,MAAM,GAAG,CAAC,YAAqB,KAAI;AACjC,YAAA,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxD,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;AAAM,iBAAA,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE;AAC5C,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC3B,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;AACD,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;AACjC,SAAC,CAAC;KAOE;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,IAAI,CAAC,OAAO,CAAC,YAAY;AACtB,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACpE,aAAA,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAC1B,CAAC;KACH;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;KACxB;8GAlCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,eAAA,EAAA,OAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA,CAAA;;0BAsBI,QAAQ;;0BAAI,QAAQ;yCAjBC,KAAK,EAAA,CAAA;sBAA5B,KAAK;uBAAC,eAAe,CAAA;;;MCbX,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAJf,YAAA,EAAA,CAAA,mBAAmB,CACxB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAElB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAHpB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,iBAAA,CAAA;;;ACNY,MAAA,mCAAmC,GAA0B;AACxE,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,IAAI;;;ACCJ,SAAU,wBAAwB,CAAC,kBAAmD,EAAA;IAC1F,OAAO;AACL,QAAA,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EACN,kBAAkB,IAAI,mCAAmC;KAC5D,CAAC;AACJ;;ACHM,SAAU,uBAAuB,CAAC,eAAwB,EAAA;IAC9D,OAAO;AACL,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC;AACrC,QAAA,UAAU,EAAE,eAAe,GAAG,qBAAqB,GAAG,MAAM,MAAM,IAAI;KACvE,CAAC;AACJ,CAAC;AACD;AACgB,SAAA,qBAAqB,CACnC,eAAgC,EAChC,YAA0B,EAAA;AAE1B,IAAA,OAAO,MAAK;AACV,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC7B,YAAA,YAAY,CAAC,YAAY;iBACtB,IAAI,CACH,MAAM,CAAC,OAAO,CAAC,EACf,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC,MAAM,eAAe,CAAC,eAAe,CAAC,EAChD,uBAAuB,CAAC,OAAO,CAAC,CACjC;AACA,iBAAA,SAAS,CAAC,OAAO,IAAI,KAAI;AACxB,gBAAA,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC9C,gBAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;AACjD,gBAAA,IAAI,eAAe,CAAC,GAAG,KAAK,SAAS,EAAE;AACrC,oBAAA,eAAe,CAAC,GAAG,GAAG,SAAS,CAAC;iBACjC;AACD,gBAAA,MAAM,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AACL,KAAC,CAAC;AACJ;;MCxCa,qBAAqB,GAAG,IAAI,cAAc,CACrD,uBAAuB;;MC6BZ,aAAa,CAAA;IACxB,OAAO,OAAO,CAAC,OAAwB,EAAA;QACrC,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,qBAAqB;AAC9B,oBAAA,QAAQ,EAAE,0BAA0B;AACrC,iBAAA;AACD,gBAAA,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,CAAC;AACrD,gBAAA,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC;gBACrC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,SAAqB;AAClE,gBAAA,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC;qBACjD,SAAuB;gBAC1B,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,SAAqB;AACtE,gBAAA,mBAAmB,CAAC,OAAO,EAAE,CAAC,SAAqB;gBACnD,uBAAuB;AACvB,gBAAA,GAAG,mBAAmB;AACtB,gBAAA,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,IAAI,IAAI,CAAC;AACjE,aAAA;SACF,CAAC;KACH;8GArBU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAb,aAAa,EAAA,OAAA,EAAA,CAFd,YAAY,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAFd,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEX,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;AAC7C,iBAAA,CAAA;;;MCpBY,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,gFCZ5B,ubAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDEa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,YAAY,EAAA,aAAA,EAEP,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,ubAAA,EAAA,CAAA;8BAG5B,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEHK,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAJX,eAAe,CAAA,EAAA,OAAA,EAAA,CACpB,YAAY,EAAE,aAAa,aAC3B,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEd,eAAe,EAAA,OAAA,EAAA,CAHhB,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG1B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,eAAe,CAAC;AAC/B,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;oBACtC,OAAO,EAAE,CAAC,eAAe,CAAC;AAC3B,iBAAA,CAAA;;;MCQY,kBAAkB,CAAA;AAH/B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,SAAS,CAAC,EAAe,CAAC,CAAC;AAC/C,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAKvD,KAAA;AAHC,IAAA,aAAa,CAAC,KAAgB,EAAA;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACvB;8GANU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCTY,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAoB,OAA2B,EAAA;QAA3B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;AAF/C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;KAEU;8GAHxC,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,kDCP5B,+yBAyBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAS,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAT,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDlBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,+yBAAA,EAAA,CAAA;;;MEOX,eAAe,CAAA;AAC1B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,SAAS,EAAE,EAAE;SACd,CAAC;KACH;8GANU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAJX,eAAe,CAAA,EAAA,OAAA,EAAA,CAEpB,YAAY,EAAE,YAAY,aAD1B,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;+GAGd,eAAe,EAAA,OAAA,EAAA,CAFhB,YAAY,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEzB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,eAAe,CAAC;oBAC/B,OAAO,EAAE,CAAC,eAAe,CAAC;AAC1B,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;AACtC,iBAAA,CAAA;;;MCKY,yBAAyB,CAAA;AAJtC,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAC3C,qBAAqB,CACtB,CAAC;AAgBH,KAAA;IAdC,IACI,0BAA0B,CAAC,KAAU,EAAA;AACvC,QAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KAC1C;IAGD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;KACnC;IAED,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;KACxC;8GAnBU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAQK,0BAA0B,EAAA,CAAA;sBAD7B,KAAK;gBAMN,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,eAAe,CAAA;;;MCrBlB,wBAAwB,CAAA;AACnC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,QAAA,EAAA,mCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mCAAmC;AAC9C,iBAAA,CAAA;;;MCCY,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACrC,iBAAA,CAAA;;;MCCY,8BAA8B,CAAA;AACzC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA9B,8BAA8B,EAAA,QAAA,EAAA,2CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2CAA2C;AACtD,iBAAA,CAAA;;;MCCY,yBAAyB,CAAA;AACpC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,QAAA,EAAA,qCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qCAAqC;AAChD,iBAAA,CAAA;;;MCCY,oBAAoB,CAAA;AAC/B,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AAC1C,iBAAA,CAAA;;;MCCY,sBAAsB,CAAA;AACjC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,QAAA,EAAA,iCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iCAAiC;AAC5C,iBAAA,CAAA;;;MCCY,0BAA0B,CAAA;AACrC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA1B,0BAA0B,EAAA,QAAA,EAAA,sCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sCAAsC;AACjD,iBAAA,CAAA;;;MCCY,oBAAoB,CAAA;AAC/B,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AAC1C,iBAAA,CAAA;;;MCCY,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,QAAA,EAAA,gCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC3C,iBAAA,CAAA;;;MCCY,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,QAAA,EAAA,gCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC3C,iBAAA,CAAA;;;MCCY,uBAAuB,CAAA;AAClC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,QAAA,EAAA,mCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mCAAmC;AAC9C,iBAAA,CAAA;;;MCCY,sBAAsB,CAAA;AACjC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAI;8GADtC,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,QAAA,EAAA,iCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iCAAiC;AAC5C,iBAAA,CAAA;;;ACYD,MAAM,sBAAsB,GAAG;IAC7B,wBAAwB;IACxB,qBAAqB;IACrB,8BAA8B;IAC9B,yBAAyB;IACzB,oBAAoB;IACpB,sBAAsB;IACtB,kBAAkB;IAClB,0BAA0B;IAC1B,oBAAoB;IACpB,qBAAqB;IACrB,sBAAsB;IACtB,uBAAuB;IACvB,qBAAqB;CACtB,CAAC;MAOW,YAAY,CAAA;8GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBApBvB,wBAAwB;YACxB,qBAAqB;YACrB,8BAA8B;YAC9B,yBAAyB;YACzB,oBAAoB;YACpB,sBAAsB;YACtB,kBAAkB;YAClB,0BAA0B;YAC1B,oBAAoB;YACpB,qBAAqB;YACrB,sBAAsB;YACtB,uBAAuB;YACvB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAKX,YAAY,CAAA,EAAA,OAAA,EAAA,CAjBtB,wBAAwB;YACxB,qBAAqB;YACrB,8BAA8B;YAC9B,yBAAyB;YACzB,oBAAoB;YACpB,sBAAsB;YACtB,kBAAkB;YAClB,0BAA0B;YAC1B,oBAAoB;YACpB,qBAAqB;YACrB,sBAAsB;YACtB,uBAAuB;YACvB,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;AAQV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAHb,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,GAAG,sBAAsB,CAAC;oBACzC,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE,CAAC,GAAG,sBAAsB,CAAC;AACrC,iBAAA,CAAA;;;MC/BY,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;QAEU,IAAK,CAAA,KAAA,GAAG,IAAI,SAAS,CAAC,EAAE,KAAK,EAAsB,EAAE,EAAE,CAAC,CAAC;AAEjE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC;AAgCtD,KAAA;AA9BC,IAAA,QAAQ,CAAC,KAAyB,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;KACpD;AAED,IAAA,OAAO,CAAC,IAAiB,EAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAClD;IAED,SAAS,CAAC,MAAuB,EAAE,IAA6B,EAAA;QAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AACnC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,CAAC;AACzD,QAAA,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,OAAO;SACR;AACD,QAAA,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC/B,QAAA,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;AAC7C,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;KAC5B;AAED,IAAA,UAAU,CAAC,EAAmB,EAAA;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AACnC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAExD,QAAA,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,OAAO;SACR;QAED,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;KAC1C;8GAlCU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACJlC;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volo/ngx-lepton-x.core",
3
- "version": "3.1.1",
3
+ "version": "3.1.3",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0",
6
6
  "ts-toolbelt": "^6.15.4",