@hestia-earth/ui-components 0.9.4 → 0.9.6

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.
@@ -0,0 +1,11 @@
1
+ import { Selection } from 'd3';
2
+ export declare const d3ellipse: <Datum>(selection: Selection<SVGTextElement, Datum, any, any>, maxWidth: number, ellipsisStr?: string) => void;
3
+ export declare const d3wrap: <Datum>(t: Selection<SVGTextElement, Datum, any, any>, { maxWidth, maxLines, words, nHeight, lHeight, vcentre, ownLineWord }: {
4
+ maxWidth: number;
5
+ maxLines: number;
6
+ words: string[];
7
+ nHeight: number;
8
+ lHeight: number;
9
+ vcentre?: boolean;
10
+ ownLineWord?: string;
11
+ }) => void;
package/common/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './common.module';
3
3
  export * from './common.service';
4
4
  export * from './compound';
5
5
  export * from './toast.service';
6
+ export * from './d3-utils';
6
7
  export * from './delta-utils';
7
8
  export * from './logs-utils';
8
9
  export * from './maps-utils';
@@ -1,5 +1,5 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { NodeType, Product, Term } from '@hestia-earth/schema';
2
+ import { NodeType } from '@hestia-earth/schema';
3
3
  import { HeNodeService } from '../node/node.service';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare const lookups: Readonly<{
@@ -19,24 +19,12 @@ export interface IAggregationModel {
19
19
  dataPath: string;
20
20
  '@id'?: string;
21
21
  }
22
- export interface ILookups {
23
- crop: any[];
24
- cropYield: any[];
25
- }
26
- export interface ITriggerCountryParams {
27
- country: Term;
28
- product: Product;
29
- '@type'?: NodeType;
30
- }
31
22
  export declare class HeAggregationEngineService {
32
23
  protected http: HttpClient;
33
24
  protected nodeService: HeNodeService;
34
25
  private modelsLoading;
35
26
  private modelsLoaded;
36
27
  private _models;
37
- private lookupsLoading;
38
- private lookupsLoaded;
39
- private _lookups;
40
28
  constructor(http: HttpClient, nodeService: HeNodeService);
41
29
  private init;
42
30
  private loadModels;
@@ -44,16 +32,6 @@ export declare class HeAggregationEngineService {
44
32
  models(): Promise<IAggregationModel[]>;
45
33
  model$(model: Partial<IAggregationModel>): import("rxjs").Observable<IAggregationModel>;
46
34
  model(model: Partial<IAggregationModel>): Promise<IAggregationModel>;
47
- private loadLookup;
48
- private loadLookups;
49
- get lookups$(): import("rxjs").Observable<{
50
- cropYield: any[];
51
- crop: any[];
52
- }>;
53
- lookups(): Promise<{
54
- cropYield: any[];
55
- crop: any[];
56
- }>;
57
35
  static ɵfac: i0.ɵɵFactoryDeclaration<HeAggregationEngineService, never>;
58
36
  static ɵprov: i0.ɵɵInjectableDeclaration<HeAggregationEngineService>;
59
37
  }
@@ -1,3 +1,7 @@
1
+ const ignoreCompounds = (value) => [
2
+ value.startsWith('GWP'),
3
+ value.startsWith('PM')
4
+ ].some(Boolean);
1
5
  /**
2
6
  * Handles <sup> and <sub> html tags for compounds.
3
7
  *
@@ -5,10 +9,15 @@
5
9
  * @returns HTML version with subscript and superscript tags.
6
10
  */
7
11
  export const compoundToHtml = (value) => typeof value === 'string'
8
- ? (value || '')
9
- .replace(/([A-Z]+[\d]+)([\d]{1}[\-\+])/g, '$1<sup>$2</sup>')
10
- .replace(/([A-Z]+)([\d]{1})([\-\+])/g, '$1<sub>$2</sub><sup>$3</sup>')
11
- .replace(/([A-LN-Za-ln-z])(\d+)/g, '$1<sub>$2</sub>')
12
- .replace(/([O])([x])/g, '$1<sub>$2</sub>')
12
+ ? ignoreCompounds(value)
13
+ ? value
14
+ : (value || '')
15
+ .replace(/([A-Z]+[\d]+)([\d]{1}[\-\+])/g, '$1<sup>$2</sup>')
16
+ .replace(/([A-Z]+)([\d]{1})([\-\+])/g, '$1<sub>$2</sub><sup>$3</sup>')
17
+ .replace(/([A-LN-Za-ln-z])(\d+)/g, '$1<sub>$2</sub>')
18
+ .replace(/([O])([x])/g, '$1<sub>$2</sub>')
19
+ // handle m3
20
+ .replace(/([m])([\d]{1})\s/g, '$1<sup>$2</sup>')
21
+ .replace(/([m])([\d]{1})$/g, '$1<sup>$2</sup>')
13
22
  : value;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2NvbXBvdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDM0MsT0FBTyxLQUFLLEtBQUssUUFBUTtJQUN2QixDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQ1osT0FBTyxDQUFDLCtCQUErQixFQUFFLGlCQUFpQixDQUFDO1NBQzNELE9BQU8sQ0FBQyw0QkFBNEIsRUFBRSw4QkFBOEIsQ0FBQztTQUNyRSxPQUFPLENBQUMsd0JBQXdCLEVBQUUsaUJBQWlCLENBQUM7U0FDcEQsT0FBTyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQztJQUM1QyxDQUFDLENBQUMsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIYW5kbGVzIDxzdXA+IGFuZCA8c3ViPiBodG1sIHRhZ3MgZm9yIGNvbXBvdW5kcy5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIGNvbXBvdW5kIGFzIGEgc3RyaW5nIChlLmcuIE5PMylcbiAqIEByZXR1cm5zIEhUTUwgdmVyc2lvbiB3aXRoIHN1YnNjcmlwdCBhbmQgc3VwZXJzY3JpcHQgdGFncy5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbXBvdW5kVG9IdG1sID0gKHZhbHVlOiBhbnkpID0+XG4gIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICA/ICh2YWx1ZSB8fCAnJylcbiAgICAgIC5yZXBsYWNlKC8oW0EtWl0rW1xcZF0rKShbXFxkXXsxfVtcXC1cXCtdKS9nLCAnJDE8c3VwPiQyPC9zdXA+JylcbiAgICAgIC5yZXBsYWNlKC8oW0EtWl0rKShbXFxkXXsxfSkoW1xcLVxcK10pL2csICckMTxzdWI+JDI8L3N1Yj48c3VwPiQzPC9zdXA+JylcbiAgICAgIC5yZXBsYWNlKC8oW0EtTE4tWmEtbG4tel0pKFxcZCspL2csICckMTxzdWI+JDI8L3N1Yj4nKVxuICAgICAgLnJlcGxhY2UoLyhbT10pKFt4XSkvZywgJyQxPHN1Yj4kMjwvc3ViPicpXG4gICAgOiB2YWx1ZTtcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2NvbXBvdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQztJQUN6QyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUN2QixLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztDQUN2QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVoQjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQzNDLE9BQU8sS0FBSyxLQUFLLFFBQVE7SUFDdkIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxDQUFDLEtBQUs7UUFDUCxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2FBQ1osT0FBTyxDQUFDLCtCQUErQixFQUFFLGlCQUFpQixDQUFDO2FBQzNELE9BQU8sQ0FBQyw0QkFBNEIsRUFBRSw4QkFBOEIsQ0FBQzthQUNyRSxPQUFPLENBQUMsd0JBQXdCLEVBQUUsaUJBQWlCLENBQUM7YUFDcEQsT0FBTyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQztZQUMxQyxZQUFZO2FBQ1gsT0FBTyxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDO2FBQy9DLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQztJQUNqRCxDQUFDLENBQUMsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaWdub3JlQ29tcG91bmRzID0gKHZhbHVlOiBzdHJpbmcpID0+IFtcbiAgdmFsdWUuc3RhcnRzV2l0aCgnR1dQJyksXG4gIHZhbHVlLnN0YXJ0c1dpdGgoJ1BNJylcbl0uc29tZShCb29sZWFuKTtcblxuLyoqXG4gKiBIYW5kbGVzIDxzdXA+IGFuZCA8c3ViPiBodG1sIHRhZ3MgZm9yIGNvbXBvdW5kcy5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIGNvbXBvdW5kIGFzIGEgc3RyaW5nIChlLmcuIE5PMylcbiAqIEByZXR1cm5zIEhUTUwgdmVyc2lvbiB3aXRoIHN1YnNjcmlwdCBhbmQgc3VwZXJzY3JpcHQgdGFncy5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbXBvdW5kVG9IdG1sID0gKHZhbHVlOiBhbnkpID0+XG4gIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICA/IGlnbm9yZUNvbXBvdW5kcyh2YWx1ZSlcbiAgICA/IHZhbHVlXG4gICAgOiAodmFsdWUgfHwgJycpXG4gICAgICAucmVwbGFjZSgvKFtBLVpdK1tcXGRdKykoW1xcZF17MX1bXFwtXFwrXSkvZywgJyQxPHN1cD4kMjwvc3VwPicpXG4gICAgICAucmVwbGFjZSgvKFtBLVpdKykoW1xcZF17MX0pKFtcXC1cXCtdKS9nLCAnJDE8c3ViPiQyPC9zdWI+PHN1cD4kMzwvc3VwPicpXG4gICAgICAucmVwbGFjZSgvKFtBLUxOLVphLWxuLXpdKShcXGQrKS9nLCAnJDE8c3ViPiQyPC9zdWI+JylcbiAgICAgIC5yZXBsYWNlKC8oW09dKShbeF0pL2csICckMTxzdWI+JDI8L3N1Yj4nKVxuICAgICAgLy8gaGFuZGxlIG0zXG4gICAgICAucmVwbGFjZSgvKFttXSkoW1xcZF17MX0pXFxzL2csICckMTxzdXA+JDI8L3N1cD4nKVxuICAgICAgLnJlcGxhY2UoLyhbbV0pKFtcXGRdezF9KSQvZywgJyQxPHN1cD4kMjwvc3VwPicpXG4gICAgOiB2YWx1ZTtcbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import * as d3 from 'd3';
2
+ export const d3ellipse = (selection, maxWidth, ellipsisStr = '...') => {
3
+ selection.each(function () {
4
+ const t = d3.select(this);
5
+ if (t.node().getComputedTextLength() > maxWidth) {
6
+ const chars = t.text().split('');
7
+ const line = [];
8
+ do {
9
+ line.push(chars.shift());
10
+ t.text(line.join('') + ellipsisStr);
11
+ } while (t.node().getComputedTextLength() <= maxWidth);
12
+ }
13
+ });
14
+ };
15
+ const shouldBreakLine = (overflows, isMultiWordLine, isOwnLineWord, isUnderLineLimit) => ((overflows && isMultiWordLine) || isOwnLineWord) && isUnderLineLimit;
16
+ export const d3wrap = (t, { maxWidth, maxLines, words, nHeight, lHeight, vcentre = false, ownLineWord = '' }) => {
17
+ words = words.reverse();
18
+ const y = t.attr('y');
19
+ const x = t.attr('x');
20
+ let lineNumber = 1;
21
+ let word;
22
+ let line = [];
23
+ let tspan = t.text(null).append('tspan').attr('x', x).attr('y', y);
24
+ while ((word = words.pop()) && lineNumber <= maxLines) {
25
+ line.push(word);
26
+ tspan.text(line.join(' '));
27
+ // TODO: hyphenate words that are too long
28
+ if (shouldBreakLine(tspan.node().getComputedTextLength() > maxWidth, line.length > 1, word === ownLineWord, lineNumber < maxLines)) {
29
+ line.pop();
30
+ tspan.text(line.join(' '));
31
+ line = [word];
32
+ tspan = t
33
+ .append('tspan')
34
+ .attr('x', x)
35
+ .attr('y', y)
36
+ .attr('dy', lineNumber++ * lHeight + 'px')
37
+ .text(word);
38
+ }
39
+ }
40
+ d3ellipse(tspan, maxWidth, '... ' + ownLineWord);
41
+ if (vcentre) {
42
+ const yOffset = nHeight / 2 - (t.selectAll('tspan').size() - 1) * (lHeight / 2);
43
+ t.selectAll('tspan').attr('y', yOffset);
44
+ }
45
+ };
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZDMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2QzLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUN2QixTQUFxRCxFQUNyRCxRQUFnQixFQUNoQixXQUFXLEdBQUcsS0FBSyxFQUNuQixFQUFFO0lBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNiLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMscUJBQXFCLEVBQUUsR0FBRyxRQUFRLEVBQUU7WUFDL0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqQyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7WUFDaEIsR0FBRztnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUM7YUFDckMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMscUJBQXFCLEVBQUUsSUFBSSxRQUFRLEVBQUU7U0FDeEQ7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLENBQ3RCLFNBQWtCLEVBQ2xCLGVBQXdCLEVBQ3hCLGFBQXNCLEVBQ3RCLGdCQUF5QixFQUN6QixFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxlQUFlLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FDcEIsQ0FBNkMsRUFDN0MsRUFDRSxRQUFRLEVBQ1IsUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxFQUNQLE9BQU8sR0FBRyxLQUFLLEVBQ2YsV0FBVyxHQUFHLEVBQUUsRUFTakIsRUFDRCxFQUFFO0lBQ0YsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEIsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLElBQUksSUFBSSxDQUFDO0lBQ1QsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRW5FLE9BQU8sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksVUFBVSxJQUFJLFFBQVEsRUFBRTtRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTNCLDBDQUEwQztRQUMxQyxJQUNFLGVBQWUsQ0FDYixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMscUJBQXFCLEVBQUUsR0FBRyxRQUFRLEVBQy9DLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUNmLElBQUksS0FBSyxXQUFXLEVBQ3BCLFVBQVUsR0FBRyxRQUFRLENBQ3RCLEVBQ0Q7WUFDQSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDWCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzQixJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNkLEtBQUssR0FBRyxDQUFDO2lCQUNOLE1BQU0sQ0FBQyxPQUFPLENBQUM7aUJBQ2YsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQ1osSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDO2lCQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDZjtLQUNGO0lBQ0QsU0FBUyxDQUFRLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FBQyxDQUFDO0lBRXhELElBQUksT0FBTyxFQUFFO1FBQ1gsTUFBTSxPQUFPLEdBQUcsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEYsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3pDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uIH0gZnJvbSAnZDMnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuXG5leHBvcnQgY29uc3QgZDNlbGxpcHNlID0gPERhdHVtPihcbiAgc2VsZWN0aW9uOiBTZWxlY3Rpb248U1ZHVGV4dEVsZW1lbnQsIERhdHVtLCBhbnksIGFueT4sXG4gIG1heFdpZHRoOiBudW1iZXIsXG4gIGVsbGlwc2lzU3RyID0gJy4uLidcbikgPT4ge1xuICBzZWxlY3Rpb24uZWFjaChmdW5jdGlvbigpIHtcbiAgICBjb25zdCB0ID0gZDMuc2VsZWN0KHRoaXMpO1xuICAgIGlmICh0Lm5vZGUoKS5nZXRDb21wdXRlZFRleHRMZW5ndGgoKSA+IG1heFdpZHRoKSB7XG4gICAgICBjb25zdCBjaGFycyA9IHQudGV4dCgpLnNwbGl0KCcnKTtcbiAgICAgIGNvbnN0IGxpbmUgPSBbXTtcbiAgICAgIGRvIHtcbiAgICAgICAgbGluZS5wdXNoKGNoYXJzLnNoaWZ0KCkpO1xuICAgICAgICB0LnRleHQobGluZS5qb2luKCcnKSArIGVsbGlwc2lzU3RyKTtcbiAgICAgIH0gd2hpbGUgKHQubm9kZSgpLmdldENvbXB1dGVkVGV4dExlbmd0aCgpIDw9IG1heFdpZHRoKTtcbiAgICB9XG4gIH0pO1xufTtcblxuY29uc3Qgc2hvdWxkQnJlYWtMaW5lID0gKFxuICBvdmVyZmxvd3M6IGJvb2xlYW4sXG4gIGlzTXVsdGlXb3JkTGluZTogYm9vbGVhbixcbiAgaXNPd25MaW5lV29yZDogYm9vbGVhbixcbiAgaXNVbmRlckxpbmVMaW1pdDogYm9vbGVhblxuKSA9PiAoKG92ZXJmbG93cyAmJiBpc011bHRpV29yZExpbmUpIHx8IGlzT3duTGluZVdvcmQpICYmIGlzVW5kZXJMaW5lTGltaXQ7XG5cbmV4cG9ydCBjb25zdCBkM3dyYXAgPSA8RGF0dW0+KFxuICB0OiBTZWxlY3Rpb248U1ZHVGV4dEVsZW1lbnQsIERhdHVtLCBhbnksIGFueT4sXG4gIHtcbiAgICBtYXhXaWR0aCxcbiAgICBtYXhMaW5lcyxcbiAgICB3b3JkcyxcbiAgICBuSGVpZ2h0LFxuICAgIGxIZWlnaHQsXG4gICAgdmNlbnRyZSA9IGZhbHNlLFxuICAgIG93bkxpbmVXb3JkID0gJydcbiAgfToge1xuICAgIG1heFdpZHRoOiBudW1iZXI7XG4gICAgbWF4TGluZXM6IG51bWJlcjtcbiAgICB3b3Jkczogc3RyaW5nW107XG4gICAgbkhlaWdodDogbnVtYmVyO1xuICAgIGxIZWlnaHQ6IG51bWJlcjtcbiAgICB2Y2VudHJlPzogYm9vbGVhbjtcbiAgICBvd25MaW5lV29yZD86IHN0cmluZztcbiAgfVxuKSA9PiB7XG4gIHdvcmRzID0gd29yZHMucmV2ZXJzZSgpO1xuICBjb25zdCB5ID0gdC5hdHRyKCd5Jyk7XG4gIGNvbnN0IHggPSB0LmF0dHIoJ3gnKTtcbiAgbGV0IGxpbmVOdW1iZXIgPSAxO1xuICBsZXQgd29yZDtcbiAgbGV0IGxpbmUgPSBbXTtcbiAgbGV0IHRzcGFuID0gdC50ZXh0KG51bGwpLmFwcGVuZCgndHNwYW4nKS5hdHRyKCd4JywgeCkuYXR0cigneScsIHkpO1xuXG4gIHdoaWxlICgod29yZCA9IHdvcmRzLnBvcCgpKSAmJiBsaW5lTnVtYmVyIDw9IG1heExpbmVzKSB7XG4gICAgbGluZS5wdXNoKHdvcmQpO1xuICAgIHRzcGFuLnRleHQobGluZS5qb2luKCcgJykpO1xuXG4gICAgLy8gVE9ETzogaHlwaGVuYXRlIHdvcmRzIHRoYXQgYXJlIHRvbyBsb25nXG4gICAgaWYgKFxuICAgICAgc2hvdWxkQnJlYWtMaW5lKFxuICAgICAgICB0c3Bhbi5ub2RlKCkuZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCkgPiBtYXhXaWR0aCxcbiAgICAgICAgbGluZS5sZW5ndGggPiAxLFxuICAgICAgICB3b3JkID09PSBvd25MaW5lV29yZCxcbiAgICAgICAgbGluZU51bWJlciA8IG1heExpbmVzXG4gICAgICApXG4gICAgKSB7XG4gICAgICBsaW5lLnBvcCgpO1xuICAgICAgdHNwYW4udGV4dChsaW5lLmpvaW4oJyAnKSk7XG4gICAgICBsaW5lID0gW3dvcmRdO1xuICAgICAgdHNwYW4gPSB0XG4gICAgICAgIC5hcHBlbmQoJ3RzcGFuJylcbiAgICAgICAgLmF0dHIoJ3gnLCB4KVxuICAgICAgICAuYXR0cigneScsIHkpXG4gICAgICAgIC5hdHRyKCdkeScsIGxpbmVOdW1iZXIrKyAqIGxIZWlnaHQgKyAncHgnKVxuICAgICAgICAudGV4dCh3b3JkKTtcbiAgICB9XG4gIH1cbiAgZDNlbGxpcHNlPERhdHVtPih0c3BhbiwgbWF4V2lkdGgsICcuLi4gJyArIG93bkxpbmVXb3JkKTtcblxuICBpZiAodmNlbnRyZSkge1xuICAgIGNvbnN0IHlPZmZzZXQgPSBuSGVpZ2h0IC8gMiAtICh0LnNlbGVjdEFsbCgndHNwYW4nKS5zaXplKCkgLSAxKSAqIChsSGVpZ2h0IC8gMik7XG4gICAgdC5zZWxlY3RBbGwoJ3RzcGFuJykuYXR0cigneScsIHlPZmZzZXQpO1xuICB9XG59O1xuIl19
@@ -3,6 +3,7 @@ export * from './common.module';
3
3
  export * from './common.service';
4
4
  export * from './compound';
5
5
  export * from './toast.service';
6
+ export * from './d3-utils';
6
7
  export * from './delta-utils';
7
8
  export * from './logs-utils';
8
9
  export * from './maps-utils';
@@ -39,4 +40,4 @@ export { PrecisionPipe } from './precision.pipe';
39
40
  export { TagsInputDirective } from './tags-input.directive';
40
41
  export { TimesPipe } from './times.pipe';
41
42
  export { SortByPipe } from './sort-by.pipe';
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21tb24ubGlnaHQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG91bmQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGVsdGEtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dzLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwcy11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3BsdXJhbGl6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgQmxhbmtOb2RlU3RhdGVDb21wb25lbnQgfSBmcm9tICcuL2JsYW5rLW5vZGUtc3RhdGUvYmxhbmstbm9kZS1zdGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgQmxhbmtOb2RlU3RhdGVOb3RpY2VDb21wb25lbnQgfSBmcm9tICcuL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlL2JsYW5rLW5vZGUtc3RhdGUtbm90aWNlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBCbGFua05vZGVWYWx1ZURlbHRhQ29tcG9uZW50IH0gZnJvbSAnLi9ibGFuay1ub2RlLXZhbHVlLWRlbHRhL2JsYW5rLW5vZGUtdmFsdWUtZGVsdGEuY29tcG9uZW50JztcbmV4cG9ydCB7IENsaXBib2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2xpcGJvYXJkL2NsaXBib2FyZC5jb21wb25lbnQnO1xuZXhwb3J0IHsgRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCB7IElzc3VlQ29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4vaXNzdWUtY29uZmlybS9pc3N1ZS1jb25maXJtLmNvbXBvbmVudCc7XG5leHBvcnQgeyBMaW5rS2V5VmFsdWVDb21wb25lbnQgfSBmcm9tICcuL2xpbmsta2V5LXZhbHVlL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBNYXBzRHJhd2luZ0NvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL21hcHMtZHJhd2luZy1jb25maXJtL21hcHMtZHJhd2luZy1jb25maXJtLmNvbXBvbmVudCc7XG5leHBvcnQgeyBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IFBvcG92ZXJDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVyLWNvbmZpcm0vcG9wb3Zlci1jb25maXJtLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTY2hlbWFWZXJzaW9uTGlua0NvbXBvbmVudCB9IGZyb20gJy4vc2NoZW1hLXZlcnNpb24tbGluay9zY2hlbWEtdmVyc2lvbi1saW5rLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa2VsZXRvblRleHRDb21wb25lbnQgfSBmcm9tICcuL3NrZWxldG9uLXRleHQvc2tlbGV0b24tdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU29jaWFsVGFnc0NvbXBvbmVudCB9IGZyb20gJy4vc29jaWFsLXRhZ3Mvc29jaWFsLXRhZ3MuY29tcG9uZW50JztcbmV4cG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuZXhwb3J0IHsgVW5pdENvbnZlcnRlckNvbXBvbmVudCB9IGZyb20gJy4vdW5pdC1jb252ZXJ0ZXIvdW5pdC1jb252ZXJ0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IEJpbmRPbmNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iaW5kLW9uY2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4vY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgQ29tcG91bmREaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvdW5kLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBDb21wb3VuZFBpcGUgfSBmcm9tICcuL2NvbXBvdW5kLnBpcGUnO1xuZXhwb3J0IHsgRGVmYXVsdFBpcGUgfSBmcm9tICcuL2RlZmF1bHQucGlwZSc7XG5leHBvcnQgeyBFbGxpcHNpc1BpcGUgfSBmcm9tICcuL2VsbGlwc2lzLnBpcGUnO1xuZXhwb3J0IHsgR2V0UGlwZSB9IGZyb20gJy4vZ2V0LnBpcGUnO1xuZXhwb3J0IHsgSXNBcnJheVBpcGUgfSBmcm9tICcuL2lzLWFycmF5LnBpcGUnO1xuZXhwb3J0IHsgSXNPYmplY3RQaXBlIH0gZnJvbSAnLi9pcy1vYmplY3QucGlwZSc7XG5leHBvcnQgeyBLZXlUb0xhYmVsUGlwZSB9IGZyb20gJy4va2V5LXRvLWxhYmVsLnBpcGUnO1xuZXhwb3J0IHsgS2V5c1BpcGUgfSBmcm9tICcuL2tleXMucGlwZSc7XG5leHBvcnQgeyBQbHVyYWxpemVQaXBlIH0gZnJvbSAnLi9wbHVyYWxpemUucGlwZSc7XG5leHBvcnQgeyBQcmVjaXNpb25QaXBlIH0gZnJvbSAnLi9wcmVjaXNpb24ucGlwZSc7XG5leHBvcnQgeyBUYWdzSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL3RhZ3MtaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFRpbWVzUGlwZSB9IGZyb20gJy4vdGltZXMucGlwZSc7XG5leHBvcnQgeyBTb3J0QnlQaXBlIH0gZnJvbSAnLi9zb3J0LWJ5LnBpcGUnO1xuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDNUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21tb24ubGlnaHQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG91bmQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZDMtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWx0YS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ3MtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBzLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1cmFsaXplJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgeyBCbGFua05vZGVTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vYmxhbmstbm9kZS1zdGF0ZS9ibGFuay1ub2RlLXN0YXRlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBCbGFua05vZGVTdGF0ZU5vdGljZUNvbXBvbmVudCB9IGZyb20gJy4vYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UvYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UuY29tcG9uZW50JztcbmV4cG9ydCB7IEJsYW5rTm9kZVZhbHVlRGVsdGFDb21wb25lbnQgfSBmcm9tICcuL2JsYW5rLW5vZGUtdmFsdWUtZGVsdGEvYmxhbmstbm9kZS12YWx1ZS1kZWx0YS5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ2xpcGJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jbGlwYm9hcmQvY2xpcGJvYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgeyBEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgSXNzdWVDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9pc3N1ZS1jb25maXJtL2lzc3VlLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCB7IExpbmtLZXlWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vbGluay1rZXktdmFsdWUvbGluay1rZXktdmFsdWUuY29tcG9uZW50JztcbmV4cG9ydCB7IE1hcHNEcmF3aW5nQ29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4vbWFwcy1kcmF3aW5nLWNvbmZpcm0vbWFwcy1kcmF3aW5nLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgUG9wb3ZlckNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItY29uZmlybS9wb3BvdmVyLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCB7IFNjaGVtYVZlcnNpb25MaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9zY2hlbWEtdmVyc2lvbi1saW5rL3NjaGVtYS12ZXJzaW9uLWxpbmsuY29tcG9uZW50JztcbmV4cG9ydCB7IFNrZWxldG9uVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc2tlbGV0b24tdGV4dC9za2VsZXRvbi10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTb2NpYWxUYWdzQ29tcG9uZW50IH0gZnJvbSAnLi9zb2NpYWwtdGFncy9zb2NpYWwtdGFncy5jb21wb25lbnQnO1xuZXhwb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBVbml0Q29udmVydGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bml0LWNvbnZlcnRlci91bml0LWNvbnZlcnRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgQmluZE9uY2VEaXJlY3RpdmUgfSBmcm9tICcuL2JpbmQtb25jZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSAnLi9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBDb21wb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG91bmQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IENvbXBvdW5kUGlwZSB9IGZyb20gJy4vY29tcG91bmQucGlwZSc7XG5leHBvcnQgeyBEZWZhdWx0UGlwZSB9IGZyb20gJy4vZGVmYXVsdC5waXBlJztcbmV4cG9ydCB7IEVsbGlwc2lzUGlwZSB9IGZyb20gJy4vZWxsaXBzaXMucGlwZSc7XG5leHBvcnQgeyBHZXRQaXBlIH0gZnJvbSAnLi9nZXQucGlwZSc7XG5leHBvcnQgeyBJc0FycmF5UGlwZSB9IGZyb20gJy4vaXMtYXJyYXkucGlwZSc7XG5leHBvcnQgeyBJc09iamVjdFBpcGUgfSBmcm9tICcuL2lzLW9iamVjdC5waXBlJztcbmV4cG9ydCB7IEtleVRvTGFiZWxQaXBlIH0gZnJvbSAnLi9rZXktdG8tbGFiZWwucGlwZSc7XG5leHBvcnQgeyBLZXlzUGlwZSB9IGZyb20gJy4va2V5cy5waXBlJztcbmV4cG9ydCB7IFBsdXJhbGl6ZVBpcGUgfSBmcm9tICcuL3BsdXJhbGl6ZS5waXBlJztcbmV4cG9ydCB7IFByZWNpc2lvblBpcGUgfSBmcm9tICcuL3ByZWNpc2lvbi5waXBlJztcbmV4cG9ydCB7IFRhZ3NJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4vdGFncy1pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgVGltZXNQaXBlIH0gZnJvbSAnLi90aW1lcy5waXBlJztcbmV4cG9ydCB7IFNvcnRCeVBpcGUgfSBmcm9tICcuL3NvcnQtYnkucGlwZSc7XG4iXX0=
@@ -1,8 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { forkJoin, from, of, ReplaySubject } from 'rxjs';
2
+ import { of, ReplaySubject } from 'rxjs';
3
3
  import { catchError, map, take } from 'rxjs/operators';
4
- import { TermTermType } from '@hestia-earth/schema';
5
- import * as csvtojson from 'csvtojson';
6
4
  import { gitBranch, gitHome, gitRawBaseUrl } from '../common/utils';
7
5
  import * as i0 from "@angular/core";
8
6
  import * as i1 from "@angular/common/http";
@@ -20,9 +18,6 @@ export class HeAggregationEngineService {
20
18
  this.modelsLoading = false;
21
19
  this.modelsLoaded = false;
22
20
  this._models = new ReplaySubject(1);
23
- this.lookupsLoading = false;
24
- this.lookupsLoaded = false;
25
- this._lookups = new ReplaySubject(1);
26
21
  this.init();
27
22
  }
28
23
  async init() {
@@ -53,27 +48,6 @@ export class HeAggregationEngineService {
53
48
  model(model) {
54
49
  return this.model$(model).pipe(take(1)).toPromise();
55
50
  }
56
- async loadLookup(filename) {
57
- const data = await this.nodeService.downloadLookup(filename);
58
- return csvtojson({ delimiter: 'auto' }).fromString(data);
59
- }
60
- loadLookups() {
61
- return forkJoin({
62
- cropYield: from(this.loadLookup(lookups.cropYield)),
63
- crop: from(this.loadLookup(TermTermType.crop))
64
- }).pipe(map(values => {
65
- this._lookups.next(values);
66
- this.lookupsLoading = false;
67
- this.lookupsLoaded = true;
68
- return values;
69
- }));
70
- }
71
- get lookups$() {
72
- return this.lookupsLoading || this.lookupsLoaded ? this._lookups.asObservable() : this.loadLookups();
73
- }
74
- lookups() {
75
- return this.lookups$.pipe(take(1)).toPromise();
76
- }
77
51
  }
78
52
  HeAggregationEngineService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: HeAggregationEngineService, deps: [{ token: i1.HttpClient }, { token: i2.HeNodeService }], target: i0.ɵɵFactoryTarget.Injectable });
79
53
  HeAggregationEngineService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: HeAggregationEngineService, providedIn: 'root' });
