valtech-components 2.0.604 → 2.0.606

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.
@@ -41,33 +41,47 @@ import * as i0 from "@angular/core";
41
41
  export class DocsPageComponent {
42
42
  constructor() {
43
43
  this.elementRef = inject(ElementRef);
44
- this.props = { title: '' };
44
+ // Use signal internally so computed properties react to changes
45
+ this._props = signal({ title: '' });
45
46
  this.tocItems = signal([]);
46
47
  this.observer = null;
47
- this.tocProps = computed(() => ({
48
- title: this.props.toc?.title ?? 'On this page',
49
- items: this.tocItems(),
50
- }));
51
- this.navLinksProps = computed(() => ({
52
- previous: this.props.previousPage
53
- ? {
54
- label: this.props.navLabels?.previous ?? 'Previous',
55
- title: this.props.previousPage.title,
56
- route: this.props.previousPage.route,
57
- }
58
- : undefined,
59
- next: this.props.nextPage
60
- ? {
61
- label: this.props.navLabels?.next ?? 'Next',
62
- title: this.props.nextPage.title,
63
- route: this.props.nextPage.route,
64
- }
65
- : undefined,
66
- }));
48
+ this.tocProps = computed(() => {
49
+ const props = this._props();
50
+ return {
51
+ title: props.toc?.title ?? 'On this page',
52
+ items: this.tocItems(),
53
+ };
54
+ });
55
+ this.navLinksProps = computed(() => {
56
+ const props = this._props();
57
+ return {
58
+ previous: props.previousPage
59
+ ? {
60
+ // Don't pass label - let DocsNavLinksComponent use its internal i18n-reactive labels
61
+ title: props.previousPage.title,
62
+ route: props.previousPage.route,
63
+ }
64
+ : undefined,
65
+ next: props.nextPage
66
+ ? {
67
+ // Don't pass label - let DocsNavLinksComponent use its internal i18n-reactive labels
68
+ title: props.nextPage.title,
69
+ route: props.nextPage.route,
70
+ }
71
+ : undefined,
72
+ };
73
+ });
67
74
  this.showNavLinks = computed(() => {
68
- return !!this.props.previousPage || !!this.props.nextPage;
75
+ const props = this._props();
76
+ return !!props.previousPage || !!props.nextPage;
69
77
  });
70
78
  }
79
+ set props(value) {
80
+ this._props.set(value);
81
+ }
82
+ get props() {
83
+ return this._props();
84
+ }
71
85
  ngAfterViewInit() {
72
86
  // Initial scan
73
87
  this.scanForSections();
@@ -185,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
185
199
  }], propDecorators: { props: [{
186
200
  type: Input
187
201
  }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvZG9jcy1wYWdlL2RvY3MtcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBNEIsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFFaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBSS9FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBc1VILE1BQU0sT0FBTyxpQkFBaUI7SUFyVTlCO1FBc1VVLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0IsVUFBSyxHQUFxQixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUV6QyxhQUFRLEdBQUcsTUFBTSxDQUFpRCxFQUFFLENBQUMsQ0FBQztRQUN0RSxhQUFRLEdBQTRCLElBQUksQ0FBQztRQTRDakQsYUFBUSxHQUFHLFFBQVEsQ0FBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMxQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLGNBQWM7WUFDOUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7U0FDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSixrQkFBYSxHQUFHLFFBQVEsQ0FBdUIsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNwRCxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2dCQUMvQixD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QUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBaERVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFHQWpVbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1QseTVKQXRDUyxZQUFZLCtCQUFFLHFCQUFxQix5R0FBRSxnQkFBZ0I7OzRGQWtVcEQsaUJBQWlCO2tCQXJVN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLFlBQ3REOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNUOzhCQStSUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBjb21wdXRlZCwgc2lnbmFsLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERvY3NOYXZMaW5rc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9kb2NzLW5hdi1saW5rcy9kb2NzLW5hdi1saW5rcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jc05hdkxpbmtzTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZG9jcy1uYXYtbGlua3MvdHlwZXMnO1xuaW1wb3J0IHsgRG9jc1RvY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9kb2NzLXRvYy9kb2NzLXRvYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jc1RvY01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL2RvY3MtdG9jL3R5cGVzJztcbmltcG9ydCB7IERvY3NQYWdlTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtZG9jcy1wYWdlXG4gKlxuICogQSBjb21wbGV0ZSBkb2N1bWVudGF0aW9uIHBhZ2UgdGVtcGxhdGUgdGhhdCBlbGltaW5hdGVzIGJvaWxlcnBsYXRlLlxuICogUHJvdmlkZXMgYXV0b21hdGljIFRPQyBnZW5lcmF0aW9uLCBuYXZpZ2F0aW9uIGxpbmtzLCBhbmQgY29uc2lzdGVudCBzdHlsaW5nLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRvY3MtcGFnZSBbcHJvcHNdPVwie1xuICogICB0aXRsZTogJ0J1dHRvbicsXG4gKiAgIGxlYWQ6ICdBIGNsaWNrYWJsZSBlbGVtZW50IGZvciB1c2VyIGludGVyYWN0aW9ucy4nLFxuICogICBwcmV2aW91c1BhZ2U6IHsgdGl0bGU6ICdRdWljayBTdGFydCcsIHJvdXRlOiBbJy9kb2NzJywgJ3F1aWNrLXN0YXJ0J10gfSxcbiAqICAgbmV4dFBhZ2U6IHsgdGl0bGU6ICdDYXJkJywgcm91dGU6IFsnL2RvY3MnLCAnY29tcG9uZW50cycsICdjYXJkJ10gfVxuICogfVwiPlxuICogICA8dmFsLWRvY3Mtc2VjdGlvbiBbcHJvcHNdPVwieyBpZDogJ2Jhc2ljLXVzYWdlJywgdGl0bGU6ICdCYXNpYyBVc2FnZScgfVwiPlxuICogICAgIDxwPkNvbnRlbnQgaGVyZS4uLjwvcD5cbiAqICAgPC92YWwtZG9jcy1zZWN0aW9uPlxuICpcbiAqICAgPHZhbC1kb2NzLXNlY3Rpb24gW3Byb3BzXT1cInsgaWQ6ICd2YXJpYW50cycsIHRpdGxlOiAnVmFyaWFudHMnIH1cIj5cbiAqICAgICA8cD5Nb3JlIGNvbnRlbnQuLi48L3A+XG4gKiAgIDwvdmFsLWRvY3Mtc2VjdGlvbj5cbiAqIDwvdmFsLWRvY3MtcGFnZT5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggYmFkZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZG9jcy1wYWdlIFtwcm9wc109XCJ7XG4gKiAgIHRpdGxlOiAnTmV3IENvbXBvbmVudCcsXG4gKiAgIGJhZGdlOiAnTmV3JyxcbiAqICAgYmFkZ2VDb2xvcjogJ3N1Y2Nlc3MnXG4gKiB9XCI+XG4gKiAgIC4uLlxuICogPC92YWwtZG9jcy1wYWdlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEb2NzTmF2TGlua3NDb21wb25lbnQsIERvY3NUb2NDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkb2NzLXBhZ2VcIiBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXBhZ2VfX2NvbnRlbnRcIiAjY29udGVudD5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cImRvY3MtcGFnZV9faGVhZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtcGFnZV9fdGl0bGUtcm93XCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJkb2NzLXBhZ2VfX3RpdGxlXCI+e3sgcHJvcHMudGl0bGUgfX08L2gxPlxuICAgICAgICAgICAgQGlmIChwcm9wcy5iYWRnZSkge1xuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1wYWdlX19iYWRnZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRvY3MtcGFnZV9fYmFkZ2UtLXN1Y2Nlc3NdPVwicHJvcHMuYmFkZ2VDb2xvciA9PT0gJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1wYWdlX19iYWRnZS0td2FybmluZ109XCJwcm9wcy5iYWRnZUNvbG9yID09PSAnd2FybmluZydcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXBhZ2VfX2JhZGdlLS1kYW5nZXJdPVwicHJvcHMuYmFkZ2VDb2xvciA9PT0gJ2RhbmdlcidcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcHJvcHMuYmFkZ2UgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIEBpZiAocHJvcHMubGVhZCkge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJkb2NzLXBhZ2VfX2xlYWRcIj57eyBwcm9wcy5sZWFkIH19PC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtcGFnZV9fc2VjdGlvbnNcIj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoc2hvd05hdkxpbmtzKCkpIHtcbiAgICAgICAgICA8dmFsLWRvY3MtbmF2LWxpbmtzIFtwcm9wc109XCJuYXZMaW5rc1Byb3BzKClcIj48L3ZhbC1kb2NzLW5hdi1saW5rcz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoIXByb3BzLnRvYz8uaGlkZSkge1xuICAgICAgICA8YXNpZGUgY2xhc3M9XCJkb2NzLXBhZ2VfX3RvY1wiPlxuICAgICAgICAgIDx2YWwtZG9jcy10b2MgW3Byb3BzXT1cInRvY1Byb3BzKClcIj48L3ZhbC1kb2NzLXRvYz5cbiAgICAgICAgPC9hc2lkZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC8qIE1haW4gbGF5b3V0ICovXG4gICAgLmRvY3MtcGFnZSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IDJyZW07XG4gICAgICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLmRvY3MtcGFnZSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIyMHB4O1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX2NvbnRlbnQge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX190aXRsZS1yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNzVyZW07XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzFhMWExYSk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmRvY3MtcGFnZV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19iYWRnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICAgIGNvbG9yOiAjODg4O1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX2JhZGdlLS1zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1zdWNjZXNzLXRpbnQsICNlOGY1ZTkpO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1zdWNjZXNzLXNoYWRlLCAjMmU3ZDMyKTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19iYWRnZS0td2FybmluZyB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3Itd2FybmluZy10aW50LCAjZmZmM2UwKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itd2FybmluZy1zaGFkZSwgI2U2NTEwMCk7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fYmFkZ2UtLWRhbmdlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyLXRpbnQsICNmZmViZWUpO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXItc2hhZGUsICNjNjI4MjgpO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX2xlYWQge1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLyogVE9DIC0gSGlkZGVuIG9uIG1vYmlsZSwgdmlzaWJsZSBvbiBkZXNrdG9wICovXG4gICAgLmRvY3MtcGFnZV9fdG9jIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLmRvY3MtcGFnZV9fdG9jIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDRyZW0pO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIENvbnRlbnQgdHlwb2dyYXBoeSBzdHlsZXMgKi9cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBoMiB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMxYTFhMWEpO1xuICAgICAgc2Nyb2xsLW1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwIDFyZW0gMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzFhMWExYSk7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgaDQge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDAuNzVyZW0gMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzFhMWExYSk7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyB1bCxcbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBvbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSwgIzM4ODBmZik7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBjb2RlOm5vdChbY2xhc3MqPSdsYW5ndWFnZS0nXSkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzc1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgJ0ZpcmEgQ29kZScsIENvbnNvbGFzLCBtb25vc3BhY2U7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgcHJlOm5vdChbY2xhc3MqPSdsYW5ndWFnZS0nXSkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHByZTpub3QoW2NsYXNzKj0nbGFuZ3VhZ2UtJ10pIGNvZGUge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyB0aCxcbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyB0ZCB7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0taW9uLWNvbG9yLXByaW1hcnksICMzODgwZmYpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAyKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgOHB4IDhweCAwO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIGJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBociB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cblxuICAgIC8qIERhcmsgbW9kZSAqL1xuICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLXBhZ2VfX2JhZGdlLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT1cImRhcmtcIl0pIC5kb2NzLXBhZ2VfX2JhZGdlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19iYWRnZS0tc3VjY2VzcyxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19iYWRnZS0tc3VjY2VzcyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ2LCAxMjUsIDUwLCAwLjIpO1xuICAgICAgY29sb3I6ICM4MWM3ODQ7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fYmFkZ2UtLXdhcm5pbmcsXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fYmFkZ2UtLXdhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzAsIDgxLCAwLCAwLjIpO1xuICAgICAgY29sb3I6ICNmZmI3NGQ7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fYmFkZ2UtLWRhbmdlcixcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19iYWRnZS0tZGFuZ2VyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTk4LCA0MCwgNDAsIDAuMik7XG4gICAgICBjb2xvcjogI2U1NzM3MztcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBjb2RlOm5vdChbY2xhc3MqPSdsYW5ndWFnZS0nXSksXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fc2VjdGlvbnMgY29kZTpub3QoW2NsYXNzKj0nbGFuZ3VhZ2UtJ10pIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBwcmU6bm90KFtjbGFzcyo9J2xhbmd1YWdlLSddKSxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBwcmU6bm90KFtjbGFzcyo9J2xhbmd1YWdlLSddKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xuICAgIH1cblxuICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHRoLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT1cImRhcmtcIl0pIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHRoIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGgsXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGQsXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGgsXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGQge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fc2VjdGlvbnMgYmxvY2txdW90ZSxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBibG9ja3F1b3RlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fc2VjdGlvbnMgaHIsXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fc2VjdGlvbnMgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgfVxuICBgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jc1BhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgQElucHV0KCkgcHJvcHM6IERvY3NQYWdlTWV0YWRhdGEgPSB7IHRpdGxlOiAnJyB9O1xuXG4gIHByaXZhdGUgdG9jSXRlbXMgPSBzaWduYWw8eyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBsZXZlbDogbnVtYmVyIH1bXT4oW10pO1xuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIEluaXRpYWwgc2NhblxuICAgIHRoaXMuc2NhbkZvclNlY3Rpb25zKCk7XG5cbiAgICAvLyBXYXRjaCBmb3IgZHluYW1pYyBjb250ZW50IGNoYW5nZXNcbiAgICB0aGlzLm9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgdGhpcy5zY2FuRm9yU2VjdGlvbnMoKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRlbnRFbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5kb2NzLXBhZ2VfX3NlY3Rpb25zJyk7XG4gICAgaWYgKGNvbnRlbnRFbCkge1xuICAgICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKGNvbnRlbnRFbCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY2FuRm9yU2VjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRvY3MtcGFnZV9fc2VjdGlvbnMnKTtcbiAgICBpZiAoIWNvbnRlbnRFbCkgcmV0dXJuO1xuXG4gICAgY29uc3QgaGVhZGluZ3MgPSBjb250ZW50RWwucXVlcnlTZWxlY3RvckFsbCgnaDJbaWRdLCBoM1tpZF0sIHNlY3Rpb25baWRdID4gaDIsIHNlY3Rpb25baWRdID4gaDMnKTtcbiAgICBjb25zdCBpdGVtczogeyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBsZXZlbDogbnVtYmVyIH1bXSA9IFtdO1xuXG4gICAgaGVhZGluZ3MuZm9yRWFjaCgoaGVhZGluZzogRWxlbWVudCkgPT4ge1xuICAgICAgLy8gR2V0IElEIGZyb20gaGVhZGluZyBvciBwYXJlbnQgc2VjdGlvblxuICAgICAgbGV0IGlkID0gaGVhZGluZy5pZDtcbiAgICAgIGlmICghaWQgJiYgaGVhZGluZy5wYXJlbnRFbGVtZW50Py50YWdOYW1lID09PSAnU0VDVElPTicpIHtcbiAgICAgICAgaWQgPSBoZWFkaW5nLnBhcmVudEVsZW1lbnQuaWQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChpZCkge1xuICAgICAgICBjb25zdCBsZXZlbCA9IGhlYWRpbmcudGFnTmFtZSA9PT0gJ0gyJyA/IDIgOiAzO1xuICAgICAgICBpdGVtcy5wdXNoKHsgaWQsIGxhYmVsOiBoZWFkaW5nLnRleHRDb250ZW50Py50cmltKCkgfHwgJycsIGxldmVsIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy50b2NJdGVtcy5zZXQoaXRlbXMpO1xuICB9XG5cbiAgdG9jUHJvcHMgPSBjb21wdXRlZDxEb2NzVG9jTWV0YWRhdGE+KCgpID0+ICh7XG4gICAgdGl0bGU6IHRoaXMucHJvcHMudG9jPy50aXRsZSA/PyAnT24gdGhpcyBwYWdlJyxcbiAgICBpdGVtczogdGhpcy50b2NJdGVtcygpLFxuICB9KSk7XG5cbiAgbmF2TGlua3NQcm9wcyA9IGNvbXB1dGVkPERvY3NOYXZMaW5rc01ldGFkYXRhPigoKSA9PiAoe1xuICAgIHByZXZpb3VzOiB0aGlzLnByb3BzLnByZXZpb3VzUGFnZVxuICAgICAgPyB7XG4gICAgICAgICAgbGFiZWw6IHRoaXMucHJvcHMubmF2TGFiZWxzPy5wcmV2aW91cyA/PyAnUHJldmlvdXMnLFxuICAgICAgICAgIHRpdGxlOiB0aGlzLnByb3BzLnByZXZpb3VzUGFnZS50aXRsZSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5wcm9wcy5wcmV2aW91c1BhZ2Uucm91dGUsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIG5leHQ6IHRoaXMucHJvcHMubmV4dFBhZ2VcbiAgICAgID8ge1xuICAgICAgICAgIGxhYmVsOiB0aGlzLnByb3BzLm5hdkxhYmVscz8ubmV4dCA/PyAnTmV4dCcsXG4gICAgICAgICAgdGl0bGU6IHRoaXMucHJvcHMubmV4dFBhZ2UudGl0bGUsXG4gICAgICAgICAgcm91dGU6IHRoaXMucHJvcHMubmV4dFBhZ2Uucm91dGUsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICB9KSk7XG5cbiAgc2hvd05hdkxpbmtzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiAhIXRoaXMucHJvcHMucHJldmlvdXNQYWdlIHx8ICEhdGhpcy5wcm9wcy5uZXh0UGFnZTtcbiAgfSk7XG59XG4iXX0=
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvZG9jcy1wYWdlL2RvY3MtcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBNEIsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFFaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBSS9FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBc1VILE1BQU0sT0FBTyxpQkFBaUI7SUFyVTlCO1FBc1VVLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEMsZ0VBQWdFO1FBQ3hELFdBQU0sR0FBRyxNQUFNLENBQW1CLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFVakQsYUFBUSxHQUFHLE1BQU0sQ0FBaUQsRUFBRSxDQUFDLENBQUM7UUFDdEUsYUFBUSxHQUE0QixJQUFJLENBQUM7UUE0Q2pELGFBQVEsR0FBRyxRQUFRLENBQWtCLEdBQUcsRUFBRTtZQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsT0FBTztnQkFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLElBQUksY0FBYztnQkFDekMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7YUFDdkIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsa0JBQWEsR0FBRyxRQUFR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LENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBekRVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFHQWpVbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1QseTVKQXRDUyxZQUFZLCtCQUFFLHFCQUFxQix5R0FBRSxnQkFBZ0I7OzRGQWtVcEQsaUJBQWlCO2tCQXJVN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLFlBQ3REOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNUOzhCQW1TRyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBjb21wdXRlZCwgc2lnbmFsLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERvY3NOYXZMaW5rc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9kb2NzLW5hdi1saW5rcy9kb2NzLW5hdi1saW5rcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jc05hdkxpbmtzTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZG9jcy1uYXYtbGlua3MvdHlwZXMnO1xuaW1wb3J0IHsgRG9jc1RvY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9kb2NzLXRvYy9kb2NzLXRvYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jc1RvY01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL2RvY3MtdG9jL3R5cGVzJztcbmltcG9ydCB7IERvY3NQYWdlTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtZG9jcy1wYWdlXG4gKlxuICogQSBjb21wbGV0ZSBkb2N1bWVudGF0aW9uIHBhZ2UgdGVtcGxhdGUgdGhhdCBlbGltaW5hdGVzIGJvaWxlcnBsYXRlLlxuICogUHJvdmlkZXMgYXV0b21hdGljIFRPQyBnZW5lcmF0aW9uLCBuYXZpZ2F0aW9uIGxpbmtzLCBhbmQgY29uc2lzdGVudCBzdHlsaW5nLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRvY3MtcGFnZSBbcHJvcHNdPVwie1xuICogICB0aXRsZTogJ0J1dHRvbicsXG4gKiAgIGxlYWQ6ICdBIGNsaWNrYWJsZSBlbGVtZW50IGZvciB1c2VyIGludGVyYWN0aW9ucy4nLFxuICogICBwcmV2aW91c1BhZ2U6IHsgdGl0bGU6ICdRdWljayBTdGFydCcsIHJvdXRlOiBbJy9kb2NzJywgJ3F1aWNrLXN0YXJ0J10gfSxcbiAqICAgbmV4dFBhZ2U6IHsgdGl0bGU6ICdDYXJkJywgcm91dGU6IFsnL2RvY3MnLCAnY29tcG9uZW50cycsICdjYXJkJ10gfVxuICogfVwiPlxuICogICA8dmFsLWRvY3Mtc2VjdGlvbiBbcHJvcHNdPVwieyBpZDogJ2Jhc2ljLXVzYWdlJywgdGl0bGU6ICdCYXNpYyBVc2FnZScgfVwiPlxuICogICAgIDxwPkNvbnRlbnQgaGVyZS4uLjwvcD5cbiAqICAgPC92YWwtZG9jcy1zZWN0aW9uPlxuICpcbiAqICAgPHZhbC1kb2NzLXNlY3Rpb24gW3Byb3BzXT1cInsgaWQ6ICd2YXJpYW50cycsIHRpdGxlOiAnVmFyaWFudHMnIH1cIj5cbiAqICAgICA8cD5Nb3JlIGNvbnRlbnQuLi48L3A+XG4gKiAgIDwvdmFsLWRvY3Mtc2VjdGlvbj5cbiAqIDwvdmFsLWRvY3MtcGFnZT5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggYmFkZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZG9jcy1wYWdlIFtwcm9wc109XCJ7XG4gKiAgIHRpdGxlOiAnTmV3IENvbXBvbmVudCcsXG4gKiAgIGJhZGdlOiAnTmV3JyxcbiAqICAgYmFkZ2VDb2xvcjogJ3N1Y2Nlc3MnXG4gKiB9XCI+XG4gKiAgIC4uLlxuICogPC92YWwtZG9jcy1wYWdlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEb2NzTmF2TGlua3NDb21wb25lbnQsIERvY3NUb2NDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkb2NzLXBhZ2VcIiBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXBhZ2VfX2NvbnRlbnRcIiAjY29udGVudD5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cImRvY3MtcGFnZV9faGVhZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtcGFnZV9fdGl0bGUtcm93XCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJkb2NzLXBhZ2VfX3RpdGxlXCI+e3sgcHJvcHMudGl0bGUgfX08L2gxPlxuICAgICAgICAgICAgQGlmIChwcm9wcy5iYWRnZSkge1xuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1wYWdlX19iYWRnZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRvY3MtcGFnZV9fYmFkZ2UtLXN1Y2Nlc3NdPVwicHJvcHMuYmFkZ2VDb2xvciA9PT0gJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1wYWdlX19iYWRnZS0td2FybmluZ109XCJwcm9wcy5iYWRnZUNvbG9yID09PSAnd2FybmluZydcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXBhZ2VfX2JhZGdlLS1kYW5nZXJdPVwicHJvcHMuYmFkZ2VDb2xvciA9PT0gJ2RhbmdlcidcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcHJvcHMuYmFkZ2UgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIEBpZiAocHJvcHMubGVhZCkge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJkb2NzLXBhZ2VfX2xlYWRcIj57eyBwcm9wcy5sZWFkIH19PC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtcGFnZV9fc2VjdGlvbnNcIj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoc2hvd05hdkxpbmtzKCkpIHtcbiAgICAgICAgICA8dmFsLWRvY3MtbmF2LWxpbmtzIFtwcm9wc109XCJuYXZMaW5rc1Byb3BzKClcIj48L3ZhbC1kb2NzLW5hdi1saW5rcz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoIXByb3BzLnRvYz8uaGlkZSkge1xuICAgICAgICA8YXNpZGUgY2xhc3M9XCJkb2NzLXBhZ2VfX3RvY1wiPlxuICAgICAgICAgIDx2YWwtZG9jcy10b2MgW3Byb3BzXT1cInRvY1Byb3BzKClcIj48L3ZhbC1kb2NzLXRvYz5cbiAgICAgICAgPC9hc2lkZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC8qIE1haW4gbGF5b3V0ICovXG4gICAgLmRvY3MtcGFnZSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IDJyZW07XG4gICAgICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLmRvY3MtcGFnZSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIyMHB4O1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX2NvbnRlbnQge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX190aXRsZS1yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNzVyZW07XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzFhMWExYSk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmRvY3MtcGFnZV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19iYWRnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICAgIGNvbG9yOiAjODg4O1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX2JhZGdlLS1zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1zdWNjZXNzLXRpbnQsICNlOGY1ZTkpO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1zdWNjZXNzLXNoYWRlLCAjMmU3ZDMyKTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19iYWRnZS0td2FybmluZyB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3Itd2FybmluZy10aW50LCAjZmZmM2UwKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itd2FybmluZy1zaGFkZSwgI2U2NTEwMCk7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fYmFkZ2UtLWRhbmdlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyLXRpbnQsICNmZmViZWUpO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXItc2hhZGUsICNjNjI4MjgpO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX2xlYWQge1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLyogVE9DIC0gSGlkZGVuIG9uIG1vYmlsZSwgdmlzaWJsZSBvbiBkZXNrdG9wICovXG4gICAgLmRvY3MtcGFnZV9fdG9jIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLmRvY3MtcGFnZV9fdG9jIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDRyZW0pO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIENvbnRlbnQgdHlwb2dyYXBoeSBzdHlsZXMgKi9cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBoMiB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMxYTFhMWEpO1xuICAgICAgc2Nyb2xsLW1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwIDFyZW0gMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzFhMWExYSk7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgaDQge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDAuNzVyZW0gMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzFhMWExYSk7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyB1bCxcbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBvbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSwgIzM4ODBmZik7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBjb2RlOm5vdChbY2xhc3MqPSdsYW5ndWFnZS0nXSkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzc1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgJ0ZpcmEgQ29kZScsIENvbnNvbGFzLCBtb25vc3BhY2U7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgcHJlOm5vdChbY2xhc3MqPSdsYW5ndWFnZS0nXSkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHByZTpub3QoW2NsYXNzKj0nbGFuZ3VhZ2UtJ10pIGNvZGUge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyB0aCxcbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyB0ZCB7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0taW9uLWNvbG9yLXByaW1hcnksICMzODgwZmYpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAyKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgOHB4IDhweCAwO1xuICAgIH1cblxuICAgIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIGJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbiAgICAuZG9jcy1wYWdlX19zZWN0aW9ucyBociB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLmRvY3MtcGFnZV9fc2VjdGlvbnMgc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cblxuICAgIC8qIERhcmsgbW9kZSAqL1xuICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLXBhZ2VfX2JhZGdlLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT1cImRhcmtcIl0pIC5kb2NzLXBhZ2VfX2JhZGdlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19iYWRnZS0tc3VjY2VzcyxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19iYWRnZS0tc3VjY2VzcyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ2LCAxMjUsIDUwLCAwLjIpO1xuICAgICAgY29sb3I6ICM4MWM3ODQ7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fYmFkZ2UtLXdhcm5pbmcsXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fYmFkZ2UtLXdhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzAsIDgxLCAwLCAwLjIpO1xuICAgICAgY29sb3I6ICNmZmI3NGQ7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fYmFkZ2UtLWRhbmdlcixcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19iYWRnZS0tZGFuZ2VyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTk4LCA0MCwgNDAsIDAuMik7XG4gICAgICBjb2xvcjogI2U1NzM3MztcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBjb2RlOm5vdChbY2xhc3MqPSdsYW5ndWFnZS0nXSksXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fc2VjdGlvbnMgY29kZTpub3QoW2NsYXNzKj0nbGFuZ3VhZ2UtJ10pIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBwcmU6bm90KFtjbGFzcyo9J2xhbmd1YWdlLSddKSxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBwcmU6bm90KFtjbGFzcyo9J2xhbmd1YWdlLSddKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xuICAgIH1cblxuICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHRoLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT1cImRhcmtcIl0pIC5kb2NzLXBhZ2VfX3NlY3Rpb25zIHRoIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGgsXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGQsXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGgsXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fc2VjdGlvbnMgdGQge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fc2VjdGlvbnMgYmxvY2txdW90ZSxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9XCJkYXJrXCJdKSAuZG9jcy1wYWdlX19zZWN0aW9ucyBibG9ja3F1b3RlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtcGFnZV9fc2VjdGlvbnMgaHIsXG4gICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPVwiZGFya1wiXSkgLmRvY3MtcGFnZV9fc2VjdGlvbnMgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgfVxuICBgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jc1BhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgLy8gVXNlIHNpZ25hbCBpbnRlcm5hbGx5IHNvIGNvbXB1dGVkIHByb3BlcnRpZXMgcmVhY3QgdG8gY2hhbmdlc1xuICBwcml2YXRlIF9wcm9wcyA9IHNpZ25hbDxEb2NzUGFnZU1ldGFkYXRhPih7IHRpdGxlOiAnJyB9KTtcblxuICBASW5wdXQoKVxuICBzZXQgcHJvcHModmFsdWU6IERvY3NQYWdlTWV0YWRhdGEpIHtcbiAgICB0aGlzLl9wcm9wcy5zZXQodmFsdWUpO1xuICB9XG4gIGdldCBwcm9wcygpOiBEb2NzUGFnZU1ldGFkYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fcHJvcHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9jSXRlbXMgPSBzaWduYWw8eyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBsZXZlbDogbnVtYmVyIH1bXT4oW10pO1xuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIEluaXRpYWwgc2NhblxuICAgIHRoaXMuc2NhbkZvclNlY3Rpb25zKCk7XG5cbiAgICAvLyBXYXRjaCBmb3IgZHluYW1pYyBjb250ZW50IGNoYW5nZXNcbiAgICB0aGlzLm9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgdGhpcy5zY2FuRm9yU2VjdGlvbnMoKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRlbnRFbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5kb2NzLXBhZ2VfX3NlY3Rpb25zJyk7XG4gICAgaWYgKGNvbnRlbnRFbCkge1xuICAgICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKGNvbnRlbnRFbCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY2FuRm9yU2VjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudEVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRvY3MtcGFnZV9fc2VjdGlvbnMnKTtcbiAgICBpZiAoIWNvbnRlbnRFbCkgcmV0dXJuO1xuXG4gICAgY29uc3QgaGVhZGluZ3MgPSBjb250ZW50RWwucXVlcnlTZWxlY3RvckFsbCgnaDJbaWRdLCBoM1tpZF0sIHNlY3Rpb25baWRdID4gaDIsIHNlY3Rpb25baWRdID4gaDMnKTtcbiAgICBjb25zdCBpdGVtczogeyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBsZXZlbDogbnVtYmVyIH1bXSA9IFtdO1xuXG4gICAgaGVhZGluZ3MuZm9yRWFjaCgoaGVhZGluZzogRWxlbWVudCkgPT4ge1xuICAgICAgLy8gR2V0IElEIGZyb20gaGVhZGluZyBvciBwYXJlbnQgc2VjdGlvblxuICAgICAgbGV0IGlkID0gaGVhZGluZy5pZDtcbiAgICAgIGlmICghaWQgJiYgaGVhZGluZy5wYXJlbnRFbGVtZW50Py50YWdOYW1lID09PSAnU0VDVElPTicpIHtcbiAgICAgICAgaWQgPSBoZWFkaW5nLnBhcmVudEVsZW1lbnQuaWQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChpZCkge1xuICAgICAgICBjb25zdCBsZXZlbCA9IGhlYWRpbmcudGFnTmFtZSA9PT0gJ0gyJyA/IDIgOiAzO1xuICAgICAgICBpdGVtcy5wdXNoKHsgaWQsIGxhYmVsOiBoZWFkaW5nLnRleHRDb250ZW50Py50cmltKCkgfHwgJycsIGxldmVsIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy50b2NJdGVtcy5zZXQoaXRlbXMpO1xuICB9XG5cbiAgdG9jUHJvcHMgPSBjb21wdXRlZDxEb2NzVG9jTWV0YWRhdGE+KCgpID0+IHtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMuX3Byb3BzKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBwcm9wcy50b2M/LnRpdGxlID8/ICdPbiB0aGlzIHBhZ2UnLFxuICAgICAgaXRlbXM6IHRoaXMudG9jSXRlbXMoKSxcbiAgICB9O1xuICB9KTtcblxuICBuYXZMaW5rc1Byb3BzID0gY29tcHV0ZWQ8RG9jc05hdkxpbmtzTWV0YWRhdGE+KCgpID0+IHtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMuX3Byb3BzKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByZXZpb3VzOiBwcm9wcy5wcmV2aW91c1BhZ2VcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAvLyBEb24ndCBwYXNzIGxhYmVsIC0gbGV0IERvY3NOYXZMaW5rc0NvbXBvbmVudCB1c2UgaXRzIGludGVybmFsIGkxOG4tcmVhY3RpdmUgbGFiZWxzXG4gICAgICAgICAgICB0aXRsZTogcHJvcHMucHJldmlvdXNQYWdlLnRpdGxlLFxuICAgICAgICAgICAgcm91dGU6IHByb3BzLnByZXZpb3VzUGFnZS5yb3V0ZSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgbmV4dDogcHJvcHMubmV4dFBhZ2VcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAvLyBEb24ndCBwYXNzIGxhYmVsIC0gbGV0IERvY3NOYXZMaW5rc0NvbXBvbmVudCB1c2UgaXRzIGludGVybmFsIGkxOG4tcmVhY3RpdmUgbGFiZWxzXG4gICAgICAgICAgICB0aXRsZTogcHJvcHMubmV4dFBhZ2UudGl0bGUsXG4gICAgICAgICAgICByb3V0ZTogcHJvcHMubmV4dFBhZ2Uucm91dGUsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9KTtcblxuICBzaG93TmF2TGlua3MgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLl9wcm9wcygpO1xuICAgIHJldHVybiAhIXByb3BzLnByZXZpb3VzUGFnZSB8fCAhIXByb3BzLm5leHRQYWdlO1xuICB9KTtcbn1cbiJdfQ==
@@ -37875,33 +37875,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
37875
37875
  class DocsPageComponent {
37876
37876
  constructor() {
37877
37877
  this.elementRef = inject(ElementRef);
37878
- this.props = { title: '' };
37878
+ // Use signal internally so computed properties react to changes
37879
+ this._props = signal({ title: '' });
37879
37880
  this.tocItems = signal([]);
37880
37881
  this.observer = null;
37881
- this.tocProps = computed(() => ({
37882
- title: this.props.toc?.title ?? 'On this page',
37883
- items: this.tocItems(),
37884
- }));
37885
- this.navLinksProps = computed(() => ({
37886
- previous: this.props.previousPage
37887
- ? {
37888
- label: this.props.navLabels?.previous ?? 'Previous',
37889
- title: this.props.previousPage.title,
37890
- route: this.props.previousPage.route,
37891
- }
37892
- : undefined,
37893
- next: this.props.nextPage
37894
- ? {
37895
- label: this.props.navLabels?.next ?? 'Next',
37896
- title: this.props.nextPage.title,
37897
- route: this.props.nextPage.route,
37898
- }
37899
- : undefined,
37900
- }));
37882
+ this.tocProps = computed(() => {
37883
+ const props = this._props();
37884
+ return {
37885
+ title: props.toc?.title ?? 'On this page',
37886
+ items: this.tocItems(),
37887
+ };
37888
+ });
37889
+ this.navLinksProps = computed(() => {
37890
+ const props = this._props();
37891
+ return {
37892
+ previous: props.previousPage
37893
+ ? {
37894
+ // Don't pass label - let DocsNavLinksComponent use its internal i18n-reactive labels
37895
+ title: props.previousPage.title,
37896
+ route: props.previousPage.route,
37897
+ }
37898
+ : undefined,
37899
+ next: props.nextPage
37900
+ ? {
37901
+ // Don't pass label - let DocsNavLinksComponent use its internal i18n-reactive labels
37902
+ title: props.nextPage.title,
37903
+ route: props.nextPage.route,
37904
+ }
37905
+ : undefined,
37906
+ };
37907
+ });
37901
37908
  this.showNavLinks = computed(() => {
37902
- return !!this.props.previousPage || !!this.props.nextPage;
37909
+ const props = this._props();
37910
+ return !!props.previousPage || !!props.nextPage;
37903
37911
  });
37904
37912
  }
37913
+ set props(value) {
37914
+ this._props.set(value);
37915
+ }
37916
+ get props() {
37917
+ return this._props();
37918
+ }
37905
37919
  ngAfterViewInit() {
37906
37920
  // Initial scan
37907
37921
  this.scanForSections();