@worktile/gantt 18.0.5 → 18.1.0-next.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.
Files changed (55) hide show
  1. package/class/item.d.ts +2 -2
  2. package/class/view-type.d.ts +0 -4
  3. package/components/calendar/grid/calendar-grid.component.d.ts +0 -2
  4. package/components/calendar/header/calendar-header.component.d.ts +0 -2
  5. package/components/toolbar/toolbar.component.d.ts +6 -5
  6. package/esm2022/class/item.mjs +1 -1
  7. package/esm2022/class/view-type.mjs +1 -23
  8. package/esm2022/components/bar/bar-drag.mjs +3 -3
  9. package/esm2022/components/calendar/grid/calendar-grid.component.mjs +3 -7
  10. package/esm2022/components/calendar/header/calendar-header.component.mjs +4 -7
  11. package/esm2022/components/toolbar/toolbar.component.mjs +6 -7
  12. package/esm2022/gantt-upper.mjs +18 -16
  13. package/esm2022/gantt.component.mjs +1 -1
  14. package/esm2022/gantt.config.mjs +55 -12
  15. package/esm2022/gantt.module.mjs +23 -20
  16. package/esm2022/gantt.pipe.mjs +16 -1
  17. package/esm2022/i18n/i18n.mjs +12 -0
  18. package/esm2022/i18n/index.mjs +18 -0
  19. package/esm2022/i18n/locales/de-de.mjs +51 -0
  20. package/esm2022/i18n/locales/en-us.mjs +49 -0
  21. package/esm2022/i18n/locales/ja-jp.mjs +49 -0
  22. package/esm2022/i18n/locales/ru-ru.mjs +51 -0
  23. package/esm2022/i18n/locales/zh-hans.mjs +49 -0
  24. package/esm2022/i18n/locales/zh-hant.mjs +49 -0
  25. package/esm2022/public-api.mjs +2 -1
  26. package/esm2022/root.component.mjs +2 -2
  27. package/esm2022/utils/date.mjs +12 -4
  28. package/esm2022/views/day.mjs +6 -4
  29. package/esm2022/views/hour.mjs +5 -3
  30. package/esm2022/views/month.mjs +6 -4
  31. package/esm2022/views/quarter.mjs +6 -4
  32. package/esm2022/views/view.mjs +2 -3
  33. package/esm2022/views/week.mjs +6 -4
  34. package/esm2022/views/year.mjs +5 -3
  35. package/fesm2022/worktile-gantt.mjs +459 -113
  36. package/fesm2022/worktile-gantt.mjs.map +1 -1
  37. package/gantt-upper.d.ts +5 -3
  38. package/gantt.component.d.ts +1 -1
  39. package/gantt.config.d.ts +20 -0
  40. package/gantt.module.d.ts +3 -4
  41. package/gantt.pipe.d.ts +5 -0
  42. package/i18n/i18n.d.ts +23 -0
  43. package/i18n/index.d.ts +10 -0
  44. package/i18n/locales/de-de.d.ts +49 -0
  45. package/i18n/locales/en-us.d.ts +48 -0
  46. package/i18n/locales/ja-jp.d.ts +48 -0
  47. package/i18n/locales/ru-ru.d.ts +49 -0
  48. package/i18n/locales/zh-hans.d.ts +48 -0
  49. package/i18n/locales/zh-hant.d.ts +48 -0
  50. package/package.json +3 -2
  51. package/public-api.d.ts +1 -0
  52. package/root.component.d.ts +1 -1
  53. package/utils/date.d.ts +4 -1
  54. package/views/factory.d.ts +1 -1
  55. package/views/view.d.ts +9 -0