@@ -83,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
83
57
  providedIn: 'root'
84
58
  }]
85
59
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HeNodeService }]; } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tZW5naW5lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW5naW5lL2FnZ3JlZ2F0aW9uLWVuZ2luZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQTJCLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sS0FBSyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRXBFLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxxQ0FBcUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztBQUNsRixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLGFBQWEsb0NBQW9DLFNBQVMsRUFBRSxFQUFFLENBQUM7QUFFdkYsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbkMsU0FBUyxFQUFFLGlEQUFpRDtJQUM1RCxrQkFBa0IsRUFBRSwrQkFBK0I7Q0FDcEQsQ0FBQyxDQUFDO0FBa0NILE1BQU0sT0FBTywwQkFBMEI7SUFTckMsWUFDWSxJQUFnQixFQUNoQixXQUEwQjtRQUQxQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBVjlCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JC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QixPQUFPLFFBQVEsQ0FBQztZQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkQsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkcsQ0FBQztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pELENBQUM7O3VIQWhGVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIGZyb20sIG9mLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOb2RlVHlwZSwgUHJvZHVjdCwgVGVybSwgVGVybVRlcm1UeXBlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuaW1wb3J0ICogYXMgY3N2dG9qc29uIGZyb20gJ2NzdnRvanNvbic7XG5cbmltcG9ydCB7IEhlTm9kZVNlcnZpY2UgfSBmcm9tICcuLi9ub2RlL25vZGUuc2VydmljZSc7XG5pbXBvcnQgeyBnaXRCcmFuY2gsIGdpdEhvbWUsIGdpdFJhd0Jhc2VVcmwgfSBmcm9tICcuLi9jb21tb24vdXRpbHMnO1xuXG5jb25zdCBnaXRVcmwgPSAoKSA9PiBgJHtnaXRIb21lfS9oZXN0aWEtYWdncmVnYXRpb24tZW5naW5lLy0vYmxvYi8ke2dpdEJyYW5jaCgpfWA7XG5jb25zdCByYXdVcmwgPSAoKSA9PiBgJHtnaXRSYXdCYXNlVXJsfS9oZXN0aWEtYWdncmVnYXRpb24tZW5naW5lLy0vcmF3LyR7Z2l0QnJhbmNoKCl9YDtcblxuZXhwb3J0IGNvbnN0IGxvb2t1cHMgPSBPYmplY3QuZnJlZXplKHtcbiAgY3JvcFlpZWxkOiAncmVnaW9uLWNyb3AtY3JvcEdyb3VwaW5nRmFvc3RhdFByb2R1Y3Rpb24teWllbGQnLFxuICBjcm9wR3JvdXBpbmdDb2x1bW46ICdjcm9wR3JvdXBpbmdGYW9zdGF0UHJvZHVjdGlvbidcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIElBZ2dyZWdhdGlvbk1vZGVsIHtcbiAgdHlwZTogTm9kZVR5cGU7XG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiAoY29kZSkgb2YgdGhlIG1vZGVsLlxuICAgKi9cbiAgcGF0aDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgbW9kZWwuXG4gICAqL1xuICBkb2NQYXRoOiBzdHJpbmc7XG4gIGRhdGFQYXRoOiBzdHJpbmc7XG4gICdAaWQnPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgSUFnZ3JlZ2F0aW9uTW9kZWxMaW5rcyB7XG4gIGxpbmtzOiBJQWdncmVnYXRpb25Nb2RlbFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMb29rdXBzIHtcbiAgY3JvcDogYW55W107XG4gIGNyb3BZaWVsZDogYW55W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyaWdnZXJDb3VudHJ5UGFyYW1zIHtcbiAgY291bnRyeTogVGVybTtcbiAgcHJvZHVjdDogUHJvZHVjdDtcbiAgJ0B0eXBlJz86IE5vZGVUeXBlO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIZUFnZ3JlZ2F0aW9uRW5naW5lU2VydmljZSB7XG4gIHByaXZhdGUgbW9kZWxzTG9hZGluZyA9IGZhbHNlO1xuICBwcml2YXRlIG1vZGVsc0xvYWRlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9tb2RlbHMgPSBuZXcgUmVwbGF5U3ViamVjdDxJQWdncmVnYXRpb25Nb2RlbFtdPigxKTtcblxuICBwcml2YXRlIGxvb2t1cHNMb2FkaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgbG9va3Vwc0xvYWRlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9sb29rdXBzID0gbmV3IFJlcGxheVN1YmplY3Q8SUxvb2t1cHM+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBub2RlU2VydmljZTogSGVOb2RlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaW5pdCgpIHtcbiAgICBhd2FpdCB0aGlzLmxvYWRNb2RlbHMoKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE1vZGVscygpIHtcbiAgICB0aGlzLm1vZGVsc0xvYWRpbmcgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElBZ2dyZWdhdGlvbk1vZGVsTGlua3M+KGAke3Jhd1VybCgpfS9tb2RlbC1saW5rcy5qc29uYCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoeyBsaW5rczogW10gfSBhcyBJQWdncmVnYXRpb25Nb2RlbExpbmtzKSksXG4gICAgICBtYXAoKHsgbGlua3MgfSkgPT4ge1xuICAgICAgICB0aGlzLl9tb2RlbHMubmV4dChsaW5rcy5tYXAoKHsgcGF0aDogbW9kZWxQYXRoLCBkb2NQYXRoLCAuLi5saW5rIH0pID0+ICh7XG4gICAgICAgICAgLi4ubGluayxcbiAgICAgICAgICBwYXRoOiBgJHtnaXRVcmwoKX0vJHttb2RlbFBhdGh9YCxcbiAgICAgICAgICBkb2NQYXRoOiBgJHtnaXRVcmwoKX0vJHtkb2NQYXRofWBcbiAgICAgICAgfSkpKTtcbiAgICAgICAgdGhpcy5tb2RlbHNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMubW9kZWxzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGxpbmtzO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbW9kZWxzJCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbHNMb2FkaW5nIHx8IHRoaXMubW9kZWxzTG9hZGVkID8gdGhpcy5fbW9kZWxzLmFzT2JzZXJ2YWJsZSgpIDogdGhpcy5sb2FkTW9kZWxzKCk7XG4gIH1cblxuICBwdWJsaWMgbW9kZWxzKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVscyQucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBtb2RlbCQobW9kZWw6IFBhcnRpYWw8SUFnZ3JlZ2F0aW9uTW9kZWw+KSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWxzJC5waXBlKFxuICAgICAgbWFwKG1vZGVscyA9PiBtb2RlbHMuZmluZChtID0+IE9iamVjdC5lbnRyaWVzKG1vZGVsKS5ldmVyeSgoW2tleSwgdmFsdWVdKSA9PiB2YWx1ZSA9PT0gbVtrZXldKSkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBtb2RlbChtb2RlbDogUGFydGlhbDxJQWdncmVnYXRpb25Nb2RlbD4pIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCQobW9kZWwpLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRMb29rdXAoZmlsZW5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLm5vZGVTZXJ2aWNlLmRvd25sb2FkTG9va3VwKGZpbGVuYW1lKTtcbiAgICByZXR1cm4gY3N2dG9qc29uKHsgZGVsaW1pdGVyOiAnYXV0bycgfSkuZnJvbVN0cmluZyhkYXRhISk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRMb29rdXBzKCkge1xuICAgIHJldHVybiBmb3JrSm9pbih7XG4gICAgICBjcm9wWWllbGQ6IGZyb20odGhpcy5sb2FkTG9va3VwKGxvb2t1cHMuY3JvcFlpZWxkKSksXG4gICAgICBjcm9wOiBmcm9tKHRoaXMubG9hZExvb2t1cChUZXJtVGVybVR5cGUuY3JvcCkpXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCh2YWx1ZXMgPT4ge1xuICAgICAgICB0aGlzLl9sb29rdXBzLm5leHQodmFsdWVzKTtcbiAgICAgICAgdGhpcy5sb29rdXBzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxvb2t1cHNMb2FkZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdmFsdWVzO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBsb29rdXBzJCgpIHtcbiAgICByZXR1cm4gdGhpcy5sb29rdXBzTG9hZGluZyB8fCB0aGlzLmxvb2t1cHNMb2FkZWQgPyB0aGlzLl9sb29rdXBzLmFzT2JzZXJ2YWJsZSgpIDogdGhpcy5sb2FkTG9va3VwcygpO1xuICB9XG5cbiAgcHVibGljIGxvb2t1cHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubG9va3VwcyQucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tZW5naW5lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW5naW5lL2FnZ3JlZ2F0aW9uLWVuZ2luZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFcEUsTUFBTSxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLHFDQUFxQyxTQUFTLEVBQUUsRUFBRSxDQUFDO0FBQ2xGLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsYUFBYSxvQ0FBb0MsU0FBUyxFQUFFLEVBQUUsQ0FBQztBQUV2RixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxTQUFTLEVBQUUsaURBQWlEO0lBQzVELGtCQUFrQixFQUFFLCtCQUErQjtDQUNwRCxDQUFDLENBQUM7QUF1QkgsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUNZLElBQWdCLEVBQ2hCLFdBQTBCO1FBRDFCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFOOUIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFzQixDQUFDLENBQUMsQ0FBQztRQU0xRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU8sS0FBSyxDQUFDLElBQUk7UUFDaEIsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBeUIsR0FBRyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQy9FLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUE0QixDQUFDLENBQUMsRUFDN0QsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3RFLEdBQUcsSUFBSTtnQkFDUCxJQUFJLEVBQUUsR0FBRyxNQUFNLEVBQUUsSUFBSSxTQUFTLEVBQUU7Z0JBQ2hDLE9BQU8sRUFBRSxHQUFHLE1BQU0sRUFBRSxJQUFJLE9BQU8sRUFBRTthQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVksT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25HLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWlDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3RCLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqRyxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFpQztRQUM1QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3RELENBQUM7O3VIQWpEVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5vZGVUeXBlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuXG5pbXBvcnQgeyBIZU5vZGVTZXJ2aWNlIH0gZnJvbSAnLi4vbm9kZS9ub2RlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2l0QnJhbmNoLCBnaXRIb21lLCBnaXRSYXdCYXNlVXJsIH0gZnJvbSAnLi4vY29tbW9uL3V0aWxzJztcblxuY29uc3QgZ2l0VXJsID0gKCkgPT4gYCR7Z2l0SG9tZX0vaGVzdGlhLWFnZ3JlZ2F0aW9uLWVuZ2luZS8tL2Jsb2IvJHtnaXRCcmFuY2goKX1gO1xuY29uc3QgcmF3VXJsID0gKCkgPT4gYCR7Z2l0UmF3QmFzZVVybH0vaGVzdGlhLWFnZ3JlZ2F0aW9uLWVuZ2luZS8tL3Jhdy8ke2dpdEJyYW5jaCgpfWA7XG5cbmV4cG9ydCBjb25zdCBsb29rdXBzID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGNyb3BZaWVsZDogJ3JlZ2lvbi1jcm9wLWNyb3BHcm91cGluZ0Zhb3N0YXRQcm9kdWN0aW9uLXlpZWxkJyxcbiAgY3JvcEdyb3VwaW5nQ29sdW1uOiAnY3JvcEdyb3VwaW5nRmFvc3RhdFByb2R1Y3Rpb24nXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBJQWdncmVnYXRpb25Nb2RlbCB7XG4gIHR5cGU6IE5vZGVUeXBlO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgaW1wbGVtZW50YXRpb24gKGNvZGUpIG9mIHRoZSBtb2RlbC5cbiAgICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlIG1vZGVsLlxuICAgKi9cbiAgZG9jUGF0aDogc3RyaW5nO1xuICBkYXRhUGF0aDogc3RyaW5nO1xuICAnQGlkJz86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIElBZ2dyZWdhdGlvbk1vZGVsTGlua3Mge1xuICBsaW5rczogSUFnZ3JlZ2F0aW9uTW9kZWxbXTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSGVBZ2dyZWdhdGlvbkVuZ2luZVNlcnZpY2Uge1xuICBwcml2YXRlIG1vZGVsc0xvYWRpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBtb2RlbHNMb2FkZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbW9kZWxzID0gbmV3IFJlcGxheVN1YmplY3Q8SUFnZ3JlZ2F0aW9uTW9kZWxbXT4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIG5vZGVTZXJ2aWNlOiBIZU5vZGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBpbml0KCkge1xuICAgIGF3YWl0IHRoaXMubG9hZE1vZGVscygpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkTW9kZWxzKCkge1xuICAgIHRoaXMubW9kZWxzTG9hZGluZyA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SUFnZ3JlZ2F0aW9uTW9kZWxMaW5rcz4oYCR7cmF3VXJsKCl9L21vZGVsLWxpbmtzLmpzb25gKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZih7IGxpbmtzOiBbXSB9IGFzIElBZ2dyZWdhdGlvbk1vZGVsTGlua3MpKSxcbiAgICAgIG1hcCgoeyBsaW5rcyB9KSA9PiB7XG4gICAgICAgIHRoaXMuX21vZGVscy5uZXh0KGxpbmtzLm1hcCgoeyBwYXRoOiBtb2RlbFBhdGgsIGRvY1BhdGgsIC4uLmxpbmsgfSkgPT4gKHtcbiAgICAgICAgICAuLi5saW5rLFxuICAgICAgICAgIHBhdGg6IGAke2dpdFVybCgpfS8ke21vZGVsUGF0aH1gLFxuICAgICAgICAgIGRvY1BhdGg6IGAke2dpdFVybCgpfS8ke2RvY1BhdGh9YFxuICAgICAgICB9KSkpO1xuICAgICAgICB0aGlzLm1vZGVsc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5tb2RlbHNMb2FkZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbGlua3M7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldCBtb2RlbHMkKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsc0xvYWRpbmcgfHwgdGhpcy5tb2RlbHNMb2FkZWQgPyB0aGlzLl9tb2RlbHMuYXNPYnNlcnZhYmxlKCkgOiB0aGlzLmxvYWRNb2RlbHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBtb2RlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWxzJC5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIG1vZGVsJChtb2RlbDogUGFydGlhbDxJQWdncmVnYXRpb25Nb2RlbD4pIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbHMkLnBpcGUoXG4gICAgICBtYXAobW9kZWxzID0+IG1vZGVscy5maW5kKG0gPT4gT2JqZWN0LmVudHJpZXMobW9kZWwpLmV2ZXJ5KChba2V5LCB2YWx1ZV0pID0+IHZhbHVlID09PSBtW2tleV0pKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1vZGVsKG1vZGVsOiBQYXJ0aWFsPElBZ2dyZWdhdGlvbk1vZGVsPikge1xuICAgIHJldHVybiB0aGlzLm1vZGVsJChtb2RlbCkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19