@unovis/angular 1.6.8-stellar-beta.0 → 1.7.0-csp.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.md +4 -0
  2. package/dist/lib/README.md +4 -0
  3. package/dist/lib/fesm2022/unovis-angular.mjs +6639 -0
  4. package/dist/lib/fesm2022/unovis-angular.mjs.map +1 -0
  5. package/dist/lib/index.d.ts +3878 -0
  6. package/package.json +28 -43
  7. package/dist/lib/bundles/unovis-angular.umd.js +0 -3928
  8. package/dist/lib/bundles/unovis-angular.umd.js.map +0 -1
  9. package/dist/lib/components/annotations/annotations.component.d.ts +0 -75
  10. package/dist/lib/components/annotations/annotations.module.d.ts +0 -7
  11. package/dist/lib/components/area/area.component.d.ts +0 -106
  12. package/dist/lib/components/area/area.module.d.ts +0 -7
  13. package/dist/lib/components/axis/axis.component.d.ts +0 -126
  14. package/dist/lib/components/axis/axis.module.d.ts +0 -7
  15. package/dist/lib/components/brush/brush.component.d.ts +0 -86
  16. package/dist/lib/components/brush/brush.module.d.ts +0 -7
  17. package/dist/lib/components/chord-diagram/chord-diagram.component.d.ts +0 -91
  18. package/dist/lib/components/chord-diagram/chord-diagram.module.d.ts +0 -7
  19. package/dist/lib/components/crosshair/crosshair.component.d.ts +0 -132
  20. package/dist/lib/components/crosshair/crosshair.module.d.ts +0 -7
  21. package/dist/lib/components/donut/donut.component.d.ts +0 -99
  22. package/dist/lib/components/donut/donut.module.d.ts +0 -7
  23. package/dist/lib/components/free-brush/free-brush.component.d.ts +0 -85
  24. package/dist/lib/components/free-brush/free-brush.module.d.ts +0 -7
  25. package/dist/lib/components/graph/graph.component.d.ts +0 -302
  26. package/dist/lib/components/graph/graph.module.d.ts +0 -7
  27. package/dist/lib/components/grouped-bar/grouped-bar.component.d.ts +0 -101
  28. package/dist/lib/components/grouped-bar/grouped-bar.module.d.ts +0 -7
  29. package/dist/lib/components/line/line.component.d.ts +0 -102
  30. package/dist/lib/components/line/line.module.d.ts +0 -7
  31. package/dist/lib/components/nested-donut/nested-donut.component.d.ts +0 -107
  32. package/dist/lib/components/nested-donut/nested-donut.module.d.ts +0 -7
  33. package/dist/lib/components/plotband/plotband.component.d.ts +0 -81
  34. package/dist/lib/components/plotband/plotband.module.d.ts +0 -7
  35. package/dist/lib/components/plotline/plotline.component.d.ts +0 -87
  36. package/dist/lib/components/plotline/plotline.module.d.ts +0 -7
  37. package/dist/lib/components/sankey/sankey.component.d.ts +0 -194
  38. package/dist/lib/components/sankey/sankey.module.d.ts +0 -7
  39. package/dist/lib/components/scatter/scatter.component.d.ts +0 -110
  40. package/dist/lib/components/scatter/scatter.module.d.ts +0 -7
  41. package/dist/lib/components/stacked-bar/stacked-bar.component.d.ts +0 -103
  42. package/dist/lib/components/stacked-bar/stacked-bar.module.d.ts +0 -7
  43. package/dist/lib/components/timeline/timeline.component.d.ts +0 -159
  44. package/dist/lib/components/timeline/timeline.module.d.ts +0 -7
  45. package/dist/lib/components/tooltip/tooltip.component.d.ts +0 -73
  46. package/dist/lib/components/tooltip/tooltip.module.d.ts +0 -7
  47. package/dist/lib/components/topojson-map/topojson-map.component.d.ts +0 -215
  48. package/dist/lib/components/topojson-map/topojson-map.module.d.ts +0 -7
  49. package/dist/lib/components/xy-labels/xy-labels.component.d.ts +0 -107
  50. package/dist/lib/components/xy-labels/xy-labels.module.d.ts +0 -7
  51. package/dist/lib/components.d.ts +0 -53
  52. package/dist/lib/containers/single-container/single-container.component.d.ts +0 -46
  53. package/dist/lib/containers/single-container/single-container.module.d.ts +0 -7
  54. package/dist/lib/containers/xy-container/xy-container.component.d.ts +0 -101
  55. package/dist/lib/containers/xy-container/xy-container.module.d.ts +0 -7
  56. package/dist/lib/containers.d.ts +0 -4
  57. package/dist/lib/core/core-component.d.ts +0 -6
  58. package/dist/lib/core/generic-component.d.ts +0 -3
  59. package/dist/lib/core/index.d.ts +0 -3
  60. package/dist/lib/core/xy-component.d.ts +0 -6
  61. package/dist/lib/esm2015/components/annotations/annotations.component.js +0 -45
  62. package/dist/lib/esm2015/components/annotations/annotations.module.js +0 -18
  63. package/dist/lib/esm2015/components/area/area.component.js +0 -87
  64. package/dist/lib/esm2015/components/area/area.module.js +0 -18
  65. package/dist/lib/esm2015/components/axis/axis.component.js +0 -111
  66. package/dist/lib/esm2015/components/axis/axis.module.js +0 -18
  67. package/dist/lib/esm2015/components/brush/brush.component.js +0 -71
  68. package/dist/lib/esm2015/components/brush/brush.module.js +0 -18
  69. package/dist/lib/esm2015/components/chord-diagram/chord-diagram.component.js +0 -79
  70. package/dist/lib/esm2015/components/chord-diagram/chord-diagram.module.js +0 -18
  71. package/dist/lib/esm2015/components/crosshair/crosshair.component.js +0 -95
  72. package/dist/lib/esm2015/components/crosshair/crosshair.module.js +0 -18
  73. package/dist/lib/esm2015/components/donut/donut.component.js +0 -87
  74. package/dist/lib/esm2015/components/donut/donut.module.js +0 -18
  75. package/dist/lib/esm2015/components/free-brush/free-brush.component.js +0 -69
  76. package/dist/lib/esm2015/components/free-brush/free-brush.module.js +0 -18
  77. package/dist/lib/esm2015/components/graph/graph.component.js +0 -237
  78. package/dist/lib/esm2015/components/graph/graph.module.js +0 -18
  79. package/dist/lib/esm2015/components/grouped-bar/grouped-bar.component.js +0 -83
  80. package/dist/lib/esm2015/components/grouped-bar/grouped-bar.module.js +0 -18
  81. package/dist/lib/esm2015/components/line/line.component.js +0 -79
  82. package/dist/lib/esm2015/components/line/line.module.js +0 -18
  83. package/dist/lib/esm2015/components/nested-donut/nested-donut.component.js +0 -89
  84. package/dist/lib/esm2015/components/nested-donut/nested-donut.module.js +0 -18
  85. package/dist/lib/esm2015/components/plotband/plotband.component.js +0 -61
  86. package/dist/lib/esm2015/components/plotband/plotband.module.js +0 -18
  87. package/dist/lib/esm2015/components/plotline/plotline.component.js +0 -63
  88. package/dist/lib/esm2015/components/plotline/plotline.module.js +0 -18
  89. package/dist/lib/esm2015/components/sankey/sankey.component.js +0 -165
  90. package/dist/lib/esm2015/components/sankey/sankey.module.js +0 -18
  91. package/dist/lib/esm2015/components/scatter/scatter.component.js +0 -89
  92. package/dist/lib/esm2015/components/scatter/scatter.module.js +0 -18
  93. package/dist/lib/esm2015/components/stacked-bar/stacked-bar.component.js +0 -83
  94. package/dist/lib/esm2015/components/stacked-bar/stacked-bar.module.js +0 -18
  95. package/dist/lib/esm2015/components/timeline/timeline.component.js +0 -137
  96. package/dist/lib/esm2015/components/timeline/timeline.module.js +0 -18
  97. package/dist/lib/esm2015/components/tooltip/tooltip.component.js +0 -61
  98. package/dist/lib/esm2015/components/tooltip/tooltip.module.js +0 -18
  99. package/dist/lib/esm2015/components/topojson-map/topojson-map.component.js +0 -173
  100. package/dist/lib/esm2015/components/topojson-map/topojson-map.module.js +0 -18
  101. package/dist/lib/esm2015/components/xy-labels/xy-labels.component.js +0 -91
  102. package/dist/lib/esm2015/components/xy-labels/xy-labels.module.js +0 -18
  103. package/dist/lib/esm2015/components.js +0 -57
  104. package/dist/lib/esm2015/containers/single-container/single-container.component.js +0 -82
  105. package/dist/lib/esm2015/containers/single-container/single-container.module.js +0 -17
  106. package/dist/lib/esm2015/containers/xy-container/xy-container.component.js +0 -177
  107. package/dist/lib/esm2015/containers/xy-container/xy-container.module.js +0 -17
  108. package/dist/lib/esm2015/containers.js +0 -5
  109. package/dist/lib/esm2015/core/core-component.js +0 -4
  110. package/dist/lib/esm2015/core/generic-component.js +0 -3
  111. package/dist/lib/esm2015/core/index.js +0 -4
  112. package/dist/lib/esm2015/core/xy-component.js +0 -4
  113. package/dist/lib/esm2015/html-components/bullet-legend/bullet-legend.component.js +0 -56
  114. package/dist/lib/esm2015/html-components/bullet-legend/bullet-legend.module.js +0 -18
  115. package/dist/lib/esm2015/html-components/flow-legend/flow-legend.component.js +0 -60
  116. package/dist/lib/esm2015/html-components/flow-legend/flow-legend.module.js +0 -18
  117. package/dist/lib/esm2015/html-components/leaflet-flow-map/leaflet-flow-map.component.js +0 -170
  118. package/dist/lib/esm2015/html-components/leaflet-flow-map/leaflet-flow-map.module.js +0 -18
  119. package/dist/lib/esm2015/html-components/leaflet-map/leaflet-map.component.js +0 -144
  120. package/dist/lib/esm2015/html-components/leaflet-map/leaflet-map.module.js +0 -18
  121. package/dist/lib/esm2015/html-components/rolling-pin-legend/rolling-pin-legend.component.js +0 -48
  122. package/dist/lib/esm2015/html-components/rolling-pin-legend/rolling-pin-legend.module.js +0 -18
  123. package/dist/lib/esm2015/public-api.js +0 -3
  124. package/dist/lib/esm2015/unovis-angular.js +0 -5
  125. package/dist/lib/fesm2015/unovis-angular.js +0 -3113
  126. package/dist/lib/fesm2015/unovis-angular.js.map +0 -1
  127. package/dist/lib/html-components/bullet-legend/bullet-legend.component.d.ts +0 -42
  128. package/dist/lib/html-components/bullet-legend/bullet-legend.module.d.ts +0 -7
  129. package/dist/lib/html-components/flow-legend/flow-legend.component.d.ts +0 -34
  130. package/dist/lib/html-components/flow-legend/flow-legend.module.d.ts +0 -7
  131. package/dist/lib/html-components/leaflet-flow-map/leaflet-flow-map.component.d.ts +0 -212
  132. package/dist/lib/html-components/leaflet-flow-map/leaflet-flow-map.module.d.ts +0 -7
  133. package/dist/lib/html-components/leaflet-map/leaflet-map.component.d.ts +0 -183
  134. package/dist/lib/html-components/leaflet-map/leaflet-map.module.d.ts +0 -7
  135. package/dist/lib/html-components/rolling-pin-legend/rolling-pin-legend.component.d.ts +0 -24
  136. package/dist/lib/html-components/rolling-pin-legend/rolling-pin-legend.module.d.ts +0 -7
  137. package/dist/lib/package.json +0 -52
  138. package/dist/lib/public-api.d.ts +0 -2
  139. package/dist/lib/unovis-angular.d.ts +0 -5
@@ -1,53 +0,0 @@
1
- export * from './core';
2
- export { VisAreaComponent } from './components/area/area.component';
3
- export { VisAreaModule } from './components/area/area.module';
4
- export { VisAnnotationsComponent } from './components/annotations/annotations.component';
5
- export { VisAnnotationsModule } from './components/annotations/annotations.module';
6
- export { VisAxisComponent } from './components/axis/axis.component';
7
- export { VisAxisModule } from './components/axis/axis.module';
8
- export { VisBrushComponent } from './components/brush/brush.component';
9
- export { VisBrushModule } from './components/brush/brush.module';
10
- export { VisChordDiagramComponent } from './components/chord-diagram/chord-diagram.component';
11
- export { VisChordDiagramModule } from './components/chord-diagram/chord-diagram.module';
12
- export { VisCrosshairComponent } from './components/crosshair/crosshair.component';
13
- export { VisCrosshairModule } from './components/crosshair/crosshair.module';
14
- export { VisDonutComponent } from './components/donut/donut.component';
15
- export { VisDonutModule } from './components/donut/donut.module';
16
- export { VisFreeBrushComponent } from './components/free-brush/free-brush.component';
17
- export { VisFreeBrushModule } from './components/free-brush/free-brush.module';
18
- export { VisGraphComponent } from './components/graph/graph.component';
19
- export { VisGraphModule } from './components/graph/graph.module';
20
- export { VisGroupedBarComponent } from './components/grouped-bar/grouped-bar.component';
21
- export { VisGroupedBarModule } from './components/grouped-bar/grouped-bar.module';
22
- export { VisLineComponent } from './components/line/line.component';
23
- export { VisLineModule } from './components/line/line.module';
24
- export { VisNestedDonutComponent } from './components/nested-donut/nested-donut.component';
25
- export { VisNestedDonutModule } from './components/nested-donut/nested-donut.module';
26
- export { VisPlotlineComponent } from './components/plotline/plotline.component';
27
- export { VisPlotlineModule } from './components/plotline/plotline.module';
28
- export { VisSankeyComponent } from './components/sankey/sankey.component';
29
- export { VisSankeyModule } from './components/sankey/sankey.module';
30
- export { VisScatterComponent } from './components/scatter/scatter.component';
31
- export { VisScatterModule } from './components/scatter/scatter.module';
32
- export { VisStackedBarComponent } from './components/stacked-bar/stacked-bar.component';
33
- export { VisStackedBarModule } from './components/stacked-bar/stacked-bar.module';
34
- export { VisTimelineComponent } from './components/timeline/timeline.component';
35
- export { VisTimelineModule } from './components/timeline/timeline.module';
36
- export { VisXYLabelsComponent } from './components/xy-labels/xy-labels.component';
37
- export { VisXYLabelsModule } from './components/xy-labels/xy-labels.module';
38
- export { VisTopoJSONMapComponent } from './components/topojson-map/topojson-map.component';
39
- export { VisTopoJSONMapModule } from './components/topojson-map/topojson-map.module';
40
- export { VisPlotbandComponent } from './components/plotband/plotband.component';
41
- export { VisPlotbandModule } from './components/plotband/plotband.module';
42
- export { VisLeafletMapComponent } from './html-components/leaflet-map/leaflet-map.component';
43
- export { VisLeafletMapModule } from './html-components/leaflet-map/leaflet-map.module';
44
- export { VisLeafletFlowMapComponent } from './html-components/leaflet-flow-map/leaflet-flow-map.component';
45
- export { VisLeafletFlowMapModule } from './html-components/leaflet-flow-map/leaflet-flow-map.module';
46
- export { VisBulletLegendComponent } from './html-components/bullet-legend/bullet-legend.component';
47
- export { VisBulletLegendModule } from './html-components/bullet-legend/bullet-legend.module';
48
- export { VisFlowLegendComponent } from './html-components/flow-legend/flow-legend.component';
49
- export { VisFlowLegendModule } from './html-components/flow-legend/flow-legend.module';
50
- export { VisRollingPinLegendComponent } from './html-components/rolling-pin-legend/rolling-pin-legend.component';
51
- export { VisRollingPinLegendModule } from './html-components/rolling-pin-legend/rolling-pin-legend.module';
52
- export { VisTooltipComponent } from './components/tooltip/tooltip.component';
53
- export { VisTooltipModule } from './components/tooltip/tooltip.module';
@@ -1,46 +0,0 @@
1
- import { ElementRef, AfterViewInit, OnDestroy, SimpleChanges } from '@angular/core';
2
- import { ComponentCore, SingleContainer, SingleContainerConfigInterface, Spacing, Sizing } from '@unovis/ts';
3
- import { VisCoreComponent } from '../../core';
4
- import { VisTooltipComponent } from '../../components/tooltip/tooltip.component';
5
- import { VisAnnotationsComponent } from '../../components/annotations/annotations.component';
6
- import * as i0 from "@angular/core";
7
- export declare class VisSingleContainerComponent<Data = unknown, C extends ComponentCore<Data> = ComponentCore<Data>> implements AfterViewInit, OnDestroy {
8
- containerRef: ElementRef;
9
- visComponent: VisCoreComponent;
10
- tooltipComponent: VisTooltipComponent;
11
- annotationsComponent: VisAnnotationsComponent;
12
- /** Width in pixels or in CSS units.
13
- * Percentage units `"%"` are not supported here. If you want to set `width` as a percentage, do it via `style` or `class`
14
- * of the corresponding DOM element.
15
- * Default: `undefined`
16
- */
17
- width?: number;
18
- /** Height in pixels or in CSS units.
19
- * Percentage units `"%"` are not supported here. If you want to set `height` as a percentage, do it via `style` or `class`
20
- * of the corresponding DOM element.
21
- * Default: `undefined`
22
- */
23
- height?: number;
24
- /** Margins. Default: `{ top: 0, bottom: 0, left: 0, right: 0 }` */
25
- margin?: Spacing;
26
- /** Animation duration of all the components within the container. Default: `undefined` */
27
- duration?: number;
28
- /** Alternative text description of the chart for accessibility purposes. It will be applied as an
29
- * `aria-label` attribute to the div element containing your chart. Default: `undefined`.
30
- */
31
- ariaLabel?: string | null | undefined;
32
- /** Custom SVG defs available to all the components within the container. Default: `undefined`. */
33
- svgDefs?: string;
34
- /** Defines whether components should fit into the container or the container should expand to fit to the component's size.
35
- * Works with a limited set of components. Default: `Sizing.Fit` */
36
- sizing?: Sizing | string;
37
- /** Data to be passed to the component. Default: `undefined`. */
38
- data?: Data;
39
- chart: SingleContainer<Data>;
40
- ngAfterViewInit(): void;
41
- ngOnChanges(changes: SimpleChanges): void;
42
- getConfig(): SingleContainerConfigInterface<Data>;
43
- ngOnDestroy(): void;
44
- static ɵfac: i0.ɵɵFactoryDeclaration<VisSingleContainerComponent<any, any>, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<VisSingleContainerComponent<any, any>, "vis-single-container", never, { "width": "width"; "height": "height"; "margin": "margin"; "duration": "duration"; "ariaLabel": "ariaLabel"; "svgDefs": "svgDefs"; "sizing": "sizing"; "data": "data"; }, {}, ["visComponent", "tooltipComponent", "annotationsComponent"], ["*"]>;
46
- }
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./single-container.component";
3
- export declare class VisSingleContainerModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<VisSingleContainerModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<VisSingleContainerModule, [typeof i1.VisSingleContainerComponent], never, [typeof i1.VisSingleContainerComponent]>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<VisSingleContainerModule>;
7
- }
@@ -1,101 +0,0 @@
1
- import { AfterContentInit, AfterViewInit, ElementRef, OnDestroy, QueryList, SimpleChanges } from '@angular/core';
2
- import { ContinuousScale, Direction, Spacing, XYContainer, XYContainerConfigInterface } from '@unovis/ts';
3
- import { VisXYComponent } from '../../core';
4
- import { VisTooltipComponent } from '../../components/tooltip/tooltip.component';
5
- import { VisAnnotationsComponent } from '../../components/annotations/annotations.component';
6
- import * as i0 from "@angular/core";
7
- export declare class VisXYContainerComponent<Datum> implements AfterViewInit, AfterContentInit, OnDestroy {
8
- containerRef: ElementRef;
9
- visComponents: QueryList<VisXYComponent>;
10
- tooltipComponent: VisTooltipComponent;
11
- annotationsComponent: VisAnnotationsComponent;
12
- /** Width in pixels or in CSS units.
13
- * Percentage units `"%"` are not supported here. If you want to set `width` as a percentage, do it via `style` or `class`
14
- * of the corresponding DOM element.
15
- * Default: `undefined`
16
- */
17
- width?: number;
18
- /** Height in pixels or in CSS units.
19
- * Percentage units `"%"` are not supported here. If you want to set `height` as a percentage, do it via `style` or `class`
20
- * of the corresponding DOM element.
21
- * Default: `undefined`
22
- */
23
- height?: number;
24
- /** Scale for X dimension, e.g. Scale.scaleLinear(). Default: `Scale.scaleLinear()` */
25
- xScale?: ContinuousScale;
26
- /** Scale domain (data extent) for X dimension. By default this value is calculated automatically based on data. */
27
- xDomain?: [number | undefined, number | undefined];
28
- /** Constraint the minimum value of the X scale domain. Useful when the data is plotted along the X axis.
29
- * For example, imagine that you have a chart with dynamic data that has negative values. When values are small
30
- * (let's say in the range of [-0.01, 0]), you might still want the chart to display some meaningful value range (e.g. [-1, 0]). That can
31
- * be achieved by setting `xDomainMinConstraint` to `[undefined, -1]`. In addition to that, if you want to cut off the
32
- * values that are too low (let's say lower than -100), you can set the constraint to `[-100, -1]`
33
- * Default: `undefined` */
34
- xDomainMinConstraint?: [number | undefined, number | undefined];
35
- /** Constraint the minimum value of the X scale domain. Useful when the data is plotted along the X axis.
36
- * For example, imagine that you have a chart with dynamic data. When values are small
37
- * (let's say < 0.01), you might still want the chart to display some meaningful value range (e.g. [0, 1]). That can
38
- * be achieved by setting `xDomainMaxConstraint` to `[1, undefined]`. In addition to that, if you want to cut off the
39
- * values that are too high (let's say higher than 100), you can set the constraint to `[1, 100]`
40
- * Default: `undefined` */
41
- xDomainMaxConstraint?: [number | undefined, number | undefined];
42
- /** Force set the X scale range (in the screen space). By default the range is calculated automatically based on the
43
- * chart's set up */
44
- xRange?: [number, number];
45
- /** Scale for Y dimension, e.g. Scale.ScaleLinear. Default: `Scale.ScaleLinear()` */
46
- yScale?: ContinuousScale;
47
- /** Scale domain (data extent) for Y dimension. By default this value is calculated automatically based on data. */
48
- yDomain?: [number | undefined, number | undefined];
49
- /** Constraint the minimum value of the Y scale domain.
50
- * For example, imagine that you have a chart with dynamic data that has negative values. When values are small
51
- * (let's say in the range of [-0.01, 0]), you might still want the chart to display some meaningful value range (e.g. [-1, 0]). That can
52
- * be achieved by setting `yDomainMinConstraint` to `[undefined, -1]`. In addition to that, if you want to cut off the
53
- * values that are too low (let's say lower than -100), you can set the constraint to `[-100, -1]`
54
- * Default: `undefined` */
55
- yDomainMinConstraint?: [number | undefined, number | undefined];
56
- /** Constraint the minimum value of the Y scale domain.
57
- * For example, imagine that you have a chart with dynamic data. When values are small
58
- * (let's say < 0.01), you might still want the chart to display some meaningful value range (e.g. [0, 1]). That can
59
- * be achieved by setting `yDomainMaxConstraint` to `[1, undefined]`. In addition to that, if you want to cut off the
60
- * values that are too high (let's say higher than 100), you can set the constraint to `[1, 100]`
61
- * Default: `undefined` */
62
- yDomainMaxConstraint?: [number | undefined, number | undefined];
63
- /** Force set the Y scale range (in the screen space). By default the range is calculated automatically based on the
64
- * chart's set up */
65
- yRange?: [number, number];
66
- /** Y Axis direction. Default: `Direction.North` */
67
- yDirection?: Direction.South | Direction.North | string;
68
- /** Prevents the chart domain from being empty (when domain's min and max values are equal).
69
- * That usually happens when all the data values are the same or when there's no data.
70
- * Setting to `true` will automatically extend the domain by `+1` when needed.
71
- * Setting to `null` will extend the domain only when there's no data.
72
- * Setting to `false` will keep the domain as is.
73
- * Default: `null` */
74
- preventEmptyDomain?: boolean | null;
75
- /** Animation duration of all the components within the container. Default: `undefined` */
76
- duration?: number;
77
- /** Margins. Default: `{ top: 0, bottom: 0, left: 0, right: 0 }` */
78
- margin?: Spacing;
79
- /** Padding. Default: `{ top: 0, bottom: 0, left: 0, right: 0 }` */
80
- padding?: Spacing;
81
- /** Sets the Y scale domain based on the current X scale domain (not the whole dataset). Default: `false` */
82
- scaleByDomain?: boolean;
83
- /** Enables automatic calculation of chart margins based on the size of the axes. Default: `true` */
84
- autoMargin?: boolean;
85
- /** Alternative text description of the chart for accessibility purposes. It will be applied as an
86
- * `aria-label` attribute to the div element containing your chart. Default: `undefined`.
87
- */
88
- ariaLabel?: string | null | undefined;
89
- /** Data to be passed to all child components. But if `data` is `undefined` it'll to be passed allowing components to
90
- * have their individual data. Default: `undefined` */
91
- data?: Datum[] | undefined;
92
- chart: XYContainer<Datum>;
93
- ngAfterViewInit(): void;
94
- ngAfterContentInit(): void;
95
- ngOnChanges(changes: SimpleChanges): void;
96
- getConfig(): XYContainerConfigInterface<Datum>;
97
- passContainerReferenceToChildren(): void;
98
- ngOnDestroy(): void;
99
- static ɵfac: i0.ɵɵFactoryDeclaration<VisXYContainerComponent<any>, never>;
100
- static ɵcmp: i0.ɵɵComponentDeclaration<VisXYContainerComponent<any>, "vis-xy-container", never, { "width": "width"; "height": "height"; "xScale": "xScale"; "xDomain": "xDomain"; "xDomainMinConstraint": "xDomainMinConstraint"; "xDomainMaxConstraint": "xDomainMaxConstraint"; "xRange": "xRange"; "yScale": "yScale"; "yDomain": "yDomain"; "yDomainMinConstraint": "yDomainMinConstraint"; "yDomainMaxConstraint": "yDomainMaxConstraint"; "yRange": "yRange"; "yDirection": "yDirection"; "preventEmptyDomain": "preventEmptyDomain"; "duration": "duration"; "margin": "margin"; "padding": "padding"; "scaleByDomain": "scaleByDomain"; "autoMargin": "autoMargin"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["tooltipComponent", "annotationsComponent", "visComponents"], ["*"]>;
101
- }
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./xy-container.component";
3
- export declare class VisXYContainerModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<VisXYContainerModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<VisXYContainerModule, [typeof i1.VisXYContainerComponent], never, [typeof i1.VisXYContainerComponent]>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<VisXYContainerModule>;
7
- }
@@ -1,4 +0,0 @@
1
- export { VisXYContainerComponent } from './containers/xy-container/xy-container.component';
2
- export { VisXYContainerModule } from './containers/xy-container/xy-container.module';
3
- export { VisSingleContainerComponent } from './containers/single-container/single-container.component';
4
- export { VisSingleContainerModule } from './containers/single-container/single-container.module';
@@ -1,6 +0,0 @@
1
- import { ComponentCore, ContainerCore } from '@unovis/ts';
2
- import { VisGenericComponent } from './generic-component';
3
- export declare class VisCoreComponent extends VisGenericComponent {
4
- component: ComponentCore<any>;
5
- componentContainer: ContainerCore;
6
- }
@@ -1,3 +0,0 @@
1
- export declare class VisGenericComponent {
2
- component: any;
3
- }
@@ -1,3 +0,0 @@
1
- export { VisGenericComponent } from './generic-component';
2
- export { VisCoreComponent } from './core-component';
3
- export { VisXYComponent } from './xy-component';
@@ -1,6 +0,0 @@
1
- import { XYComponentCore, XYContainer } from '@unovis/ts';
2
- import { VisCoreComponent } from './core-component';
3
- export declare class VisXYComponent extends VisCoreComponent {
4
- component: XYComponentCore<any>;
5
- componentContainer: XYContainer<any>;
6
- }
@@ -1,45 +0,0 @@
1
- // !!! This code was automatically generated. You should not change it !!!
2
- import { Component, Input } from '@angular/core';
3
- import { Annotations } from '@unovis/ts';
4
- import { VisGenericComponent } from '../../core';
5
- import * as i0 from "@angular/core";
6
- export class VisAnnotationsComponent {
7
- ngAfterViewInit() {
8
- this.component = new Annotations(this.getConfig());
9
- }
10
- ngOnChanges(changes) {
11
- var _a, _b;
12
- (_a = this.component) === null || _a === void 0 ? void 0 : _a.setConfig(this.getConfig());
13
- (_b = this.componentContainer) === null || _b === void 0 ? void 0 : _b.render();
14
- }
15
- getConfig() {
16
- const { duration, events, attributes, items, renderTextBoundingBoxes } = this;
17
- const config = { duration, events, attributes, items, renderTextBoundingBoxes };
18
- const keys = Object.keys(config);
19
- keys.forEach(key => { if (config[key] === undefined)
20
- delete config[key]; });
21
- return config;
22
- }
23
- }
24
- VisAnnotationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- VisAnnotationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAnnotationsComponent, selector: "vis-annotations", inputs: { duration: "duration", events: "events", attributes: "attributes", items: "items", renderTextBoundingBoxes: "renderTextBoundingBoxes" }, providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, decorators: [{
27
- type: Component,
28
- args: [{
29
- selector: 'vis-annotations',
30
- template: '',
31
- // eslint-disable-next-line no-use-before-define
32
- providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }],
33
- }]
34
- }], propDecorators: { duration: [{
35
- type: Input
36
- }], events: [{
37
- type: Input
38
- }], attributes: [{
39
- type: Input
40
- }], items: [{
41
- type: Input
42
- }], renderTextBoundingBoxes: [{
43
- type: Input
44
- }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQTZGLE1BQU0sWUFBWSxDQUFBO0FBQ25JLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRaEQsTUFBTSxPQUFPLHVCQUF1QjtJQXdFbEMsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFDM0MsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLE1BQU0sRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUM3RSxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxDQUFBO1FBQy9FLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUF5QyxDQUFBO1FBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7O3FIQXhGVSx1QkFBdUI7eUdBQXZCLHVCQUF1Qiw0TEFGdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQywrQ0FGekUsRUFBRTs0RkFJRCx1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHlCQUF5QixFQUFFLENBQUM7aUJBQ3BGOzhCQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBbUJHLE1BQU07c0JBQWQsS0FBSztnQkF3QkcsVUFBVTtzQkFBbEIsS0FBSztnQkFtQkcsS0FBSztzQkFBYixLQUFLO2dCQUdHLHVCQUF1QjtzQkFBL0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFubm90YXRpb25zLCBBbm5vdGF0aW9uc0NvbmZpZ0ludGVyZmFjZSwgQ29udGFpbmVyQ29yZSwgVmlzRXZlbnRUeXBlLCBWaXNFdmVudENhbGxiYWNrLCBBbm5vdGF0aW9uSXRlbSB9IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNHZW5lcmljQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWFubm90YXRpb25zJyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNHZW5lcmljQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzQW5ub3RhdGlvbnNDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0Fubm90YXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgQW5ub3RhdGlvbnNDb25maWdJbnRlcmZhY2UsIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogTGVnZW5kIGl0ZW1zLiBBcnJheSBvZiBgQW5ub3RhdGlvbkl0ZW1gOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgY29udGVudDogc3RyaW5nIHwgVW5vdmlzVGV4dCB8IFVub3Zpc1RleHRbXTtcbiAgICogIHN1YmplY3Q/OiBBbm5vdGF0aW9uU3ViamVjdDtcbiAgICogIHg/OiBMZW5ndGhVbml0O1xuICAgKiAgeT86IExlbmd0aFVuaXQ7XG4gICAqICB3aWR0aD86IExlbmd0aFVuaXQ7XG4gICAqICBoZWlnaHQ/OiBMZW5ndGhVbml0O1xuICAgKiB9XG4gICAqIGBgYFxuICAgKiBUbyBsZWFybiBtb3JlLCBzZWUgb3VyIGRvY3MgaHR0cHM6Ly91bm92aXMuZGV2L2RvY3MvYXV4aWxpYXJ5L0Fubm90YXRpb25zL1xuICAgKiBEZWZhdWx0OiBgW11gICovXG4gIEBJbnB1dCgpIGl0ZW1zOiBBbm5vdGF0aW9uSXRlbVtdIHwgdW5kZWZpbmVkXG5cbiAgLyoqIERlYnVnIG9wdGlvbiB0byByZW5kZXIgYm91bmRpbmcgYm94ZXMgYXJvdW5kIHRleHQgZWxlbWVudHMuIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgcmVuZGVyVGV4dEJvdW5kaW5nQm94ZXM/OiBib29sZWFuXG5cbiAgY29tcG9uZW50OiBBbm5vdGF0aW9ucyB8IHVuZGVmaW5lZFxuICBwdWJsaWMgY29tcG9uZW50Q29udGFpbmVyOiBDb250YWluZXJDb3JlIHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBBbm5vdGF0aW9ucyh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogQW5ub3RhdGlvbnNDb25maWdJbnRlcmZhY2Uge1xuICAgIGNvbnN0IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgaXRlbXMsIHJlbmRlclRleHRCb3VuZGluZ0JveGVzIH0gPSB0aGlzXG4gICAgY29uc3QgY29uZmlnID0geyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCBpdGVtcywgcmVuZGVyVGV4dEJvdW5kaW5nQm94ZXMgfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBBbm5vdGF0aW9uc0NvbmZpZ0ludGVyZmFjZSlbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- // !!! This code was automatically generated. You should not change it !!!
2
- import { NgModule } from '@angular/core';
3
- import { VisAnnotationsComponent } from './annotations.component';
4
- import * as i0 from "@angular/core";
5
- export class VisAnnotationsModule {
6
- }
7
- VisAnnotationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- VisAnnotationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsModule, declarations: [VisAnnotationsComponent], exports: [VisAnnotationsComponent] });
9
- VisAnnotationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsModule, imports: [[]] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- imports: [],
14
- declarations: [VisAnnotationsComponent],
15
- exports: [VisAnnotationsComponent],
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBOztBQU9qRSxNQUFNLE9BQU8sb0JBQW9COztrSEFBcEIsb0JBQW9CO21IQUFwQixvQkFBb0IsaUJBSGhCLHVCQUF1QixhQUM1Qix1QkFBdUI7bUhBRXRCLG9CQUFvQixZQUp0QixFQUFFOzRGQUlBLG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFZpc0Fubm90YXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9hbm5vdGF0aW9ucy5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtWaXNBbm5vdGF0aW9uc0NvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtWaXNBbm5vdGF0aW9uc0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0Fubm90YXRpb25zTW9kdWxlIHt9XG4iXX0=
@@ -1,87 +0,0 @@
1
- // !!! This code was automatically generated. You should not change it !!!
2
- import { Component, Input } from '@angular/core';
3
- import { Area, } from '@unovis/ts';
4
- import { VisXYComponent } from '../../core';
5
- import * as i0 from "@angular/core";
6
- export class VisAreaComponent {
7
- ngAfterViewInit() {
8
- var _a;
9
- this.component = new Area(this.getConfig());
10
- if (this.data) {
11
- this.component.setData(this.data);
12
- (_a = this.componentContainer) === null || _a === void 0 ? void 0 : _a.render();
13
- }
14
- }
15
- ngOnChanges(changes) {
16
- var _a, _b, _c;
17
- if (changes.data) {
18
- (_a = this.component) === null || _a === void 0 ? void 0 : _a.setData(this.data);
19
- }
20
- (_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
21
- (_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
22
- }
23
- getConfig() {
24
- const { duration, events, attributes, x, y, id, color, xScale, yScale, excludeFromDomainCalculation, curveType, baseline, opacity, cursor, line, lineColor, lineWidth, lineDashArray, minHeight1Px, minHeight, stackMinHeight } = this;
25
- const config = { duration, events, attributes, x, y, id, color, xScale, yScale, excludeFromDomainCalculation, curveType, baseline, opacity, cursor, line, lineColor, lineWidth, lineDashArray, minHeight1Px, minHeight, stackMinHeight };
26
- const keys = Object.keys(config);
27
- keys.forEach(key => { if (config[key] === undefined)
28
- delete config[key]; });
29
- return config;
30
- }
31
- }
32
- VisAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- VisAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAreaComponent, selector: "vis-area", inputs: { duration: "duration", events: "events", attributes: "attributes", x: "x", y: "y", id: "id", color: "color", xScale: "xScale", yScale: "yScale", excludeFromDomainCalculation: "excludeFromDomainCalculation", curveType: "curveType", baseline: "baseline", opacity: "opacity", cursor: "cursor", line: "line", lineColor: "lineColor", lineWidth: "lineWidth", lineDashArray: "lineDashArray", minHeight1Px: "minHeight1Px", minHeight: "minHeight", stackMinHeight: "stackMinHeight", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAreaComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAreaComponent, decorators: [{
35
- type: Component,
36
- args: [{
37
- selector: 'vis-area',
38
- template: '',
39
- // eslint-disable-next-line no-use-before-define
40
- providers: [{ provide: VisXYComponent, useExisting: VisAreaComponent }],
41
- }]
42
- }], propDecorators: { duration: [{
43
- type: Input
44
- }], events: [{
45
- type: Input
46
- }], attributes: [{
47
- type: Input
48
- }], x: [{
49
- type: Input
50
- }], y: [{
51
- type: Input
52
- }], id: [{
53
- type: Input
54
- }], color: [{
55
- type: Input
56
- }], xScale: [{
57
- type: Input
58
- }], yScale: [{
59
- type: Input
60
- }], excludeFromDomainCalculation: [{
61
- type: Input
62
- }], curveType: [{
63
- type: Input
64
- }], baseline: [{
65
- type: Input
66
- }], opacity: [{
67
- type: Input
68
- }], cursor: [{
69
- type: Input
70
- }], line: [{
71
- type: Input
72
- }], lineColor: [{
73
- type: Input
74
- }], lineWidth: [{
75
- type: Input
76
- }], lineDashArray: [{
77
- type: Input
78
- }], minHeight1Px: [{
79
- type: Input
80
- }], minHeight: [{
81
- type: Input
82
- }], stackMinHeight: [{
83
- type: Input
84
- }], data: [{
85
- type: Input
86
- }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcmVhL2FyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBV0wsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQXVIM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUN0TyxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLDRCQUE0QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FBQTtRQUN4TyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBeUMsQ0FBQTtRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFMUUsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOzs4R0E3SVUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IscWhCQUZoQixDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQywrQ0FGN0QsRUFBRTs0RkFJRCxnQkFBZ0I7a0JBTjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGdEQUFnRDtvQkFDaEQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsa0JBQWtCLEVBQUUsQ0FBQztpQkFDeEU7OEJBR1UsUUFBUTtzQkFBaEIsS0FBSztnQkFtQkcsTUFBTTtzQkFBZCxLQUFLO2dCQXdCRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLENBQUM7c0JBQVQsS0FBSztnQkFHRyxDQUFDO3NCQUFULEtBQUs7Z0JBR0csRUFBRTtzQkFBVixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQU1HLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXJlYSxcbiAgQXJlYUNvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIENvbG9yQWNjZXNzb3IsXG4gIENvbnRpbnVvdXNTY2FsZSxcbiAgQ3VydmVUeXBlLFxuICBTdHJpbmdBY2Nlc3NvcixcbiAgR2VuZXJpY0FjY2Vzc29yLFxufSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgVmlzWFlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMtYXJlYScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVmlzWFlDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBWaXNBcmVhQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNBcmVhQ29tcG9uZW50PERhdHVtPiBpbXBsZW1lbnRzIEFyZWFDb25maWdJbnRlcmZhY2U8RGF0dW0+LCBBZnRlclZpZXdJbml0IHtcbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiB0aGUgZGF0YSB1cGRhdGUgdHJhbnNpdGlvbnMgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0OiBgNjAwYCAqL1xuICBASW5wdXQoKSBkdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBFdmVudHMgY29uZmlndXJhdGlvbi4gQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcGVydGllcyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFtldmVudFR5cGVdOiBjYWxsYmFja0Z1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIGNsaWNrOiAoZCkgPT4gY29uc29sZS5sb2coXCJDbGlja2VkIEFyZWFcIiwgZClcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgZXZlbnRzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2V2ZW50VHlwZSBpbiBWaXNFdmVudFR5cGVdPzogVmlzRXZlbnRDYWxsYmFja1xuICAgIH07XG4gIH1cblxuICAvKiogWW91IGNhbiBzZXQgZXZlcnkgU1ZHIGFuZCBIVE1MIHZpc3VhbGl6YXRpb24gb2JqZWN0IHRvIGhhdmUgYSBjdXN0b20gRE9NIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHVzZWZ1bFxuICAgKiB3aGVuIHlvdSB3YW50IHRvIGRvIHVuaXQgb3IgZW5kLXRvLWVuZCB0ZXN0aW5nLiBBdHRyaWJ1dGVzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZTpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFthdHRyaWJ1dGVOYW1lXTogYXR0cmlidXRlIGNvbnN0YW50IHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIFwidGVzdC12YWx1ZVwiOiBkID0+IGQudmFsdWVcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgYXR0cmlidXRlcz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFthdHRyOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgKChkYXR1bTogYW55KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIEFjY2Vzc29yIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHRoZSB2YWx1ZXMgYWxvbmcgdGhlIFggYXhpcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeDogTnVtZXJpY0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBBIHNpbmdsZSBvZiBtdWx0aXBsZSBhY2Nlc3NvciBmdW5jdGlvbnMgZm9yIGdldHRpbmcgdGhlIHZhbHVlcyBhbG9uZyB0aGUgWSBheGlzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB5OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+IHwgTnVtZXJpY0FjY2Vzc29yPERhdHVtPltdXG5cbiAgLyoqIEFjY2Vzc29yIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHRoZSB1bmlxdWUgZGF0YSByZWNvcmQgaWQuIFVzZWQgZm9yIG1vcmUgcGVyc2lzdGVudCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGAoZCwgaSkgPT4gZC5pZCA/PyBpYCAqL1xuICBASW5wdXQoKSBpZD86ICgoZDogRGF0dW0sIGk6IG51bWJlciwgLi4ucmVzdCkgPT4gc3RyaW5nKVxuXG4gIC8qKiBBcmVhIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBUaGUgd2hvbGUgZGF0YSBhcnJheSB3aWxsIGJlIHBhc3NlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGNvbG9yPzogQ29sb3JBY2Nlc3NvcjxEYXR1bVtdPlxuXG4gIC8qKiBTY2FsZSBmb3IgWCBkaW1lbnNpb24sIGUuZy4gU2NhbGUuc2NhbGVMaW5lYXIoKS4gSWYgeW91IHNldCB4U2NhbGUgeW91J2xsIGJlIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIGl0J3MgYGRvbWFpbmAgYW5kIGByYW5nZWAgYXMgd2VsbC5cbiAgICogT25seSBjb250aW51b3VzIHNjYWxlcyBhcmUgc3VwcG9ydGVkLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4U2NhbGU/OiBDb250aW51b3VzU2NhbGVcblxuICAvKiogU2NhbGUgZm9yIFkgZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIElmIHlvdSBzZXQgeVNjYWxlIHlvdSdsbCBiZSByZXNwb25zaWJsZSBmb3Igc2V0dGluZyBpdCdzIGBkb21haW5gIGFuZCBgcmFuZ2VgIGFzIHdlbGwuXG4gICAqIE9ubHkgY29udGludW91cyBzY2FsZXMgYXJlIHN1cHBvcnRlZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeVNjYWxlPzogQ29udGludW91c1NjYWxlXG5cbiAgLyoqIElkZW50aWZpZXMgd2hldGhlciB0aGUgY29tcG9uZW50IHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIG92ZXJhbGwgWCBhbmQgWSBkb21haW4gY2FsY3VsYXRpb25zIG9yIG5vdC5cbiAgICogVGhpcyBwcm9wZXJ0eSBjYW4gYmUgdXNlZnVsIHdoZW4geW91IHdhbnQgcGFzcyBpbmRpdmlkdWFsIGRhdGEgdG8gYSBjb21wb25lbnQgYW5kIHlvdSBkb24ndCB3YW50IGl0IHRvIGFmZmVjdFxuICAgKiB0aGUgc2NhbGVzIG9mIHRoZSBjaGFydC5cbiAgICogRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBleGNsdWRlRnJvbURvbWFpbkNhbGN1bGF0aW9uPzogYm9vbGVhblxuXG4gIC8qKiBDdXJ2ZSB0eXBlIGZyb20gdGhlIEN1cnZlVHlwZSBlbnVtLiBEZWZhdWx0OiBgQ3VydmVUeXBlLk1vbm90b25lWGAgKi9cbiAgQElucHV0KCkgY3VydmVUeXBlPzogQ3VydmVUeXBlIHwgc3RyaW5nXG5cbiAgLyoqIEJhc2VsaW5lIHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBiYXNlbGluZT86IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogT3BhY2l0eSB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYDFgICovXG4gIEBJbnB1dCgpIG9wYWNpdHk/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW1bXT5cblxuICAvKiogT3B0aW9uYWwgYXJlYSBjdXJzb3IuIFN0cmluZyBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIGN1cnNvcj86IFN0cmluZ0FjY2Vzc29yPERhdHVtW10+XG5cbiAgLyoqIERpc3BsYXkgYSBsaW5lIG9uIHRoZSB0b3Agb2YgdGhlIGFyZWEuIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgbGluZT86IGJvb2xlYW5cblxuICAvKiogTGluZSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbi4gVGhlIHdob2xlIGRhdGEgYXJyYXkgd2lsbCBiZSBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBsaW5lQ29sb3I/OiBDb2xvckFjY2Vzc29yPERhdHVtW10+XG5cbiAgLyoqIExpbmUgd2lkdGggaW4gcGl4ZWxzLiBEZWZhdWx0OiBgMmAgKi9cbiAgQElucHV0KCkgbGluZVdpZHRoPzogbnVtYmVyXG5cbiAgLyoqIExpbmUgZGFzaCBhcnJheSwgc2VlIFNWRydzIHN0cm9rZS1kYXNoYXJyYXkuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxpbmVEYXNoQXJyYXk/OiBHZW5lcmljQWNjZXNzb3I8bnVtYmVyW10sIERhdHVtW10+XG5cbiAgLyoqIElmIGFuIGFyZWEgaXMgc21hbGxlciB0aGFuIDFweCwgZXh0ZW5kIGl0IHRvIGhhdmUgMXB4IGhlaWdodC4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBtaW5IZWlnaHQxUHg/OiBib29sZWFuXG5cbiAgLyoqIE1pbmltdW0gaGVpZ2h0IG9mIHRoZSBhcmVhLCB1c2UgY2FyZWZ1bGx5LlxuICAgKiBUaGlzIHNldHRpbmcgaXMgdXNlZnVsIHdoZW4gc29tZSBvZiB0aGUgYXJlYSB2YWx1ZXMgYXJlIHplcm9zIG9yIHZlcnkgc21hbGwgc28gdmlzdWFsbHkgdGhleSBiZWNvbWVcbiAgICogcHJhY3RpY2FsbHkgaW52aXNpYmxlLCBidXQgeW91IHdhbnQgdG8gc2hvdyB0aGF0IHRoZSBkYXRhIGJlaGluZCB0aGVtIGV4aXN0cyBhbmQgdGhleSdyZSBub3QganVzdCBlbXB0eSBzZWdtZW50cy5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbWluSGVpZ2h0PzogbnVtYmVyXG5cbiAgLyoqIFdoZXRoZXIgdG8gc3RhY2sgbWluIGhlaWdodCBhcmVhcyBvciBub3QuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN0YWNrTWluSGVpZ2h0PzogYm9vbGVhblxuICBASW5wdXQoKSBkYXRhOiBEYXR1bVtdXG5cbiAgY29tcG9uZW50OiBBcmVhPERhdHVtPiB8IHVuZGVmaW5lZFxuICBwdWJsaWMgY29tcG9uZW50Q29udGFpbmVyOiBDb250YWluZXJDb3JlIHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBBcmVhPERhdHVtPih0aGlzLmdldENvbmZpZygpKVxuXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5jb21wb25lbnQuc2V0RGF0YSh0aGlzLmRhdGEpXG4gICAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHsgdGhpcy5jb21wb25lbnQ/LnNldERhdGEodGhpcy5kYXRhKSB9XG4gICAgdGhpcy5jb21wb25lbnQ/LnNldENvbmZpZyh0aGlzLmdldENvbmZpZygpKVxuICAgIHRoaXMuY29tcG9uZW50Q29udGFpbmVyPy5yZW5kZXIoKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IEFyZWFDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHgsIHksIGlkLCBjb2xvciwgeFNjYWxlLCB5U2NhbGUsIGV4Y2x1ZGVGcm9tRG9tYWluQ2FsY3VsYXRpb24sIGN1cnZlVHlwZSwgYmFzZWxpbmUsIG9wYWNpdHksIGN1cnNvciwgbGluZSwgbGluZUNvbG9yLCBsaW5lV2lkdGgsIGxpbmVEYXNoQXJyYXksIG1pbkhlaWdodDFQeCwgbWluSGVpZ2h0LCBzdGFja01pbkhlaWdodCB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgeSwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgY3VydmVUeXBlLCBiYXNlbGluZSwgb3BhY2l0eSwgY3Vyc29yLCBsaW5lLCBsaW5lQ29sb3IsIGxpbmVXaWR0aCwgbGluZURhc2hBcnJheSwgbWluSGVpZ2h0MVB4LCBtaW5IZWlnaHQsIHN0YWNrTWluSGVpZ2h0IH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQXJlYUNvbmZpZ0ludGVyZmFjZTxEYXR1bT4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- // !!! This code was automatically generated. You should not change it !!!
2
- import { NgModule } from '@angular/core';
3
- import { VisAreaComponent } from './area.component';
4
- import * as i0 from "@angular/core";
5
- export class VisAreaModule {
6
- }
7
- VisAreaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- VisAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAreaModule, declarations: [VisAreaComponent], exports: [VisAreaComponent] });
9
- VisAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAreaModule, imports: [[]] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAreaModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- imports: [],
14
- declarations: [VisAreaComponent],
15
- exports: [VisAreaComponent],
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcmVhL2FyZWEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBOztBQU9uRCxNQUFNLE9BQU8sYUFBYTs7MkdBQWIsYUFBYTs0R0FBYixhQUFhLGlCQUhULGdCQUFnQixhQUNyQixnQkFBZ0I7NEdBRWYsYUFBYSxZQUpmLEVBQUU7NEZBSUEsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFZpc0FyZWFDb21wb25lbnQgfSBmcm9tICcuL2FyZWEuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbVmlzQXJlYUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtWaXNBcmVhQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzQXJlYU1vZHVsZSB7fVxuIl19
@@ -1,111 +0,0 @@
1
- // !!! This code was automatically generated. You should not change it !!!
2
- import { Component, Input } from '@angular/core';
3
- import { Axis, } from '@unovis/ts';
4
- import { VisXYComponent } from '../../core';
5
- import * as i0 from "@angular/core";
6
- export class VisAxisComponent {
7
- ngAfterViewInit() {
8
- var _a;
9
- this.component = new Axis(this.getConfig());
10
- if (this.data) {
11
- this.component.setData(this.data);
12
- (_a = this.componentContainer) === null || _a === void 0 ? void 0 : _a.render();
13
- }
14
- }
15
- ngOnChanges(changes) {
16
- var _a, _b, _c;
17
- if (changes.data) {
18
- (_a = this.component) === null || _a === void 0 ? void 0 : _a.setData(this.data);
19
- }
20
- (_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
21
- (_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
22
- }
23
- getConfig() {
24
- const { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelTextFitMode, labelTextTrimType, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyShowGridLines, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding, tickSize } = this;
25
- const config = { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelTextFitMode, labelTextTrimType, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyShowGridLines, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding, tickSize };
26
- const keys = Object.keys(config);
27
- keys.forEach(key => { if (config[key] === undefined)
28
- delete config[key]; });
29
- return config;
30
- }
31
- }
32
- VisAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAxisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- VisAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAxisComponent, selector: "vis-axis", inputs: { duration: "duration", events: "events", attributes: "attributes", position: "position", type: "type", fullSize: "fullSize", label: "label", labelFontSize: "labelFontSize", labelMargin: "labelMargin", labelTextFitMode: "labelTextFitMode", labelTextTrimType: "labelTextTrimType", labelColor: "labelColor", gridLine: "gridLine", tickLine: "tickLine", domainLine: "domainLine", minMaxTicksOnly: "minMaxTicksOnly", minMaxTicksOnlyShowGridLines: "minMaxTicksOnlyShowGridLines", minMaxTicksOnlyWhenWidthIsLess: "minMaxTicksOnlyWhenWidthIsLess", tickFormat: "tickFormat", tickValues: "tickValues", numTicks: "numTicks", tickTextFitMode: "tickTextFitMode", tickTextWidth: "tickTextWidth", tickTextSeparator: "tickTextSeparator", tickTextForceWordBreak: "tickTextForceWordBreak", tickTextTrimType: "tickTextTrimType", tickTextFontSize: "tickTextFontSize", tickTextAlign: "tickTextAlign", tickTextColor: "tickTextColor", tickTextAngle: "tickTextAngle", tickTextHideOverlapping: "tickTextHideOverlapping", tickPadding: "tickPadding", tickSize: "tickSize", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAxisComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAxisComponent, decorators: [{
35
- type: Component,
36
- args: [{
37
- selector: 'vis-axis',
38
- template: '',
39
- // eslint-disable-next-line no-use-before-define
40
- providers: [{ provide: VisXYComponent, useExisting: VisAxisComponent }],
41
- }]
42
- }], propDecorators: { duration: [{
43
- type: Input
44
- }], events: [{
45
- type: Input
46
- }], attributes: [{
47
- type: Input
48
- }], position: [{
49
- type: Input
50
- }], type: [{
51
- type: Input
52
- }], fullSize: [{
53
- type: Input
54
- }], label: [{
55
- type: Input
56
- }], labelFontSize: [{
57
- type: Input
58
- }], labelMargin: [{
59
- type: Input
60
- }], labelTextFitMode: [{
61
- type: Input
62
- }], labelTextTrimType: [{
63
- type: Input
64
- }], labelColor: [{
65
- type: Input
66
- }], gridLine: [{
67
- type: Input
68
- }], tickLine: [{
69
- type: Input
70
- }], domainLine: [{
71
- type: Input
72
- }], minMaxTicksOnly: [{
73
- type: Input
74
- }], minMaxTicksOnlyShowGridLines: [{
75
- type: Input
76
- }], minMaxTicksOnlyWhenWidthIsLess: [{
77
- type: Input
78
- }], tickFormat: [{
79
- type: Input
80
- }], tickValues: [{
81
- type: Input
82
- }], numTicks: [{
83
- type: Input
84
- }], tickTextFitMode: [{
85
- type: Input
86
- }], tickTextWidth: [{
87
- type: Input
88
- }], tickTextSeparator: [{
89
- type: Input
90
- }], tickTextForceWordBreak: [{
91
- type: Input
92
- }], tickTextTrimType: [{
93
- type: Input
94
- }], tickTextFontSize: [{
95
- type: Input
96
- }], tickTextAlign: [{
97
- type: Input
98
- }], tickTextColor: [{
99
- type: Input
100
- }], tickTextAngle: [{
101
- type: Input
102
- }], tickTextHideOverlapping: [{
103
- type: Input
104
- }], tickPadding: [{
105
- type: Input
106
- }], tickSize: [{
107
- type: Input
108
- }], data: [{
109
- type: Input
110
- }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9heGlzL2F4aXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBVUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQXVKM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSw0QkFBNEIsRUFBRSw4QkFBOEIsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDeGYsTUFBTSxNQUFNLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLDRCQUE0QixFQUFFLDhCQUE4QixFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFBO1FBQzFmLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUF5QyxDQUFBO1FBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7OzhHQTdLVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixpbENBRmhCLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLCtDQUY3RCxFQUFFOzRGQUlELGdCQUFnQjtrQkFONUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFDO2lCQUN4RTs4QkFHVSxRQUFRO3NCQUFoQixLQUFLO2dCQW1CRyxNQUFNO3NCQUFkLEtBQUs7Z0JBd0JHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFLRyw4QkFBOEI7c0JBQXRDLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFNRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEF4aXMsXG4gIEF4aXNDb25maWdJbnRlcmZhY2UsXG4gIENvbnRhaW5lckNvcmUsXG4gIFZpc0V2ZW50VHlwZSxcbiAgVmlzRXZlbnRDYWxsYmFjayxcbiAgUG9zaXRpb24sXG4gIEF4aXNUeXBlLFxuICBGaXRNb2RlLFxuICBUcmltTW9kZSxcbiAgVGV4dEFsaWduLFxufSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgVmlzWFlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMtYXhpcycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVmlzWFlDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBWaXNBeGlzQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNBeGlzQ29tcG9uZW50PERhdHVtPiBpbXBsZW1lbnRzIEF4aXNDb25maWdJbnRlcmZhY2U8RGF0dW0+LCBBZnRlclZpZXdJbml0IHtcbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiB0aGUgZGF0YSB1cGRhdGUgdHJhbnNpdGlvbnMgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0OiBgNjAwYCAqL1xuICBASW5wdXQoKSBkdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBFdmVudHMgY29uZmlndXJhdGlvbi4gQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcGVydGllcyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFtldmVudFR5cGVdOiBjYWxsYmFja0Z1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIGNsaWNrOiAoZCkgPT4gY29uc29sZS5sb2coXCJDbGlja2VkIEFyZWFcIiwgZClcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgZXZlbnRzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2V2ZW50VHlwZSBpbiBWaXNFdmVudFR5cGVdPzogVmlzRXZlbnRDYWxsYmFja1xuICAgIH07XG4gIH1cblxuICAvKiogWW91IGNhbiBzZXQgZXZlcnkgU1ZHIGFuZCBIVE1MIHZpc3VhbGl6YXRpb24gb2JqZWN0IHRvIGhhdmUgYSBjdXN0b20gRE9NIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHVzZWZ1bFxuICAgKiB3aGVuIHlvdSB3YW50IHRvIGRvIHVuaXQgb3IgZW5kLXRvLWVuZCB0ZXN0aW5nLiBBdHRyaWJ1dGVzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZTpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFthdHRyaWJ1dGVOYW1lXTogYXR0cmlidXRlIGNvbnN0YW50IHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIFwidGVzdC12YWx1ZVwiOiBkID0+IGQudmFsdWVcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgYXR0cmlidXRlcz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFthdHRyOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgKChkYXR1bTogYW55KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIEF4aXMgcG9zaXRpb246IGBQb3NpdGlvbi5Ub3BgLCBgUG9zaXRpb24uQm90dG9tYCwgYFBvc2l0aW9uLlJpZ2h0YCBvciBgUG9zaXRpb24uTGVmdGAuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHBvc2l0aW9uPzogUG9zaXRpb24gfCBgJHtQb3NpdGlvbn1gXG5cbiAgLyoqIEF4aXMgdHlwZTogYEF4aXNUeXBlLlhgIG9yIGBBeGlzVHlwZS5ZYCAqL1xuICBASW5wdXQoKSB0eXBlPzogQXhpc1R5cGUgfCBgJHtBeGlzVHlwZX1gXG5cbiAgLyoqIEV4dGVuZCB0aGUgYXhpcyBkb21haW4gbGluZSB0byBiZSBmdWxsIHdpZHRoIG9yIGZ1bGwgaGVpZ2h0LiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgZnVsbFNpemU/OiBib29sZWFuXG5cbiAgLyoqIEF4aXMgbGFiZWwuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgYXhpcyBsYWJlbCBhcyBDU1Mgc3RyaW5nLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgbGFiZWxGb250U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXhpcyBhbmQgdGhlIGxhYmVsIGluIHBpeGVscy4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIGxhYmVsTWFyZ2luPzogbnVtYmVyXG5cbiAgLyoqIExhYmVsIHRleHQgZml0IG1vZGU6IGBGaXRNb2RlLldyYXBgIG9yIGBGaXRNb2RlLlRyaW1gLiBEZWZhdWx0OiBgRml0TW9kZS5XcmFwYC4gKi9cbiAgQElucHV0KCkgbGFiZWxUZXh0Rml0TW9kZT86IEZpdE1vZGUgfCBgJHtGaXRNb2RlfWBcblxuICAvKiogTGFiZWwgdGV4dCB0cmltIG1vZGU6IGBUcmltTW9kZS5TdGFydGAsIGBUcmltTW9kZS5NaWRkbGVgIG9yIGBUcmltTW9kZS5FbmRgLiBEZWZhdWx0OiBgVHJpbU1vZGUuTWlkZGxlYCAqL1xuICBASW5wdXQoKSBsYWJlbFRleHRUcmltVHlwZT86IFRyaW1Nb2RlIHwgYCR7VHJpbU1vZGV9YFxuXG4gIC8qKiBGb250IGNvbG9yIG9mIHRoZSBheGlzIGxhYmVsIGFzIENTUyBzdHJpbmcuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBsYWJlbENvbG9yPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBTZXRzIHdoZXRoZXIgdG8gZHJhdyB0aGUgZ3JpZCBsaW5lcyBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBncmlkTGluZT86IGJvb2xlYW5cblxuICAvKiogU2V0cyB3aGV0aGVyIHRvIGRyYXcgdGhlIHRpY2sgbGluZXMgb3Igbm90LiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgdGlja0xpbmU/OiBib29sZWFuXG5cbiAgLyoqIFNldHMgd2hldGhlciB0byBkcmF3IHRoZSBkb21haW4gbGluZSBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBkb21haW5MaW5lPzogYm9vbGVhblxuXG4gIC8qKiBEcmF3IG9ubHkgdGhlIG1pbiBhbmQgbWF4IGF4aXMgdGlja3MuIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgbWluTWF4VGlja3NPbmx5PzogYm9vbGVhblxuXG4gIC8qKiBTaG93IGdyaWQgbGluZXMgZm9yIHRoZSBtaW4gYW5kIG1heCBheGlzIHRpY2tzLiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIG1pbk1heFRpY2tzT25seVNob3dHcmlkTGluZXM/OiBib29sZWFuXG5cbiAgLyoqIERyYXcgb25seSB0aGUgbWluIGFuZCBtYXggYXhpcyB0aWNrcywgd2hlbiB0aGUgY2hhcnRcbiAgICogd2lkdGggaXMgbGVzcyB0aGFuIHRoZSBzcGVjaWZpZWQgdmFsdWUuXG4gICAqIERlZmF1bHQ6IGAyNTBgICovXG4gIEBJbnB1dCgpIG1pbk1heFRpY2tzT25seVdoZW5XaWR0aElzTGVzcz86IG51bWJlclxuXG4gIC8qKiBUaWNrIGxhYmVsIGZvcm1hdHRlciBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja0Zvcm1hdD86ICgodGljazogbnVtYmVyIHwgRGF0ZSwgaTogbnVtYmVyLCB0aWNrczogbnVtYmVyW10gfCBEYXRlW10pID0+IHN0cmluZylcblxuICAvKiogRXhwbGljaXRseSBzZXQgdGljayB2YWx1ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tWYWx1ZXM/OiBudW1iZXJbXVxuXG4gIC8qKiBTZXQgdGhlIGFwcHJveGltYXRlIG51bWJlciBvZiBheGlzIHRpY2tzICh3aWxsIGJlIHBhc3NlZCB0byBEMydzIGF4aXMgY29uc3RydWN0b3IpLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBudW1UaWNrcz86IG51bWJlclxuXG4gIC8qKiBUaWNrIHRleHQgZml0IG1vZGU6IGBGaXRNb2RlLldyYXBgIG9yIGBGaXRNb2RlLlRyaW1gLiBEZWZhdWx0OiBgRml0TW9kZS5XcmFwYC4gKi9cbiAgQElucHV0KCkgdGlja1RleHRGaXRNb2RlPzogRml0TW9kZSB8IGAke0ZpdE1vZGV9YFxuXG4gIC8qKiBNYXhpbXVtIHdpZHRoIGluIHBpeGVscyBmb3IgdGhlIHRpY2sgdGV4dCB0byBiZSB3cmFwcGVkIG9yIHRyaW1tZWQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0V2lkdGg/OiBudW1iZXJcblxuICAvKiogVGljayB0ZXh0IHdyYXBwaW5nIHNlcGFyYXRvci4gU3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0U2VwYXJhdG9yPzogc3RyaW5nIHwgc3RyaW5nW11cblxuICAvKiogRm9yY2Ugd29yZCBicmVhayBmb3IgdGlja3Mgd2hlbiB0aGV5IGRvbid0IGZpdC4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZvcmNlV29yZEJyZWFrPzogYm9vbGVhblxuXG4gIC8qKiBUaWNrIHRleHQgdHJpbSBtb2RlOiBgVHJpbU1vZGUuU3RhcnRgLCBgVHJpbU1vZGUuTWlkZGxlYCBvciBgVHJpbU1vZGUuRW5kYC4gRGVmYXVsdDogYFRyaW1Nb2RlLk1pZGRsZWAgKi9cbiAgQElucHV0KCkgdGlja1RleHRUcmltVHlwZT86IFRyaW1Nb2RlIHwgYCR7VHJpbU1vZGV9YFxuXG4gIC8qKiBGb250IHNpemUgb2YgdGhlIHRpY2sgdGV4dCBhcyBDU1Mgc3RyaW5nLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRGb250U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogVGV4dCBhbGlnbm1lbnQgZm9yIHRpY2tzOiBgVGV4dEFsaWduLkxlZnRgLCBgVGV4dEFsaWduLkNlbnRlcmAgb3IgYFRleHRBbGlnbi5SaWdodGAuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0QWxpZ24/OiBUZXh0QWxpZ24gfCBgJHtUZXh0QWxpZ259YCB8ICgodGlja1ZhbHVlOiBudW1iZXIgfCBEYXRlLCB0aWNrSW5kZXg6IG51bWJlciwgdGlja1ZhbHVlczogbnVtYmVyW10gfCBEYXRlW10sIHRpY2tQb3NpdGlvbjogW251bWJlciwgbnVtYmVyXSwgY29tcG9uZW50V2lkdGg6IG51bWJlciwgY29tcG9uZW50SGVpZ2h0OiBudW1iZXIpID0+IFRleHRBbGlnbiB8IGAke1RleHRBbGlnbn1gKVxuXG4gIC8qKiBGb250IGNvbG9yIG9mIHRoZSB0aWNrIHRleHQgYXMgQ1NTIHN0cmluZy4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0Q29sb3I/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIFRleHQgcm90YXRpb24gYW5nbGUgZm9yIHRpY2tzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEFuZ2xlPzogbnVtYmVyXG5cbiAgLyoqIEhpZGUgdGljayBsYWJlbHMgdGhhdCBvdmVybGFwIHdpdGggZWFjaCBvdGhlci5cbiAgICogVG8gZGVmaW5lIG92ZXJsYXBwaW5nLCBhIHNpbXBsZSBib3VuZGluZyBib3ggY29sbGlzaW9uIGRldGVjdGlvbiBhbGdvcml0aG0gaXMgdXNlZC5cbiAgICogV2hpY2ggbWVhbnMgdGhlIHJlc3VsdCB3b24ndCBiZSBhY2N1cmF0ZSB3aGVuIGB0aWNrVGV4dEFuZ2xlYCBpcyBzcGVjaWZpZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0SGlkZU92ZXJsYXBwaW5nPzogYm9vbGVhblxuXG4gIC8qKiBUaGUgc3BhY2luZyBpbiBwaXhlbHMgYmV0d2VlbiB0aGUgdGljayBhbmQgaXQncyBsYWJlbC4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIHRpY2tQYWRkaW5nPzogbnVtYmVyXG5cbiAgLyoqIFRoZSBzaXplIG9mIHRoZSB0aWNrIG1hcmtzIGluIHBpeGVscy4gQWNjZXB0cyBhIHNpbmdsZSBudW1iZXIgKGFwcGxpZXMgdG8gYm90aCBpbm5lciBhbmQgb3V0ZXIgdGlja3MpXG4gICAqIG9yIGEgdHVwbGUgYFtpbm5lclRpY2tTaXplLCBvdXRlclRpY2tTaXplXWAuIERlZmF1bHQ6IGA2YCAqL1xuICBASW5wdXQoKSB0aWNrU2l6ZT86IG51bWJlciB8IFtudW1iZXIsIG51bWJlcl1cbiAgQElucHV0KCkgZGF0YTogRGF0dW1bXVxuXG4gIGNvbXBvbmVudDogQXhpczxEYXR1bT4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgQXhpczxEYXR1bT4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBBeGlzQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3QgeyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCBwb3NpdGlvbiwgdHlwZSwgZnVsbFNpemUsIGxhYmVsLCBsYWJlbEZvbnRTaXplLCBsYWJlbE1hcmdpbiwgbGFiZWxUZXh0Rml0TW9kZSwgbGFiZWxUZXh0VHJpbVR5cGUsIGxhYmVsQ29sb3IsIGdyaWRMaW5lLCB0aWNrTGluZSwgZG9tYWluTGluZSwgbWluTWF4VGlja3NPbmx5LCBtaW5NYXhUaWNrc09ubHlTaG93R3JpZExpbmVzLCBtaW5NYXhUaWNrc09ubHlXaGVuV2lkdGhJc0xlc3MsIHRpY2tGb3JtYXQsIHRpY2tWYWx1ZXMsIG51bVRpY2tzLCB0aWNrVGV4dEZpdE1vZGUsIHRpY2tUZXh0V2lkdGgsIHRpY2tUZXh0U2VwYXJhdG9yLCB0aWNrVGV4dEZvcmNlV29yZEJyZWFrLCB0aWNrVGV4dFRyaW1UeXBlLCB0aWNrVGV4dEZvbnRTaXplLCB0aWNrVGV4dEFsaWduLCB0aWNrVGV4dENvbG9yLCB0aWNrVGV4dEFuZ2xlLCB0aWNrVGV4dEhpZGVPdmVybGFwcGluZywgdGlja1BhZGRpbmcsIHRpY2tTaXplIH0gPSB0aGlzXG4gICAgY29uc3QgY29uZmlnID0geyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCBwb3NpdGlvbiwgdHlwZSwgZnVsbFNpemUsIGxhYmVsLCBsYWJlbEZvbnRTaXplLCBsYWJlbE1hcmdpbiwgbGFiZWxUZXh0Rml0TW9kZSwgbGFiZWxUZXh0VHJpbVR5cGUsIGxhYmVsQ29sb3IsIGdyaWRMaW5lLCB0aWNrTGluZSwgZG9tYWluTGluZSwgbWluTWF4VGlja3NPbmx5LCBtaW5NYXhUaWNrc09ubHlTaG93R3JpZExpbmVzLCBtaW5NYXhUaWNrc09ubHlXaGVuV2lkdGhJc0xlc3MsIHRpY2tGb3JtYXQsIHRpY2tWYWx1ZXMsIG51bVRpY2tzLCB0aWNrVGV4dEZpdE1vZGUsIHRpY2tUZXh0V2lkdGgsIHRpY2tUZXh0U2VwYXJhdG9yLCB0aWNrVGV4dEZvcmNlV29yZEJyZWFrLCB0aWNrVGV4dFRyaW1UeXBlLCB0aWNrVGV4dEZvbnRTaXplLCB0aWNrVGV4dEFsaWduLCB0aWNrVGV4dENvbG9yLCB0aWNrVGV4dEFuZ2xlLCB0aWNrVGV4dEhpZGVPdmVybGFwcGluZywgdGlja1BhZGRpbmcsIHRpY2tTaXplIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=