@@ -0,0 +1,49 @@
1
+ import { GanttViewType } from '../../class';
2
+ import { GanttI18nLocale } from '../i18n';
3
+ export default {
4
+ id: GanttI18nLocale.enUs,
5
+ views: {
6
+ [GanttViewType.hour]: {
7
+ label: 'Hourly',
8
+ dateFormats: {
9
+ primary: 'MMM d',
10
+ secondary: 'HH:mm'
11
+ }
12
+ },
13
+ [GanttViewType.day]: {
14
+ label: 'Daily',
15
+ dateFormats: {
16
+ primary: 'MMM yyyy',
17
+ secondary: 'd'
18
+ }
19
+ },
20
+ [GanttViewType.week]: {
21
+ label: 'Weekly',
22
+ dateFormats: {
23
+ primary: 'yyyy',
24
+ secondary: 'wo'
25
+ }
26
+ },
27
+ [GanttViewType.month]: {
28
+ label: 'Monthly',
29
+ dateFormats: {
30
+ primary: "yyyy 'Q'Q",
31
+ secondary: 'MMM'
32
+ }
33
+ },
34
+ [GanttViewType.quarter]: {
35
+ label: 'Quarterly',
36
+ dateFormats: {
37
+ primary: 'yyyy',
38
+ secondary: "yyyy 'Q'Q"
39
+ }
40
+ },
41
+ [GanttViewType.year]: {
42
+ label: 'Yearly',
43
+ dateFormats: {
44
+ secondary: 'yyyy'
45
+ }
46
+ }
47
+ }
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4tdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvaTE4bi9sb2NhbGVzL2VuLXVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxQyxlQUFlO0lBQ1gsRUFBRSxFQUFFLGVBQWUsQ0FBQyxJQUFJO0lBQ3hCLEtBQUssRUFBRTtRQUNILENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xCLEtBQUssRUFBRSxRQUFRO1lBQ2YsV0FBVyxFQUFFO2dCQUNULE9BQU8sRUFBRSxPQUFPO2dCQUNoQixTQUFTLEVBQUUsT0FBTzthQUNyQjtTQUNKO1FBQ0QsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakIsS0FBSyxFQUFFLE9BQU87WUFDZCxXQUFXLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLFNBQVMsRUFBRSxHQUFHO2FBQ2pCO1NBQ0o7UUFDRCxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixLQUFLLEVBQUUsUUFBUTtZQUNmLFdBQVcsRUFBRTtnQkFDVCxPQUFPLEVBQUUsTUFBTTtnQkFDZixTQUFTLEVBQUUsSUFBSTthQUNsQjtTQUNKO1FBQ0QsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsV0FBVyxFQUFFO2dCQUNULE9BQU8sRUFBRSxXQUFXO2dCQUNwQixTQUFTLEVBQUUsS0FBSzthQUNuQjtTQUNKO1FBQ0QsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsS0FBSyxFQUFFLFdBQVc7WUFDbEIsV0FBVyxFQUFFO2dCQUNULE9BQU8sRUFBRSxNQUFNO2dCQUNmLFNBQVMsRUFBRSxXQUFXO2FBQ3pCO1NBQ0o7UUFDRCxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixLQUFLLEVBQUUsUUFBUTtZQUNmLFdBQVcsRUFBRTtnQkFDVCxTQUFTLEVBQUUsTUFBTTthQUNwQjtTQUNKO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uLy4uL2NsYXNzJztcbmltcG9ydCB7IEdhbnR0STE4bkxvY2FsZSB9IGZyb20gJy4uL2kxOG4nO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgaWQ6IEdhbnR0STE4bkxvY2FsZS5lblVzLFxuICAgIHZpZXdzOiB7XG4gICAgICAgIFtHYW50dFZpZXdUeXBlLmhvdXJdOiB7XG4gICAgICAgICAgICBsYWJlbDogJ0hvdXJseScsXG4gICAgICAgICAgICBkYXRlRm9ybWF0czoge1xuICAgICAgICAgICAgICAgIHByaW1hcnk6ICdNTU0gZCcsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAnSEg6bW0nXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFtHYW50dFZpZXdUeXBlLmRheV06IHtcbiAgICAgICAgICAgIGxhYmVsOiAnRGFpbHknLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAnTU1NIHl5eXknLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogJ2QnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFtHYW50dFZpZXdUeXBlLndlZWtdOiB7XG4gICAgICAgICAgICBsYWJlbDogJ1dlZWtseScsXG4gICAgICAgICAgICBkYXRlRm9ybWF0czoge1xuICAgICAgICAgICAgICAgIHByaW1hcnk6ICd5eXl5JyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICd3bydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUubW9udGhdOiB7XG4gICAgICAgICAgICBsYWJlbDogJ01vbnRobHknLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiBcInl5eXkgJ1EnUVwiLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogJ01NTSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUucXVhcnRlcl06IHtcbiAgICAgICAgICAgIGxhYmVsOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgICAgIGRhdGVGb3JtYXRzOiB7XG4gICAgICAgICAgICAgICAgcHJpbWFyeTogJ3l5eXknLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogXCJ5eXl5ICdRJ1FcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbR2FudHRWaWV3VHlwZS55ZWFyXToge1xuICAgICAgICAgICAgbGFiZWw6ICdZZWFybHknLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICd5eXl5J1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { GanttViewType } from '../../class';
2
+ import { GanttI18nLocale } from '../i18n';
3
+ export default {
4
+ id: GanttI18nLocale.jaJp,
5
+ views: {
6
+ [GanttViewType.hour]: {
7
+ label: '毎時',
8
+ dateFormats: {
9
+ primary: 'M月d日',
10
+ secondary: 'HH:mm'
11
+ }
12
+ },
13
+ [GanttViewType.day]: {
14
+ label: '日',
15
+ dateFormats: {
16
+ primary: 'yyyy年M月d日',
17
+ secondary: 'd'
18
+ }
19
+ },
20
+ [GanttViewType.week]: {
21
+ label: '週',
22
+ dateFormats: {
23
+ primary: 'yyyy年',
24
+ secondary: '第w週'
25
+ }
26
+ },
27
+ [GanttViewType.month]: {
28
+ label: '月',
29
+ dateFormats: {
30
+ primary: `yyyy年M月`,
31
+ secondary: 'M月'
32
+ }
33
+ },
34
+ [GanttViewType.quarter]: {
35
+ label: '四半期',
36
+ dateFormats: {
37
+ primary: 'yyyy年',
38
+ secondary: `yyyy年第Q四半期`
39
+ }
40
+ },
41
+ [GanttViewType.year]: {
42
+ label: '年',
43
+ dateFormats: {
44
+ secondary: 'yyyy年'
45
+ }
46
+ }
47
+ }
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamEtanAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvaTE4bi9sb2NhbGVzL2phLWpwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxQyxlQUFlO0lBQ1gsRUFBRSxFQUFFLGVBQWUsQ0FBQyxJQUFJO0lBQ3hCLEtBQUssRUFBRTtRQUNILENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFO2dCQUNULE9BQU8sRUFBRSxNQUFNO2dCQUNmLFNBQVMsRUFBRSxPQUFPO2FBQ3JCO1NBQ0o7UUFDRCxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQixLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRTtnQkFDVCxPQUFPLEVBQUUsV0FBVztnQkFDcEIsU0FBUyxFQUFFLEdBQUc7YUFDakI7U0FDSjtRQUNELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xCLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFO2dCQUNULE9BQU8sRUFBRSxPQUFPO2dCQUNoQixTQUFTLEVBQUUsS0FBSzthQUNuQjtTQUNKO1FBQ0QsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkIsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLFNBQVMsRUFBRSxJQUFJO2FBQ2xCO1NBQ0o7UUFDRCxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixLQUFLLEVBQUUsS0FBSztZQUNaLFdBQVcsRUFBRTtnQkFDVCxPQUFPLEVBQUUsT0FBTztnQkFDaEIsU0FBUyxFQUFFLFlBQVk7YUFDMUI7U0FDSjtRQUNELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xCLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFO2dCQUNULFNBQVMsRUFBRSxPQUFPO2FBQ3JCO1NBQ0o7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dFZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vY2xhc3MnO1xuaW1wb3J0IHsgR2FudHRJMThuTG9jYWxlIH0gZnJvbSAnLi4vaTE4bic7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBpZDogR2FudHRJMThuTG9jYWxlLmphSnAsXG4gICAgdmlld3M6IHtcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUuaG91cl06IHtcbiAgICAgICAgICAgIGxhYmVsOiAn5q+O5pmCJyxcbiAgICAgICAgICAgIGRhdGVGb3JtYXRzOiB7XG4gICAgICAgICAgICAgICAgcHJpbWFyeTogJ03mnIhk5pelJyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICdISDptbSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUuZGF5XToge1xuICAgICAgICAgICAgbGFiZWw6ICfml6UnLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAneXl5eeW5tE3mnIhk5pelJyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICdkJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbR2FudHRWaWV3VHlwZS53ZWVrXToge1xuICAgICAgICAgICAgbGFiZWw6ICfpgLEnLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAneXl5eeW5tCcsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAn56ysd+mAsSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUubW9udGhdOiB7XG4gICAgICAgICAgICBsYWJlbDogJ+aciCcsXG4gICAgICAgICAgICBkYXRlRm9ybWF0czoge1xuICAgICAgICAgICAgICAgIHByaW1hcnk6IGB5eXl55bm0TeaciGAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAnTeaciCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUucXVhcnRlcl06IHtcbiAgICAgICAgICAgIGxhYmVsOiAn5Zub5Y2K5pyfJyxcbiAgICAgICAgICAgIGRhdGVGb3JtYXRzOiB7XG4gICAgICAgICAgICAgICAgcHJpbWFyeTogJ3l5eXnlubQnLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogYHl5eXnlubTnrKxR5Zub5Y2K5pyfYFxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbR2FudHRWaWV3VHlwZS55ZWFyXToge1xuICAgICAgICAgICAgbGFiZWw6ICflubQnLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICd5eXl55bm0J1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
@@ -0,0 +1,51 @@
1
+ import { ru } from 'date-fns/locale';
2
+ import { GanttViewType } from '../../class';
3
+ import { GanttI18nLocale } from '../i18n';
4
+ export default {
5
+ id: GanttI18nLocale.ruRu,
6
+ dateLocale: ru,
7
+ views: {
8
+ [GanttViewType.hour]: {
9
+ label: 'Ежечасно',
10
+ dateFormats: {
11
+ primary: 'd MMM',
12
+ secondary: 'HH:mm'
13
+ }
14
+ },
15
+ [GanttViewType.day]: {
16
+ label: 'Ежедневно',
17
+ dateFormats: {
18
+ primary: 'MMMM yyyy',
19
+ secondary: 'd'
20
+ }
21
+ },
22
+ [GanttViewType.week]: {
23
+ label: 'Еженедельно',
24
+ dateFormats: {
25
+ primary: 'yyyy',
26
+ secondary: 'Неделя w'
27
+ }
28
+ },
29
+ [GanttViewType.month]: {
30
+ label: 'Ежемесячно',
31
+ dateFormats: {
32
+ primary: 'MMMM yyyy',
33
+ secondary: 'MMM'
34
+ }
35
+ },
36
+ [GanttViewType.quarter]: {
37
+ label: 'Ежеквартально',
38
+ dateFormats: {
39
+ primary: 'yyyy',
40
+ secondary: 'Квартал Q yyyy'
41
+ }
42
+ },
43
+ [GanttViewType.year]: {
44
+ label: 'Ежегодно',
45
+ dateFormats: {
46
+ secondary: 'yyyy'
47
+ }
48
+ }
49
+ }
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnUtcnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvaTE4bi9sb2NhbGVzL3J1LXJ1LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFMUMsZUFBZTtJQUNYLEVBQUUsRUFBRSxlQUFlLENBQUMsSUFBSTtJQUN4QixVQUFVLEVBQUUsRUFBRTtJQUNkLEtBQUssRUFBRTtRQUNILENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xCLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFdBQVcsRUFBRTtnQkFDVCxPQUFPLEVBQUUsT0FBTztnQkFDaEIsU0FBUyxFQUFFLE9BQU87YUFDckI7U0FDSjtRQUNELENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLFdBQVcsRUFBRTtnQkFDVCxPQUFPLEVBQUUsV0FBVztnQkFDcEIsU0FBUyxFQUFFLEdBQUc7YUFDakI7U0FDSjtRQUNELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xCLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFdBQVcsRUFBRTtnQkFDVCxPQUFPLEVBQUUsTUFBTTtnQkFDZixTQUFTLEVBQUUsVUFBVTthQUN4QjtTQUNKO1FBQ0QsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkIsS0FBSyxFQUFFLFlBQVk7WUFDbkIsV0FBVyxFQUFFO2dCQUNULE9BQU8sRUFBRSxXQUFXO2dCQUNwQixTQUFTLEVBQUUsS0FBSzthQUNuQjtTQUNKO1FBQ0QsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsS0FBSyxFQUFFLGVBQWU7WUFDdEIsV0FBVyxFQUFFO2dCQUNULE9BQU8sRUFBRSxNQUFNO2dCQUNmLFNBQVMsRUFBRSxnQkFBZ0I7YUFDOUI7U0FDSjtRQUNELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xCLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFdBQVcsRUFBRTtnQkFDVCxTQUFTLEVBQUUsTUFBTTthQUNwQjtTQUNKO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcnUgfSBmcm9tICdkYXRlLWZucy9sb2NhbGUnO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uLy4uL2NsYXNzJztcbmltcG9ydCB7IEdhbnR0STE4bkxvY2FsZSB9IGZyb20gJy4uL2kxOG4nO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgaWQ6IEdhbnR0STE4bkxvY2FsZS5ydVJ1LFxuICAgIGRhdGVMb2NhbGU6IHJ1LFxuICAgIHZpZXdzOiB7XG4gICAgICAgIFtHYW50dFZpZXdUeXBlLmhvdXJdOiB7XG4gICAgICAgICAgICBsYWJlbDogJ9CV0LbQtdGH0LDRgdC90L4nLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAnZCBNTU0nLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogJ0hIOm1tJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbR2FudHRWaWV3VHlwZS5kYXldOiB7XG4gICAgICAgICAgICBsYWJlbDogJ9CV0LbQtdC00L3QtdCy0L3QvicsXG4gICAgICAgICAgICBkYXRlRm9ybWF0czoge1xuICAgICAgICAgICAgICAgIHByaW1hcnk6ICdNTU1NIHl5eXknLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogJ2QnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFtHYW50dFZpZXdUeXBlLndlZWtdOiB7XG4gICAgICAgICAgICBsYWJlbDogJ9CV0LbQtdC90LXQtNC10LvRjNC90L4nLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAneXl5eScsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAn0J3QtdC00LXQu9GPIHcnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFtHYW50dFZpZXdUeXBlLm1vbnRoXToge1xuICAgICAgICAgICAgbGFiZWw6ICfQldC20LXQvNC10YHRj9GH0L3QvicsXG4gICAgICAgICAgICBkYXRlRm9ybWF0czoge1xuICAgICAgICAgICAgICAgIHByaW1hcnk6ICdNTU1NIHl5eXknLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogJ01NTSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUucXVhcnRlcl06IHtcbiAgICAgICAgICAgIGxhYmVsOiAn0JXQttC10LrQstCw0YDRgtCw0LvRjNC90L4nLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAneXl5eScsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAn0JrQstCw0YDRgtCw0LsgUSB5eXl5J1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbR2FudHRWaWV3VHlwZS55ZWFyXToge1xuICAgICAgICAgICAgbGFiZWw6ICfQldC20LXQs9C+0LTQvdC+JyxcbiAgICAgICAgICAgIGRhdGVGb3JtYXRzOiB7XG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAneXl5eSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { GanttViewType } from '../../class';
2
+ import { GanttI18nLocale } from '../i18n';
3
+ export default {
4
+ id: GanttI18nLocale.zhHans,
5
+ views: {
6
+ [GanttViewType.hour]: {
7
+ label: '小时',
8
+ dateFormats: {
9
+ primary: 'M月d日',
10
+ secondary: 'HH:mm'
11
+ }
12
+ },
13
+ [GanttViewType.day]: {
14
+ label: '天',
15
+ dateFormats: {
16
+ primary: 'yyyy年MM月',
17
+ secondary: 'd'
18
+ }
19
+ },
20
+ [GanttViewType.week]: {
21
+ label: '周',
22
+ dateFormats: {
23
+ primary: 'yyyy年',
24
+ secondary: '第w周'
25
+ }
26
+ },
27
+ [GanttViewType.month]: {
28
+ label: '月',
29
+ dateFormats: {
30
+ primary: `yyyy年'Q'Q`,
31
+ secondary: 'M月'
32
+ }
33
+ },
34
+ [GanttViewType.quarter]: {
35
+ label: '季',
36
+ dateFormats: {
37
+ primary: 'yyyy年',
38
+ secondary: `yyyy年'Q'Q`
39
+ }
40
+ },
41
+ [GanttViewType.year]: {
42
+ label: '年',
43
+ dateFormats: {
44
+ secondary: 'yyyy年'
45
+ }
46
+ }
47
+ }
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemgtaGFucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9pMThuL2xvY2FsZXMvemgtaGFucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFMUMsZUFBZTtJQUNYLEVBQUUsRUFBRSxlQUFlLENBQUMsTUFBTTtJQUMxQixLQUFLLEVBQUU7UUFDSCxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRTtnQkFDVCxPQUFPLEVBQUUsTUFBTTtnQkFDZixTQUFTLEVBQUUsT0FBTzthQUNyQjtTQUNKO1FBQ0QsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakIsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLFNBQVMsRUFBRSxHQUFHO2FBQ2pCO1NBQ0o7UUFDRCxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRTtnQkFDVCxPQUFPLEVBQUUsT0FBTztnQkFDaEIsU0FBUyxFQUFFLEtBQUs7YUFDbkI7U0FDSjtRQUNELENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFO2dCQUNULE9BQU8sRUFBRSxXQUFXO2dCQUNwQixTQUFTLEVBQUUsSUFBSTthQUNsQjtTQUNKO1FBQ0QsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFNBQVMsRUFBRSxXQUFXO2FBQ3pCO1NBQ0o7UUFDRCxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRTtnQkFDVCxTQUFTLEVBQUUsT0FBTzthQUNyQjtTQUNKO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uLy4uL2NsYXNzJztcbmltcG9ydCB7IEdhbnR0STE4bkxvY2FsZSB9IGZyb20gJy4uL2kxOG4nO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgaWQ6IEdhbnR0STE4bkxvY2FsZS56aEhhbnMsXG4gICAgdmlld3M6IHtcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUuaG91cl06IHtcbiAgICAgICAgICAgIGxhYmVsOiAn5bCP5pe2JyxcbiAgICAgICAgICAgIGRhdGVGb3JtYXRzOiB7XG4gICAgICAgICAgICAgICAgcHJpbWFyeTogJ03mnIhk5pelJyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICdISDptbSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUuZGF5XToge1xuICAgICAgICAgICAgbGFiZWw6ICflpKknLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAneXl5eeW5tE1N5pyIJyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICdkJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbR2FudHRWaWV3VHlwZS53ZWVrXToge1xuICAgICAgICAgICAgbGFiZWw6ICflkagnLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAneXl5eeW5tCcsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAn56ysd+WRqCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUubW9udGhdOiB7XG4gICAgICAgICAgICBsYWJlbDogJ+aciCcsXG4gICAgICAgICAgICBkYXRlRm9ybWF0czoge1xuICAgICAgICAgICAgICAgIHByaW1hcnk6IGB5eXl55bm0J1EnUWAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAnTeaciCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUucXVhcnRlcl06IHtcbiAgICAgICAgICAgIGxhYmVsOiAn5a2jJyxcbiAgICAgICAgICAgIGRhdGVGb3JtYXRzOiB7XG4gICAgICAgICAgICAgICAgcHJpbWFyeTogJ3l5eXnlubQnLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogYHl5eXnlubQnUSdRYFxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbR2FudHRWaWV3VHlwZS55ZWFyXToge1xuICAgICAgICAgICAgbGFiZWw6ICflubQnLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICd5eXl55bm0J1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { GanttViewType } from '../../class';
2
+ import { GanttI18nLocale } from '../i18n';
3
+ export default {
4
+ id: GanttI18nLocale.zhHant,
5
+ views: {
6
+ [GanttViewType.hour]: {
7
+ label: '小時',
8
+ dateFormats: {
9
+ primary: 'M月d日',
10
+ secondary: 'HH:mm'
11
+ }
12
+ },
13
+ [GanttViewType.day]: {
14
+ label: '天',
15
+ dateFormats: {
16
+ primary: 'yyyy年MM月',
17
+ secondary: 'd'
18
+ }
19
+ },
20
+ [GanttViewType.week]: {
21
+ label: '週',
22
+ dateFormats: {
23
+ primary: 'yyyy年',
24
+ secondary: '第w週'
25
+ }
26
+ },
27
+ [GanttViewType.month]: {
28
+ label: '月',
29
+ dateFormats: {
30
+ primary: `yyyy年'Q'Q`,
31
+ secondary: 'M月'
32
+ }
33
+ },
34
+ [GanttViewType.quarter]: {
35
+ label: '季',
36
+ dateFormats: {
37
+ primary: 'yyyy年',
38
+ secondary: `yyyy年'Q'Q`
39
+ }
40
+ },
41
+ [GanttViewType.year]: {
42
+ label: '年',
43
+ dateFormats: {
44
+ secondary: 'yyyy年'
45
+ }
46
+ }
47
+ }
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemgtaGFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9pMThuL2xvY2FsZXMvemgtaGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFMUMsZUFBZTtJQUNYLEVBQUUsRUFBRSxlQUFlLENBQUMsTUFBTTtJQUMxQixLQUFLLEVBQUU7UUFDSCxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRTtnQkFDVCxPQUFPLEVBQUUsTUFBTTtnQkFDZixTQUFTLEVBQUUsT0FBTzthQUNyQjtTQUNKO1FBQ0QsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakIsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLFNBQVMsRUFBRSxHQUFHO2FBQ2pCO1NBQ0o7UUFDRCxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRTtnQkFDVCxPQUFPLEVBQUUsT0FBTztnQkFDaEIsU0FBUyxFQUFFLEtBQUs7YUFDbkI7U0FDSjtRQUNELENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFO2dCQUNULE9BQU8sRUFBRSxXQUFXO2dCQUNwQixTQUFTLEVBQUUsSUFBSTthQUNsQjtTQUNKO1FBQ0QsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFNBQVMsRUFBRSxXQUFXO2FBQ3pCO1NBQ0o7UUFDRCxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRTtnQkFDVCxTQUFTLEVBQUUsT0FBTzthQUNyQjtTQUNKO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uLy4uL2NsYXNzJztcbmltcG9ydCB7IEdhbnR0STE4bkxvY2FsZSB9IGZyb20gJy4uL2kxOG4nO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgaWQ6IEdhbnR0STE4bkxvY2FsZS56aEhhbnQsXG4gICAgdmlld3M6IHtcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUuaG91cl06IHtcbiAgICAgICAgICAgIGxhYmVsOiAn5bCP5pmCJyxcbiAgICAgICAgICAgIGRhdGVGb3JtYXRzOiB7XG4gICAgICAgICAgICAgICAgcHJpbWFyeTogJ03mnIhk5pelJyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICdISDptbSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUuZGF5XToge1xuICAgICAgICAgICAgbGFiZWw6ICflpKknLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAneXl5eeW5tE1N5pyIJyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICdkJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbR2FudHRWaWV3VHlwZS53ZWVrXToge1xuICAgICAgICAgICAgbGFiZWw6ICfpgLEnLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAneXl5eeW5tCcsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAn56ysd+mAsSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUubW9udGhdOiB7XG4gICAgICAgICAgICBsYWJlbDogJ+aciCcsXG4gICAgICAgICAgICBkYXRlRm9ybWF0czoge1xuICAgICAgICAgICAgICAgIHByaW1hcnk6IGB5eXl55bm0J1EnUWAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAnTeaciCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW0dhbnR0Vmlld1R5cGUucXVhcnRlcl06IHtcbiAgICAgICAgICAgIGxhYmVsOiAn5a2jJyxcbiAgICAgICAgICAgIGRhdGVGb3JtYXRzOiB7XG4gICAgICAgICAgICAgICAgcHJpbWFyeTogJ3l5eXnlubQnLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogYHl5eXnlubQnUSdRYFxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbR2FudHRWaWV3VHlwZS55ZWFyXToge1xuICAgICAgICAgICAgbGFiZWw6ICflubQnLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICd5eXl55bm0J1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
@@ -15,6 +15,7 @@ export * from './components/loader/loader.component';
15
15
  export * from './utils/date';
16
16
  export * from './class';
17
17
  export * from './views/view';
18
+ export { GanttI18nLocale, GANTT_I18N_LOCALE_TOKEN, zhHansLocale, zhHantLocale, enUsLocale, jaJpLocale, deDeLocale, ruRuLocale } from './i18n';
18
19
  export { registerView } from './views/factory';
19
20
  export * from './gantt-item-upper';
20
21
  export * from './gantt.pipe';
@@ -24,4 +25,4 @@ export * from './components/calendar/header/calendar-header.component';
24
25
  export * from './components/calendar/grid/calendar-grid.component';
25
26
  export * from './components/drag-backdrop/drag-backdrop.component';
26
27
  export * from './components/scrollbar/scrollbar.component';
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZ2FudHRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2dhbnR0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhbnR0LXVwcGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcm9vdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS9nYW50dC10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS9nYW50dC1jb2x1bW4uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9iYXIvYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9iYXNlbGluZS9iYXNlbGluZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vdmlld3Mvdmlldyc7XG5leHBvcnQgeyByZWdpc3RlclZpZXcgfSBmcm9tICcuL3ZpZXdzL2ZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC1pdGVtLXVwcGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FudHQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhbnR0LXByaW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NhbGVuZGFyL2hlYWRlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jYWxlbmRhci9ncmlkL2NhbGVuZGFyLWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kcmFnLWJhY2tkcm9wL2RyYWctYmFja2Ryb3AuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLmNvbXBvbmVudCc7XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixPQUFPLEVBRUgsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixZQUFZLEVBQ1osWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDYixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZ2FudHRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2dhbnR0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhbnR0LXVwcGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcm9vdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS9nYW50dC10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS9nYW50dC1jb2x1bW4uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9iYXIvYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9iYXNlbGluZS9iYXNlbGluZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vdmlld3Mvdmlldyc7XG5leHBvcnQge1xuICAgIEdhbnR0STE4bkxvY2FsZUNvbmZpZyxcbiAgICBHYW50dEkxOG5Mb2NhbGUsXG4gICAgR0FOVFRfSTE4Tl9MT0NBTEVfVE9LRU4sXG4gICAgemhIYW5zTG9jYWxlLFxuICAgIHpoSGFudExvY2FsZSxcbiAgICBlblVzTG9jYWxlLFxuICAgIGphSnBMb2NhbGUsXG4gICAgZGVEZUxvY2FsZSxcbiAgICBydVJ1TG9jYWxlXG59IGZyb20gJy4vaTE4bic7XG5leHBvcnQgeyByZWdpc3RlclZpZXcgfSBmcm9tICcuL3ZpZXdzL2ZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC1pdGVtLXVwcGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FudHQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhbnR0LXByaW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NhbGVuZGFyL2hlYWRlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jYWxlbmRhci9ncmlkL2NhbGVuZGFyLWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kcmFnLWJhY2tkcm9wL2RyYWctYmFja2Ryb3AuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLmNvbXBvbmVudCc7XG4iXX0=
@@ -127,7 +127,7 @@ export class NgxGanttRootComponent {
127
127
  }
128
128
  scrollToDate(date) {
129
129
  let x;
130
- if (typeof date === 'number') {
130
+ if (typeof date === 'number' || date instanceof Date) {
131
131
  x = this.view.getXPointByDate(new GanttDate(date));
132
132
  }
133
133
  else {
@@ -171,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
171
171
  type: HostListener,
172
172
  args: ['window:resize']
173
173
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULFVBQVUsRUFDVixNQUFNLEVBQ04sWUFBWSxFQUVaLEtBQUssRUFDTCxRQUFRLEVBRVIsU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFF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LGdFQUMxQix3QkFBd0I7OzJGQUduQixxQkFBcUI7a0JBbEJqQyxTQUFTOytCQUNJLGdCQUFnQixhQUVmLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLFFBQzFDO3dCQUNGLEtBQUssRUFBRSxPQUFPO3FCQUNqQixjQUNXLElBQUksV0FDUDt3QkFDTCxJQUFJO3dCQUNKLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQiw0QkFBNEI7d0JBQzVCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQix3QkFBd0I7cUJBQzNCOzswQkFnQ0ksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixRQUFRO3lDQTlCSixTQUFTO3NCQUFqQixLQUFLO2dCQUUwQyxZQUFZO3NCQUEzRCxZQUFZO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUUsWUFBWTtzQkFBM0QsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUc2QixRQUFRO3NCQUFsRixTQUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQWF6RSxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBOZ1pvbmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgQ29udGVudENoaWxkLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgSG9zdExpc3RlbmVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2FudHREb21TZXJ2aWNlLCBTY3JvbGxEaXJlY3Rpb24gfSBmcm9tICcuL2dhbnR0LWRvbS5zZXJ2aWNlJztcbmltcG9ydCB7IEdhbnR0RHJhZ0NvbnRhaW5lciB9IGZyb20gJy4vZ2FudHQtZHJhZy1jb250YWluZXInO1xuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBmcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHYW50dFVwcGVyLCBHQU5UVF9VUFBFUl9UT0tFTiB9IGZyb20gJy4vZ2FudHQtdXBwZXInO1xuaW1wb3J0IHsgR2FudHRQcmludFNlcnZpY2UgfSBmcm9tICcuL2dhbnR0LXByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgcGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyB9IGZyb20gJy4vdXRpbHMvcGFzc2l2ZS1saXN0ZW5lcnMnO1xuaW1wb3J0IHsgR2FudHREcmFnQmFja2Ryb3BDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJhZy1iYWNrZHJvcC9kcmFnLWJhY2tkcm9wLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHYW50dERhdGUgfSBmcm9tICcuL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgTmd4R2FudHRUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2FudHRDYWxlbmRhckdyaWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FsZW5kYXIvZ3JpZC9jYWxlbmRhci1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHYW50dENhbGVuZGFySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhbGVuZGFyL2hlYWRlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENka1Njcm9sbGFibGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1nYW50dC1yb290JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcm9vdC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbR2FudHREb21TZXJ2aWNlLCBHYW50dERyYWdDb250YWluZXJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdnYW50dCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBDZGtTY3JvbGxhYmxlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBHYW50dENhbGVuZGFySGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBHYW50dENhbGVuZGFyR3JpZENvbXBvbmVudCxcbiAgICAgICAgR2FudHREcmFnQmFja2Ryb3BDb21wb25lbnQsXG4gICAgICAgIE5neEdhbnR0VG9vbGJhckNvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4R2FudHRSb290Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHNpZGVXaWR0aDogbnVtYmVyO1xuXG4gICAgQENvbnRlbnRDaGlsZCgnc2lkZVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgc2lkZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQENvbnRlbnRDaGlsZCgnbWFpblRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgbWFpblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIFRoZSBuYXRpdmUgYDxnYW50dC1kcmFnLWJhY2tkcm9wPjwvZ2FudHQtZHJhZy1iYWNrZHJvcD5gIGVsZW1lbnQuICovXG4gICAgQFZpZXdDaGlsZChHYW50dERyYWdCYWNrZHJvcENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgYmFja2Ryb3A6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgdmVydGljYWxTY3JvbGxiYXJXaWR0aCA9IDA7XG5cbiAgICBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0ID0gMDtcblxuICAgIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgZ2V0IHZpZXcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdhbnR0VXBwZXIudmlldztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgICBvbldpbmRvd1Jlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5jb21wdXRlU2Nyb2xsQmFyT2Zmc2V0KCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZG9tOiBHYW50dERvbVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBkcmFnQ29udGFpbmVyOiBHYW50dERyYWdDb250YWluZXIsXG4gICAgICAgIEBJbmplY3QoR0FOVFRfVVBQRVJfVE9LRU4pIHB1YmxpYyBnYW50dFVwcGVyOiBHYW50dFVwcGVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHByaW50U2VydmljZTogR2FudHRQcmludFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5nYW50dFVwcGVyLmRyYWdDb250YWluZXIgPSBkcmFnQ29udGFpbmVyO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBOb3RlOiB0aGUgem9uZSBtYXkgYmUgbm9vcGVkIHRocm91Z2ggYEJvb3RzdHJhcE9wdGlvbnNgIHdoZW4gYm9vdHN0cmFwcGluZyB0aGUgcm9vdCBtb2R1bGUuIFRoaXMgbWVhbnNcbiAgICAgICAgLy8gdGhlIGBvblN0YWJsZWAgd2lsbCBuZXZlciBlbWl0IGFueSB2YWx1ZS5cbiAgICAgICAgY29uc3Qgb25TdGFibGUkID0gdGhpcy5uZ1pvbmUuaXNTdGFibGUgPyBmcm9tKFByb21pc2UucmVzb2x2ZSgpKSA6IHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSk7XG4gICAgICAgIC8vIE5vcm1hbGx5IHRoaXMgaXNuJ3QgaW4gdGhlIHpvbmUsIGJ1dCBpdCBjYW4gY2F1c2UgcGVyZm9ybWFuY2UgcmVncmVzc2lvbnMgZm9yIGFwcHNcbiAgICAgICAgLy8gdXNpbmcgYHpvbmUtcGF0Y2gtcnhqc2AgYmVjYXVzZSBpdCdsbCB0cmlnZ2VyIGEgY2hhbmdlIGRldGVjdGlvbiB3aGVuIGl0IHVuc3Vic2NyaWJlcy5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgb25TdGFibGUkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvbS5pbml0aWFsaXplKHRoaXMuZWxlbWVudFJlZik7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcmludFNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmludFNlcnZpY2UucmVnaXN0ZXIodGhpcy5lbGVtZW50UmVmKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cFNjcm9sbENsYXNzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cFJlc2l6ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBWaWV3U2Nyb2xsKCk7XG4gICAgICAgICAgICAgICAgLy8g5LyY5YyW5Yid5aeL5YyW5pe2U2Nyb2xs5rua5Yqo5L2T6aqM6Zeu6aKY77yM6YCa6L+H6YCP5piO5bqm6Kej5Yaz77yM6buY6K6k6YCP5piO5bqm5Li6MO+8jOa7muWKqOe7k+adn+WQjuaBouWkjVxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAnMSc7XG4gICAgICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLnZpZXdDaGFuZ2UucGlwZShzdGFydFdpdGg8bnVsbCwgbnVsbD4obnVsbCksIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9Ub2RheSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcHV0ZVNjcm9sbEJhck9mZnNldCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbXB1dGVTY3JvbGxCYXJPZmZzZXQoKSB7XG4gICAgICAgIGNvbnN0IGdhbnR0TWFpbkNvbnRhaW5lciA9IHRoaXMuZG9tLm1haW5Db250YWluZXIgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGdhbnR0VmVydGljYWxTY3JvbGxDb250YWluZXIgPSB0aGlzLmRvbS52ZXJ0aWNhbFNjcm9sbENvbnRhaW5lciBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICBsZXQgdmVydGljYWxTY3JvbGxiYXJXaWR0aCA9IDA7XG4gICAgICAgIGlmIChnYW50dFZlcnRpY2FsU2Nyb2xsQ29udGFpbmVyKSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoID0gZ2FudHRWZXJ0aWNhbFNjcm9sbENvbnRhaW5lci5vZmZzZXRXaWR0aCAtIGdhbnR0VmVydGljYWxTY3JvbGxDb250YWluZXIuY2xpZW50V2lkdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoID0gZ2FudHRNYWluQ29udGFpbmVyPy5vZmZzZXRXaWR0aCAtIGdhbnR0TWFpbkNvbnRhaW5lcj8uY2xpZW50V2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodCA9IGdhbnR0TWFpbkNvbnRhaW5lcj8ub2Zmc2V0SGVpZ2h0IC0gZ2FudHRNYWluQ29udGFpbmVyPy5jbGllbnRIZWlnaHQ7XG4gICAgICAgIHRoaXMudmVydGljYWxTY3JvbGxiYXJXaWR0aCA9IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGg7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodCA9IGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQ7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwVmlld1Njcm9sbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZ2FudHRVcHBlci5kaXNhYmxlZExvYWRPblNjcm9sbCAmJiAhdGhpcy5nYW50dFVwcGVyLnF1aWNrVGltZUZvY3VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kb21cbiAgICAgICAgICAgIC5nZXRWaWV3ZXJTY3JvbGwocGFzc2l2ZUxpc3RlbmVyT3B0aW9ucylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5kaXJlY3Rpb24gPT09IFNjcm9sbERpcmVjdGlvbi5MRUZUKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy52aWV3LmFkZFN0YXJ0RGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5zY3JvbGxMZWZ0ICs9IHRoaXMudmlldy5nZXREYXRlUmFuZ2VXaWR0aChkYXRlcy5zdGFydCwgZGF0ZXMuZW5kKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmdhbnR0VXBwZXIubG9hZE9uU2Nyb2xsLm9ic2VydmVycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIubG9hZE9uU2Nyb2xsLmVtaXQoeyBzdGFydDogZGF0ZXMuc3RhcnQuZ2V0VW5peFRpbWUoKSwgZW5kOiBkYXRlcy5lbmQuZ2V0VW5peFRpbWUoKSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRpcmVjdGlvbiA9PT0gU2Nyb2xsRGlyZWN0aW9uLlJJR0hUKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy52aWV3LmFkZEVuZERhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGVzICYmIHRoaXMuZ2FudHRVcHBlci5sb2FkT25TY3JvbGwub2JzZXJ2ZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIubG9hZE9uU2Nyb2xsLmVtaXQoeyBzdGFydDogZGF0ZXMuc3RhcnQuZ2V0VW5peFRpbWUoKSwgZW5kOiBkYXRlcy5lbmQuZ2V0VW5peFRpbWUoKSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuZG9tXG4gICAgICAgICAgICAuZ2V0UmVzaXplKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwU2Nyb2xsQ2xhc3MoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBTY3JvbGxDbGFzcygpIHtcbiAgICAgICAgY29uc3QgbWFpbkNvbnRhaW5lciA9IHRoaXMuZG9tLm1haW5Db250YWluZXIgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IG1haW5Db250YWluZXIub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSBtYWluQ29udGFpbmVyLnNjcm9sbEhlaWdodDtcbiAgICAgICAgaWYgKHNjcm9sbEhlaWdodCA+IGhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lID0gJ2dhbnR0IGdhbnR0LXNjcm9sbCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUgPSAnZ2FudHQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNjcm9sbFRvVG9kYXkoKSB7XG4gICAgICAgIGNvbnN0IHggPSB0aGlzLnZpZXcuZ2V0VG9kYXlYUG9pbnQoKTtcbiAgICAgICAgdGhpcy5kb20uc2Nyb2xsTWFpbkNvbnRhaW5lcih4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2Nyb2xsVG9EYXRlKGRhdGU6IG51bWJlciB8IEdhbnR0RGF0ZSkge1xuICAgICAgICBsZXQgeDogbnVtYmVyO1xuICAgICAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICB4ID0gdGhpcy52aWV3LmdldFhQb2ludEJ5RGF0ZShuZXcgR2FudHREYXRlKGRhdGUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHggPSB0aGlzLnZpZXcuZ2V0WFBvaW50QnlEYXRlKGRhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kb20uc2Nyb2xsTWFpbkNvbnRhaW5lcih4KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2FudHQtc2lkZVwiICpuZ0lmPVwic2lkZVRlbXBsYXRlXCIgW3N0eWxlLndpZHRoLnB4XT1cInNpZGVXaWR0aFwiIFtzdHlsZS5wYWRkaW5nLWJvdHRvbS5weF09XCJob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0XCI+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1zaWRlLWNvbnRhaW5lclwiIGNka1Njcm9sbGFibGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNpZGVUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZ2FudHQtY29udGFpbmVyXCIgKm5nSWY9XCJtYWluVGVtcGxhdGVcIj5cbiAgPGdhbnR0LWNhbGVuZGFyLWhlYWRlciBbc3R5bGUucGFkZGluZy1yaWdodC5weF09XCJ2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoXCI+PC9nYW50dC1jYWxlbmRhci1oZWFkZXI+XG4gIDxnYW50dC1jYWxlbmRhci1ncmlkXG4gICAgW3N0eWxlLnBhZGRpbmctcmlnaHQucHhdPVwidmVydGljYWxTY3JvbGxiYXJXaWR0aFwiXG4gICAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnB4XT1cImhvcml6b250YWxTY3JvbGxiYXJIZWlnaHRcIlxuICA+PC9nYW50dC1jYWxlbmRhci1ncmlkPlxuICA8Z2FudHQtZHJhZy1iYWNrZHJvcD48L2dhbnR0LWRyYWctYmFja2Ryb3A+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1tYWluXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1haW5UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48Z2FudHQtdG9vbGJhciAqbmdJZj1cImdhbnR0VXBwZXIuc2hvd1Rvb2xiYXIgfHwgZ2FudHRVcHBlci50b29sYmFyVGVtcGxhdGVcIiBbdGVtcGxhdGVdPVwiZ2FudHRVcHBlci50b29sYmFyVGVtcGxhdGVcIj4gPC9nYW50dC10b29sYmFyPlxuIl19
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULFVBQVUsRUFDVixNQUFNLEVBQ04sWUFBWSxFQUVaLEtBQUssRUFDTCxRQUFRLEVBRVIsU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFF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MEJBQTBCLGdFQUMxQiwwQkFBMEIsZ0VBQzFCLHdCQUF3Qjs7MkZBR25CLHFCQUFxQjtrQkFsQmpDLFNBQVM7K0JBQ0ksZ0JBQWdCLGFBRWYsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsUUFDMUM7d0JBQ0YsS0FBSyxFQUFFLE9BQU87cUJBQ2pCLGNBQ1csSUFBSSxXQUNQO3dCQUNMLElBQUk7d0JBQ0osYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLDRCQUE0Qjt3QkFDNUIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLHdCQUF3QjtxQkFDM0I7OzBCQWdDSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLFFBQVE7eUNBOUJKLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRTBDLFlBQVk7c0JBQTNELFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFRSxZQUFZO3NCQUEzRCxZQUFZO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRzZCLFFBQVE7c0JBQWxGLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBYXpFLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIE5nWm9uZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZCxcbiAgICBIb3N0TGlzdGVuZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHYW50dERvbVNlcnZpY2UsIFNjcm9sbERpcmVjdGlvbiB9IGZyb20gJy4vZ2FudHQtZG9tLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2FudHREcmFnQ29udGFpbmVyIH0gZnJvbSAnLi9nYW50dC1kcmFnLWNvbnRhaW5lcic7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZyb20sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdhbnR0VXBwZXIsIEdBTlRUX1VQUEVSX1RPS0VOIH0gZnJvbSAnLi9nYW50dC11cHBlcic7XG5pbXBvcnQgeyBHYW50dFByaW50U2VydmljZSB9IGZyb20gJy4vZ2FudHQtcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBwYXNzaXZlTGlzdGVuZXJPcHRpb25zIH0gZnJvbSAnLi91dGlscy9wYXNzaXZlLWxpc3RlbmVycyc7XG5pbXBvcnQgeyBHYW50dERyYWdCYWNrZHJvcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcmFnLWJhY2tkcm9wL2RyYWctYmFja2Ryb3AuY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0RGF0ZSB9IGZyb20gJy4vdXRpbHMvZGF0ZSc7XG5pbXBvcnQgeyBOZ3hHYW50dFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHYW50dENhbGVuZGFyR3JpZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYWxlbmRhci9ncmlkL2NhbGVuZGFyLWdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0Q2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FsZW5kYXIvaGVhZGVyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LWdhbnR0LXJvb3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yb290LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtHYW50dERvbVNlcnZpY2UsIEdhbnR0RHJhZ0NvbnRhaW5lcl0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2dhbnR0J1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIENka1Njcm9sbGFibGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIEdhbnR0Q2FsZW5kYXJIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEdhbnR0Q2FsZW5kYXJHcmlkQ29tcG9uZW50LFxuICAgICAgICBHYW50dERyYWdCYWNrZHJvcENvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRUb29sYmFyQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hHYW50dFJvb3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgc2lkZVdpZHRoOiBudW1iZXI7XG5cbiAgICBAQ29udGVudENoaWxkKCdzaWRlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzaWRlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkKCdtYWluVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBtYWluVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogVGhlIG5hdGl2ZSBgPGdhbnR0LWRyYWctYmFja2Ryb3A+PC9nYW50dC1kcmFnLWJhY2tkcm9wPmAgZWxlbWVudC4gKi9cbiAgICBAVmlld0NoaWxkKEdhbnR0RHJhZ0JhY2tkcm9wQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBiYWNrZHJvcDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoID0gMDtcblxuICAgIGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQgPSAwO1xuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBnZXQgdmlldygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2FudHRVcHBlci52aWV3O1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICAgIG9uV2luZG93UmVzaXplKCkge1xuICAgICAgICB0aGlzLmNvbXB1dGVTY3JvbGxCYXJPZmZzZXQoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBkb206IEdhbnR0RG9tU2VydmljZSxcbiAgICAgICAgcHVibGljIGRyYWdDb250YWluZXI6IEdhbnR0RHJhZ0NvbnRhaW5lcixcbiAgICAgICAgQEluamVjdChHQU5UVF9VUFBFUl9UT0tFTikgcHVibGljIGdhbnR0VXBwZXI6IEdhbnR0VXBwZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcHJpbnRTZXJ2aWNlOiBHYW50dFByaW50U2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmdhbnR0VXBwZXIuZHJhZ0NvbnRhaW5lciA9IGRyYWdDb250YWluZXI7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIE5vdGU6IHRoZSB6b25lIG1heSBiZSBub29wZWQgdGhyb3VnaCBgQm9vdHN0cmFwT3B0aW9uc2Agd2hlbiBib290c3RyYXBwaW5nIHRoZSByb290IG1vZHVsZS4gVGhpcyBtZWFuc1xuICAgICAgICAvLyB0aGUgYG9uU3RhYmxlYCB3aWxsIG5ldmVyIGVtaXQgYW55IHZhbHVlLlxuICAgICAgICBjb25zdCBvblN0YWJsZSQgPSB0aGlzLm5nWm9uZS5pc1N0YWJsZSA/IGZyb20oUHJvbWlzZS5yZXNvbHZlKCkpIDogdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKTtcbiAgICAgICAgLy8gTm9ybWFsbHkgdGhpcyBpc24ndCBpbiB0aGUgem9uZSwgYnV0IGl0IGNhbiBjYXVzZSBwZXJmb3JtYW5jZSByZWdyZXNzaW9ucyBmb3IgYXBwc1xuICAgICAgICAvLyB1c2luZyBgem9uZS1wYXRjaC1yeGpzYCBiZWNhdXNlIGl0J2xsIHRyaWdnZXIgYSBjaGFuZ2UgZGV0ZWN0aW9uIHdoZW4gaXQgdW5zdWJzY3JpYmVzLlxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBvblN0YWJsZSQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9tLmluaXRpYWxpemUodGhpcy5lbGVtZW50UmVmKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByaW50U2VydmljZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByaW50U2VydmljZS5yZWdpc3Rlcih0aGlzLmVsZW1lbnRSZWYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwU2Nyb2xsQ2xhc3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwUmVzaXplKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cFZpZXdTY3JvbGwoKTtcbiAgICAgICAgICAgICAgICAvLyDkvJjljJbliJ3lp4vljJbml7ZTY3JvbGzmu5rliqjkvZPpqozpl67popjvvIzpgJrov4fpgI/mmI7luqbop6PlhrPvvIzpu5jorqTpgI/mmI7luqbkuLow77yM5rua5Yqo57uT5p2f5ZCO5oGi5aSNXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3BhY2l0eSA9ICcxJztcbiAgICAgICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIudmlld0NoYW5nZS5waXBlKHN0YXJ0V2l0aDxudWxsLCBudWxsPihudWxsKSwgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb1RvZGF5KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wdXRlU2Nyb2xsQmFyT2Zmc2V0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29tcHV0ZVNjcm9sbEJhck9mZnNldCgpIHtcbiAgICAgICAgY29uc3QgZ2FudHRNYWluQ29udGFpbmVyID0gdGhpcy5kb20ubWFpbkNvbnRhaW5lciBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgZ2FudHRWZXJ0aWNhbFNjcm9sbENvbnRhaW5lciA9IHRoaXMuZG9tLnZlcnRpY2FsU2Nyb2xsQ29udGFpbmVyIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgIGxldCB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoID0gMDtcbiAgICAgICAgaWYgKGdhbnR0VmVydGljYWxTY3JvbGxDb250YWluZXIpIHtcbiAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGggPSBnYW50dFZlcnRpY2FsU2Nyb2xsQ29udGFpbmVyLm9mZnNldFdpZHRoIC0gZ2FudHRWZXJ0aWNhbFNjcm9sbENvbnRhaW5lci5jbGllbnRXaWR0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGggPSBnYW50dE1haW5Db250YWluZXI/Lm9mZnNldFdpZHRoIC0gZ2FudHRNYWluQ29udGFpbmVyPy5jbGllbnRXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0ID0gZ2FudHRNYWluQ29udGFpbmVyPy5vZmZzZXRIZWlnaHQgLSBnYW50dE1haW5Db250YWluZXI/LmNsaWVudEhlaWdodDtcbiAgICAgICAgdGhpcy52ZXJ0aWNhbFNjcm9sbGJhcldpZHRoID0gdmVydGljYWxTY3JvbGxiYXJXaWR0aDtcbiAgICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0ID0gaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodDtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBWaWV3U2Nyb2xsKCkge1xuICAgICAgICBpZiAodGhpcy5nYW50dFVwcGVyLmRpc2FibGVkTG9hZE9uU2Nyb2xsICYmICF0aGlzLmdhbnR0VXBwZXIucXVpY2tUaW1lRm9jdXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRvbVxuICAgICAgICAgICAgLmdldFZpZXdlclNjcm9sbChwYXNzaXZlTGlzdGVuZXJPcHRpb25zKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRpcmVjdGlvbiA9PT0gU2Nyb2xsRGlyZWN0aW9uLkxFRlQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZXMgPSB0aGlzLnZpZXcuYWRkU3RhcnREYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnNjcm9sbExlZnQgKz0gdGhpcy52aWV3LmdldERhdGVSYW5nZVdpZHRoKGRhdGVzLnN0YXJ0LCBkYXRlcy5lbmQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZ2FudHRVcHBlci5sb2FkT25TY3JvbGwub2JzZXJ2ZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci5sb2FkT25TY3JvbGwuZW1pdCh7IHN0YXJ0OiBkYXRlcy5zdGFydC5nZXRVbml4VGltZSgpLCBlbmQ6IGRhdGVzLmVuZC5nZXRVbml4VGltZSgpIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGlyZWN0aW9uID09PSBTY3JvbGxEaXJlY3Rpb24uUklHSFQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZXMgPSB0aGlzLnZpZXcuYWRkRW5kRGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZXMgJiYgdGhpcy5nYW50dFVwcGVyLmxvYWRPblNjcm9sbC5vYnNlcnZlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci5sb2FkT25TY3JvbGwuZW1pdCh7IHN0YXJ0OiBkYXRlcy5zdGFydC5nZXRVbml4VGltZSgpLCBlbmQ6IGRhdGVzLmVuZC5nZXRVbml4VGltZSgpIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cFJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5kb21cbiAgICAgICAgICAgIC5nZXRSZXNpemUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBTY3JvbGxDbGFzcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cFNjcm9sbENsYXNzKCkge1xuICAgICAgICBjb25zdCBtYWluQ29udGFpbmVyID0gdGhpcy5kb20ubWFpbkNvbnRhaW5lciBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gbWFpbkNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IG1haW5Db250YWluZXIuc2Nyb2xsSGVpZ2h0O1xuICAgICAgICBpZiAoc2Nyb2xsSGVpZ2h0ID4gaGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUgPSAnZ2FudHQgZ2FudHQtc2Nyb2xsJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZSA9ICdnYW50dCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2Nyb2xsVG9Ub2RheSgpIHtcbiAgICAgICAgY29uc3QgeCA9IHRoaXMudmlldy5nZXRUb2RheVhQb2ludCgpO1xuICAgICAgICB0aGlzLmRvbS5zY3JvbGxNYWluQ29udGFpbmVyKHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzY3JvbGxUb0RhdGUoZGF0ZTogbnVtYmVyIHwgRGF0ZSB8IEdhbnR0RGF0ZSkge1xuICAgICAgICBsZXQgeDogbnVtYmVyO1xuICAgICAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdudW1iZXInIHx8IGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICB4ID0gdGhpcy52aWV3LmdldFhQb2ludEJ5RGF0ZShuZXcgR2FudHREYXRlKGRhdGUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHggPSB0aGlzLnZpZXcuZ2V0WFBvaW50QnlEYXRlKGRhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kb20uc2Nyb2xsTWFpbkNvbnRhaW5lcih4KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2FudHQtc2lkZVwiICpuZ0lmPVwic2lkZVRlbXBsYXRlXCIgW3N0eWxlLndpZHRoLnB4XT1cInNpZGVXaWR0aFwiIFtzdHlsZS5wYWRkaW5nLWJvdHRvbS5weF09XCJob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0XCI+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1zaWRlLWNvbnRhaW5lclwiIGNka1Njcm9sbGFibGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNpZGVUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZ2FudHQtY29udGFpbmVyXCIgKm5nSWY9XCJtYWluVGVtcGxhdGVcIj5cbiAgPGdhbnR0LWNhbGVuZGFyLWhlYWRlciBbc3R5bGUucGFkZGluZy1yaWdodC5weF09XCJ2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoXCI+PC9nYW50dC1jYWxlbmRhci1oZWFkZXI+XG4gIDxnYW50dC1jYWxlbmRhci1ncmlkXG4gICAgW3N0eWxlLnBhZGRpbmctcmlnaHQucHhdPVwidmVydGljYWxTY3JvbGxiYXJXaWR0aFwiXG4gICAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnB4XT1cImhvcml6b250YWxTY3JvbGxiYXJIZWlnaHRcIlxuICA+PC9nYW50dC1jYWxlbmRhci1ncmlkPlxuICA8Z2FudHQtZHJhZy1iYWNrZHJvcD48L2dhbnR0LWRyYWctYmFja2Ryb3A+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1tYWluXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1haW5UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48Z2FudHQtdG9vbGJhciAqbmdJZj1cImdhbnR0VXBwZXIuc2hvd1Rvb2xiYXIgfHwgZ2FudHRVcHBlci50b29sYmFyVGVtcGxhdGVcIiBbdGVtcGxhdGVdPVwiZ2FudHRVcHBlci50b29sYmFyVGVtcGxhdGVcIj4gPC9nYW50dC10b29sYmFyPlxuIl19
@@ -1,5 +1,13 @@
1
1
  import { addDays, addHours, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, differenceInCalendarDays, endOfDay, endOfMonth, endOfQuarter, endOfWeek, endOfYear, format, fromUnixTime, getDaysInMonth, getUnixTime, getWeek, isToday, isWeekend, setDate, startOfDay, startOfMonth, startOfQuarter, startOfWeek, startOfYear, startOfMinute, startOfHour, endOfHour, endOfMinute } from 'date-fns';
2
+ import { TZDate } from '@date-fns/tz';
2
3
  export { addDays, addHours, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, differenceInCalendarDays, differenceInCalendarQuarters, differenceInDays, eachDayOfInterval, eachMonthOfInterval, eachWeekOfInterval, endOfDay, endOfMonth, endOfQuarter, endOfWeek, endOfYear, format, fromUnixTime, getDaysInMonth, getUnixTime, getWeek, isToday, isWeekend, setDate, startOfDay, startOfMonth, startOfQuarter, startOfWeek, startOfYear, startOfMinute, startOfHour, endOfMinute, endOfHour, differenceInMinutes, eachHourOfInterval } from 'date-fns';
4
+ let timeZone;
5
+ export function setDefaultTimeZone(zone) {
6
+ timeZone = zone ?? undefined;
7
+ }
8
+ export function getDefaultTimeZone() {
9
+ return timeZone;
10
+ }
3
11
  export class GanttDate {
4
12
  constructor(date) {
5
13
  if (date) {
@@ -8,10 +16,10 @@ export class GanttDate {
8
16
  }
9
17
  else if (typeof date === 'string' || typeof date === 'number') {
10
18
  if (date.toString().length < 13) {
11
- this.value = fromUnixTime(+date);
19
+ this.value = new TZDate(fromUnixTime(+date), timeZone);
12
20
  }
13
21
  else {
14
- this.value = new Date(date);
22
+ this.value = new TZDate(date, timeZone);
15
23
  }
16
24
  }
17
25
  else {
@@ -20,7 +28,7 @@ export class GanttDate {
20
28
  }
21
29
  }
22
30
  else {
23
- this.value = new Date();
31
+ this.value = new TZDate(new Date(), timeZone);
24
32
  }
25
33
  }
26
34
  getYear() {
@@ -169,4 +177,4 @@ export class GanttDate {
169
177
  return isToday(this.value);
170
178
  }
171
179
  }
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy91dGlscy9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixRQUFRLEVBQ1IsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osY0FBYyxFQUNkLFdBQVcsRUFDWCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2IsV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEVBQ2QsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUVILE9BQU8sRUFDUCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsRUFDVCxXQUFXLEVBQ1gsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEVBQ1Isd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLFVBQVUsRUFDVixZQUFZLEVBQ1osU0FBUyxFQUNULFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLGNBQWMsRUFDZCxXQUFXLEVBQ1gsT0FBTyxFQUNQLE9BQU8sRUFDUCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFVBQVUsRUFDVixZQUFZLEVBQ1osY0FBYyxFQUNkLFdBQVcsRUFDWCxXQUFXLEVBQ1gsYUFBYSxFQUNiLFdBQVcsRUFDWCxXQUFXLEVBQ1gsU0FBUyxFQUNULG1CQUFtQixFQUNuQixrQkFBa0IsRUFDckIsTUFBTSxVQUFV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QVMsQ0FBQyxPQUF1RTtRQUM3RSxPQUFPLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FDRixHQUFXLEVBQ1gsT0FNQztRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYWRkRGF5cyxcbiAgICBhZGRIb3VycyxcbiAgICBhZGRNaW51dGVzLFxuICAgIGFkZE1vbnRocyxcbiAgICBhZGRRdWFydGVycyxcbiAgICBhZGRTZWNvbmRzLFxuICAgIGFkZFdlZWtzLFxuICAgIGFkZFllYXJzLFxuICAgIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyxcbiAgICBlbmRPZkRheSxcbiAgICBlbmRPZk1vbnRoLFxuICAgIGVuZE9mUXVhcnRlcixcbiAgICBlbmRPZldlZWssXG4gICAgZW5kT2ZZZWFyLFxuICAgIGZvcm1hdCxcbiAgICBmcm9tVW5peFRpbWUsXG4gICAgZ2V0RGF5c0luTW9udGgsXG4gICAgZ2V0VW5peFRpbWUsXG4gICAgZ2V0V2VlayxcbiAgICBpc1RvZGF5LFxuICAgIGlzV2Vla2VuZCxcbiAgICBzZXREYXRlLFxuICAgIHN0YXJ0T2ZEYXksXG4gICAgc3RhcnRPZk1vbnRoLFxuICAgIHN0YXJ0T2ZRdWFydGVyLFxuICAgIHN0YXJ0T2ZXZWVrLFxuICAgIHN0YXJ0T2ZZZWFyLFxuICAgIHN0YXJ0T2ZNaW51dGUsXG4gICAgc3RhcnRPZkhvdXIsXG4gICAgZW5kT2ZIb3VyLFxuICAgIGVuZE9mTWludXRlXG59IGZyb20gJ2RhdGUtZm5zJztcblxuZXhwb3J0IHtcbiAgICBMb2NhbGUsXG4gICAgYWRkRGF5cyxcbiAgICBhZGRIb3VycyxcbiAgICBhZGRNaW51dGVzLFxuICAgIGFkZE1vbnRocyxcbiAgICBhZGRRdWFydGVycyxcbiAgICBhZGRTZWNvbmRzLFxuICAgIGFkZFdlZWtzLFxuICAgIGFkZFllYXJzLFxuICAgIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzLFxuICAgIGRpZmZlcmVuY2VJbkRheXMsXG4gICAgZWFjaERheU9mSW50ZXJ2YWwsXG4gICAgZWFjaE1vbnRoT2ZJbnRlcnZhbCxcbiAgICBlYWNoV2Vla09mSW50ZXJ2YWwsXG4gICAgZW5kT2ZEYXksXG4gICAgZW5kT2ZNb250aCxcbiAgICBlbmRPZlF1YXJ0ZXIsXG4gICAgZW5kT2ZXZWVrLFxuICAgIGVuZE9mWWVhcixcbiAgICBmb3JtYXQsXG4gICAgZnJvbVVuaXhUaW1lLFxuICAgIGdldERheXNJbk1vbnRoLFxuICAgIGdldFVuaXhUaW1lLFxuICAgIGdldFdlZWssXG4gICAgaXNUb2RheSxcbiAgICBpc1dlZWtlbmQsXG4gICAgc2V0RGF0ZSxcbiAgICBzdGFydE9mRGF5LFxuICAgIHN0YXJ0T2ZNb250aCxcbiAgICBzdGFydE9mUXVhcnRlcixcbiAgICBzdGFydE9mV2VlayxcbiAgICBzdGFydE9mWWVhcixcbiAgICBzdGFydE9mTWludXRlLFxuICAgIHN0YXJ0T2ZIb3VyLFxuICAgIGVuZE9mTWludXRlLFxuICAgIGVuZE9mSG91cixcbiAgICBkaWZmZXJlbmNlSW5NaW51dGVzLFxuICAgIGVhY2hIb3VyT2ZJbnRlcnZhbFxufSBmcm9tICdkYXRlLWZucyc7XG5cbmV4cG9ydCB0eXBlIEdhbnR0RGF0ZVV0aWwgPSAnc2Vjb25kJyB8ICdtaW51dGUnIHwgJ2hvdXInIHwgJ2RheScgfCAnd2VlaycgfCAnbW9udGgnIHwgJ3F1YXJ0ZXInIHwgJ3llYXInO1xuXG5leHBvcnQgY2xhc3MgR2FudHREYXRlIHtcbiAgICB2YWx1ZTogRGF0ZTtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGU/OiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgICAgIGlmIChkYXRlKSB7XG4gICAgICAgICAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIGlmIChkYXRlLnRvU3RyaW5nKCkubGVuZ3RoIDwgMTMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGZyb21Vbml4VGltZSgrZGF0ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBEYXRlKGRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgVGhlIGlucHV0IGRhdGUgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIGV4cGVjdCBEYXRlIHwgc3RyaW5nXG4gICAgICAgICAgICAgICAgICAgICB8IG51bWJlciB8IHsgZGF0ZTogbnVtYmVyOyB3aXRoX3RpbWU6IDAgfCAxfSwgYWN0dWFsICR7SlNPTi5zdHJpbmdpZnkoZGF0ZSl9YFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuZ2V0RnVsbFllYXIoKTtcbiAgICB9XG5cbiAgICBnZXRNb250aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRNb250aCgpO1xuICAgIH1cblxuICAgIGdldERheSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXREYXkoKTtcbiAgICB9XG5cbiAgICBnZXRUaW1lKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICBnZXREYXRlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldERhdGUoKTtcbiAgICB9XG5cbiAgICBnZXRIb3VycygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRIb3VycygpO1xuICAgIH1cblxuICAgIGdldE1pbnV0ZXMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuZ2V0TWludXRlcygpO1xuICAgIH1cblxuICAgIGdldFNlY29uZHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuZ2V0U2Vjb25kcygpO1xuICAgIH1cblxuICAgIGdldE1pbGxpc2Vjb25kcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRNaWxsaXNlY29uZHMoKTtcbiAgICB9XG5cbiAgICBnZXRXZWVrKG9wdGlvbnM/OiB7IGxvY2FsZT86IExvY2FsZTsgd2Vla1N0YXJ0c09uPzogMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB9KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldFdlZWsodGhpcy52YWx1ZSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgZ2V0RGF5c0luTW9udGgoKSB7XG4gICAgICAgIHJldHVybiBnZXREYXlzSW5Nb250aCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXREYXlzSW5RdWFydGVyKCkge1xuICAgICAgICByZXR1cm4gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKHRoaXMuZW5kT2ZRdWFydGVyKCkuYWRkU2Vjb25kcygxKS52YWx1ZSwgdGhpcy5zdGFydE9mUXVhcnRlcigpLnZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXREYXlzSW5ZZWFyKCkge1xuICAgICAgICByZXR1cm4gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKHRoaXMuZW5kT2ZZZWFyKCkuYWRkU2Vjb25kcygxKS52YWx1ZSwgdGhpcy5zdGFydE9mWWVhcigpLnZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXREYXRlKGRheU9mTW9udGg6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHNldERhdGUodGhpcy52YWx1ZSwgZGF5T2ZNb250aCkpO1xuICAgIH1cblxuICAgIGNsb25lKCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKG5ldyBEYXRlKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBhZGQoYW1vdW50OiBudW1iZXIsIHVuaXQ/OiBHYW50dERhdGVVdGlsKSB7XG4gICAgICAgIHN3aXRjaCAodW5pdCkge1xuICAgICAgICAgICAgY2FzZSAnc2Vjb25kJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRTZWNvbmRzKGFtb3VudCk7XG4gICAgICAgICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHRoaXMudmFsdWUpLmFkZE1pbnV0ZXMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHRoaXMudmFsdWUpLmFkZEhvdXJzKGFtb3VudCk7XG4gICAgICAgICAgICBjYXNlICdkYXknOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHRoaXMudmFsdWUpLmFkZERheXMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHRoaXMudmFsdWUpLmFkZFdlZWtzKGFtb3VudCk7XG4gICAgICAgICAgICBjYXNlICdtb250aCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkTW9udGhzKGFtb3VudCk7XG4gICAgICAgICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRRdWFydGVycyhhbW91bnQpO1xuICAgICAgICAgICAgY2FzZSAneWVhcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkWWVhcnMoYW1vdW50KTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkU2Vjb25kcyhhbW91bnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWRkU2Vjb25kcyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZFNlY29uZHModGhpcy52YWx1ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkTWludXRlcyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZE1pbnV0ZXModGhpcy52YWx1ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkSG91cnMoYW1vdW50OiBudW1iZXIpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShhZGRIb3Vycyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGREYXlzKGFtb3VudDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoYWRkRGF5cyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRXZWVrcyhhbW91bnQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShhZGRXZWVrcyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRNb250aHMoYW1vdW50OiBudW1iZXIpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShhZGRNb250aHModGhpcy52YWx1ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkUXVhcnRlcnMoYW1vdW50OiBudW1iZXIpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShhZGRRdWFydGVycyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRZZWFycyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZFllYXJzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIHN0YXJ0T2ZNaW51dGUoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc3RhcnRPZk1pbnV0ZSh0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZkhvdXIoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc3RhcnRPZkhvdXIodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIHN0YXJ0T2ZEYXkoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc3RhcnRPZkRheSh0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZldlZWsob3B0aW9ucz86IHsgbG9jYWxlPzogTG9jYWxlOyB3ZWVrU3RhcnRzT24/OiAwIHwgMSB8IDIgfCAzIHwgNCB8IDUgfCA2IH0pOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mV2Vlayh0aGlzLnZhbHVlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZk1vbnRoKCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHN0YXJ0T2ZNb250aCh0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZlF1YXJ0ZXIoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc3RhcnRPZlF1YXJ0ZXIodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIHN0YXJ0T2ZZZWFyKCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHN0YXJ0T2ZZZWFyKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBlbmRPZk1pbnV0ZSgpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShlbmRPZk1pbnV0ZSh0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgZW5kT2ZIb3VyKCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGVuZE9mSG91cih0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgZW5kT2ZEYXkoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoZW5kT2ZEYXkodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mV2VlayhvcHRpb25zPzogeyBsb2NhbGU/OiBMb2NhbGU7IHdlZWtTdGFydHNPbj86IDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB8IDYgfSk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGVuZE9mV2Vlayh0aGlzLnZhbHVlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgZW5kT2ZNb250aCgpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShlbmRPZk1vbnRoKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBlbmRPZlF1YXJ0ZXIoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoZW5kT2ZRdWFydGVyKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBlbmRPZlllYXIoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoZW5kT2ZZZWFyKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBnZXRVbml4VGltZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZ2V0VW5peFRpbWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZm9ybWF0KFxuICAgICAgICBtYXQ6IHN0cmluZyxcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICAgIGxvY2FsZT86IExvY2FsZTtcbiAgICAgICAgICAgIHdlZWtTdGFydHNPbj86IDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB8IDY7XG4gICAgICAgICAgICBmaXJzdFdlZWtDb250YWluc0RhdGU/OiBudW1iZXI7XG4gICAgICAgICAgICB1c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnM/OiBib29sZWFuO1xuICAgICAgICAgICAgdXNlQWRkaXRpb25hbERheU9mWWVhclRva2Vucz86IGJvb2xlYW47XG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdCh0aGlzLnZhbHVlLCBtYXQsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGlzV2Vla2VuZCgpIHtcbiAgICAgICAgcmV0dXJuIGlzV2Vla2VuZCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBpc1RvZGF5KCkge1xuICAgICAgICByZXR1cm4gaXNUb2RheSh0aGlzLnZhbHVlKTtcbiAgICB9XG59XG4iXX0=
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy91dGlscy9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixRQUFRLEVBQ1IsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osY0FBYyxFQUNkLFdBQVcsRUFDWCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2IsV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEVBR2QsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0QyxPQUFPLEVBRUgsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBQ1YsUUFBUSxFQUNSLFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixRQUFRLEVBQ1IsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osY0FBYyxFQUNkLFdBQVcsRUFDWCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2IsV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFT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QUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBhZGREYXlzLFxuICAgIGFkZEhvdXJzLFxuICAgIGFkZE1pbnV0ZXMsXG4gICAgYWRkTW9udGhzLFxuICAgIGFkZFF1YXJ0ZXJzLFxuICAgIGFkZFNlY29uZHMsXG4gICAgYWRkV2Vla3MsXG4gICAgYWRkWWVhcnMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLFxuICAgIGVuZE9mRGF5LFxuICAgIGVuZE9mTW9udGgsXG4gICAgZW5kT2ZRdWFydGVyLFxuICAgIGVuZE9mV2VlayxcbiAgICBlbmRPZlllYXIsXG4gICAgZm9ybWF0LFxuICAgIGZyb21Vbml4VGltZSxcbiAgICBnZXREYXlzSW5Nb250aCxcbiAgICBnZXRVbml4VGltZSxcbiAgICBnZXRXZWVrLFxuICAgIGlzVG9kYXksXG4gICAgaXNXZWVrZW5kLFxuICAgIHNldERhdGUsXG4gICAgc3RhcnRPZkRheSxcbiAgICBzdGFydE9mTW9udGgsXG4gICAgc3RhcnRPZlF1YXJ0ZXIsXG4gICAgc3RhcnRPZldlZWssXG4gICAgc3RhcnRPZlllYXIsXG4gICAgc3RhcnRPZk1pbnV0ZSxcbiAgICBzdGFydE9mSG91cixcbiAgICBlbmRPZkhvdXIsXG4gICAgZW5kT2ZNaW51dGUsXG4gICAgTG9jYWxlLFxuICAgIEZpcnN0V2Vla0NvbnRhaW5zRGF0ZVxufSBmcm9tICdkYXRlLWZucyc7XG5cbmltcG9ydCB7IFRaRGF0ZSB9IGZyb20gJ0BkYXRlLWZucy90eic7XG5cbmV4cG9ydCB7XG4gICAgTG9jYWxlLFxuICAgIGFkZERheXMsXG4gICAgYWRkSG91cnMsXG4gICAgYWRkTWludXRlcyxcbiAgICBhZGRNb250aHMsXG4gICAgYWRkUXVhcnRlcnMsXG4gICAgYWRkU2Vjb25kcyxcbiAgICBhZGRXZWVrcyxcbiAgICBhZGRZZWFycyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycyxcbiAgICBkaWZmZXJlbmNlSW5EYXlzLFxuICAgIGVhY2hEYXlPZkludGVydmFsLFxuICAgIGVhY2hNb250aE9mSW50ZXJ2YWwsXG4gICAgZWFjaFdlZWtPZkludGVydmFsLFxuICAgIGVuZE9mRGF5LFxuICAgIGVuZE9mTW9udGgsXG4gICAgZW5kT2ZRdWFydGVyLFxuICAgIGVuZE9mV2VlayxcbiAgICBlbmRPZlllYXIsXG4gICAgZm9ybWF0LFxuICAgIGZyb21Vbml4VGltZSxcbiAgICBnZXREYXlzSW5Nb250aCxcbiAgICBnZXRVbml4VGltZSxcbiAgICBnZXRXZWVrLFxuICAgIGlzVG9kYXksXG4gICAgaXNXZWVrZW5kLFxuICAgIHNldERhdGUsXG4gICAgc3RhcnRPZkRheSxcbiAgICBzdGFydE9mTW9udGgsXG4gICAgc3RhcnRPZlF1YXJ0ZXIsXG4gICAgc3RhcnRPZldlZWssXG4gICAgc3RhcnRPZlllYXIsXG4gICAgc3RhcnRPZk1pbnV0ZSxcbiAgICBzdGFydE9mSG91cixcbiAgICBlbmRPZk1pbnV0ZSxcbiAgICBlbmRPZkhvdXIsXG4gICAgZGlmZmVyZW5jZUluTWludXRlcyxcbiAgICBlYWNoSG91ck9mSW50ZXJ2YWxcbn0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5leHBvcnQgdHlwZSBHYW50dERhdGVVdGlsID0gJ3NlY29uZCcgfCAnbWludXRlJyB8ICdob3VyJyB8ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICdxdWFydGVyJyB8ICd5ZWFyJztcblxubGV0IHRpbWVab25lOiBzdHJpbmc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXREZWZhdWx0VGltZVpvbmUoem9uZTogc3RyaW5nKSB7XG4gICAgdGltZVpvbmUgPSB6b25lID8/IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRUaW1lWm9uZSgpIHtcbiAgICByZXR1cm4gdGltZVpvbmU7XG59XG5cbmV4cG9ydCBjbGFzcyBHYW50dERhdGUge1xuICAgIHZhbHVlOiBEYXRlO1xuXG4gICAgY29uc3RydWN0b3IoZGF0ZT86IERhdGUgfCBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGRhdGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGUudG9TdHJpbmcoKS5sZW5ndGggPCAxMykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3IFRaRGF0ZShmcm9tVW5peFRpbWUoK2RhdGUpLCB0aW1lWm9uZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBUWkRhdGUoZGF0ZSBhcyBhbnksIHRpbWVab25lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYFRoZSBpbnB1dCBkYXRlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCBleHBlY3QgRGF0ZSB8IHN0cmluZ1xuICAgICAgICAgICAgICAgICAgICAgfCBudW1iZXIgfCB7IGRhdGU6IG51bWJlcjsgd2l0aF90aW1lOiAwIHwgMX0sIGFjdHVhbCAke0pTT04uc3RyaW5naWZ5KGRhdGUpfWBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBUWkRhdGUobmV3IERhdGUoKSwgdGltZVpvbmUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0WWVhcigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIGdldE1vbnRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldE1vbnRoKCk7XG4gICAgfVxuXG4gICAgZ2V0RGF5KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldERheSgpO1xuICAgIH1cblxuICAgIGdldFRpbWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuZ2V0VGltZSgpO1xuICAgIH1cblxuICAgIGdldERhdGUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuZ2V0RGF0ZSgpO1xuICAgIH1cblxuICAgIGdldEhvdXJzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldEhvdXJzKCk7XG4gICAgfVxuXG4gICAgZ2V0TWludXRlcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRNaW51dGVzKCk7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRTZWNvbmRzKCk7XG4gICAgfVxuXG4gICAgZ2V0TWlsbGlzZWNvbmRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldE1pbGxpc2Vjb25kcygpO1xuICAgIH1cblxuICAgIGdldFdlZWsob3B0aW9ucz86IHsgbG9jYWxlPzogTG9jYWxlOyB3ZWVrU3RhcnRzT24/OiAwIHwgMSB8IDIgfCAzIHwgNCB8IDUgfCA2IH0pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZ2V0V2Vlayh0aGlzLnZhbHVlLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBnZXREYXlzSW5Nb250aCgpIHtcbiAgICAgICAgcmV0dXJuIGdldERheXNJbk1vbnRoKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGdldERheXNJblF1YXJ0ZXIoKSB7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXModGhpcy5lbmRPZlF1YXJ0ZXIoKS5hZGRTZWNvbmRzKDEpLnZhbHVlLCB0aGlzLnN0YXJ0T2ZRdWFydGVyKCkudmFsdWUpO1xuICAgIH1cblxuICAgIGdldERheXNJblllYXIoKSB7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXModGhpcy5lbmRPZlllYXIoKS5hZGRTZWNvbmRzKDEpLnZhbHVlLCB0aGlzLnN0YXJ0T2ZZZWFyKCkudmFsdWUpO1xuICAgIH1cblxuICAgIHNldERhdGUoZGF5T2ZNb250aDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc2V0RGF0ZSh0aGlzLnZhbHVlLCBkYXlPZk1vbnRoKSk7XG4gICAgfVxuXG4gICAgY2xvbmUoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUobmV3IERhdGUodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGFkZChhbW91bnQ6IG51bWJlciwgdW5pdD86IEdhbnR0RGF0ZVV0aWwpIHtcbiAgICAgICAgc3dpdGNoICh1bml0KSB7XG4gICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHRoaXMudmFsdWUpLmFkZFNlY29uZHMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkTWludXRlcyhhbW91bnQpO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkSG91cnMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkRGF5cyhhbW91bnQpO1xuICAgICAgICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkV2Vla3MoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRNb250aHMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ3F1YXJ0ZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHRoaXMudmFsdWUpLmFkZFF1YXJ0ZXJzKGFtb3VudCk7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRZZWFycyhhbW91bnQpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRTZWNvbmRzKGFtb3VudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRTZWNvbmRzKGFtb3VudDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoYWRkU2Vjb25kcyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRNaW51dGVzKGFtb3VudDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoYWRkTWludXRlcyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRIb3VycyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZEhvdXJzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZERheXMoYW1vdW50OiBudW1iZXIpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShhZGREYXlzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZFdlZWtzKGFtb3VudDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZFdlZWtzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZE1vbnRocyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZE1vbnRocyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRRdWFydGVycyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZFF1YXJ0ZXJzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZFllYXJzKGFtb3VudDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoYWRkWWVhcnModGhpcy52YWx1ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZk1pbnV0ZSgpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mTWludXRlKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mSG91cigpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mSG91cih0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZkRheSgpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mRGF5KHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mV2VlayhvcHRpb25zPzogeyBsb2NhbGU/OiBMb2NhbGU7IHdlZWtTdGFydHNPbj86IDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB8IDYgfSk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHN0YXJ0T2ZXZWVrKHRoaXMudmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mTW9udGgoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc3RhcnRPZk1vbnRoKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mUXVhcnRlcigpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mUXVhcnRlcih0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZlllYXIoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc3RhcnRPZlllYXIodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mTWludXRlKCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGVuZE9mTWludXRlKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBlbmRPZkhvdXIoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoZW5kT2ZIb3VyKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBlbmRPZkRheSgpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShlbmRPZkRheSh0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgZW5kT2ZXZWVrKG9wdGlvbnM/OiB7IGxvY2FsZT86IExvY2FsZTsgd2Vla1N0YXJ0c09uPzogMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB9KTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoZW5kT2ZXZWVrKHRoaXMudmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBlbmRPZk1vbnRoKCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGVuZE9mTW9udGgodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mUXVhcnRlcigpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShlbmRPZlF1YXJ0ZXIodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mWWVhcigpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShlbmRPZlllYXIodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGdldFVuaXhUaW1lKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRVbml4VGltZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBmb3JtYXQoXG4gICAgICAgIG1hdDogc3RyaW5nLFxuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgICAgbG9jYWxlPzogTG9jYWxlO1xuICAgICAgICAgICAgd2Vla1N0YXJ0c09uPzogMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNjtcbiAgICAgICAgICAgIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZT86IEZpcnN0V2Vla0NvbnRhaW5zRGF0ZTtcbiAgICAgICAgICAgIHVzZUFkZGl0aW9uYWxXZWVrWWVhclRva2Vucz86IGJvb2xlYW47XG4gICAgICAgICAgICB1c2VBZGRpdGlvbmFsRGF5T2ZZZWFyVG9rZW5zPzogYm9vbGVhbjtcbiAgICAgICAgfVxuICAgICkge1xuICAgICAgICByZXR1cm4gZm9ybWF0KHRoaXMudmFsdWUsIG1hdCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaXNXZWVrZW5kKCkge1xuICAgICAgICByZXR1cm4gaXNXZWVrZW5kKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGlzVG9kYXkoKSB7XG4gICAgICAgIHJldHVybiBpc1RvZGF5KHRoaXMudmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { zhHantLocale } from '../i18n';
1
2
  import { GanttViewType } from '../class';
2
3
  import { GanttDatePoint } from '../class/date-point';
3
4
  import { GanttDate, eachDayOfInterval, eachWeekOfInterval } from '../utils/date';
@@ -7,7 +8,8 @@ const viewOptions = {
7
8
  start: new GanttDate().startOfYear().startOfWeek(),
8
9
  end: new GanttDate().endOfYear().endOfWeek(),
9
10
  addAmount: 1,
10
- addUnit: 'month'
11
+ addUnit: 'month',
12
+ dateDisplayFormats: zhHantLocale.views.day.dateFormats
11
13
  };
12
14
  export class GanttViewDay extends GanttView {
13
15
  constructor(start, end, options) {
@@ -34,7 +36,7 @@ export class GanttViewDay extends GanttView {
34
36
  for (let i = 0; i < weeks.length; i++) {
35
37
  const weekStart = new GanttDate(weeks[i]);
36
38
  const increaseWeek = weekStart.getDaysInMonth() - weekStart.getDate() >= 3 ? 0 : 1;
37
- const point = new GanttDatePoint(weekStart, weekStart.addWeeks(increaseWeek).format(this.options.dateFormat.yearMonth), (this.getCellWidth() * 7) / 2 + i * (this.getCellWidth() * 7), primaryDatePointTop);
39
+ const point = new GanttDatePoint(weekStart, weekStart.addWeeks(increaseWeek).format(this.options.dateFormat?.yearMonth || this.options.dateDisplayFormats.primary), (this.getCellWidth() * 7) / 2 + i * (this.getCellWidth() * 7), primaryDatePointTop);
38
40
  points.push(point);
39
41
  }
40
42
  return points;
@@ -44,7 +46,7 @@ export class GanttViewDay extends GanttView {
44
46
  const points = [];
45
47
  for (let i = 0; i < days.length; i++) {
46
48
  const start = new GanttDate(days[i]);
47
- const point = new GanttDatePoint(start, start.getDate().toString(), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop, {
49
+ const point = new GanttDatePoint(start, start.format(this.options.dateDisplayFormats.secondary) || start.getDate().toString(), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop, {
48
50
  isWeekend: start.isWeekend(),
49
51
  isToday: start.isToday()
50
52
  });
@@ -53,4 +55,4 @@ export class GanttViewDay extends GanttView {
53
55
  return points;
54
56
  }
55
57
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL3ZpZXdzL2RheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQW1DLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhILE1BQU0sV0FBVyxHQUFxQjtJQUNsQyxTQUFTLEVBQUUsRUFBRTtJQUNiLEtBQUssRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRTtJQUNsRCxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUU7SUFDNUMsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUUsT0FBTztDQUNuQixDQUFDO0FBRUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxTQUFTO0lBT3ZDLFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQTBCO1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBUHRELHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUV4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixhQUFRLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQztJQUl0QyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFlO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDakcsTUFBTSxNQUFNLEdBQXFCLEVBQUUsQ0FBQztRQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FDNUIsU0FBUyxFQUNULFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUMxRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUM3RCxtQkFBbUIsQ0FDdEIsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRixNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQzVCLEtBQUssRUFDTCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQzFCLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsRUFDakQscUJBQXFCLEVBQ3JCO2dCQUNJLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFO2dCQUM1QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRTthQUMzQixDQUNKLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dFZpZXdUeXBlIH0gZnJvbSAnLi4vY2xhc3MnO1xuaW1wb3J0IHsgR2FudHREYXRlUG9pbnQgfSBmcm9tICcuLi9jbGFzcy9kYXRlLXBvaW50JztcbmltcG9ydCB7IEdhbnR0RGF0ZSwgZWFjaERheU9mSW50ZXJ2YWwsIGVhY2hXZWVrT2ZJbnRlcnZhbCB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgR2FudHRWaWV3LCBHYW50dFZpZXdEYXRlLCBHYW50dFZpZXdPcHRpb25zLCBwcmltYXJ5RGF0ZVBvaW50VG9wLCBzZWNvbmRhcnlEYXRlUG9pbnRUb3AgfSBmcm9tICcuL3ZpZXcnO1xuXG5jb25zdCB2aWV3T3B0aW9uczogR2FudHRWaWV3T3B0aW9ucyA9IHtcbiAgICBjZWxsV2lkdGg6IDM1LFxuICAgIHN0YXJ0OiBuZXcgR2FudHREYXRlKCkuc3RhcnRPZlllYXIoKS5zdGFydE9mV2VlaygpLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmVuZE9mWWVhcigpLmVuZE9mV2VlaygpLFxuICAgIGFkZEFtb3VudDogMSxcbiAgICBhZGRVbml0OiAnbW9udGgnXG59O1xuXG5leHBvcnQgY2xhc3MgR2FudHRWaWV3RGF5IGV4dGVuZHMgR2FudHRWaWV3IHtcbiAgICBvdmVycmlkZSBzaG93V2Vla0JhY2tkcm9wID0gdHJ1ZTtcblxuICAgIG92ZXJyaWRlIHNob3dUaW1lbGluZSA9IGZhbHNlO1xuXG4gICAgb3ZlcnJpZGUgdmlld1R5cGUgPSBHYW50dFZpZXdUeXBlLmRheTtcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM/OiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHN0YXJ0LCBlbmQsIE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgdmlld1N0YXJ0T2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZXZWVrKCk7XG4gICAgfVxuXG4gICAgdmlld0VuZE9mKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5lbmRPZldlZWsoKTtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpICogNztcbiAgICB9XG5cbiAgICBnZXREYXlPY2N1cGFuY3lXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jZWxsV2lkdGg7XG4gICAgfVxuXG4gICAgZ2V0UHJpbWFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IHdlZWtzID0gZWFjaFdlZWtPZkludGVydmFsKHsgc3RhcnQ6IHRoaXMuc3RhcnQudmFsdWUsIGVuZDogdGhpcy5lbmQuYWRkU2Vjb25kcygxKS52YWx1ZSB9KTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2Vla3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHdlZWtTdGFydCA9IG5ldyBHYW50dERhdGUod2Vla3NbaV0pO1xuICAgICAgICAgICAgY29uc3QgaW5jcmVhc2VXZWVrID0gd2Vla1N0YXJ0LmdldERheXNJbk1vbnRoKCkgLSB3ZWVrU3RhcnQuZ2V0RGF0ZSgpID49IDMgPyAwIDogMTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHdlZWtTdGFydCxcbiAgICAgICAgICAgICAgICB3ZWVrU3RhcnQuYWRkV2Vla3MoaW5jcmVhc2VXZWVrKS5mb3JtYXQodGhpcy5vcHRpb25zLmRhdGVGb3JtYXQueWVhck1vbnRoKSxcbiAgICAgICAgICAgICAgICAodGhpcy5nZXRDZWxsV2lkdGgoKSAqIDcpIC8gMiArIGkgKiAodGhpcy5nZXRDZWxsV2lkdGgoKSAqIDcpLFxuICAgICAgICAgICAgICAgIHByaW1hcnlEYXRlUG9pbnRUb3BcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG5cbiAgICBnZXRTZWNvbmRhcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCBkYXlzID0gZWFjaERheU9mSW50ZXJ2YWwoeyBzdGFydDogdGhpcy5zdGFydC52YWx1ZSwgZW5kOiB0aGlzLmVuZC52YWx1ZSB9KTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBuZXcgR2FudHREYXRlKGRheXNbaV0pO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgc3RhcnQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlEYXRlUG9pbnRUb3AsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpc1dlZWtlbmQ6IHN0YXJ0LmlzV2Vla2VuZCgpLFxuICAgICAgICAgICAgICAgICAgICBpc1RvZGF5OiBzdGFydC5pc1RvZGF5KClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxufVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL3ZpZXdzL2RheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBbUMsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFaEgsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLFNBQVMsRUFBRSxFQUFFO0lBQ2IsS0FBSyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFO0lBQ2xELEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRTtJQUM1QyxTQUFTLEVBQUUsQ0FBQztJQUNaLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVc7Q0FDekQsQ0FBQztBQUVGLE1BQU0sT0FBTyxZQUFhLFNBQVEsU0FBUztJQU92QyxZQUFZLEtBQW9CLEVBQUUsR0FBa0IsRUFBRSxPQUEwQjtRQUM1RSxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQVB0RCxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsYUFBUSxHQUFHLGFBQWEsQ0FBQyxHQUFH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QUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHpoSGFudExvY2FsZSB9IGZyb20gJy4uL2kxOG4nO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzJztcbmltcG9ydCB7IEdhbnR0RGF0ZVBvaW50IH0gZnJvbSAnLi4vY2xhc3MvZGF0ZS1wb2ludCc7XG5pbXBvcnQgeyBHYW50dERhdGUsIGVhY2hEYXlPZkludGVydmFsLCBlYWNoV2Vla09mSW50ZXJ2YWwgfSBmcm9tICcuLi91dGlscy9kYXRlJztcbmltcG9ydCB7IEdhbnR0VmlldywgR2FudHRWaWV3RGF0ZSwgR2FudHRWaWV3T3B0aW9ucywgcHJpbWFyeURhdGVQb2ludFRvcCwgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wIH0gZnJvbSAnLi92aWV3JztcblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgY2VsbFdpZHRoOiAzNSxcbiAgICBzdGFydDogbmV3IEdhbnR0RGF0ZSgpLnN0YXJ0T2ZZZWFyKCkuc3RhcnRPZldlZWsoKSxcbiAgICBlbmQ6IG5ldyBHYW50dERhdGUoKS5lbmRPZlllYXIoKS5lbmRPZldlZWsoKSxcbiAgICBhZGRBbW91bnQ6IDEsXG4gICAgYWRkVW5pdDogJ21vbnRoJyxcbiAgICBkYXRlRGlzcGxheUZvcm1hdHM6IHpoSGFudExvY2FsZS52aWV3cy5kYXkuZGF0ZUZvcm1hdHNcbn07XG5cbmV4cG9ydCBjbGFzcyBHYW50dFZpZXdEYXkgZXh0ZW5kcyBHYW50dFZpZXcge1xuICAgIG92ZXJyaWRlIHNob3dXZWVrQmFja2Ryb3AgPSB0cnVlO1xuXG4gICAgb3ZlcnJpZGUgc2hvd1RpbWVsaW5lID0gZmFsc2U7XG5cbiAgICBvdmVycmlkZSB2aWV3VHlwZSA9IEdhbnR0Vmlld1R5cGUuZGF5O1xuXG4gICAgY29uc3RydWN0b3Ioc3RhcnQ6IEdhbnR0Vmlld0RhdGUsIGVuZDogR2FudHRWaWV3RGF0ZSwgb3B0aW9ucz86IEdhbnR0Vmlld09wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoc3RhcnQsIGVuZCwgT2JqZWN0LmFzc2lnbih7fSwgdmlld09wdGlvbnMsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICB2aWV3U3RhcnRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc3RhcnRPZldlZWsoKTtcbiAgICB9XG5cbiAgICB2aWV3RW5kT2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmVuZE9mV2VlaygpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA3O1xuICAgIH1cblxuICAgIGdldERheU9jY3VwYW5jeVdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxXaWR0aDtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3Qgd2Vla3MgPSBlYWNoV2Vla09mSW50ZXJ2YWwoeyBzdGFydDogdGhpcy5zdGFydC52YWx1ZSwgZW5kOiB0aGlzLmVuZC5hZGRTZWNvbmRzKDEpLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB3ZWVrcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgd2Vla1N0YXJ0ID0gbmV3IEdhbnR0RGF0ZSh3ZWVrc1tpXSk7XG4gICAgICAgICAgICBjb25zdCBpbmNyZWFzZVdlZWsgPSB3ZWVrU3RhcnQuZ2V0RGF5c0luTW9udGgoKSAtIHdlZWtTdGFydC5nZXREYXRlKCkgPj0gMyA/IDAgOiAxO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgd2Vla1N0YXJ0LFxuICAgICAgICAgICAgICAgIHdlZWtTdGFydC5hZGRXZWVrcyhpbmNyZWFzZVdlZWspLmZvcm1hdCh0aGlzLm9wdGlvbnMuZGF0ZUZvcm1hdD8ueWVhck1vbnRoIHx8IHRoaXMub3B0aW9ucy5kYXRlRGlzcGxheUZvcm1hdHMucHJpbWFyeSksXG4gICAgICAgICAgICAgICAgKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA3KSAvIDIgKyBpICogKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA3KSxcbiAgICAgICAgICAgICAgICBwcmltYXJ5RGF0ZVBvaW50VG9wXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3QgZGF5cyA9IGVhY2hEYXlPZkludGVydmFsKHsgc3RhcnQ6IHRoaXMuc3RhcnQudmFsdWUsIGVuZDogdGhpcy5lbmQudmFsdWUgfSk7XG4gICAgICAgIGNvbnN0IHBvaW50czogR2FudHREYXRlUG9pbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRheXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IEdhbnR0RGF0ZShkYXlzW2ldKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIHN0YXJ0LmZvcm1hdCh0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnNlY29uZGFyeSkgfHwgc3RhcnQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlEYXRlUG9pbnRUb3AsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpc1dlZWtlbmQ6IHN0YXJ0LmlzV2Vla2VuZCgpLFxuICAgICAgICAgICAgICAgICAgICBpc1RvZGF5OiBzdGFydC5pc1RvZGF5KClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxufVxuIl19