@rivet-health/design-system 12.0.0 → 12.0.1
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.
- package/esm2020/lib/visualization/chart/chart.mjs +2 -2
- package/fesm2015/rivet-health-design-system.mjs +1 -2
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +1 -2
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/visualization/chart/chart.d.ts +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { CurrencyPipe } from '@angular/common';
|
|
|
2
2
|
import { scaleLinear, scaleUtc } from 'd3-scale';
|
|
3
3
|
import { area, line } from 'd3-shape';
|
|
4
4
|
import { utcFormat } from 'd3-time-format';
|
|
5
|
-
import { DaysPipe } from '
|
|
5
|
+
import { DaysPipe } from '../../format/pipes/days.pipe';
|
|
6
6
|
import { NumberPipe } from '../../format/pipes/number.pipe';
|
|
7
7
|
import { PercentagePipe } from '../../format/pipes/percentage.pipe';
|
|
8
8
|
import { SmallCurrencyPipe } from '../../format/pipes/small-currency.pipe';
|
|
@@ -325,4 +325,4 @@ export var Chart;
|
|
|
325
325
|
}
|
|
326
326
|
Chart.getTimeIntervalFormat = getTimeIntervalFormat;
|
|
327
327
|
})(Chart || (Chart = {}));
|
|
328
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi92aXN1YWxpemF0aW9uL2NoYXJ0L2NoYXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFM0UsTUFBTSxLQUFXLEtBQUssQ0EwZXJCO0FBMWVELFdBQWlCLEtBQUs7SUFDUCx5QkFBbUIsR0FBRztRQUNqQyxhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsV0FBVztRQUNYLFdBQVc7UUFDWCxXQUFXO1FBQ1gsZ0NBQWdDO1FBQ2hDLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLFdBQVc7UUFDWCxXQUFXO1FBQ1gsV0FBVztRQUNYLCtCQUErQjtRQUMvQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxXQUFXO1FBQ1gsV0FBVztRQUNYLFdBQVc7S0FDWixDQUFDO0lBRUYsU0FBZ0IsS0FBSyxDQUFDLE1BQWMsRUFBRSxJQUFVLEVBQUUsVUFBc0I7UUFDdEUsT0FBTyxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU07WUFDMUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQztZQUNqQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNO2dCQUN2QixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDO2dCQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQU5lLFdBQUssUUFNcEIsQ0FBQTtJQUNELFNBQWdCLEtBQUssQ0FDbkIsTUFBYyxFQUNkLE9BQWEsRUFDYixVQUFzQjtRQUV0QixNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUM1QixZQUFZLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFakQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNmLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDO1NBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1NBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FDL0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUM3QyxDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM1QixJQUFJLENBQ0YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN0QixDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3pCLENBQUMsT0FBTyxDQUFDLENBQ1gsQ0FBQztRQUVGLFNBQVMsS0FBSyxDQUFDLEdBQTRDO1lBQ3pELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN4RSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUNwQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQ3JCLENBQUM7WUFDRixNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUM1QixZQUFZLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFakQsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQ3hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDZCxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQzlCLENBQUMsRUFDRCxDQUFDLENBQ0YsQ0FBQztZQUNGLE9BQU87Z0JBQ0wsQ0FBQztnQkFDRCxNQUFNO2dCQUNOLEVBQUU7Z0JBQ0YsTUFBTTtnQkFDTixhQUFhO2dCQUNiLE9BQU8sRUFBRTtvQkFDUCxNQUFNO29CQUNOLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUN0QyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUU7eUJBQ2IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDbEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQzt3QkFDcEMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3dCQUNkLEtBQUssRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxHQUFHO3FCQUNuRCxDQUFDLENBQUM7eUJBQ0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksYUFBYSxDQUFDO2lCQUNqRTthQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQXpFZSxXQUFLLFFBeUVwQixDQUFBO0lBRUQsU0FBZ0IsS0FBSyxDQUNuQixNQUFjLEVBQ2QsT0FBYSxFQUNiLFVBQXNCO1FBRXRCLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FDNUIsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQztTQUNwQixDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMxQyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztTQUM1QixDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FDL0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUM3QyxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FDdEMsSUFBSSxDQUNGLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDNUQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN6QixDQUFDLE9BQU8sQ0FBQyxDQUNYLENBQUM7UUFFRixTQUFTLEtBQUssQ0FBQyxHQUE0QztZQUN6RCxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDeEUsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQyxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRTtpQkFDeEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksYUFBYSxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUN2QixhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ3BDO1lBQ0QsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUNkLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFDOUIsT0FBTyxFQUNQLENBQUMsQ0FDRixDQUFDO1lBQ0YsT0FBTztnQkFDTCxDQUFDO2dCQUNELE1BQU07Z0JBQ04sRUFBRTtnQkFDRixNQUFNO2dCQUNOLGFBQWE7Z0JBQ2IsT0FBTyxFQUFFO29CQUNQLE1BQU07b0JBQ04sSUFBSSxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7b0JBQy9ELE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRTt5QkFDdEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDbEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQzt3QkFDcEMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3dCQUNkLEtBQUssRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxHQUFHO3FCQUNuRCxDQUFDLENBQUM7eUJBQ0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksYUFBYSxDQUFDO2lCQUNqRTthQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQTFFZSxXQUFLLFFBMEVwQixDQUFBO0lBRUQsU0FBZ0IsSUFBSSxDQUNsQixNQUFjLEVBQ2QsT0FBYSxFQUNiLFVBQXNCO1FBRXRCLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQzVCLFlBQVksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDcEIsQ0FBQyxDQUFDLENBQUM7UUFFSixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDNUIsQ0FBQyxDQUFDLENBQUM7UUFDSixNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUMvQixDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQzdDLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUNyQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsT0FBTztnQkFDTCxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxXQUFXO2dCQUN0QyxDQUFDLEVBQUUsTUFBTTtnQkFDVCxLQUFLLEVBQUUsT0FBTztnQkFDZCxNQUFNLEVBQ0osQ0FBQyxNQUFNLElBQUksQ0FBQztvQkFDVixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDWCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTTthQUMxRCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLFNBQVMsS0FBSyxDQUFDLEdBQTRDO1lBQ3pELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN4RSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFO2lCQUN4QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUMxQixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDOUIsSUFBSSxhQUFhLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZCLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7YUFDcEM7WUFDRCxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksT0FBTyxDQUN4QixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFDcEQsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sR0FBRyxDQUFDLEVBQy9DLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN0RCxFQUFFLENBQUMsYUFBYSxDQUFDLENBQ3BCLENBQUM7WUFDRixPQUFPO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTTtnQkFDTixFQUFFO2dCQUNGLE1BQU07Z0JBQ04sYUFBYTtnQkFDYixPQUFPLEVBQUU7b0JBQ1AsTUFBTTtvQkFDTixJQUFJLEVBQUUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDL0QsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFO3lCQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUNsQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO3dCQUNwQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7d0JBQ2QsS0FBSyxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEdBQUc7cUJBQ25ELENBQUMsQ0FBQzt5QkFDRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxhQUFhLENBQUM7aUJBQ2pFO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBbEZlLFVBQUksT0FrRm5CLENBQUE7SUFFRCxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDeEIsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7SUEyQmIsbUJBQWEsR0FBVztRQUNuQyxJQUFJLEVBQUUsTUFBTTtRQUNaLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLE1BQU0sRUFBRSxNQUFBLG1CQUFtQjtRQUMzQixpQkFBaUIsRUFBRSxLQUFLO1FBQ3hCLGdCQUFnQixFQUFFLHFCQUFxQjtRQUN2QyxTQUFTLEVBQUUsVUFBVTtRQUNyQixjQUFjLEVBQUUsSUFBSTtRQUNwQixVQUFVLEVBQUUsS0FBSztLQUNsQixDQUFDO0lBcUVGLFNBQVMsZ0JBQWdCLENBQUMsSUFBVTtRQUNsQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFNBQVMsT0FBTyxDQUFDLElBQVU7UUFDekIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakUsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxTQUFTLE1BQU0sQ0FBQyxVQUFzQjtRQUNwQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFNBQVMsU0FBUyxDQUFDLFVBQXNCLEVBQUUsSUFBVTtRQUNuRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7UUFDL0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3QyxNQUFNLFdBQVcsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxHQUFHLFdBQVcsRUFBRSxLQUFLLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELFNBQVMsTUFBTSxDQUFDLFVBQXNCO1FBQ3BDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxNQUFnQixFQUFFLEtBQWE7UUFDdkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNsRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDckUsQ0FBQyxDQUFDLEtBQUs7Z0JBQ1AsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNuQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsZ0VBQWdFO0lBQ2hFLDBCQUEwQjtJQUMxQixTQUFTLEtBQUssQ0FBQyxJQUFVO1FBQ3ZCLE1BQU0sT0FBTyxHQUFTO1lBQ3BCLEdBQUcsSUFBSTtZQUNQLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN2RCxDQUFDO1FBQ0YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDdkMsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzlCLElBQUksR0FBRyxFQUFFLENBQUM7YUFDWDtTQUNGO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELHVFQUF1RTtJQUN2RSxtQ0FBbUM7SUFDbkMsU0FBUyxJQUFJLENBQUMsSUFBVTtRQUN0QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRTthQUMzQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDekIsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2FBQzVCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE9BQU87WUFDTCxJQUFJLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxRCxjQUFjO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFJRCxTQUFnQixRQUFRLENBQUMsU0FBb0I7UUFDM0MsUUFBUSxTQUFTLEVBQUU7WUFDakIsS0FBSyxPQUFPLENBQUMsQ0FBQztnQkFDWixNQUFNLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUM5QixPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNqQztZQUNELEtBQUssVUFBVTtnQkFDYixPQUFPO29CQUNMLElBQUksRUFBRSxJQUFJLGlCQUFpQixFQUFFO29CQUM3QixRQUFRLEVBQUUsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDO2lCQUNwQyxDQUFDO1lBQ0osS0FBSyxZQUFZLENBQUMsQ0FBQztnQkFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDakM7WUFDRCxLQUFLLE1BQU0sQ0FBQyxDQUFDO2dCQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO2FBQ2pDO1NBQ0Y7SUFDSCxDQUFDO0lBcEJlLGNBQVEsV0FvQnZCLENBQUE7SUFFWSxlQUFTLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFVLENBQUM7SUFHOUUsU0FBZ0IsWUFBWSxDQUFDLFVBQW9CLEVBQUUsSUFBVTtRQUMzRCxJQUFJLFVBQVUsSUFBSSxTQUFTLEVBQUU7WUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN4RCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RCxPQUFPLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1NBQzlCO1FBQ0QsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakQsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQVJlLGtCQUFZLGVBUTNCLENBQUE7SUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxRQUFrQjtRQUN0RCxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLEtBQUssQ0FBQztZQUNYLEtBQUssTUFBTTtnQkFDVCxPQUFPLFVBQVUsQ0FBQztZQUNwQixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssU0FBUztnQkFDWixPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNILENBQUM7SUFYZSwyQkFBcUIsd0JBV3BDLENBQUE7QUFDSCxDQUFDLEVBMWVnQixLQUFLLEtBQUwsS0FBSyxRQTBlckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgc2NhbGVMaW5lYXIsIHNjYWxlVXRjIH0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHsgYXJlYSwgbGluZSB9IGZyb20gJ2QzLXNoYXBlJztcbmltcG9ydCB7IHV0Y0Zvcm1hdCB9IGZyb20gJ2QzLXRpbWUtZm9ybWF0JztcbmltcG9ydCB7IERheXNQaXBlIH0gZnJvbSAncHJvamVjdHMvcml2L3NyYy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE51bWJlclBpcGUgfSBmcm9tICcuLi8uLi9mb3JtYXQvcGlwZXMvbnVtYmVyLnBpcGUnO1xuaW1wb3J0IHsgUGVyY2VudGFnZVBpcGUgfSBmcm9tICcuLi8uLi9mb3JtYXQvcGlwZXMvcGVyY2VudGFnZS5waXBlJztcbmltcG9ydCB7IFNtYWxsQ3VycmVuY3lQaXBlIH0gZnJvbSAnLi4vLi4vZm9ybWF0L3BpcGVzL3NtYWxsLWN1cnJlbmN5LnBpcGUnO1xuXG5leHBvcnQgbmFtZXNwYWNlIENoYXJ0IHtcbiAgZXhwb3J0IGNvbnN0IGRlZmF1bHRDb2xvclBhbGV0dGUgPSBbXG4gICAgLy9CYXNlIGNvbG9yc1xuICAgICctLWJhamEtYmxhc3QtNTAnLFxuICAgICctLXRlYWwtZGlhbW9uZC01MCcsXG4gICAgJy0tZnlyZS01MCcsXG4gICAgJy0tdGFuZy01MCcsXG4gICAgJy0tcHVycC02MCcsXG4gICAgJy0tcm9zaS03MCcsXG4gICAgLy9TaGlmdCBsaWdodGVyIGZyb20gYmFzZSBieSAtMjBcbiAgICAnLS1iYWphLWJsYXN0LTMwJyxcbiAgICAnLS10ZWFsLWRpYW1vbmQtMzAnLFxuICAgICctLWZ5cmUtMzAnLFxuICAgICctLXRhbmctMzAnLFxuICAgICctLXB1cnAtNDAnLFxuICAgICctLXJvc2ktNTAnLFxuICAgIC8vU2hpZnQgZGFya2VyIGZyb20gYmFzZSBieSArMjBcbiAgICAnLS1iYWphLWJsYXN0LTcwJyxcbiAgICAnLS10ZWFsLWRpYW1vbmQtNzAnLFxuICAgICctLWZ5cmUtNzAnLFxuICAgICctLXRhbmctNzAnLFxuICAgICctLXB1cnAtODAnLFxuICAgICctLXJvc2ktOTAnLFxuICBdO1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBjaGFydChjb25maWc6IENvbmZpZywgZGF0YTogRGF0YSwgZGltZW5zaW9uczogRGltZW5zaW9ucykge1xuICAgIHJldHVybiBjb25maWcudHlwZSA9PSAnbGluZSdcbiAgICAgID8gbGluZXMoY29uZmlnLCBkYXRhLCBkaW1lbnNpb25zKVxuICAgICAgOiBjb25maWcudHlwZSA9PSAnYXJlYSdcbiAgICAgID8gYXJlYXMoY29uZmlnLCBkYXRhLCBkaW1lbnNpb25zKVxuICAgICAgOiBiYXJzKGNvbmZpZywgZGF0YSwgZGltZW5zaW9ucyk7XG4gIH1cbiAgZXhwb3J0IGZ1bmN0aW9uIGxpbmVzKFxuICAgIGNvbmZpZzogQ29uZmlnLFxuICAgIGFsbERhdGE6IERhdGEsXG4gICAgZGltZW5zaW9uczogRGltZW5zaW9ucyxcbiAgKTogUmVuZGVyZWRDaGFydCB7XG4gICAgY29uc3QgeyBkYXRhLCB2aXNpYmxlSW5kaWNlcyB9ID0gaGlkZShhbGxEYXRhKTtcbiAgICBjb25zdCB4U2NhbGUgPSBzY2FsZVV0Yyh0aW1lc2VyaWVzRG9tYWluKGRhdGEpLCB4UmFuZ2UoZGltZW5zaW9ucykpO1xuICAgIGNvbnN0IGZvcm1hdCA9IChkYXRlOiBEYXRlKSA9PlxuICAgICAgZm9ybWF0ZWREYXRlKGNvbmZpZy5kYXRlRm9ybWF0IHx8ICdkYXknLCBkYXRlKTtcblxuICAgIGNvbnN0IHhUaWNrcyA9IHhTY2FsZS50aWNrcyhNYXRoLm1pbig1LCBkYXRhLngubGVuZ3RoKSkubWFwKHRpY2sgPT4gKHtcbiAgICAgIHg6IHhTY2FsZSh0aWNrKSxcbiAgICAgIGxhYmVsOiBmb3JtYXQodGljayksXG4gICAgfSkpO1xuXG4gICAgY29uc3QgeyBwaXBlLCBmdWxsUGlwZSB9ID0gZ2V0UGlwZXMoY29uZmlnLnZhbHVlVHlwZSk7XG4gICAgY29uc3QgeVNjYWxlID0gc2NhbGVMaW5lYXIoeURvbWFpbihkYXRhKSwgeVJhbmdlKGRpbWVuc2lvbnMpKTtcbiAgICBjb25zdCB5VGlja3MgPSB5U2NhbGUudGlja3MoNSkubWFwKHRpY2sgPT4gKHtcbiAgICAgIHk6IHlTY2FsZSh0aWNrKSxcbiAgICAgIGxhYmVsOiBwaXBlLnRyYW5zZm9ybSh0aWNrKSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCBjb2xvcnMgPSB2aXNpYmxlSW5kaWNlcy5tYXAoXG4gICAgICBpID0+IGNvbmZpZy5jb2xvcnNbaSAlIGNvbmZpZy5jb2xvcnMubGVuZ3RoXSxcbiAgICApO1xuICAgIGNvbnN0IGluZGljZXMgPSBkYXRhLngubWFwKChfLCBpKSA9PiBpKTtcbiAgICBjb25zdCBsaW5lcyA9IGRhdGEueXMubWFwKHkgPT5cbiAgICAgIGxpbmU8bnVtYmVyPihcbiAgICAgICAgaSA9PiB4U2NhbGUoZGF0YS54W2ldKSxcbiAgICAgICAgaSA9PiB5U2NhbGUoeS52YWx1ZXNbaV0pLFxuICAgICAgKShpbmRpY2VzKSxcbiAgICApO1xuXG4gICAgZnVuY3Rpb24gaG92ZXIocG9zOiB7IHJlY3Q6IERPTVJlY3Q7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0pIHtcbiAgICAgIGNvbnN0IHhJbmRleCA9IGZpbmROZWFyZXN0SW5kZXgoZGF0YS54LCB4U2NhbGUuaW52ZXJ0KHBvcy54KS5nZXRUaW1lKCkpO1xuICAgICAgY29uc3QgeCA9IHhTY2FsZShkYXRhLnhbeEluZGV4XSk7XG4gICAgICBjb25zdCB2aXNpYmxlWUluZGV4ID0gZmluZE5lYXJlc3RJbmRleChcbiAgICAgICAgZGF0YS55cy5tYXAoeSA9PiB5LnZhbHVlc1t4SW5kZXhdKSxcbiAgICAgICAgeVNjYWxlLmludmVydChwb3MueSksXG4gICAgICApO1xuICAgICAgY29uc3QgeUluZGV4ID0gdmlzaWJsZUluZGljZXNbdmlzaWJsZVlJbmRleF07XG4gICAgICBjb25zdCB5cyA9IGRhdGEueXMubWFwKHkgPT4geVNjYWxlKHkudmFsdWVzW3hJbmRleF0pKTtcblxuICAgICAgY29uc3QgZm9ybWF0ID0gKGRhdGU6IERhdGUpID0+XG4gICAgICAgIGZvcm1hdGVkRGF0ZShjb25maWcuZGF0ZUZvcm1hdCB8fCAnZGF5JywgZGF0ZSk7XG5cbiAgICAgIGNvbnN0IGFuY2hvciA9IG5ldyBET01SZWN0KFxuICAgICAgICBwb3MucmVjdC54ICsgeCxcbiAgICAgICAgcG9zLnJlY3QueSArIHlzW3Zpc2libGVZSW5kZXhdLFxuICAgICAgICA4LFxuICAgICAgICAwLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHgsXG4gICAgICAgIHhJbmRleCxcbiAgICAgICAgeXMsXG4gICAgICAgIHlJbmRleCxcbiAgICAgICAgdmlzaWJsZVlJbmRleCxcbiAgICAgICAgdG9vbHRpcDoge1xuICAgICAgICAgIGFuY2hvcixcbiAgICAgICAgICBkYXRlOiBmb3JtYXQobmV3IERhdGUoZGF0YS54W3hJbmRleF0pKSxcbiAgICAgICAgICBtZXRyaWNzOiBkYXRhLnlzXG4gICAgICAgICAgICAubWFwKCh5LCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgICAgY29sb3I6IGNvbG9yc1tpbmRleCAlIGNvbG9ycy5sZW5ndGhdLFxuICAgICAgICAgICAgICBsYWJlbDogeS5sYWJlbCxcbiAgICAgICAgICAgICAgdmFsdWU6IGZ1bGxQaXBlLnRyYW5zZm9ybSh5LnZhbHVlc1t4SW5kZXhdKSA/PyAnLScsXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKF8sIGkpID0+IGNvbmZpZy5ncm91cGVkVG9vbHRpcCB8fCBpID09IHZpc2libGVZSW5kZXgpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyB4VGlja3MsIHlUaWNrcywgY29sb3JzLCBsaW5lcywgaG92ZXIsIGJhcnM6IFtdLCBhcmVhczogW10gfTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBhcmVhcyhcbiAgICBjb25maWc6IENvbmZpZyxcbiAgICBhbGxEYXRhOiBEYXRhLFxuICAgIGRpbWVuc2lvbnM6IERpbWVuc2lvbnMsXG4gICk6IFJlbmRlcmVkQ2hhcnQge1xuICAgIGNvbnN0IHsgZGF0YTogdW5zdGFja2VkRGF0YSwgdmlzaWJsZUluZGljZXMgfSA9IGhpZGUoYWxsRGF0YSk7XG4gICAgY29uc3QgZGF0YSA9IHN0YWNrKHVuc3RhY2tlZERhdGEpO1xuICAgIGNvbnN0IHhTY2FsZSA9IHNjYWxlVXRjKHRpbWVzZXJpZXNEb21haW4oZGF0YSksIHhSYW5nZShkaW1lbnNpb25zKSk7XG4gICAgY29uc3QgZm9ybWF0ID0gKGRhdGU6IERhdGUpID0+XG4gICAgICBmb3JtYXRlZERhdGUoY29uZmlnLmRhdGVGb3JtYXQgfHwgJ2RheScsIGRhdGUpO1xuICAgIGNvbnN0IHhUaWNrcyA9IHhTY2FsZS50aWNrcyhNYXRoLm1pbig1LCBkYXRhLngubGVuZ3RoKSkubWFwKHRpY2sgPT4gKHtcbiAgICAgIHg6IHhTY2FsZSh0aWNrKSxcbiAgICAgIGxhYmVsOiBmb3JtYXQodGljayksXG4gICAgfSkpO1xuXG4gICAgY29uc3QgeyBwaXBlLCBmdWxsUGlwZSB9ID0gZ2V0UGlwZXMoY29uZmlnLnZhbHVlVHlwZSk7XG4gICAgY29uc3QgeVNjYWxlID0gc2NhbGVMaW5lYXIoeURvbWFpbihkYXRhKSwgeVJhbmdlKGRpbWVuc2lvbnMpKTtcbiAgICBjb25zdCB5VGlja3MgPSB5U2NhbGUudGlja3MoNSkubWFwKHRpY2sgPT4gKHtcbiAgICAgIHk6IHlTY2FsZSh0aWNrKSxcbiAgICAgIGxhYmVsOiBwaXBlLnRyYW5zZm9ybSh0aWNrKSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCBpbmRpY2VzID0gZGF0YS54Lm1hcCgoXywgaSkgPT4gaSk7XG4gICAgY29uc3QgY29sb3JzID0gdmlzaWJsZUluZGljZXMubWFwKFxuICAgICAgaSA9PiBjb25maWcuY29sb3JzW2kgJSBjb25maWcuY29sb3JzLmxlbmd0aF0sXG4gICAgKTtcbiAgICBjb25zdCBhcmVhcyA9IGRhdGEueXMubWFwKCh5LCB5SW5kZXgpID0+XG4gICAgICBhcmVhPG51bWJlcj4oXG4gICAgICAgIGkgPT4geFNjYWxlKGRhdGEueFtpXSksXG4gICAgICAgIGkgPT4geVNjYWxlKHlJbmRleCA9PSAwID8gMCA6IGRhdGEueXNbeUluZGV4IC0gMV0udmFsdWVzW2ldKSxcbiAgICAgICAgaSA9PiB5U2NhbGUoeS52YWx1ZXNbaV0pLFxuICAgICAgKShpbmRpY2VzKSxcbiAgICApO1xuXG4gICAgZnVuY3Rpb24gaG92ZXIocG9zOiB7IHJlY3Q6IERPTVJlY3Q7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0pIHtcbiAgICAgIGNvbnN0IHhJbmRleCA9IGZpbmROZWFyZXN0SW5kZXgoZGF0YS54LCB4U2NhbGUuaW52ZXJ0KHBvcy54KS5nZXRUaW1lKCkpO1xuICAgICAgY29uc3QgeCA9IHhTY2FsZShkYXRhLnhbeEluZGV4XSk7XG4gICAgICBjb25zdCB5VmFsdWUgPSB5U2NhbGUuaW52ZXJ0KHBvcy55KTtcbiAgICAgIGxldCB2aXNpYmxlWUluZGV4ID0gZGF0YS55c1xuICAgICAgICAubWFwKHkgPT4geS52YWx1ZXNbeEluZGV4XSlcbiAgICAgICAgLmZpbmRJbmRleCh5ID0+IHkgPiB5VmFsdWUpO1xuICAgICAgaWYgKHZpc2libGVZSW5kZXggPT0gLTEpIHtcbiAgICAgICAgdmlzaWJsZVlJbmRleCA9IGRhdGEueXMubGVuZ3RoIC0gMTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHlJbmRleCA9IHZpc2libGVJbmRpY2VzW3Zpc2libGVZSW5kZXhdO1xuICAgICAgY29uc3QgeXMgPSBkYXRhLnlzLm1hcCh5ID0+IHlTY2FsZSh5LnZhbHVlc1t4SW5kZXhdKSk7XG4gICAgICBjb25zdCBwYWRkaW5nID0gODtcbiAgICAgIGNvbnN0IGFuY2hvciA9IG5ldyBET01SZWN0KFxuICAgICAgICBwb3MucmVjdC54ICsgeCxcbiAgICAgICAgcG9zLnJlY3QueSArIHlzW3Zpc2libGVZSW5kZXhdLFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICAwLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHgsXG4gICAgICAgIHhJbmRleCxcbiAgICAgICAgeXMsXG4gICAgICAgIHlJbmRleCxcbiAgICAgICAgdmlzaWJsZVlJbmRleCxcbiAgICAgICAgdG9vbHRpcDoge1xuICAgICAgICAgIGFuY2hvcixcbiAgICAgICAgICBkYXRlOiB1dGNGb3JtYXQoJyVCICVkLCAlWScpKG5ldyBEYXRlKHVuc3RhY2tlZERhdGEueFt4SW5kZXhdKSksXG4gICAgICAgICAgbWV0cmljczogdW5zdGFja2VkRGF0YS55c1xuICAgICAgICAgICAgLm1hcCgoeSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnNbaW5kZXggJSBjb2xvcnMubGVuZ3RoXSxcbiAgICAgICAgICAgICAgbGFiZWw6IHkubGFiZWwsXG4gICAgICAgICAgICAgIHZhbHVlOiBmdWxsUGlwZS50cmFuc2Zvcm0oeS52YWx1ZXNbeEluZGV4XSkgPz8gJy0nLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAuZmlsdGVyKChfLCBpKSA9PiBjb25maWcuZ3JvdXBlZFRvb2x0aXAgfHwgaSA9PSB2aXNpYmxlWUluZGV4KSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgeFRpY2tzLCB5VGlja3MsIGNvbG9ycywgYXJlYXMsIGxpbmVzOiBbXSwgaG92ZXIsIGJhcnM6IFtdIH07XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gYmFycyhcbiAgICBjb25maWc6IENvbmZpZyxcbiAgICBhbGxEYXRhOiBEYXRhLFxuICAgIGRpbWVuc2lvbnM6IERpbWVuc2lvbnMsXG4gICk6IFJlbmRlcmVkQ2hhcnQge1xuICAgIGNvbnN0IHsgZGF0YTogdW5zdGFja2VkRGF0YSwgdmlzaWJsZUluZGljZXMgfSA9IGhpZGUoYWxsRGF0YSk7XG4gICAgY29uc3QgZGF0YSA9IHN0YWNrKHVuc3RhY2tlZERhdGEpO1xuICAgIGNvbnN0IHsgcmFuZ2U6IHhSYW5nZSwgYmluU2l6ZSB9ID0gYmFyWFJhbmdlKGRpbWVuc2lvbnMsIGRhdGEpO1xuICAgIGNvbnN0IGhhbGZCaW5TaXplID0gYmluU2l6ZSAvIDI7XG4gICAgY29uc3QgeFNjYWxlID0gc2NhbGVVdGModGltZXNlcmllc0RvbWFpbihkYXRhKSwgeFJhbmdlKTtcbiAgICBjb25zdCBmb3JtYXQgPSAoZGF0ZTogRGF0ZSkgPT5cbiAgICAgIGZvcm1hdGVkRGF0ZShjb25maWcuZGF0ZUZvcm1hdCB8fCAnZGF5JywgZGF0ZSk7XG4gICAgY29uc3QgeFRpY2tzID0geFNjYWxlLnRpY2tzKE1hdGgubWluKDUsIGRhdGEueC5sZW5ndGgpKS5tYXAodGljayA9PiAoe1xuICAgICAgeDogeFNjYWxlKHRpY2spLFxuICAgICAgbGFiZWw6IGZvcm1hdCh0aWNrKSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCB7IHBpcGUsIGZ1bGxQaXBlIH0gPSBnZXRQaXBlcyhjb25maWcudmFsdWVUeXBlKTtcbiAgICBjb25zdCB5U2NhbGUgPSBzY2FsZUxpbmVhcih5RG9tYWluKGRhdGEpLCB5UmFuZ2UoZGltZW5zaW9ucykpO1xuICAgIGNvbnN0IHlUaWNrcyA9IHlTY2FsZS50aWNrcyg1KS5tYXAodGljayA9PiAoe1xuICAgICAgeTogeVNjYWxlKHRpY2spLFxuICAgICAgbGFiZWw6IHBpcGUudHJhbnNmb3JtKHRpY2spLFxuICAgIH0pKTtcbiAgICBjb25zdCBjb2xvcnMgPSB2aXNpYmxlSW5kaWNlcy5tYXAoXG4gICAgICBpID0+IGNvbmZpZy5jb2xvcnNbaSAlIGNvbmZpZy5jb2xvcnMubGVuZ3RoXSxcbiAgICApO1xuICAgIGNvbnN0IGJhcnMgPSBkYXRhLnlzLm1hcCgoeSwgeUluZGV4KSA9PlxuICAgICAgeS52YWx1ZXMubWFwKCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgeVZhbHVlID0geVNjYWxlKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB4OiB4U2NhbGUoZGF0YS54W2luZGV4XSkgLSBoYWxmQmluU2l6ZSxcbiAgICAgICAgICB5OiB5VmFsdWUsXG4gICAgICAgICAgd2lkdGg6IGJpblNpemUsXG4gICAgICAgICAgaGVpZ2h0OlxuICAgICAgICAgICAgKHlJbmRleCA9PSAwXG4gICAgICAgICAgICAgID8geVNjYWxlKDApXG4gICAgICAgICAgICAgIDogeVNjYWxlKGRhdGEueXNbeUluZGV4IC0gMV0udmFsdWVzW2luZGV4XSkpIC0geVZhbHVlLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIGZ1bmN0aW9uIGhvdmVyKHBvczogeyByZWN0OiBET01SZWN0OyB4OiBudW1iZXI7IHk6IG51bWJlciB9KSB7XG4gICAgICBjb25zdCB4SW5kZXggPSBmaW5kTmVhcmVzdEluZGV4KGRhdGEueCwgeFNjYWxlLmludmVydChwb3MueCkuZ2V0VGltZSgpKTtcbiAgICAgIGNvbnN0IHggPSB4U2NhbGUoZGF0YS54W3hJbmRleF0pO1xuICAgICAgY29uc3QgeVZhbHVlID0geVNjYWxlLmludmVydChwb3MueSk7XG4gICAgICBsZXQgdmlzaWJsZVlJbmRleCA9IGRhdGEueXNcbiAgICAgICAgLm1hcCh5ID0+IHkudmFsdWVzW3hJbmRleF0pXG4gICAgICAgIC5maW5kSW5kZXgoeSA9PiB5ID4geVZhbHVlKTtcbiAgICAgIGlmICh2aXNpYmxlWUluZGV4ID09IC0xKSB7XG4gICAgICAgIHZpc2libGVZSW5kZXggPSBkYXRhLnlzLmxlbmd0aCAtIDE7XG4gICAgICB9XG4gICAgICBjb25zdCB5SW5kZXggPSB2aXNpYmxlSW5kaWNlc1t2aXNpYmxlWUluZGV4XTtcbiAgICAgIGNvbnN0IHlzID0gZGF0YS55cy5tYXAoeSA9PiB5U2NhbGUoeS52YWx1ZXNbeEluZGV4XSkpO1xuICAgICAgY29uc3QgcGFkZGluZyA9IDg7XG4gICAgICBjb25zdCBhbmNob3IgPSBuZXcgRE9NUmVjdChcbiAgICAgICAgcG9zLnJlY3QueCArIGJhcnNbdmlzaWJsZVlJbmRleF1beEluZGV4XS54IC0gcGFkZGluZyxcbiAgICAgICAgcG9zLnJlY3QueSArIHlzW3Zpc2libGVZSW5kZXhdLFxuICAgICAgICBiYXJzW3Zpc2libGVZSW5kZXhdW3hJbmRleF0ud2lkdGggKyBwYWRkaW5nICogMixcbiAgICAgICAgKHZpc2libGVZSW5kZXggPT0gMCA/IHlTY2FsZSgwKSA6IHlzW3Zpc2libGVZSW5kZXggLSAxXSkgLVxuICAgICAgICAgIHlzW3Zpc2libGVZSW5kZXhdLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHgsXG4gICAgICAgIHhJbmRleCxcbiAgICAgICAgeXMsXG4gICAgICAgIHlJbmRleCxcbiAgICAgICAgdmlzaWJsZVlJbmRleCxcbiAgICAgICAgdG9vbHRpcDoge1xuICAgICAgICAgIGFuY2hvcixcbiAgICAgICAgICBkYXRlOiB1dGNGb3JtYXQoJyVCICVkLCAlWScpKG5ldyBEYXRlKHVuc3RhY2tlZERhdGEueFt4SW5kZXhdKSksXG4gICAgICAgICAgbWV0cmljczogdW5zdGFja2VkRGF0YS55c1xuICAgICAgICAgICAgLm1hcCgoeSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnNbaW5kZXggJSBjb2xvcnMubGVuZ3RoXSxcbiAgICAgICAgICAgICAgbGFiZWw6IHkubGFiZWwsXG4gICAgICAgICAgICAgIHZhbHVlOiBmdWxsUGlwZS50cmFuc2Zvcm0oeS52YWx1ZXNbeEluZGV4XSkgPz8gJy0nLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAuZmlsdGVyKChfLCBpKSA9PiBjb25maWcuZ3JvdXBlZFRvb2x0aXAgfHwgaSA9PSB2aXNpYmxlWUluZGV4KSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgeFRpY2tzLCB5VGlja3MsIGNvbG9ycywgYmFycywgbGluZXM6IFtdLCBhcmVhczogW10sIGhvdmVyIH07XG4gIH1cblxuICBjb25zdCBMRUZUX1BBRERJTkcgPSA0ODtcbiAgY29uc3QgUklHSFRfUEFERElORyA9IDI0O1xuICBjb25zdCBUT1BfUEFERElORyA9IDE2O1xuICBjb25zdCBCT1RUT01fUEFERElORyA9IDI0O1xuXG4gIGV4cG9ydCB0eXBlIERhdGEgPSB7XG4gICAgeXM6IHtcbiAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICBoaWRkZW4/OiBib29sZWFuO1xuICAgICAgdmFsdWVzOiBudW1iZXJbXTtcbiAgICB9W107XG4gICAgeDogbnVtYmVyW107XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgRGltZW5zaW9ucyA9IHtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICB9O1xuXG4gIGV4cG9ydCB0eXBlIENvbmZpZyA9IHtcbiAgICB0eXBlOiAnbGluZScgfCAnYXJlYScgfCAnYmFyJztcbiAgICBncm91cGVkVG9vbHRpcDogYm9vbGVhbjtcbiAgICBjb2xvcnM6IHN0cmluZ1tdO1xuICAgIGFsbG93TGVnZW5kVG9nZ2xlOiBib29sZWFuO1xuICAgIHplcm9TdGF0ZU1lc3NhZ2U6IHN0cmluZztcbiAgICB2YWx1ZVR5cGU6IFZhbHVlVHlwZTtcbiAgICB0cnVuY2F0ZUxlZ2VuZDogYm9vbGVhbjtcbiAgICBkYXRlRm9ybWF0PzogSW50ZXJ2YWw7XG4gIH07XG5cbiAgZXhwb3J0IGNvbnN0IGRlZmF1bHRDb25maWc6IENvbmZpZyA9IHtcbiAgICB0eXBlOiAnbGluZScsXG4gICAgZ3JvdXBlZFRvb2x0aXA6IHRydWUsXG4gICAgY29sb3JzOiBkZWZhdWx0Q29sb3JQYWxldHRlLFxuICAgIGFsbG93TGVnZW5kVG9nZ2xlOiBmYWxzZSxcbiAgICB6ZXJvU3RhdGVNZXNzYWdlOiAnTm8gZGF0YSB0byBkaXNwbGF5LicsXG4gICAgdmFsdWVUeXBlOiAnY3VycmVuY3knLFxuICAgIHRydW5jYXRlTGVnZW5kOiB0cnVlLFxuICAgIGRhdGVGb3JtYXQ6ICdkYXknLFxuICB9O1xuXG4gIGV4cG9ydCB0eXBlIEFyZWEgPSB7XG4gICAgcGF0aDogc3RyaW5nIHwgbnVsbDtcbiAgICBmaWxsOiBzdHJpbmc7XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgWFRpY2sgPSB7XG4gICAgeDogbnVtYmVyO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgWVRpY2sgPSB7XG4gICAgeTogbnVtYmVyO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH07XG5cbiAgdHlwZSBSZWN0ID0ge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgfTtcblxuICBleHBvcnQgdHlwZSBCYXJTZXJpZXMgPSB7XG4gICAgZmlsbDogc3RyaW5nO1xuICAgIHJlY3RzOiBSZWN0W107XG4gIH07XG5cbiAgLy8gSG92ZXIgaXMgYSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgdmlld3BvcnQgeCBhbmQgeSBhbmQgcmV0dXJucyBhIHJpY2hcbiAgLy8gc2V0IG9mIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgdmFsdWVzIGFyZSBiZWluZyBob3ZlcmVkIGFuZCB3aGF0IHRoZSB0b29sdGlwXG4gIC8vIHNob3VsZCBsb29rIGxpa2VcbiAgZXhwb3J0IHR5cGUgSG92ZXIgPSAocG9zOiB7IHJlY3Q6IERPTVJlY3Q7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0pID0+IHtcbiAgICAvLyB0aGUgaW5kaWNlcyBpbnRvIHRoZSBkYXRhIG9mIHRoZSBjbG9zZXN0IHBvaW50XG4gICAgeEluZGV4OiBudW1iZXI7XG4gICAgLy8gd2Ugd2FudCB0byBrbm93IHdoaWNoIHZpc2libGUgeSBpbmRleCBpcyBob3ZlcmVkXG4gICAgLy8gYW5kIHdoaWNoIGFjdHVhbCB5IGluZGV4IGlzIGhvdmVyZWRcbiAgICB5SW5kZXg6IG51bWJlcjtcbiAgICB2aXNpYmxlWUluZGV4OiBudW1iZXI7XG5cbiAgICAvLyB0aGUgdmlld3BvcnQgeCBhbmQgeXMgb2YgdGhlIGhvdmVyZWQgaXRlbXNcbiAgICB4OiBudW1iZXI7XG4gICAgeXM6IG51bWJlcltdO1xuXG4gICAgdG9vbHRpcDoge1xuICAgICAgYW5jaG9yOiBET01SZWN0O1xuICAgICAgZGF0ZTogc3RyaW5nO1xuICAgICAgbWV0cmljczoge1xuICAgICAgICBjb2xvcjogc3RyaW5nO1xuICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgIH07XG4gIH07XG5cbiAgLy8gUmVuZGVyZWRDaGFydCByZXByZXNlbnRzIGFsbCBvZiB0aGUgcGFydHMgb2YgYSBjaGFydFxuICAvLyB0aGF0IGVuZCB1cCBvbiBzY3JlZW4uIEV2ZXJ5IGNoYXJ0IGhhcyB4IGFuZCB5IHRpY2tzXG4gIC8vIGFuZCBob3ZlciBmdW5jdGlvbmFsaXR5LCBldmVuIHRob3VnaCB0aGV5IG1pZ2h0IGJlXG4gIC8vIGRpZmZlcmVudCBmcm9tIGNoYXJ0IHRvIGNoYXJ0LlxuICB0eXBlIFJlbmRlcmVkQ2hhcnQgPSB7XG4gICAgeFRpY2tzOiBYVGlja1tdO1xuICAgIHlUaWNrczogWVRpY2tbXTtcbiAgICBob3ZlcjogSG92ZXI7XG4gICAgY29sb3JzOiBzdHJpbmdbXTtcbiAgICBsaW5lczogKHN0cmluZyB8IG51bGwpW107XG4gICAgYXJlYXM6IChzdHJpbmcgfCBudWxsKVtdO1xuICAgIGJhcnM6IFJlY3RbXVtdO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHRpbWVzZXJpZXNEb21haW4oZGF0YTogRGF0YSkge1xuICAgIHJldHVybiBbTWF0aC5taW4oLi4uZGF0YS54KSwgTWF0aC5tYXgoLi4uZGF0YS54KV07XG4gIH1cblxuICBmdW5jdGlvbiB5RG9tYWluKGRhdGE6IERhdGEpIHtcbiAgICBjb25zdCBtYXggPSBNYXRoLm1heCguLi5kYXRhLnlzLm1hcCh5ID0+IE1hdGgubWF4KC4uLnkudmFsdWVzKSkpO1xuICAgIHJldHVybiBbMCwgbWF4ID09IDAgPyAxIDogbWF4XTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHhSYW5nZShkaW1lbnNpb25zOiBEaW1lbnNpb25zKSB7XG4gICAgcmV0dXJuIFtMRUZUX1BBRERJTkcsIGRpbWVuc2lvbnMud2lkdGggLSBSSUdIVF9QQURESU5HXTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGJhclhSYW5nZShkaW1lbnNpb25zOiBEaW1lbnNpb25zLCBkYXRhOiBEYXRhKSB7XG4gICAgY29uc3QgbGVmdCA9IExFRlRfUEFERElORztcbiAgICBjb25zdCByaWdodCA9IGRpbWVuc2lvbnMud2lkdGggLSBSSUdIVF9QQURESU5HO1xuICAgIGNvbnN0IHdpZHRoID0gcmlnaHQgLSBsZWZ0O1xuICAgIGNvbnN0IGJpblNpemUgPSB3aWR0aCAvIChkYXRhLngubGVuZ3RoIHx8IDEpO1xuICAgIGNvbnN0IGhhbGZCaW5TaXplID0gYmluU2l6ZSAvIDI7XG4gICAgY29uc3QgcmFuZ2UgPSBbbGVmdCArIGhhbGZCaW5TaXplLCByaWdodCAtIGhhbGZCaW5TaXplXTtcbiAgICByZXR1cm4geyBiaW5TaXplOiBNYXRoLm1pbihiaW5TaXplICogMC43LCA4MCksIHJhbmdlIH07XG4gIH1cblxuICBmdW5jdGlvbiB5UmFuZ2UoZGltZW5zaW9uczogRGltZW5zaW9ucykge1xuICAgIHJldHVybiBbZGltZW5zaW9ucy5oZWlnaHQgLSBCT1RUT01fUEFERElORywgVE9QX1BBRERJTkddO1xuICB9XG5cbiAgZnVuY3Rpb24gZmluZE5lYXJlc3RJbmRleCh2YWx1ZXM6IG51bWJlcltdLCBpbnB1dDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHZhbHVlcy5yZWR1Y2UoKG5lYXJlc3RJbmRleCwgdmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gTWF0aC5hYnModmFsdWUgLSBpbnB1dCkgPCBNYXRoLmFicyh2YWx1ZXNbbmVhcmVzdEluZGV4XSAtIGlucHV0KVxuICAgICAgICA/IGluZGV4XG4gICAgICAgIDogbmVhcmVzdEluZGV4O1xuICAgIH0sIDApO1xuICB9XG5cbiAgLy8gc3RhY2sgcmV0dXJucyBhIG5ldyBkYXRhIHdoZXJlIGVhY2ggc2V0IG9mIHlWYWx1ZXMgaXMgc3RhY2tlZFxuICAvLyBvbiB0b3Agb2YgdGhlIHByZXZpb3VzLlxuICBmdW5jdGlvbiBzdGFjayhkYXRhOiBEYXRhKTogRGF0YSB7XG4gICAgY29uc3Qgc3RhY2tlZDogRGF0YSA9IHtcbiAgICAgIC4uLmRhdGEsXG4gICAgICB5czogZGF0YS55cy5tYXAoeSA9PiAoeyBsYWJlbDogeS5sYWJlbCwgdmFsdWVzOiBbXSB9KSksXG4gICAgfTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEueC5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGZyb20gPSAwO1xuICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkYXRhLnlzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGNvbnN0IHRvID0gZnJvbSArIGRhdGEueXNbal0udmFsdWVzW2ldO1xuICAgICAgICBzdGFja2VkLnlzW2pdLnZhbHVlcy5wdXNoKHRvKTtcbiAgICAgICAgZnJvbSA9IHRvO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3RhY2tlZDtcbiAgfVxuXG4gIC8vIGhpZGUgc3RyaXBzIG91dCBoaWRkZW4geSB2YWx1ZXMgd2hpbGUgcmV0YWluaW5nIHRoZSBvcmlnaW5hbCBpbmRpY2VzXG4gIC8vIGZvciB0aGUgcmVtYWluaW5nIHZpc2libGUgdmFsdWVzXG4gIGZ1bmN0aW9uIGhpZGUoZGF0YTogRGF0YSk6IHsgZGF0YTogRGF0YTsgdmlzaWJsZUluZGljZXM6IG51bWJlcltdIH0ge1xuICAgIGNvbnN0IHZpc2libGVJbmRpY2VzID0gZGF0YS55c1xuICAgICAgLm1hcCgoeSwgaSkgPT4gKHsgeSwgaSB9KSlcbiAgICAgIC5maWx0ZXIoKHsgeSB9KSA9PiAheS5oaWRkZW4pXG4gICAgICAubWFwKCh7IGkgfSkgPT4gaSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IHsgLi4uZGF0YSwgeXM6IHZpc2libGVJbmRpY2VzLm1hcChpID0+IGRhdGEueXNbaV0pIH0sXG4gICAgICB2aXNpYmxlSW5kaWNlcyxcbiAgICB9O1xuICB9XG5cbiAgdHlwZSBWYWx1ZVR5cGUgPSAnY291bnQnIHwgJ2N1cnJlbmN5JyB8ICdwZXJjZW50YWdlJyB8ICdkYXlzJztcblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0UGlwZXModmFsdWVUeXBlOiBWYWx1ZVR5cGUpIHtcbiAgICBzd2l0Y2ggKHZhbHVlVHlwZSkge1xuICAgICAgY2FzZSAnY291bnQnOiB7XG4gICAgICAgIGNvbnN0IHBpcGUgPSBuZXcgTnVtYmVyUGlwZSgpO1xuICAgICAgICByZXR1cm4geyBwaXBlLCBmdWxsUGlwZTogcGlwZSB9O1xuICAgICAgfVxuICAgICAgY2FzZSAnY3VycmVuY3knOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBpcGU6IG5ldyBTbWFsbEN1cnJlbmN5UGlwZSgpLFxuICAgICAgICAgIGZ1bGxQaXBlOiBuZXcgQ3VycmVuY3lQaXBlKCdlbi11cycpLFxuICAgICAgICB9O1xuICAgICAgY2FzZSAncGVyY2VudGFnZSc6IHtcbiAgICAgICAgY29uc3QgcGlwZSA9IG5ldyBQZXJjZW50YWdlUGlwZSgpO1xuICAgICAgICByZXR1cm4geyBwaXBlLCBmdWxsUGlwZTogcGlwZSB9O1xuICAgICAgfVxuICAgICAgY2FzZSAnZGF5cyc6IHtcbiAgICAgICAgY29uc3QgcGlwZSA9IG5ldyBEYXlzUGlwZSgpO1xuICAgICAgICByZXR1cm4geyBwaXBlLCBmdWxsUGlwZTogcGlwZSB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBjb25zdCBpbnRlcnZhbHMgPSBbJ3llYXInLCAncXVhcnRlcicsICdtb250aCcsICd3ZWVrJywgJ2RheSddIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBJbnRlcnZhbCA9ICh0eXBlb2YgaW50ZXJ2YWxzKVtudW1iZXJdO1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBmb3JtYXRlZERhdGUoZGF0ZUZvcm1hdDogSW50ZXJ2YWwsIGRhdGU6IERhdGUpIHtcbiAgICBpZiAoZGF0ZUZvcm1hdCA9PSAncXVhcnRlcicpIHtcbiAgICAgIGNvbnN0IHF1YXJ0ZXIgPSBNYXRoLmNlaWwoKGRhdGUuZ2V0VVRDTW9udGgoKSArIDEpIC8gMyk7XG4gICAgICBjb25zdCB5ZWFyID0gdXRjRm9ybWF0KGdldFRpbWVJbnRlcnZhbEZvcm1hdCgneWVhcicpKShkYXRlKTtcbiAgICAgIHJldHVybiBgUSR7cXVhcnRlcn0gJHt5ZWFyfWA7XG4gICAgfVxuICAgIGNvbnN0IGZvcm1hdCA9IGdldFRpbWVJbnRlcnZhbEZvcm1hdChkYXRlRm9ybWF0KTtcbiAgICByZXR1cm4gdXRjRm9ybWF0KGZvcm1hdCkoZGF0ZSk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0VGltZUludGVydmFsRm9ybWF0KGludGVydmFsOiBJbnRlcnZhbCk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChpbnRlcnZhbCkge1xuICAgICAgY2FzZSAnZGF5JzpcbiAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICByZXR1cm4gJyVtLyVkLyVZJztcbiAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgIGNhc2UgJ3F1YXJ0ZXInOlxuICAgICAgICByZXR1cm4gJyViICVZJztcbiAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICByZXR1cm4gJyVZJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi92aXN1YWxpemF0aW9uL2NoYXJ0L2NoYXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFM0UsTUFBTSxLQUFXLEtBQUssQ0EwZXJCO0FBMWVELFdBQWlCLEtBQUs7SUFDUCx5QkFBbUIsR0FBRztRQUNqQyxhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsV0FBVztRQUNYLFdBQVc7UUFDWCxXQUFXO1FBQ1gsZ0NBQWdDO1FBQ2hDLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLFdBQVc7UUFDWCxXQUFXO1FBQ1gsV0FBVztRQUNYLCtCQUErQjtRQUMvQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxXQUFXO1FBQ1gsV0FBVztRQUNYLFdBQVc7S0FDWixDQUFDO0lBRUYsU0FBZ0IsS0FBSyxDQUFDLE1BQWMsRUFBRSxJQUFVLEVBQUUsVUFBc0I7UUFDdEUsT0FBTyxNQUFNLENBQUMsSUFBSSxJQUFJLE1B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QUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFVLENBQUM7SUFHOUUsU0FBZ0IsWUFBWSxDQUFDLFVBQW9CLEVBQUUsSUFBVTtRQUMzRCxJQUFJLFVBQVUsSUFBSSxTQUFTLEVBQUU7WUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN4RCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RCxPQUFPLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1NBQzlCO1FBQ0QsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakQsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQVJlLGtCQUFZLGVBUTNCLENBQUE7SUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxRQUFrQjtRQUN0RCxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLEtBQUssQ0FBQztZQUNYLEtBQUssTUFBTTtnQkFDVCxPQUFPLFVBQVUsQ0FBQztZQUNwQixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssU0FBUztnQkFDWixPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNILENBQUM7SUFYZSwyQkFBcUIsd0JBV3BDLENBQUE7QUFDSCxDQUFDLEVBMWVnQixLQUFLLEtBQUwsS0FBSyxRQTBlckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgc2NhbGVMaW5lYXIsIHNjYWxlVXRjIH0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHsgYXJlYSwgbGluZSB9IGZyb20gJ2QzLXNoYXBlJztcbmltcG9ydCB7IHV0Y0Zvcm1hdCB9IGZyb20gJ2QzLXRpbWUtZm9ybWF0JztcbmltcG9ydCB7IERheXNQaXBlIH0gZnJvbSAnLi4vLi4vZm9ybWF0L3BpcGVzL2RheXMucGlwZSc7XG5pbXBvcnQgeyBOdW1iZXJQaXBlIH0gZnJvbSAnLi4vLi4vZm9ybWF0L3BpcGVzL251bWJlci5waXBlJztcbmltcG9ydCB7IFBlcmNlbnRhZ2VQaXBlIH0gZnJvbSAnLi4vLi4vZm9ybWF0L3BpcGVzL3BlcmNlbnRhZ2UucGlwZSc7XG5pbXBvcnQgeyBTbWFsbEN1cnJlbmN5UGlwZSB9IGZyb20gJy4uLy4uL2Zvcm1hdC9waXBlcy9zbWFsbC1jdXJyZW5jeS5waXBlJztcblxuZXhwb3J0IG5hbWVzcGFjZSBDaGFydCB7XG4gIGV4cG9ydCBjb25zdCBkZWZhdWx0Q29sb3JQYWxldHRlID0gW1xuICAgIC8vQmFzZSBjb2xvcnNcbiAgICAnLS1iYWphLWJsYXN0LTUwJyxcbiAgICAnLS10ZWFsLWRpYW1vbmQtNTAnLFxuICAgICctLWZ5cmUtNTAnLFxuICAgICctLXRhbmctNTAnLFxuICAgICctLXB1cnAtNjAnLFxuICAgICctLXJvc2ktNzAnLFxuICAgIC8vU2hpZnQgbGlnaHRlciBmcm9tIGJhc2UgYnkgLTIwXG4gICAgJy0tYmFqYS1ibGFzdC0zMCcsXG4gICAgJy0tdGVhbC1kaWFtb25kLTMwJyxcbiAgICAnLS1meXJlLTMwJyxcbiAgICAnLS10YW5nLTMwJyxcbiAgICAnLS1wdXJwLTQwJyxcbiAgICAnLS1yb3NpLTUwJyxcbiAgICAvL1NoaWZ0IGRhcmtlciBmcm9tIGJhc2UgYnkgKzIwXG4gICAgJy0tYmFqYS1ibGFzdC03MCcsXG4gICAgJy0tdGVhbC1kaWFtb25kLTcwJyxcbiAgICAnLS1meXJlLTcwJyxcbiAgICAnLS10YW5nLTcwJyxcbiAgICAnLS1wdXJwLTgwJyxcbiAgICAnLS1yb3NpLTkwJyxcbiAgXTtcblxuICBleHBvcnQgZnVuY3Rpb24gY2hhcnQoY29uZmlnOiBDb25maWcsIGRhdGE6IERhdGEsIGRpbWVuc2lvbnM6IERpbWVuc2lvbnMpIHtcbiAgICByZXR1cm4gY29uZmlnLnR5cGUgPT0gJ2xpbmUnXG4gICAgICA/IGxpbmVzKGNvbmZpZywgZGF0YSwgZGltZW5zaW9ucylcbiAgICAgIDogY29uZmlnLnR5cGUgPT0gJ2FyZWEnXG4gICAgICA/IGFyZWFzKGNvbmZpZywgZGF0YSwgZGltZW5zaW9ucylcbiAgICAgIDogYmFycyhjb25maWcsIGRhdGEsIGRpbWVuc2lvbnMpO1xuICB9XG4gIGV4cG9ydCBmdW5jdGlvbiBsaW5lcyhcbiAgICBjb25maWc6IENvbmZpZyxcbiAgICBhbGxEYXRhOiBEYXRhLFxuICAgIGRpbWVuc2lvbnM6IERpbWVuc2lvbnMsXG4gICk6IFJlbmRlcmVkQ2hhcnQge1xuICAgIGNvbnN0IHsgZGF0YSwgdmlzaWJsZUluZGljZXMgfSA9IGhpZGUoYWxsRGF0YSk7XG4gICAgY29uc3QgeFNjYWxlID0gc2NhbGVVdGModGltZXNlcmllc0RvbWFpbihkYXRhKSwgeFJhbmdlKGRpbWVuc2lvbnMpKTtcbiAgICBjb25zdCBmb3JtYXQgPSAoZGF0ZTogRGF0ZSkgPT5cbiAgICAgIGZvcm1hdGVkRGF0ZShjb25maWcuZGF0ZUZvcm1hdCB8fCAnZGF5JywgZGF0ZSk7XG5cbiAgICBjb25zdCB4VGlja3MgPSB4U2NhbGUudGlja3MoTWF0aC5taW4oNSwgZGF0YS54Lmxlbmd0aCkpLm1hcCh0aWNrID0+ICh7XG4gICAgICB4OiB4U2NhbGUodGljayksXG4gICAgICBsYWJlbDogZm9ybWF0KHRpY2spLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHsgcGlwZSwgZnVsbFBpcGUgfSA9IGdldFBpcGVzKGNvbmZpZy52YWx1ZVR5cGUpO1xuICAgIGNvbnN0IHlTY2FsZSA9IHNjYWxlTGluZWFyKHlEb21haW4oZGF0YSksIHlSYW5nZShkaW1lbnNpb25zKSk7XG4gICAgY29uc3QgeVRpY2tzID0geVNjYWxlLnRpY2tzKDUpLm1hcCh0aWNrID0+ICh7XG4gICAgICB5OiB5U2NhbGUodGljayksXG4gICAgICBsYWJlbDogcGlwZS50cmFuc2Zvcm0odGljayksXG4gICAgfSkpO1xuXG4gICAgY29uc3QgY29sb3JzID0gdmlzaWJsZUluZGljZXMubWFwKFxuICAgICAgaSA9PiBjb25maWcuY29sb3JzW2kgJSBjb25maWcuY29sb3JzLmxlbmd0aF0sXG4gICAgKTtcbiAgICBjb25zdCBpbmRpY2VzID0gZGF0YS54Lm1hcCgoXywgaSkgPT4gaSk7XG4gICAgY29uc3QgbGluZXMgPSBkYXRhLnlzLm1hcCh5ID0+XG4gICAgICBsaW5lPG51bWJlcj4oXG4gICAgICAgIGkgPT4geFNjYWxlKGRhdGEueFtpXSksXG4gICAgICAgIGkgPT4geVNjYWxlKHkudmFsdWVzW2ldKSxcbiAgICAgICkoaW5kaWNlcyksXG4gICAgKTtcblxuICAgIGZ1bmN0aW9uIGhvdmVyKHBvczogeyByZWN0OiBET01SZWN0OyB4OiBudW1iZXI7IHk6IG51bWJlciB9KSB7XG4gICAgICBjb25zdCB4SW5kZXggPSBmaW5kTmVhcmVzdEluZGV4KGRhdGEueCwgeFNjYWxlLmludmVydChwb3MueCkuZ2V0VGltZSgpKTtcbiAgICAgIGNvbnN0IHggPSB4U2NhbGUoZGF0YS54W3hJbmRleF0pO1xuICAgICAgY29uc3QgdmlzaWJsZVlJbmRleCA9IGZpbmROZWFyZXN0SW5kZXgoXG4gICAgICAgIGRhdGEueXMubWFwKHkgPT4geS52YWx1ZXNbeEluZGV4XSksXG4gICAgICAgIHlTY2FsZS5pbnZlcnQocG9zLnkpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHlJbmRleCA9IHZpc2libGVJbmRpY2VzW3Zpc2libGVZSW5kZXhdO1xuICAgICAgY29uc3QgeXMgPSBkYXRhLnlzLm1hcCh5ID0+IHlTY2FsZSh5LnZhbHVlc1t4SW5kZXhdKSk7XG5cbiAgICAgIGNvbnN0IGZvcm1hdCA9IChkYXRlOiBEYXRlKSA9PlxuICAgICAgICBmb3JtYXRlZERhdGUoY29uZmlnLmRhdGVGb3JtYXQgfHwgJ2RheScsIGRhdGUpO1xuXG4gICAgICBjb25zdCBhbmNob3IgPSBuZXcgRE9NUmVjdChcbiAgICAgICAgcG9zLnJlY3QueCArIHgsXG4gICAgICAgIHBvcy5yZWN0LnkgKyB5c1t2aXNpYmxlWUluZGV4XSxcbiAgICAgICAgOCxcbiAgICAgICAgMCxcbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4LFxuICAgICAgICB4SW5kZXgsXG4gICAgICAgIHlzLFxuICAgICAgICB5SW5kZXgsXG4gICAgICAgIHZpc2libGVZSW5kZXgsXG4gICAgICAgIHRvb2x0aXA6IHtcbiAgICAgICAgICBhbmNob3IsXG4gICAgICAgICAgZGF0ZTogZm9ybWF0KG5ldyBEYXRlKGRhdGEueFt4SW5kZXhdKSksXG4gICAgICAgICAgbWV0cmljczogZGF0YS55c1xuICAgICAgICAgICAgLm1hcCgoeSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnNbaW5kZXggJSBjb2xvcnMubGVuZ3RoXSxcbiAgICAgICAgICAgICAgbGFiZWw6IHkubGFiZWwsXG4gICAgICAgICAgICAgIHZhbHVlOiBmdWxsUGlwZS50cmFuc2Zvcm0oeS52YWx1ZXNbeEluZGV4XSkgPz8gJy0nLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAuZmlsdGVyKChfLCBpKSA9PiBjb25maWcuZ3JvdXBlZFRvb2x0aXAgfHwgaSA9PSB2aXNpYmxlWUluZGV4KSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgeFRpY2tzLCB5VGlja3MsIGNvbG9ycywgbGluZXMsIGhvdmVyLCBiYXJzOiBbXSwgYXJlYXM6IFtdIH07XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gYXJlYXMoXG4gICAgY29uZmlnOiBDb25maWcsXG4gICAgYWxsRGF0YTogRGF0YSxcbiAgICBkaW1lbnNpb25zOiBEaW1lbnNpb25zLFxuICApOiBSZW5kZXJlZENoYXJ0IHtcbiAgICBjb25zdCB7IGRhdGE6IHVuc3RhY2tlZERhdGEsIHZpc2libGVJbmRpY2VzIH0gPSBoaWRlKGFsbERhdGEpO1xuICAgIGNvbnN0IGRhdGEgPSBzdGFjayh1bnN0YWNrZWREYXRhKTtcbiAgICBjb25zdCB4U2NhbGUgPSBzY2FsZVV0Yyh0aW1lc2VyaWVzRG9tYWluKGRhdGEpLCB4UmFuZ2UoZGltZW5zaW9ucykpO1xuICAgIGNvbnN0IGZvcm1hdCA9IChkYXRlOiBEYXRlKSA9PlxuICAgICAgZm9ybWF0ZWREYXRlKGNvbmZpZy5kYXRlRm9ybWF0IHx8ICdkYXknLCBkYXRlKTtcbiAgICBjb25zdCB4VGlja3MgPSB4U2NhbGUudGlja3MoTWF0aC5taW4oNSwgZGF0YS54Lmxlbmd0aCkpLm1hcCh0aWNrID0+ICh7XG4gICAgICB4OiB4U2NhbGUodGljayksXG4gICAgICBsYWJlbDogZm9ybWF0KHRpY2spLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHsgcGlwZSwgZnVsbFBpcGUgfSA9IGdldFBpcGVzKGNvbmZpZy52YWx1ZVR5cGUpO1xuICAgIGNvbnN0IHlTY2FsZSA9IHNjYWxlTGluZWFyKHlEb21haW4oZGF0YSksIHlSYW5nZShkaW1lbnNpb25zKSk7XG4gICAgY29uc3QgeVRpY2tzID0geVNjYWxlLnRpY2tzKDUpLm1hcCh0aWNrID0+ICh7XG4gICAgICB5OiB5U2NhbGUodGljayksXG4gICAgICBsYWJlbDogcGlwZS50cmFuc2Zvcm0odGljayksXG4gICAgfSkpO1xuXG4gICAgY29uc3QgaW5kaWNlcyA9IGRhdGEueC5tYXAoKF8sIGkpID0+IGkpO1xuICAgIGNvbnN0IGNvbG9ycyA9IHZpc2libGVJbmRpY2VzLm1hcChcbiAgICAgIGkgPT4gY29uZmlnLmNvbG9yc1tpICUgY29uZmlnLmNvbG9ycy5sZW5ndGhdLFxuICAgICk7XG4gICAgY29uc3QgYXJlYXMgPSBkYXRhLnlzLm1hcCgoeSwgeUluZGV4KSA9PlxuICAgICAgYXJlYTxudW1iZXI+KFxuICAgICAgICBpID0+IHhTY2FsZShkYXRhLnhbaV0pLFxuICAgICAgICBpID0+IHlTY2FsZSh5SW5kZXggPT0gMCA/IDAgOiBkYXRhLnlzW3lJbmRleCAtIDFdLnZhbHVlc1tpXSksXG4gICAgICAgIGkgPT4geVNjYWxlKHkudmFsdWVzW2ldKSxcbiAgICAgICkoaW5kaWNlcyksXG4gICAgKTtcblxuICAgIGZ1bmN0aW9uIGhvdmVyKHBvczogeyByZWN0OiBET01SZWN0OyB4OiBudW1iZXI7IHk6IG51bWJlciB9KSB7XG4gICAgICBjb25zdCB4SW5kZXggPSBmaW5kTmVhcmVzdEluZGV4KGRhdGEueCwgeFNjYWxlLmludmVydChwb3MueCkuZ2V0VGltZSgpKTtcbiAgICAgIGNvbnN0IHggPSB4U2NhbGUoZGF0YS54W3hJbmRleF0pO1xuICAgICAgY29uc3QgeVZhbHVlID0geVNjYWxlLmludmVydChwb3MueSk7XG4gICAgICBsZXQgdmlzaWJsZVlJbmRleCA9IGRhdGEueXNcbiAgICAgICAgLm1hcCh5ID0+IHkudmFsdWVzW3hJbmRleF0pXG4gICAgICAgIC5maW5kSW5kZXgoeSA9PiB5ID4geVZhbHVlKTtcbiAgICAgIGlmICh2aXNpYmxlWUluZGV4ID09IC0xKSB7XG4gICAgICAgIHZpc2libGVZSW5kZXggPSBkYXRhLnlzLmxlbmd0aCAtIDE7XG4gICAgICB9XG4gICAgICBjb25zdCB5SW5kZXggPSB2aXNpYmxlSW5kaWNlc1t2aXNpYmxlWUluZGV4XTtcbiAgICAgIGNvbnN0IHlzID0gZGF0YS55cy5tYXAoeSA9PiB5U2NhbGUoeS52YWx1ZXNbeEluZGV4XSkpO1xuICAgICAgY29uc3QgcGFkZGluZyA9IDg7XG4gICAgICBjb25zdCBhbmNob3IgPSBuZXcgRE9NUmVjdChcbiAgICAgICAgcG9zLnJlY3QueCArIHgsXG4gICAgICAgIHBvcy5yZWN0LnkgKyB5c1t2aXNpYmxlWUluZGV4XSxcbiAgICAgICAgcGFkZGluZyxcbiAgICAgICAgMCxcbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4LFxuICAgICAgICB4SW5kZXgsXG4gICAgICAgIHlzLFxuICAgICAgICB5SW5kZXgsXG4gICAgICAgIHZpc2libGVZSW5kZXgsXG4gICAgICAgIHRvb2x0aXA6IHtcbiAgICAgICAgICBhbmNob3IsXG4gICAgICAgICAgZGF0ZTogdXRjRm9ybWF0KCclQiAlZCwgJVknKShuZXcgRGF0ZSh1bnN0YWNrZWREYXRhLnhbeEluZGV4XSkpLFxuICAgICAgICAgIG1ldHJpY3M6IHVuc3RhY2tlZERhdGEueXNcbiAgICAgICAgICAgIC5tYXAoKHksIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICBjb2xvcjogY29sb3JzW2luZGV4ICUgY29sb3JzLmxlbmd0aF0sXG4gICAgICAgICAgICAgIGxhYmVsOiB5LmxhYmVsLFxuICAgICAgICAgICAgICB2YWx1ZTogZnVsbFBpcGUudHJhbnNmb3JtKHkudmFsdWVzW3hJbmRleF0pID8/ICctJyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgLmZpbHRlcigoXywgaSkgPT4gY29uZmlnLmdyb3VwZWRUb29sdGlwIHx8IGkgPT0gdmlzaWJsZVlJbmRleCksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHhUaWNrcywgeVRpY2tzLCBjb2xvcnMsIGFyZWFzLCBsaW5lczogW10sIGhvdmVyLCBiYXJzOiBbXSB9O1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGJhcnMoXG4gICAgY29uZmlnOiBDb25maWcsXG4gICAgYWxsRGF0YTogRGF0YSxcbiAgICBkaW1lbnNpb25zOiBEaW1lbnNpb25zLFxuICApOiBSZW5kZXJlZENoYXJ0IHtcbiAgICBjb25zdCB7IGRhdGE6IHVuc3RhY2tlZERhdGEsIHZpc2libGVJbmRpY2VzIH0gPSBoaWRlKGFsbERhdGEpO1xuICAgIGNvbnN0IGRhdGEgPSBzdGFjayh1bnN0YWNrZWREYXRhKTtcbiAgICBjb25zdCB7IHJhbmdlOiB4UmFuZ2UsIGJpblNpemUgfSA9IGJhclhSYW5nZShkaW1lbnNpb25zLCBkYXRhKTtcbiAgICBjb25zdCBoYWxmQmluU2l6ZSA9IGJpblNpemUgLyAyO1xuICAgIGNvbnN0IHhTY2FsZSA9IHNjYWxlVXRjKHRpbWVzZXJpZXNEb21haW4oZGF0YSksIHhSYW5nZSk7XG4gICAgY29uc3QgZm9ybWF0ID0gKGRhdGU6IERhdGUpID0+XG4gICAgICBmb3JtYXRlZERhdGUoY29uZmlnLmRhdGVGb3JtYXQgfHwgJ2RheScsIGRhdGUpO1xuICAgIGNvbnN0IHhUaWNrcyA9IHhTY2FsZS50aWNrcyhNYXRoLm1pbig1LCBkYXRhLngubGVuZ3RoKSkubWFwKHRpY2sgPT4gKHtcbiAgICAgIHg6IHhTY2FsZSh0aWNrKSxcbiAgICAgIGxhYmVsOiBmb3JtYXQodGljayksXG4gICAgfSkpO1xuXG4gICAgY29uc3QgeyBwaXBlLCBmdWxsUGlwZSB9ID0gZ2V0UGlwZXMoY29uZmlnLnZhbHVlVHlwZSk7XG4gICAgY29uc3QgeVNjYWxlID0gc2NhbGVMaW5lYXIoeURvbWFpbihkYXRhKSwgeVJhbmdlKGRpbWVuc2lvbnMpKTtcbiAgICBjb25zdCB5VGlja3MgPSB5U2NhbGUudGlja3MoNSkubWFwKHRpY2sgPT4gKHtcbiAgICAgIHk6IHlTY2FsZSh0aWNrKSxcbiAgICAgIGxhYmVsOiBwaXBlLnRyYW5zZm9ybSh0aWNrKSxcbiAgICB9KSk7XG4gICAgY29uc3QgY29sb3JzID0gdmlzaWJsZUluZGljZXMubWFwKFxuICAgICAgaSA9PiBjb25maWcuY29sb3JzW2kgJSBjb25maWcuY29sb3JzLmxlbmd0aF0sXG4gICAgKTtcbiAgICBjb25zdCBiYXJzID0gZGF0YS55cy5tYXAoKHksIHlJbmRleCkgPT5cbiAgICAgIHkudmFsdWVzLm1hcCgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHlWYWx1ZSA9IHlTY2FsZSh2YWx1ZSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgeDogeFNjYWxlKGRhdGEueFtpbmRleF0pIC0gaGFsZkJpblNpemUsXG4gICAgICAgICAgeTogeVZhbHVlLFxuICAgICAgICAgIHdpZHRoOiBiaW5TaXplLFxuICAgICAgICAgIGhlaWdodDpcbiAgICAgICAgICAgICh5SW5kZXggPT0gMFxuICAgICAgICAgICAgICA/IHlTY2FsZSgwKVxuICAgICAgICAgICAgICA6IHlTY2FsZShkYXRhLnlzW3lJbmRleCAtIDFdLnZhbHVlc1tpbmRleF0pKSAtIHlWYWx1ZSxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBmdW5jdGlvbiBob3Zlcihwb3M6IHsgcmVjdDogRE9NUmVjdDsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSkge1xuICAgICAgY29uc3QgeEluZGV4ID0gZmluZE5lYXJlc3RJbmRleChkYXRhLngsIHhTY2FsZS5pbnZlcnQocG9zLngpLmdldFRpbWUoKSk7XG4gICAgICBjb25zdCB4ID0geFNjYWxlKGRhdGEueFt4SW5kZXhdKTtcbiAgICAgIGNvbnN0IHlWYWx1ZSA9IHlTY2FsZS5pbnZlcnQocG9zLnkpO1xuICAgICAgbGV0IHZpc2libGVZSW5kZXggPSBkYXRhLnlzXG4gICAgICAgIC5tYXAoeSA9PiB5LnZhbHVlc1t4SW5kZXhdKVxuICAgICAgICAuZmluZEluZGV4KHkgPT4geSA+IHlWYWx1ZSk7XG4gICAgICBpZiAodmlzaWJsZVlJbmRleCA9PSAtMSkge1xuICAgICAgICB2aXNpYmxlWUluZGV4ID0gZGF0YS55cy5sZW5ndGggLSAxO1xuICAgICAgfVxuICAgICAgY29uc3QgeUluZGV4ID0gdmlzaWJsZUluZGljZXNbdmlzaWJsZVlJbmRleF07XG4gICAgICBjb25zdCB5cyA9IGRhdGEueXMubWFwKHkgPT4geVNjYWxlKHkudmFsdWVzW3hJbmRleF0pKTtcbiAgICAgIGNvbnN0IHBhZGRpbmcgPSA4O1xuICAgICAgY29uc3QgYW5jaG9yID0gbmV3IERPTVJlY3QoXG4gICAgICAgIHBvcy5yZWN0LnggKyBiYXJzW3Zpc2libGVZSW5kZXhdW3hJbmRleF0ueCAtIHBhZGRpbmcsXG4gICAgICAgIHBvcy5yZWN0LnkgKyB5c1t2aXNpYmxlWUluZGV4XSxcbiAgICAgICAgYmFyc1t2aXNpYmxlWUluZGV4XVt4SW5kZXhdLndpZHRoICsgcGFkZGluZyAqIDIsXG4gICAgICAgICh2aXNpYmxlWUluZGV4ID09IDAgPyB5U2NhbGUoMCkgOiB5c1t2aXNpYmxlWUluZGV4IC0gMV0pIC1cbiAgICAgICAgICB5c1t2aXNpYmxlWUluZGV4XSxcbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4LFxuICAgICAgICB4SW5kZXgsXG4gICAgICAgIHlzLFxuICAgICAgICB5SW5kZXgsXG4gICAgICAgIHZpc2libGVZSW5kZXgsXG4gICAgICAgIHRvb2x0aXA6IHtcbiAgICAgICAgICBhbmNob3IsXG4gICAgICAgICAgZGF0ZTogdXRjRm9ybWF0KCclQiAlZCwgJVknKShuZXcgRGF0ZSh1bnN0YWNrZWREYXRhLnhbeEluZGV4XSkpLFxuICAgICAgICAgIG1ldHJpY3M6IHVuc3RhY2tlZERhdGEueXNcbiAgICAgICAgICAgIC5tYXAoKHksIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICBjb2xvcjogY29sb3JzW2luZGV4ICUgY29sb3JzLmxlbmd0aF0sXG4gICAgICAgICAgICAgIGxhYmVsOiB5LmxhYmVsLFxuICAgICAgICAgICAgICB2YWx1ZTogZnVsbFBpcGUudHJhbnNmb3JtKHkudmFsdWVzW3hJbmRleF0pID8/ICctJyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgLmZpbHRlcigoXywgaSkgPT4gY29uZmlnLmdyb3VwZWRUb29sdGlwIHx8IGkgPT0gdmlzaWJsZVlJbmRleCksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHhUaWNrcywgeVRpY2tzLCBjb2xvcnMsIGJhcnMsIGxpbmVzOiBbXSwgYXJlYXM6IFtdLCBob3ZlciB9O1xuICB9XG5cbiAgY29uc3QgTEVGVF9QQURESU5HID0gNDg7XG4gIGNvbnN0IFJJR0hUX1BBRERJTkcgPSAyNDtcbiAgY29uc3QgVE9QX1BBRERJTkcgPSAxNjtcbiAgY29uc3QgQk9UVE9NX1BBRERJTkcgPSAyNDtcblxuICBleHBvcnQgdHlwZSBEYXRhID0ge1xuICAgIHlzOiB7XG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgaGlkZGVuPzogYm9vbGVhbjtcbiAgICAgIHZhbHVlczogbnVtYmVyW107XG4gICAgfVtdO1xuICAgIHg6IG51bWJlcltdO1xuICB9O1xuXG4gIGV4cG9ydCB0eXBlIERpbWVuc2lvbnMgPSB7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgfTtcblxuICBleHBvcnQgdHlwZSBDb25maWcgPSB7XG4gICAgdHlwZTogJ2xpbmUnIHwgJ2FyZWEnIHwgJ2Jhcic7XG4gICAgZ3JvdXBlZFRvb2x0aXA6IGJvb2xlYW47XG4gICAgY29sb3JzOiBzdHJpbmdbXTtcbiAgICBhbGxvd0xlZ2VuZFRvZ2dsZTogYm9vbGVhbjtcbiAgICB6ZXJvU3RhdGVNZXNzYWdlOiBzdHJpbmc7XG4gICAgdmFsdWVUeXBlOiBWYWx1ZVR5cGU7XG4gICAgdHJ1bmNhdGVMZWdlbmQ6IGJvb2xlYW47XG4gICAgZGF0ZUZvcm1hdD86IEludGVydmFsO1xuICB9O1xuXG4gIGV4cG9ydCBjb25zdCBkZWZhdWx0Q29uZmlnOiBDb25maWcgPSB7XG4gICAgdHlwZTogJ2xpbmUnLFxuICAgIGdyb3VwZWRUb29sdGlwOiB0cnVlLFxuICAgIGNvbG9yczogZGVmYXVsdENvbG9yUGFsZXR0ZSxcbiAgICBhbGxvd0xlZ2VuZFRvZ2dsZTogZmFsc2UsXG4gICAgemVyb1N0YXRlTWVzc2FnZTogJ05vIGRhdGEgdG8gZGlzcGxheS4nLFxuICAgIHZhbHVlVHlwZTogJ2N1cnJlbmN5JyxcbiAgICB0cnVuY2F0ZUxlZ2VuZDogdHJ1ZSxcbiAgICBkYXRlRm9ybWF0OiAnZGF5JyxcbiAgfTtcblxuICBleHBvcnQgdHlwZSBBcmVhID0ge1xuICAgIHBhdGg6IHN0cmluZyB8IG51bGw7XG4gICAgZmlsbDogc3RyaW5nO1xuICB9O1xuXG4gIGV4cG9ydCB0eXBlIFhUaWNrID0ge1xuICAgIHg6IG51bWJlcjtcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9O1xuXG4gIGV4cG9ydCB0eXBlIFlUaWNrID0ge1xuICAgIHk6IG51bWJlcjtcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9O1xuXG4gIHR5cGUgUmVjdCA9IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgQmFyU2VyaWVzID0ge1xuICAgIGZpbGw6IHN0cmluZztcbiAgICByZWN0czogUmVjdFtdO1xuICB9O1xuXG4gIC8vIEhvdmVyIGlzIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIHZpZXdwb3J0IHggYW5kIHkgYW5kIHJldHVybnMgYSByaWNoXG4gIC8vIHNldCBvZiBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IHZhbHVlcyBhcmUgYmVpbmcgaG92ZXJlZCBhbmQgd2hhdCB0aGUgdG9vbHRpcFxuICAvLyBzaG91bGQgbG9vayBsaWtlXG4gIGV4cG9ydCB0eXBlIEhvdmVyID0gKHBvczogeyByZWN0OiBET01SZWN0OyB4OiBudW1iZXI7IHk6IG51bWJlciB9KSA9PiB7XG4gICAgLy8gdGhlIGluZGljZXMgaW50byB0aGUgZGF0YSBvZiB0aGUgY2xvc2VzdCBwb2ludFxuICAgIHhJbmRleDogbnVtYmVyO1xuICAgIC8vIHdlIHdhbnQgdG8ga25vdyB3aGljaCB2aXNpYmxlIHkgaW5kZXggaXMgaG92ZXJlZFxuICAgIC8vIGFuZCB3aGljaCBhY3R1YWwgeSBpbmRleCBpcyBob3ZlcmVkXG4gICAgeUluZGV4OiBudW1iZXI7XG4gICAgdmlzaWJsZVlJbmRleDogbnVtYmVyO1xuXG4gICAgLy8gdGhlIHZpZXdwb3J0IHggYW5kIHlzIG9mIHRoZSBob3ZlcmVkIGl0ZW1zXG4gICAgeDogbnVtYmVyO1xuICAgIHlzOiBudW1iZXJbXTtcblxuICAgIHRvb2x0aXA6IHtcbiAgICAgIGFuY2hvcjogRE9NUmVjdDtcbiAgICAgIGRhdGU6IHN0cmluZztcbiAgICAgIG1ldHJpY3M6IHtcbiAgICAgICAgY29sb3I6IHN0cmluZztcbiAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgIH1bXTtcbiAgICB9O1xuICB9O1xuXG4gIC8vIFJlbmRlcmVkQ2hhcnQgcmVwcmVzZW50cyBhbGwgb2YgdGhlIHBhcnRzIG9mIGEgY2hhcnRcbiAgLy8gdGhhdCBlbmQgdXAgb24gc2NyZWVuLiBFdmVyeSBjaGFydCBoYXMgeCBhbmQgeSB0aWNrc1xuICAvLyBhbmQgaG92ZXIgZnVuY3Rpb25hbGl0eSwgZXZlbiB0aG91Z2ggdGhleSBtaWdodCBiZVxuICAvLyBkaWZmZXJlbnQgZnJvbSBjaGFydCB0byBjaGFydC5cbiAgdHlwZSBSZW5kZXJlZENoYXJ0ID0ge1xuICAgIHhUaWNrczogWFRpY2tbXTtcbiAgICB5VGlja3M6IFlUaWNrW107XG4gICAgaG92ZXI6IEhvdmVyO1xuICAgIGNvbG9yczogc3RyaW5nW107XG4gICAgbGluZXM6IChzdHJpbmcgfCBudWxsKVtdO1xuICAgIGFyZWFzOiAoc3RyaW5nIHwgbnVsbClbXTtcbiAgICBiYXJzOiBSZWN0W11bXTtcbiAgfTtcblxuICBmdW5jdGlvbiB0aW1lc2VyaWVzRG9tYWluKGRhdGE6IERhdGEpIHtcbiAgICByZXR1cm4gW01hdGgubWluKC4uLmRhdGEueCksIE1hdGgubWF4KC4uLmRhdGEueCldO1xuICB9XG5cbiAgZnVuY3Rpb24geURvbWFpbihkYXRhOiBEYXRhKSB7XG4gICAgY29uc3QgbWF4ID0gTWF0aC5tYXgoLi4uZGF0YS55cy5tYXAoeSA9PiBNYXRoLm1heCguLi55LnZhbHVlcykpKTtcbiAgICByZXR1cm4gWzAsIG1heCA9PSAwID8gMSA6IG1heF07XG4gIH1cblxuICBmdW5jdGlvbiB4UmFuZ2UoZGltZW5zaW9uczogRGltZW5zaW9ucykge1xuICAgIHJldHVybiBbTEVGVF9QQURESU5HLCBkaW1lbnNpb25zLndpZHRoIC0gUklHSFRfUEFERElOR107XG4gIH1cblxuICBmdW5jdGlvbiBiYXJYUmFuZ2UoZGltZW5zaW9uczogRGltZW5zaW9ucywgZGF0YTogRGF0YSkge1xuICAgIGNvbnN0IGxlZnQgPSBMRUZUX1BBRERJTkc7XG4gICAgY29uc3QgcmlnaHQgPSBkaW1lbnNpb25zLndpZHRoIC0gUklHSFRfUEFERElORztcbiAgICBjb25zdCB3aWR0aCA9IHJpZ2h0IC0gbGVmdDtcbiAgICBjb25zdCBiaW5TaXplID0gd2lkdGggLyAoZGF0YS54Lmxlbmd0aCB8fCAxKTtcbiAgICBjb25zdCBoYWxmQmluU2l6ZSA9IGJpblNpemUgLyAyO1xuICAgIGNvbnN0IHJhbmdlID0gW2xlZnQgKyBoYWxmQmluU2l6ZSwgcmlnaHQgLSBoYWxmQmluU2l6ZV07XG4gICAgcmV0dXJuIHsgYmluU2l6ZTogTWF0aC5taW4oYmluU2l6ZSAqIDAuNywgODApLCByYW5nZSB9O1xuICB9XG5cbiAgZnVuY3Rpb24geVJhbmdlKGRpbWVuc2lvbnM6IERpbWVuc2lvbnMpIHtcbiAgICByZXR1cm4gW2RpbWVuc2lvbnMuaGVpZ2h0IC0gQk9UVE9NX1BBRERJTkcsIFRPUF9QQURESU5HXTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZpbmROZWFyZXN0SW5kZXgodmFsdWVzOiBudW1iZXJbXSwgaW5wdXQ6IG51bWJlcikge1xuICAgIHJldHVybiB2YWx1ZXMucmVkdWNlKChuZWFyZXN0SW5kZXgsIHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIE1hdGguYWJzKHZhbHVlIC0gaW5wdXQpIDwgTWF0aC5hYnModmFsdWVzW25lYXJlc3RJbmRleF0gLSBpbnB1dClcbiAgICAgICAgPyBpbmRleFxuICAgICAgICA6IG5lYXJlc3RJbmRleDtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIC8vIHN0YWNrIHJldHVybnMgYSBuZXcgZGF0YSB3aGVyZSBlYWNoIHNldCBvZiB5VmFsdWVzIGlzIHN0YWNrZWRcbiAgLy8gb24gdG9wIG9mIHRoZSBwcmV2aW91cy5cbiAgZnVuY3Rpb24gc3RhY2soZGF0YTogRGF0YSk6IERhdGEge1xuICAgIGNvbnN0IHN0YWNrZWQ6IERhdGEgPSB7XG4gICAgICAuLi5kYXRhLFxuICAgICAgeXM6IGRhdGEueXMubWFwKHkgPT4gKHsgbGFiZWw6IHkubGFiZWwsIHZhbHVlczogW10gfSkpLFxuICAgIH07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLngubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBmcm9tID0gMDtcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgZGF0YS55cy5sZW5ndGg7IGorKykge1xuICAgICAgICBjb25zdCB0byA9IGZyb20gKyBkYXRhLnlzW2pdLnZhbHVlc1tpXTtcbiAgICAgICAgc3RhY2tlZC55c1tqXS52YWx1ZXMucHVzaCh0byk7XG4gICAgICAgIGZyb20gPSB0bztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHN0YWNrZWQ7XG4gIH1cblxuICAvLyBoaWRlIHN0cmlwcyBvdXQgaGlkZGVuIHkgdmFsdWVzIHdoaWxlIHJldGFpbmluZyB0aGUgb3JpZ2luYWwgaW5kaWNlc1xuICAvLyBmb3IgdGhlIHJlbWFpbmluZyB2aXNpYmxlIHZhbHVlc1xuICBmdW5jdGlvbiBoaWRlKGRhdGE6IERhdGEpOiB7IGRhdGE6IERhdGE7IHZpc2libGVJbmRpY2VzOiBudW1iZXJbXSB9IHtcbiAgICBjb25zdCB2aXNpYmxlSW5kaWNlcyA9IGRhdGEueXNcbiAgICAgIC5tYXAoKHksIGkpID0+ICh7IHksIGkgfSkpXG4gICAgICAuZmlsdGVyKCh7IHkgfSkgPT4gIXkuaGlkZGVuKVxuICAgICAgLm1hcCgoeyBpIH0pID0+IGkpO1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB7IC4uLmRhdGEsIHlzOiB2aXNpYmxlSW5kaWNlcy5tYXAoaSA9PiBkYXRhLnlzW2ldKSB9LFxuICAgICAgdmlzaWJsZUluZGljZXMsXG4gICAgfTtcbiAgfVxuXG4gIHR5cGUgVmFsdWVUeXBlID0gJ2NvdW50JyB8ICdjdXJyZW5jeScgfCAncGVyY2VudGFnZScgfCAnZGF5cyc7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFBpcGVzKHZhbHVlVHlwZTogVmFsdWVUeXBlKSB7XG4gICAgc3dpdGNoICh2YWx1ZVR5cGUpIHtcbiAgICAgIGNhc2UgJ2NvdW50Jzoge1xuICAgICAgICBjb25zdCBwaXBlID0gbmV3IE51bWJlclBpcGUoKTtcbiAgICAgICAgcmV0dXJuIHsgcGlwZSwgZnVsbFBpcGU6IHBpcGUgfTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwaXBlOiBuZXcgU21hbGxDdXJyZW5jeVBpcGUoKSxcbiAgICAgICAgICBmdWxsUGlwZTogbmV3IEN1cnJlbmN5UGlwZSgnZW4tdXMnKSxcbiAgICAgICAgfTtcbiAgICAgIGNhc2UgJ3BlcmNlbnRhZ2UnOiB7XG4gICAgICAgIGNvbnN0IHBpcGUgPSBuZXcgUGVyY2VudGFnZVBpcGUoKTtcbiAgICAgICAgcmV0dXJuIHsgcGlwZSwgZnVsbFBpcGU6IHBpcGUgfTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2RheXMnOiB7XG4gICAgICAgIGNvbnN0IHBpcGUgPSBuZXcgRGF5c1BpcGUoKTtcbiAgICAgICAgcmV0dXJuIHsgcGlwZSwgZnVsbFBpcGU6IHBpcGUgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBleHBvcnQgY29uc3QgaW50ZXJ2YWxzID0gWyd5ZWFyJywgJ3F1YXJ0ZXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgSW50ZXJ2YWwgPSAodHlwZW9mIGludGVydmFscylbbnVtYmVyXTtcblxuICBleHBvcnQgZnVuY3Rpb24gZm9ybWF0ZWREYXRlKGRhdGVGb3JtYXQ6IEludGVydmFsLCBkYXRlOiBEYXRlKSB7XG4gICAgaWYgKGRhdGVGb3JtYXQgPT0gJ3F1YXJ0ZXInKSB7XG4gICAgICBjb25zdCBxdWFydGVyID0gTWF0aC5jZWlsKChkYXRlLmdldFVUQ01vbnRoKCkgKyAxKSAvIDMpO1xuICAgICAgY29uc3QgeWVhciA9IHV0Y0Zvcm1hdChnZXRUaW1lSW50ZXJ2YWxGb3JtYXQoJ3llYXInKSkoZGF0ZSk7XG4gICAgICByZXR1cm4gYFEke3F1YXJ0ZXJ9ICR7eWVhcn1gO1xuICAgIH1cbiAgICBjb25zdCBmb3JtYXQgPSBnZXRUaW1lSW50ZXJ2YWxGb3JtYXQoZGF0ZUZvcm1hdCk7XG4gICAgcmV0dXJuIHV0Y0Zvcm1hdChmb3JtYXQpKGRhdGUpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVJbnRlcnZhbEZvcm1hdChpbnRlcnZhbDogSW50ZXJ2YWwpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoaW50ZXJ2YWwpIHtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgcmV0dXJuICclbS8lZC8lWSc7XG4gICAgICBjYXNlICdtb250aCc6XG4gICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgcmV0dXJuICclYiAlWSc7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuICclWSc7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -11,7 +11,6 @@ import * as p from 'papaparse';
|
|
|
11
11
|
import { debounce, defaultsDeep, orderBy, isEqual, range, difference, union } from 'lodash';
|
|
12
12
|
import { scaleUtc, scaleLinear, scaleBand } from 'd3-scale';
|
|
13
13
|
import { line, area, pie, arc, stack } from 'd3-shape';
|
|
14
|
-
import { DaysPipe as DaysPipe$1 } from 'projects/riv/src/public-api';
|
|
15
14
|
import { index, union as union$1 } from 'd3-array';
|
|
16
15
|
|
|
17
16
|
/**
|
|
@@ -3971,7 +3970,7 @@ var Chart;
|
|
|
3971
3970
|
return { pipe, fullPipe: pipe };
|
|
3972
3971
|
}
|
|
3973
3972
|
case 'days': {
|
|
3974
|
-
const pipe = new DaysPipe
|
|
3973
|
+
const pipe = new DaysPipe();
|
|
3975
3974
|
return { pipe, fullPipe: pipe };
|
|
3976
3975
|
}
|
|
3977
3976
|
}
|