@tetacom/ng-components 1.1.30 → 1.1.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/component/date-picker/base-calendar.d.ts +1 -0
- package/component/toggle/toggle/toggle.component.d.ts +2 -3
- package/docs/accordionDocs.mdx +118 -0
- package/docs/avatarDocs.mdx +99 -0
- package/docs/badgeDocs.mdx +24 -0
- package/docs/buttonDocs.mdx +120 -0
- package/docs/chartDocs.mdx +153 -0
- package/docs/checkboxDocs.mdx +108 -0
- package/docs/chipDocs.mdx +17 -0
- package/docs/datePickerDocs.mdx +230 -0
- package/docs/delimiterDocs.mdx +96 -0
- package/docs/dropdownDocs.mdx +143 -0
- package/docs/expandCardlDocs.mdx +56 -0
- package/docs/expandPanelDocs.mdx +105 -0
- package/docs/fileAreaDocs.mdx +74 -0
- package/docs/iconDocs.mdx +89 -0
- package/docs/inputDocs.mdx +92 -0
- package/docs/listDocs.mdx +17 -0
- package/docs/messageDocs.mdx +69 -0
- package/docs/modalDocs.mdx +63 -0
- package/docs/progressBarDocs.mdx +74 -0
- package/docs/propertyGridDocs.mdx +135 -0
- package/docs/radioDocs.mdx +106 -0
- package/docs/resizePanelDocs.mdx +86 -0
- package/docs/selectDocs.mdx +240 -0
- package/docs/switchDocs.mdx +103 -0
- package/docs/tableDocs.mdx +266 -0
- package/docs/tabsDocs.mdx +145 -0
- package/docs/tagDocs.mdx +19 -0
- package/docs/threeDocs.mdx +65 -0
- package/docs/toggleDocs.mdx +54 -0
- package/docs/toolbarDocs.mdx +16 -0
- package/docs/treeDocs.mdx +107 -0
- package/esm2022/common/model/view-type.model.mjs +1 -1
- package/esm2022/component/avatar/avatar/avatar.component.mjs +2 -2
- package/esm2022/component/date-picker/base-calendar.mjs +13 -1
- package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +3 -3
- package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +3 -3
- package/esm2022/component/table/base/cell-component-base.mjs +9 -1
- package/esm2022/component/table/service/table.service.mjs +2 -2
- package/esm2022/component/toggle/toggle/toggle.component.mjs +1 -2
- package/esm2022/directive/disable-control/disable-control.directive.mjs +3 -2
- package/fesm2022/tetacom-ng-components.mjs +29 -9
- package/fesm2022/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
- package/style/table.scss +4 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {Meta} from "@storybook/blocks";
|
|
2
|
+
import ToolbarStories from "../src/component/toolbar/Toolbar.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={ToolbarStories}/>
|
|
5
|
+
|
|
6
|
+
<div class='column gap-24'>
|
|
7
|
+
<h1>Панель инструментов</h1>
|
|
8
|
+
<div class='column'>
|
|
9
|
+
<p>Toolbar (панель инструментов) — элемент графического интерфейса пользователя. Обычно панель инструментов располагается в верхней части окна программы и содержит иконки, кнопки или выпадающие списки, которые позволяют пользователю выполнять определенные действия без необходимости просматривать меню или вводить команды вручную.</p>
|
|
10
|
+
</div>
|
|
11
|
+
<h3>Как использовать</h3>
|
|
12
|
+
<div class='column'>
|
|
13
|
+
<p>Для создания туллбара используется компонент <code>teta-toolbar</code></p>
|
|
14
|
+
<p>Внутрь передается контент, который необходимо отобразить в нем.</p>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import {Meta} from "@storybook/blocks";
|
|
2
|
+
import TreeStories from "../src/component/tree/Tree.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={TreeStories}/>
|
|
5
|
+
|
|
6
|
+
<div class='column gap-24'>
|
|
7
|
+
<h1>Дерево</h1>
|
|
8
|
+
<div class='column'>
|
|
9
|
+
<p>Tree (дерево) — компонент, использующийся для отображения иерархических структур, представленных расширяемыми узлами дерева.</p>
|
|
10
|
+
<p>Компонент используется для сущностей, которые имеют ссылки на самих себя.</p>
|
|
11
|
+
</div>
|
|
12
|
+
<h3>Правила применения</h3>
|
|
13
|
+
<div class='column'>
|
|
14
|
+
<p>У дерева есть отдельные элементы (TreeItem), которые совмещаются между собой. Каждый элемент имеет свой уровень.Раскрытие происходит иерархично: 1 уровень раскрывается на 2 уровень, 2 уровень на 3 уровень и т. п.</p>
|
|
15
|
+
</div>
|
|
16
|
+
<h3>Как использовать</h3>
|
|
17
|
+
<div class='column'>
|
|
18
|
+
<p>Для начала нужно создать <code> <teta-tree></code>. Этот компонент ждет свойство <code>data</code>, оно ждет объект со свойством <code>children</code>, которое принимает массив таких же данных. Также можно передавать любые дополнительные свойства, которые необходимы вам для генерации дерева.</p>
|
|
19
|
+
<p>Внутрь необходимо передать блок <code>ng-template</code> с директивой <code>teta-template</code> для кастомизации элемента дерева.</p>
|
|
20
|
+
</div>
|
|
21
|
+
<h3>Пример кода</h3>
|
|
22
|
+
<p><pre><code><teta-tree [data]="data">
|
|
23
|
+
<ng-template tetaTemplate let-item>
|
|
24
|
+
<teta-icon [name]="item.icon"></teta-icon>
|
|
25
|
+
<p>{{item.name}}</p>
|
|
26
|
+
</ng-template>
|
|
27
|
+
</teta-tree></code></pre></p>
|
|
28
|
+
<h3>Свойства</h3>
|
|
29
|
+
<h4>teta-tree</h4>
|
|
30
|
+
<table>
|
|
31
|
+
<thead>
|
|
32
|
+
<tr>
|
|
33
|
+
<th>Свойство</th>
|
|
34
|
+
<th>Tип</th>
|
|
35
|
+
<th>Описание</th>
|
|
36
|
+
</tr>
|
|
37
|
+
</thead>
|
|
38
|
+
<tbody>
|
|
39
|
+
<tr>
|
|
40
|
+
<td class='text-align-center'>
|
|
41
|
+
<p>data</p>
|
|
42
|
+
</td>
|
|
43
|
+
<td class='text-align-center'>
|
|
44
|
+
<code>ITreeData[]</code>
|
|
45
|
+
</td>
|
|
46
|
+
<td class='text-align-center'>
|
|
47
|
+
<p>Данные для формирования дерева</p>
|
|
48
|
+
</td>
|
|
49
|
+
</tr>
|
|
50
|
+
<tr>
|
|
51
|
+
<td class='text-align-center'>
|
|
52
|
+
<p>childNodeName</p>
|
|
53
|
+
</td>
|
|
54
|
+
<td class='text-align-center'>
|
|
55
|
+
<code>string</code>
|
|
56
|
+
</td>
|
|
57
|
+
<td class='text-align-center'>
|
|
58
|
+
<p>Свойство, отвечающее за название элемента с дочерними элементами дерева (по дефолту <code>children</code>)</p>
|
|
59
|
+
</td>
|
|
60
|
+
</tr>
|
|
61
|
+
<tr>
|
|
62
|
+
<td class='text-align-center'>
|
|
63
|
+
<p>height</p>
|
|
64
|
+
</td>
|
|
65
|
+
<td class='text-align-center'>
|
|
66
|
+
<code>number</code>
|
|
67
|
+
</td>
|
|
68
|
+
<td class='text-align-center'>
|
|
69
|
+
<p>Высота дерева</p>
|
|
70
|
+
</td>
|
|
71
|
+
</tr>
|
|
72
|
+
<tr>
|
|
73
|
+
<td class='text-align-center'>
|
|
74
|
+
<p>openItems</p>
|
|
75
|
+
</td>
|
|
76
|
+
<td class='text-align-center'>
|
|
77
|
+
<code>ITreeData[]</code>
|
|
78
|
+
</td>
|
|
79
|
+
<td class='text-align-center'>
|
|
80
|
+
<p>Свойство, отвечающее контроль над открытыми элементами дерева</p>
|
|
81
|
+
</td>
|
|
82
|
+
</tr>
|
|
83
|
+
<tr>
|
|
84
|
+
<td class='text-align-center'>
|
|
85
|
+
<p>virtual</p>
|
|
86
|
+
</td>
|
|
87
|
+
<td class='text-align-center'>
|
|
88
|
+
<code>boolean</code>
|
|
89
|
+
</td>
|
|
90
|
+
<td class='text-align-center'>
|
|
91
|
+
<p>Флаг добавления виртуального скролла</p>
|
|
92
|
+
</td>
|
|
93
|
+
</tr>
|
|
94
|
+
<tr>
|
|
95
|
+
<td class='text-align-center'>
|
|
96
|
+
<p>openItemsChange</p>
|
|
97
|
+
</td>
|
|
98
|
+
<td class='text-align-center'>
|
|
99
|
+
<code>function</code>
|
|
100
|
+
</td>
|
|
101
|
+
<td class='text-align-center'>
|
|
102
|
+
<p>Переданная функция срабатывает при открытии/закрытии элемента дерева и отдает открытые элементы дерева</p>
|
|
103
|
+
</td>
|
|
104
|
+
</tr>
|
|
105
|
+
</tbody>
|
|
106
|
+
</table>
|
|
107
|
+
</div>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10eXBlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9tb2RlbC92aWV3LXR5cGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHZpZXdUeXBlID0gJ2JyaWNrJyB8ICdyb3VuZGVkJyB8ICdjaXJjbGUnO1xuIl19
|
|
@@ -38,11 +38,11 @@ export class AvatarComponent {
|
|
|
38
38
|
ngOnInit() {
|
|
39
39
|
}
|
|
40
40
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: AvatarComponent, selector: "teta-avatar", inputs: { photo: "photo", name: "name", id: "id", viewType: "viewType", size: "size" }, host: { properties: { "class": "this.avatar" } }, ngImport: i0, template: "<div [class]=\"avatar\">\n <img [class]=\"'avatar_' + this.viewType\" *ngIf=\"photo;else withoutPhoto\" [src]=\"photo\" alt=\"\"/>\n <ng-template #withoutPhoto>\n <div [class]=\"'avatar_' + this.viewType\" [style.background-color]=\"colorMap.get(id%17)||colorMap.get(0)\"\n class=\"column align-center justify-content-center position-relative\">\n <ng-container *ngIf=\"name;else withoutName\">\n <p>{{name}}</p>\n </ng-container>\n <ng-template #withoutName>\n <teta-icon class=\"width-10 height-10\" style=\"fill: white;width:{{size}}px; height:{{size}}px\"\n name=\"photoCamera\"></teta-icon>\n </ng-template>\n <div [class]=\"'avatar_' + this.viewType\" class=\"position-absolute\"\n style=\"width: 100%;z-index:1;height: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 100%);'\"></div>\n </div>\n </ng-template>\n\n</div>\n", styles: [".avatar{font-style:normal;font-weight:600;line-height:16px}.avatar_brick{border-radius:var(--radius-base-brick)}.avatar_circle{border-radius:var(--radius-base-circle)
|
|
41
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: AvatarComponent, selector: "teta-avatar", inputs: { photo: "photo", name: "name", id: "id", viewType: "viewType", size: "size" }, host: { properties: { "class": "this.avatar" } }, ngImport: i0, template: "<div [class]=\"avatar\">\n <img [class]=\"'avatar_' + this.viewType\" *ngIf=\"photo;else withoutPhoto\" [src]=\"photo\" alt=\"\"/>\n <ng-template #withoutPhoto>\n <div [class]=\"'avatar_' + this.viewType\" [style.background-color]=\"colorMap.get(id%17)||colorMap.get(0)\"\n class=\"column align-center justify-content-center position-relative\">\n <ng-container *ngIf=\"name;else withoutName\">\n <p>{{name}}</p>\n </ng-container>\n <ng-template #withoutName>\n <teta-icon class=\"width-10 height-10\" style=\"fill: white;width:{{size}}px; height:{{size}}px\"\n name=\"photoCamera\"></teta-icon>\n </ng-template>\n <div [class]=\"'avatar_' + this.viewType\" class=\"position-absolute\"\n style=\"width: 100%;z-index:1;height: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 100%);'\"></div>\n </div>\n </ng-template>\n\n</div>\n", styles: [".avatar{font-style:normal;font-weight:600;line-height:16px}.avatar_brick{border-radius:var(--radius-base-brick)}.avatar_circle{border-radius:var(--radius-base-circle)}.avatar_rounded{border-radius:var(--radius-base-round)}.avatar-size-24{height:24px;width:24px;font-size:11px}.avatar-size-24 img,.avatar-size-24 div{height:24px;width:24px}.avatar-size-28{height:28px;width:28px;font-size:11px}.avatar-size-28 img,.avatar-size-28 div{height:28px;width:28px}.avatar-size-32{height:32px;width:32px;font-size:11px}.avatar-size-32 img,.avatar-size-32 div{height:32px;width:32px}.avatar-size-44{height:44px;width:44px;font-size:14px}.avatar-size-44 img,.avatar-size-44 div{height:44px;width:44px}.avatar-size-64{height:64px;width:64px;font-size:16px}.avatar-size-64 img,.avatar-size-64 div{height:64px;width:64px}.avatar-size-128{height:128px;width:128px;font-size:28px}.avatar-size-128 img,.avatar-size-128 div{height:128px;width:128px}.avatar-size-200{height:200px;width:200px;font-size:35px}.avatar-size-200 img,.avatar-size-200 div{height:200px;width:200px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
42
42
|
}
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
|
-
args: [{ selector: 'teta-avatar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"avatar\">\n <img [class]=\"'avatar_' + this.viewType\" *ngIf=\"photo;else withoutPhoto\" [src]=\"photo\" alt=\"\"/>\n <ng-template #withoutPhoto>\n <div [class]=\"'avatar_' + this.viewType\" [style.background-color]=\"colorMap.get(id%17)||colorMap.get(0)\"\n class=\"column align-center justify-content-center position-relative\">\n <ng-container *ngIf=\"name;else withoutName\">\n <p>{{name}}</p>\n </ng-container>\n <ng-template #withoutName>\n <teta-icon class=\"width-10 height-10\" style=\"fill: white;width:{{size}}px; height:{{size}}px\"\n name=\"photoCamera\"></teta-icon>\n </ng-template>\n <div [class]=\"'avatar_' + this.viewType\" class=\"position-absolute\"\n style=\"width: 100%;z-index:1;height: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 100%);'\"></div>\n </div>\n </ng-template>\n\n</div>\n", styles: [".avatar{font-style:normal;font-weight:600;line-height:16px}.avatar_brick{border-radius:var(--radius-base-brick)}.avatar_circle{border-radius:var(--radius-base-circle)
|
|
45
|
+
args: [{ selector: 'teta-avatar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"avatar\">\n <img [class]=\"'avatar_' + this.viewType\" *ngIf=\"photo;else withoutPhoto\" [src]=\"photo\" alt=\"\"/>\n <ng-template #withoutPhoto>\n <div [class]=\"'avatar_' + this.viewType\" [style.background-color]=\"colorMap.get(id%17)||colorMap.get(0)\"\n class=\"column align-center justify-content-center position-relative\">\n <ng-container *ngIf=\"name;else withoutName\">\n <p>{{name}}</p>\n </ng-container>\n <ng-template #withoutName>\n <teta-icon class=\"width-10 height-10\" style=\"fill: white;width:{{size}}px; height:{{size}}px\"\n name=\"photoCamera\"></teta-icon>\n </ng-template>\n <div [class]=\"'avatar_' + this.viewType\" class=\"position-absolute\"\n style=\"width: 100%;z-index:1;height: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 100%);'\"></div>\n </div>\n </ng-template>\n\n</div>\n", styles: [".avatar{font-style:normal;font-weight:600;line-height:16px}.avatar_brick{border-radius:var(--radius-base-brick)}.avatar_circle{border-radius:var(--radius-base-circle)}.avatar_rounded{border-radius:var(--radius-base-round)}.avatar-size-24{height:24px;width:24px;font-size:11px}.avatar-size-24 img,.avatar-size-24 div{height:24px;width:24px}.avatar-size-28{height:28px;width:28px;font-size:11px}.avatar-size-28 img,.avatar-size-28 div{height:28px;width:28px}.avatar-size-32{height:32px;width:32px;font-size:11px}.avatar-size-32 img,.avatar-size-32 div{height:32px;width:32px}.avatar-size-44{height:44px;width:44px;font-size:14px}.avatar-size-44 img,.avatar-size-44 div{height:44px;width:44px}.avatar-size-64{height:64px;width:64px;font-size:16px}.avatar-size-64 img,.avatar-size-64 div{height:64px;width:64px}.avatar-size-128{height:128px;width:128px;font-size:28px}.avatar-size-128 img,.avatar-size-128 div{height:128px;width:128px}.avatar-size-200{height:200px;width:200px;font-size:35px}.avatar-size-200 img,.avatar-size-200 div{height:200px;width:200px}\n"] }]
|
|
46
46
|
}], ctorParameters: function () { return []; }, propDecorators: { photo: [{
|
|
47
47
|
type: Input
|
|
48
48
|
}], name: [{
|
|
@@ -121,6 +121,18 @@ export class BaseCalendar {
|
|
|
121
121
|
selectDate(date) {
|
|
122
122
|
this.setDate.emit(date);
|
|
123
123
|
}
|
|
124
|
+
scrollMonth = (e, month, year) => {
|
|
125
|
+
const delta = e?.deltaY ?? e;
|
|
126
|
+
if (e instanceof WheelEvent) {
|
|
127
|
+
e.preventDefault();
|
|
128
|
+
}
|
|
129
|
+
if (delta > 0) {
|
|
130
|
+
this.changeMonth(month - 1, year);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
this.changeMonth(month + 1, year);
|
|
134
|
+
}
|
|
135
|
+
};
|
|
124
136
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BaseCalendar, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
125
137
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: BaseCalendar, selector: "ng-component", usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
126
138
|
}
|
|
@@ -131,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
131
143
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
132
144
|
}]
|
|
133
145
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jYWxlbmRhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvZGF0ZS1waWNrZXIvYmFzZS1jYWxlbmRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsR0FLVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPN0MsTUFBTSxPQUFnQixZQUFZO0lBa0RBO0lBekN6QixZQUFZLEdBQTBCLElBQUksYUFBYSxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sR0FDWCxJQUFJLGFBQWEsQ0FBa0IsQ0FBQyxDQUFDLENBQUM7SUFDakMsV0FBVyxHQUEwQixJQUFJLGFBQWEsQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUNsRSxjQUFjLEdBQ25CLElBQUksZUFBZSxDQUEyQixLQUFLLENBQUMsQ0FBQztJQUloRCxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUU7U0FDNUIsR0FBRyxDQUFDLElBQUksRUFBRTtRQUNULFFBQVE7UUFDUixTQUFTO1FBQ1QsTUFBTTtRQUNOLFFBQVE7UUFDUixLQUFLO1FBQ0wsTUFBTTtRQUNOLE1BQU07UUFDTixRQUFRO1FBQ1IsVUFBVTtRQUNWLFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztLQUNWLENBQUM7U0FDRCxHQUFHLENBQUMsSUFBSSxFQUFFO1FBQ1QsU0FBUztRQUNULFVBQVU7UUFDVixPQUFPO1FBQ1AsT0FBTztRQUNQLEtBQUs7UUFDTCxNQUFNO1FBQ04sTUFBTTtRQUNOLFFBQVE7UUFDUixXQUFXO1FBQ1gsU0FBUztRQUNULFVBQVU7UUFDVixVQUFVO0tBQ1gsQ0FBQyxDQUFDO0lBRUUsS0FB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QUFJLENBQUMscUJBQXFCLENBQ2xFLEtBQUssRUFDTCxJQUFJLENBQ0wsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFhLEVBQUUsSUFBWTtRQUMvQyxJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUU7WUFDZCxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUNoRTtRQUNELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNiLE9BQU8sRUFBRSxjQUFjLEVBQUUsRUFBRSxHQUFHLEtBQUssRUFBRSxhQUFhLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1NBQ2hFO1FBQ0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVU7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQzt1R0EvSm1CLFlBQVk7MkZBQVosWUFBWSx5RUFIdEIsRUFBRTs7MkZBR1EsWUFBWTtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMsIHsgRGF5anMgfSBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdmlld1R5cGUgfSBmcm9tICcuLi8uLi9jb21tb24vbW9kZWwvdmlldy10eXBlLm1vZGVsJztcbmltcG9ydCB7IERheU1vZGVsIH0gZnJvbSAnLi9tb2RlbC9kYXktbW9kZWwnO1xuaW1wb3J0IHsgTWluTWF4RGF0ZU1vZGVsIH0gZnJvbSAnLi9tb2RlbC9taW4tbWF4LWRhdGUubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNhbGVuZGFyIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBhYnN0cmFjdCBzZWxlY3RlZERhdGU7XG4gIGFic3RyYWN0IGxvY2FsZTogc3RyaW5nO1xuICBhYnN0cmFjdCBvcGVuOiBib29sZWFuO1xuICBhYnN0cmFjdCB2aWV3VHlwZTogdmlld1R5cGU7XG4gIGFic3RyYWN0IG1pbjogRGF0ZSB8IHN0cmluZyB8IG51bWJlcjtcbiAgYWJzdHJhY3QgaXNEYXRlTnVsbDogYm9vbGVhbjtcbiAgYWJzdHJhY3QgbWF4OiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyO1xuICBhYnN0cmFjdCBzZXREYXRlOiBFdmVudEVtaXR0ZXI8RGF0ZT47XG4gIHB1YmxpYyBjdXJyZW50TW9udGg6IFJlcGxheVN1YmplY3Q8bnVtYmVyPiA9IG5ldyBSZXBsYXlTdWJqZWN0PG51bWJlcj4oMSk7XG4gIHB1YmxpYyBtaW5NYXg6IFJlcGxheVN1YmplY3Q8TWluTWF4RGF0ZU1vZGVsPiA9XG4gICAgbmV3IFJlcGxheVN1YmplY3Q8TWluTWF4RGF0ZU1vZGVsPigxKTtcbiAgcHVibGljIGN1cnJlbnRZZWFyOiBSZXBsYXlTdWJqZWN0PG51bWJlcj4gPSBuZXcgUmVwbGF5U3ViamVjdDxudW1iZXI+KDEpO1xuICBwdWJsaWMgc2VsZWN0ZWRQaWNrZXI6IEJlaGF2aW9yU3ViamVjdDwnZGF5JyB8ICdtb250aCcgfCAneWVhcic+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PCdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJz4oJ2RheScpO1xuICBhYnN0cmFjdCBjYWxlbmRhcjpcbiAgICB8IERheU1vZGVsW11cbiAgICB8IHsgY3VycmVudE1vbnRoOiBEYXlNb2RlbFtdOyBuZXh0TW9udGg6IERheU1vZGVsW10gfTtcbiAgcHVibGljIGxvY2FsZU1vbnRocyA9IG5ldyBNYXAoKVxuICAgIC5zZXQoJ3J1JywgW1xuICAgICAgJ9Cv0L3QstCw0YDRjCcsXG4gICAgICAn0KTQtdCy0YDQsNC70YwnLFxuICAgICAgJ9Cc0LDRgNGCJyxcbiAgICAgICfQkNC/0YDQtdC70YwnLFxuICAgICAgJ9Cc0LDQuScsXG4gICAgICAn0JjRjtC90YwnLFxuICAgICAgJ9CY0Y7Qu9GMJyxcbiAgICAgICfQkNCy0LPRg9GB0YInLFxuICAgICAgJ9Ch0LXQvdGC0Y/QsdGA0YwnLFxuICAgICAgJ9Ce0LrRgtGP0LHRgNGMJyxcbiAgICAgICfQndC+0Y/QsdGA0YwnLFxuICAgICAgJ9CU0LXQutCw0LHRgNGMJyxcbiAgICBdKVxuICAgIC5zZXQoJ2VuJywgW1xuICAgICAgJ0phbnVhcnknLFxuICAgICAgJ0ZlYnJ1YXJ5JyxcbiAgICAgICdNYXJjaCcsXG4gICAgICAnQXByaWwnLFxuICAgICAgJ01heScsXG4gICAgICAnSnVuZScsXG4gICAgICAnSnVseScsXG4gICAgICAnQXVndXN0JyxcbiAgICAgICdTZXB0ZW1iZXInLFxuICAgICAgJ09jdG9iZXInLFxuICAgICAgJ05vdmVtYmVyJyxcbiAgICAgICdEZWNlbWJlcicsXG4gICAgXSk7XG5cbiAgcHVibGljIGFsaXZlID0gdHJ1ZTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIGdlbmVyYXRlQ2FsZW5kYXIoXG4gICAgc2VsZWN0ZWREYXRlOiBEYXlqcyxcbiAgICB5ZWFyOiBudW1iZXIsXG4gICAgbW9udGg6IG51bWJlcixcbiAgICBtaW5NYXg6IE1pbk1heERhdGVNb2RlbFxuICApOiBEYXlNb2RlbFtdIHtcbiAgICBjb25zdCBjYWxlbmRhclN0YXJ0RGF5ID0gc2VsZWN0ZWREYXRlXG4gICAgICAuc2V0KCd5ZWFyJywgeWVhcilcbiAgICAgIC5zZXQoJ21vbnRoJywgbW9udGgpXG4gICAgICAuc2V0KCdkYXRlJywgMSlcbiAgICAgIC5zdGFydE9mKCd3ZWVrJyk7XG4gICAgY29uc3QgY2FsZW5kYXIgPSBuZXcgQXJyYXkoNDIpLmZpbGwoMSkubWFwKCh2LCBpKSA9PiB7XG4gICAgICByZXR1cm4gY2FsZW5kYXJTdGFydERheS5hZGQoaSwgJ2RheScpO1xuICAgIH0pO1xuICAgIHJldHVybiBjYWxlbmRhci5tYXAoZCA9PiB7XG4gICAgICByZXR1cm4gbmV3IERheU1vZGVsKHtcbiAgICAgICAgZGF0ZTogbmV3IERhdGUoZC50b0RhdGUoKSksXG4gICAgICAgIGlzQ3VycmVudE1vbnRoOiBtb250aCA9PT0gZC5tb250aCgpLFxuICAgICAgICBkaXNhYmxlZDpcbiAgICAgICAgICAhdGhpcy5pc1N1aXRhYmxlTWluRGF0ZShkLnRvRGF0ZSgpLCBtaW5NYXgubWluKSB8fFxuICAgICAgICAgICF0aGlzLmlzU3VpdGFibGVNYXhEYXRlKGQudG9EYXRlKCksIG1pbk1heC5tYXgpLFxuICAgICAgICBzZWxlY3RlZDogdGhpcy5pc1NlbGVjdGVkKGQudG9EYXRlKCksIHNlbGVjdGVkRGF0ZS50b0RhdGUoKSksXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGlzU3VpdGFibGVNaW5EYXRlKGQ6IERhdGUsIG1pbkRhdGU6IERhdGUgfCBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgZGF5anMobmV3IERhdGUobWluRGF0ZSkpLnN0YXJ0T2YoJ2RhdGUnKS50b0RhdGUoKSA8PSBuZXcgRGF0ZShkKSB8fFxuICAgICAgbWluRGF0ZSA9PT0gbnVsbFxuICAgICk7XG4gIH1cblxuICBpc1N1aXRhYmxlTWF4RGF0ZShkOiBEYXRlLCBtYXhEYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIG5ldyBEYXRlKGQpIDwgZGF5anMobmV3IERhdGUobWF4RGF0ZSkpLmVuZE9mKCdkYXRlJykudG9EYXRlKCkgfHxcbiAgICAgIG1heERhdGUgPT09IG51bGxcbiAgICApO1xuICB9XG5cbiAgaXNTZWxlY3RlZChkYXRlOiBEYXRlLCBzZWxlY3RlZERhdGU6IERhdGUpIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkRGF0ZSA9IGRhdGUuZ2V0RGF0ZSgpID09PSBzZWxlY3RlZERhdGU/LmdldERhdGUoKTtcbiAgICBjb25zdCBpc1NlbGVjdGVkWWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gc2VsZWN0ZWREYXRlPy5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKSA9PT0gc2VsZWN0ZWREYXRlPy5nZXRNb250aCgpO1xuICAgIHJldHVybiAoXG4gICAgICBpc1NlbGVjdGVkRGF0ZSAmJiBpc1NlbGVjdGVkTW9udGggJiYgaXNTZWxlY3RlZFllYXIgJiYgIXRoaXMuaXNEYXRlTnVsbFxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFsaXZlID0gZmFsc2U7XG4gIH1cblxuICBzZWxlY3RQaWNrZXIoZW50aXR5OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicpIHtcbiAgICB0aGlzLnNlbGVjdGVkUGlja2VyLm5leHQoZW50aXR5KTtcbiAgfVxuXG4gIHNlbGVjdE1vbnRoKG1vbnRoOiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRNb250aC5uZXh0KG1vbnRoKTtcbiAgICB0aGlzLnNlbGVjdFBpY2tlcignZGF5Jyk7XG4gIH1cblxuICBzZWxlY3RZZWFyKHllYXI6IG51bWJlcikge1xuICAgIHRoaXMuc2V0WWVhcih5ZWFyKTtcbiAgICB0aGlzLnNlbGVjdFBpY2tlcignZGF5Jyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VDYWxlbmRhckRhdGEodGhpcy5zZWxlY3RlZERhdGUpO1xuICB9XG5cbiAgY2hhbmdlQ2FsZW5kYXJEYXRhKHNlbGVjdGVkRGF0ZTogRGF0ZSB8IG51bWJlciB8IHN0cmluZykge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShzZWxlY3RlZERhdGUgfHwgbmV3IERhdGUoKSk7XG4gICAgdGhpcy5jdXJyZW50TW9udGgubmV4dChuZXcgRGF0ZShkYXRlKS5nZXRNb250aCgpKTtcbiAgICB0aGlzLmN1cnJlbnRZZWFyLm5leHQobmV3IERhdGUoZGF0ZSkuZ2V0RnVsbFllYXIoKSk7XG4gICAgdGhpcy5taW5NYXgubmV4dCh7IG1pbjogdGhpcy5taW4sIG1heDogdGhpcy5tYXggfSk7XG4gIH1cblxuICBzZXRZZWFyKHllYXI6IG51bWJlcikge1xuICAgIHRoaXMuY3VycmVudFllYXIubmV4dCh5ZWFyKTtcbiAgfVxuXG4gIGNoYW5nZU1vbnRoKG1vbnRoOiBudW1iZXIsIHllYXI6IG51bWJlcikge1xuICAgIGNvbnN0IHsgYXZhaWxhYmxlWWVhciwgYXZhaWxhYmxlTW9udGggfSA9IHRoaXMuZ2V0QXZhaWxhYmxlTW9udGhZZWFyKFxuICAgICAgbW9udGgsXG4gICAgICB5ZWFyXG4gICAgKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aC5uZXh0KGF2YWlsYWJsZU1vbnRoKTtcbiAgICB0aGlzLmN1cnJlbnRZZWFyLm5leHQoYXZhaWxhYmxlWWVhcik7XG4gIH1cblxuICBnZXRBdmFpbGFibGVNb250aFllYXIobW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyKSB7XG4gICAgaWYgKG1vbnRoID4gMTEpIHtcbiAgICAgIHJldHVybiB7IGF2YWlsYWJsZU1vbnRoOiBtb250aCAtIDEyLCBhdmFpbGFibGVZZWFyOiB5ZWFyICsgMSB9O1xuICAgIH1cbiAgICBpZiAobW9udGggPCAwKSB7XG4gICAgICByZXR1cm4geyBhdmFpbGFibGVNb250aDogMTIgKyBtb250aCwgYXZhaWxhYmxlWWVhcjogeWVhciAtIDEgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYXZhaWxhYmxlTW9udGg6IG1vbnRoLCBhdmFpbGFibGVZZWFyOiB5ZWFyIH07XG4gIH1cblxuICBnZXRNb3RoTmFtZShtb250aDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxlTW9udGhzLmdldCh0aGlzLmxvY2FsZSlbbW9udGhdO1xuICB9XG5cbiAgc2VsZWN0RGF0ZShkYXRlOiBEYXRlKSB7XG4gICAgdGhpcy5zZXREYXRlLmVtaXQoZGF0ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jYWxlbmRhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvZGF0ZS1waWNrZXIvYmFzZS1jYWxlbmRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsR0FLVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPN0MsTUFBTSxPQUFnQixZQUFZO0lBa0RBO0lBekN6QixZQUFZLEdBQTBCLElBQUksYUFBYSxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sR0FDWCxJQUFJLGFBQWEsQ0FBa0IsQ0FBQyxDQUFDLENBQUM7SUFDakMsV0FBVyxHQUEwQixJQUFJLGFBQWEsQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUNsRSxjQUFjLEdBQ25CLElBQUksZUFBZSxDQUEyQixLQUFLLENBQUMsQ0FBQztJQUloRCxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUU7U0FDNUIsR0FBRyxDQUFDLElBQUksRUFBRTtRQUNULFFBQVE7UUFDUixTQUFTO1FBQ1QsTUFBTTtRQUNOLFFBQVE7UUFDUixLQUFLO1FBQ0wsTUFBTTtRQUNOLE1BQU07UUFDTixRQUFRO1FBQ1IsVUFBVTtRQUNWLFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztLQUNWLENBQUM7U0FDRCxHQUFHLENBQUMsSUFBSSxFQUFFO1FBQ1QsU0FBUztRQUNULFVBQVU7UUFDVixPQUFPO1FBQ1AsT0FBTztRQUNQLEtBQUs7UUFDTCxNQUFNO1FBQ04sTUFBTTtRQUNOLFFBQVE7UUFDUixXQUFXO1FBQ1gsU0FBUztRQUNULFVBQVU7UUFDVixVQUFVO0tBQ1gsQ0FBQyxDQUFDO0lBRUUsS0FB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QUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQyxDQUFDO3VHQTFLa0IsWUFBWTsyRkFBWixZQUFZLHlFQUh0QixFQUFFOzsyRkFHUSxZQUFZO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcywgeyBEYXlqcyB9IGZyb20gJ2RheWpzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB2aWV3VHlwZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbC92aWV3LXR5cGUubW9kZWwnO1xuaW1wb3J0IHsgRGF5TW9kZWwgfSBmcm9tICcuL21vZGVsL2RheS1tb2RlbCc7XG5pbXBvcnQgeyBNaW5NYXhEYXRlTW9kZWwgfSBmcm9tICcuL21vZGVsL21pbi1tYXgtZGF0ZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ2FsZW5kYXIgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIGFic3RyYWN0IHNlbGVjdGVkRGF0ZTtcbiAgYWJzdHJhY3QgbG9jYWxlOiBzdHJpbmc7XG4gIGFic3RyYWN0IG9wZW46IGJvb2xlYW47XG4gIGFic3RyYWN0IHZpZXdUeXBlOiB2aWV3VHlwZTtcbiAgYWJzdHJhY3QgbWluOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyO1xuICBhYnN0cmFjdCBpc0RhdGVOdWxsOiBib29sZWFuO1xuICBhYnN0cmFjdCBtYXg6IERhdGUgfCBzdHJpbmcgfCBudW1iZXI7XG4gIGFic3RyYWN0IHNldERhdGU6IEV2ZW50RW1pdHRlcjxEYXRlPjtcbiAgcHVibGljIGN1cnJlbnRNb250aDogUmVwbGF5U3ViamVjdDxudW1iZXI+ID0gbmV3IFJlcGxheVN1YmplY3Q8bnVtYmVyPigxKTtcbiAgcHVibGljIG1pbk1heDogUmVwbGF5U3ViamVjdDxNaW5NYXhEYXRlTW9kZWw+ID1cbiAgICBuZXcgUmVwbGF5U3ViamVjdDxNaW5NYXhEYXRlTW9kZWw+KDEpO1xuICBwdWJsaWMgY3VycmVudFllYXI6IFJlcGxheVN1YmplY3Q8bnVtYmVyPiA9IG5ldyBSZXBsYXlTdWJqZWN0PG51bWJlcj4oMSk7XG4gIHB1YmxpYyBzZWxlY3RlZFBpY2tlcjogQmVoYXZpb3JTdWJqZWN0PCdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJz4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8J2RheScgfCAnbW9udGgnIHwgJ3llYXInPignZGF5Jyk7XG4gIGFic3RyYWN0IGNhbGVuZGFyOlxuICAgIHwgRGF5TW9kZWxbXVxuICAgIHwgeyBjdXJyZW50TW9udGg6IERheU1vZGVsW107IG5leHRNb250aDogRGF5TW9kZWxbXSB9O1xuICBwdWJsaWMgbG9jYWxlTW9udGhzID0gbmV3IE1hcCgpXG4gICAgLnNldCgncnUnLCBbXG4gICAgICAn0K/QvdCy0LDRgNGMJyxcbiAgICAgICfQpNC10LLRgNCw0LvRjCcsXG4gICAgICAn0JzQsNGA0YInLFxuICAgICAgJ9CQ0L/RgNC10LvRjCcsXG4gICAgICAn0JzQsNC5JyxcbiAgICAgICfQmNGO0L3RjCcsXG4gICAgICAn0JjRjtC70YwnLFxuICAgICAgJ9CQ0LLQs9GD0YHRgicsXG4gICAgICAn0KHQtdC90YLRj9Cx0YDRjCcsXG4gICAgICAn0J7QutGC0Y/QsdGA0YwnLFxuICAgICAgJ9Cd0L7Rj9Cx0YDRjCcsXG4gICAgICAn0JTQtdC60LDQsdGA0YwnLFxuICAgIF0pXG4gICAgLnNldCgnZW4nLCBbXG4gICAgICAnSmFudWFyeScsXG4gICAgICAnRmVicnVhcnknLFxuICAgICAgJ01hcmNoJyxcbiAgICAgICdBcHJpbCcsXG4gICAgICAnTWF5JyxcbiAgICAgICdKdW5lJyxcbiAgICAgICdKdWx5JyxcbiAgICAgICdBdWd1c3QnLFxuICAgICAgJ1NlcHRlbWJlcicsXG4gICAgICAnT2N0b2JlcicsXG4gICAgICAnTm92ZW1iZXInLFxuICAgICAgJ0RlY2VtYmVyJyxcbiAgICBdKTtcblxuICBwdWJsaWMgYWxpdmUgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2VuZXJhdGVDYWxlbmRhcihcbiAgICBzZWxlY3RlZERhdGU6IERheWpzLFxuICAgIHllYXI6IG51bWJlcixcbiAgICBtb250aDogbnVtYmVyLFxuICAgIG1pbk1heDogTWluTWF4RGF0ZU1vZGVsXG4gICk6IERheU1vZGVsW10ge1xuICAgIGNvbnN0IGNhbGVuZGFyU3RhcnREYXkgPSBzZWxlY3RlZERhdGVcbiAgICAgIC5zZXQoJ3llYXInLCB5ZWFyKVxuICAgICAgLnNldCgnbW9udGgnLCBtb250aClcbiAgICAgIC5zZXQoJ2RhdGUnLCAxKVxuICAgICAgLnN0YXJ0T2YoJ3dlZWsnKTtcbiAgICBjb25zdCBjYWxlbmRhciA9IG5ldyBBcnJheSg0MikuZmlsbCgxKS5tYXAoKHYsIGkpID0+IHtcbiAgICAgIHJldHVybiBjYWxlbmRhclN0YXJ0RGF5LmFkZChpLCAnZGF5Jyk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGNhbGVuZGFyLm1hcChkID0+IHtcbiAgICAgIHJldHVybiBuZXcgRGF5TW9kZWwoe1xuICAgICAgICBkYXRlOiBuZXcgRGF0ZShkLnRvRGF0ZSgpKSxcbiAgICAgICAgaXNDdXJyZW50TW9udGg6IG1vbnRoID09PSBkLm1vbnRoKCksXG4gICAgICAgIGRpc2FibGVkOlxuICAgICAgICAgICF0aGlzLmlzU3VpdGFibGVNaW5EYXRlKGQudG9EYXRlKCksIG1pbk1heC5taW4pIHx8XG4gICAgICAgICAgIXRoaXMuaXNTdWl0YWJsZU1heERhdGUoZC50b0RhdGUoKSwgbWluTWF4Lm1heCksXG4gICAgICAgIHNlbGVjdGVkOiB0aGlzLmlzU2VsZWN0ZWQoZC50b0RhdGUoKSwgc2VsZWN0ZWREYXRlLnRvRGF0ZSgpKSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgaXNTdWl0YWJsZU1pbkRhdGUoZDogRGF0ZSwgbWluRGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlcikge1xuICAgIHJldHVybiAoXG4gICAgICBkYXlqcyhuZXcgRGF0ZShtaW5EYXRlKSkuc3RhcnRPZignZGF0ZScpLnRvRGF0ZSgpIDw9IG5ldyBEYXRlKGQpIHx8XG4gICAgICBtaW5EYXRlID09PSBudWxsXG4gICAgKTtcbiAgfVxuXG4gIGlzU3VpdGFibGVNYXhEYXRlKGQ6IERhdGUsIG1heERhdGU6IERhdGUgfCBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgbmV3IERhdGUoZCkgPCBkYXlqcyhuZXcgRGF0ZShtYXhEYXRlKSkuZW5kT2YoJ2RhdGUnKS50b0RhdGUoKSB8fFxuICAgICAgbWF4RGF0ZSA9PT0gbnVsbFxuICAgICk7XG4gIH1cblxuICBpc1NlbGVjdGVkKGRhdGU6IERhdGUsIHNlbGVjdGVkRGF0ZTogRGF0ZSkge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWREYXRlID0gZGF0ZS5nZXREYXRlKCkgPT09IHNlbGVjdGVkRGF0ZT8uZ2V0RGF0ZSgpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWRZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpID09PSBzZWxlY3RlZERhdGU/LmdldEZ1bGxZZWFyKCk7XG4gICAgY29uc3QgaXNTZWxlY3RlZE1vbnRoID0gZGF0ZS5nZXRNb250aCgpID09PSBzZWxlY3RlZERhdGU/LmdldE1vbnRoKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIGlzU2VsZWN0ZWREYXRlICYmIGlzU2VsZWN0ZWRNb250aCAmJiBpc1NlbGVjdGVkWWVhciAmJiAhdGhpcy5pc0RhdGVOdWxsXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHNlbGVjdFBpY2tlcihlbnRpdHk6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJykge1xuICAgIHRoaXMuc2VsZWN0ZWRQaWNrZXIubmV4dChlbnRpdHkpO1xuICB9XG5cbiAgc2VsZWN0TW9udGgobW9udGg6IG51bWJlcikge1xuICAgIHRoaXMuY3VycmVudE1vbnRoLm5leHQobW9udGgpO1xuICAgIHRoaXMuc2VsZWN0UGlja2VyKCdkYXknKTtcbiAgfVxuXG4gIHNlbGVjdFllYXIoeWVhcjogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRZZWFyKHllYXIpO1xuICAgIHRoaXMuc2VsZWN0UGlja2VyKCdkYXknKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZUNhbGVuZGFyRGF0YSh0aGlzLnNlbGVjdGVkRGF0ZSk7XG4gIH1cblxuICBjaGFuZ2VDYWxlbmRhckRhdGEoc2VsZWN0ZWREYXRlOiBEYXRlIHwgbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHNlbGVjdGVkRGF0ZSB8fCBuZXcgRGF0ZSgpKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aC5uZXh0KG5ldyBEYXRlKGRhdGUpLmdldE1vbnRoKCkpO1xuICAgIHRoaXMuY3VycmVudFllYXIubmV4dChuZXcgRGF0ZShkYXRlKS5nZXRGdWxsWWVhcigpKTtcbiAgICB0aGlzLm1pbk1heC5uZXh0KHsgbWluOiB0aGlzLm1pbiwgbWF4OiB0aGlzLm1heCB9KTtcbiAgfVxuXG4gIHNldFllYXIoeWVhcjogbnVtYmVyKSB7XG4gICAgdGhpcy5jdXJyZW50WWVhci5uZXh0KHllYXIpO1xuICB9XG5cbiAgY2hhbmdlTW9udGgobW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyKSB7XG4gICAgY29uc3QgeyBhdmFpbGFibGVZZWFyLCBhdmFpbGFibGVNb250aCB9ID0gdGhpcy5nZXRBdmFpbGFibGVNb250aFllYXIoXG4gICAgICBtb250aCxcbiAgICAgIHllYXJcbiAgICApO1xuICAgIHRoaXMuY3VycmVudE1vbnRoLm5leHQoYXZhaWxhYmxlTW9udGgpO1xuICAgIHRoaXMuY3VycmVudFllYXIubmV4dChhdmFpbGFibGVZZWFyKTtcbiAgfVxuXG4gIGdldEF2YWlsYWJsZU1vbnRoWWVhcihtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIpIHtcbiAgICBpZiAobW9udGggPiAxMSkge1xuICAgICAgcmV0dXJuIHsgYXZhaWxhYmxlTW9udGg6IG1vbnRoIC0gMTIsIGF2YWlsYWJsZVllYXI6IHllYXIgKyAxIH07XG4gICAgfVxuICAgIGlmIChtb250aCA8IDApIHtcbiAgICAgIHJldHVybiB7IGF2YWlsYWJsZU1vbnRoOiAxMiArIG1vbnRoLCBhdmFpbGFibGVZZWFyOiB5ZWFyIC0gMSB9O1xuICAgIH1cbiAgICByZXR1cm4geyBhdmFpbGFibGVNb250aDogbW9udGgsIGF2YWlsYWJsZVllYXI6IHllYXIgfTtcbiAgfVxuXG4gIGdldE1vdGhOYW1lKG1vbnRoOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5sb2NhbGVNb250aHMuZ2V0KHRoaXMubG9jYWxlKVttb250aF07XG4gIH1cblxuICBzZWxlY3REYXRlKGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLnNldERhdGUuZW1pdChkYXRlKTtcbiAgfVxuICBzY3JvbGxNb250aCA9IChlOiBhbnksIG1vbnRoOiBudW1iZXIsIHllYXI6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGRlbHRhID0gZT8uZGVsdGFZID8/IGU7XG4gICAgaWYgKGUgaW5zdGFuY2VvZiBXaGVlbEV2ZW50KSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIGlmIChkZWx0YSA+IDApIHtcbiAgICAgIHRoaXMuY2hhbmdlTW9udGgobW9udGggLSAxLCB5ZWFyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jaGFuZ2VNb250aChtb250aCArIDEsIHllYXIpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -33,11 +33,11 @@ export class DateCalendarComponent extends BaseCalendar {
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DateCalendarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: DateCalendarComponent, selector: "teta-date-calendar", inputs: { selectedDate: "selectedDate", locale: "locale", open: "open", viewType: "viewType", min: "min", isDateNull: "isDateNull", max: "max" }, outputs: { setDate: "setDate" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"padding-h-3 padding-v-2\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 \">\n <button [class]=\"'datepicker_'+viewType \" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('month')\"> {{getMothName(data.currentMonth)}}</button>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [viewType]=\"viewType\" (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar\"></teta-day-picker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='month'\">\n <teta-month-picker [localeMoths]=\"localeMonths\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\" [locale]=\"locale\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='year'\">\n <teta-year-picker [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n </ng-container>\n</div>\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: i4.DayPickerComponent, selector: "teta-day-picker", inputs: ["date", "calendar", "viewType", "range", "min", "max", "locale", "hoveredDate"], outputs: ["hoveredDateChange", "selectDate"] }, { kind: "component", type: i5.MonthPickerComponent, selector: "teta-month-picker", inputs: ["locale", "selectedMonth", "viewType", "currentYear", "localeMoths"], outputs: ["selectMonth", "changeYear"] }, { kind: "component", type: i6.YearPickerComponent, selector: "teta-year-picker", inputs: ["selectedYear", "viewType", "minMax", "locale"], outputs: ["selectYear"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
36
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: DateCalendarComponent, selector: "teta-date-calendar", inputs: { selectedDate: "selectedDate", locale: "locale", open: "open", viewType: "viewType", min: "min", isDateNull: "isDateNull", max: "max" }, outputs: { setDate: "setDate" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"padding-h-3 padding-v-2\" (wheel)=\"scrollMonth($event,data.currentMonth,data.currentYear)\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 \">\n <button [class]=\"'datepicker_'+viewType \" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('month')\"> {{getMothName(data.currentMonth)}}</button>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [viewType]=\"viewType\" (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar\"></teta-day-picker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='month'\">\n <teta-month-picker [localeMoths]=\"localeMonths\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\" [locale]=\"locale\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='year'\">\n <teta-year-picker [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n </ng-container>\n</div>\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: i4.DayPickerComponent, selector: "teta-day-picker", inputs: ["date", "calendar", "viewType", "range", "min", "max", "locale", "hoveredDate"], outputs: ["hoveredDateChange", "selectDate"] }, { kind: "component", type: i5.MonthPickerComponent, selector: "teta-month-picker", inputs: ["locale", "selectedMonth", "viewType", "currentYear", "localeMoths"], outputs: ["selectMonth", "changeYear"] }, { kind: "component", type: i6.YearPickerComponent, selector: "teta-year-picker", inputs: ["selectedYear", "viewType", "minMax", "locale"], outputs: ["selectYear"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
37
37
|
}
|
|
38
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DateCalendarComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
|
-
args: [{ selector: 'teta-date-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"padding-h-3 padding-v-2\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 \">\n <button [class]=\"'datepicker_'+viewType \" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('month')\"> {{getMothName(data.currentMonth)}}</button>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [viewType]=\"viewType\" (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar\"></teta-day-picker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='month'\">\n <teta-month-picker [localeMoths]=\"localeMonths\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\" [locale]=\"locale\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='year'\">\n <teta-year-picker [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n </ng-container>\n</div>\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"] }]
|
|
40
|
+
args: [{ selector: 'teta-date-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"padding-h-3 padding-v-2\" (wheel)=\"scrollMonth($event,data.currentMonth,data.currentYear)\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 \">\n <button [class]=\"'datepicker_'+viewType \" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('month')\"> {{getMothName(data.currentMonth)}}</button>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [viewType]=\"viewType\" (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar\"></teta-day-picker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='month'\">\n <teta-month-picker [localeMoths]=\"localeMonths\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\" [locale]=\"locale\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='year'\">\n <teta-year-picker [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n </ng-container>\n</div>\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"] }]
|
|
41
41
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedDate: [{
|
|
42
42
|
type: Input
|
|
43
43
|
}], locale: [{
|
|
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
55
55
|
}], setDate: [{
|
|
56
56
|
type: Output
|
|
57
57
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtY2FsZW5kYXIvZGF0ZS1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtY2FsZW5kYXIvZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBU25ELE1BQU0sT0FBTyxxQkFDWCxTQUFRLFlBQVk7SUFZQztJQVRaLFlBQVksR0FBMkIsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNsRCxNQUFNLENBQVM7SUFDZixJQUFJLENBQVU7SUFDZCxRQUFRLENBQVc7SUFDbkIsR0FBRyxDQUF5QjtJQUM1QixVQUFVLENBQVU7SUFDcEIsR0FBRyxDQUF5QjtJQUMzQixPQUFPLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFDMUQsUUFBUSxHQUFlLEVBQUUsQ0FBQztJQUNqQyxZQUFxQixJQUF1QjtRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFETyxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUUxQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM5RCxJQUFJLENBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDM0IsTUFBTSxDQUNKLENBQUMsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUM5QixZQUFZLEtBQUssSUFBSSxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQ2hELEVBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQzFCLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUN0RCxJQUFJLEVBQ0osS0FBSyxFQUNMLE1BQU0sQ0FDUCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBbkNVLHFCQUFxQjsyRkFBckIscUJBQXFCLG9RQ3ZCbEMsNDZFQTBDQTs7MkZEbkJhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTt3R0FNdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB2aWV3VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9tb2RlbC92aWV3LXR5cGUubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNhbGVuZGFyIH0gZnJvbSAnLi4vLi4vYmFzZS1jYWxlbmRhcic7XG5pbXBvcnQgeyBEYXlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL2RheS1tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtZGF0ZS1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZUNhbGVuZGFyQ29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZUNhbGVuZGFyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyID0gbmV3IERhdGUoKTtcbiAgQElucHV0KCkgbG9jYWxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wZW46IGJvb2xlYW47XG4gIEBJbnB1dCgpIHZpZXdUeXBlOiB2aWV3VHlwZTtcbiAgQElucHV0KCkgbWluOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyO1xuICBASW5wdXQoKSBpc0RhdGVOdWxsOiBib29sZWFuO1xuICBASW5wdXQoKSBtYXg6IERhdGUgfCBzdHJpbmcgfCBudW1iZXI7XG4gIEBPdXRwdXQoKSBzZXREYXRlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIHB1YmxpYyBjYWxlbmRhcjogRGF5TW9kZWxbXSA9IFtdO1xuICBjb25zdHJ1Y3RvcihvdmVycmlkZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9jZHIpO1xuICAgIGRheWpzKCkubG9jYWxlKCdydScsIHsgd2Vla1N0YXJ0OiAxIH0pO1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuY3VycmVudFllYXIsIHRoaXMuY3VycmVudE1vbnRoLCB0aGlzLm1pbk1heF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuYWxpdmUpLFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgKFtjdXJyZW50WWVhciwgY3VycmVudE1vbnRoXSkgPT5cbiAgICAgICAgICAgIGN1cnJlbnRNb250aCAhPT0gbnVsbCAmJiBjdXJyZW50WWVhciAhPT0gbnVsbFxuICAgICAgICApLFxuICAgICAgICBtYXAoKFt5ZWFyLCBtb250aCwgbWluTWF4XSkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIoXG4gICAgICAgICAgICBkYXlqcyhuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZSkpLmxvY2FsZSh0aGlzLmxvY2FsZSksXG4gICAgICAgICAgICB5ZWFyLFxuICAgICAgICAgICAgbW9udGgsXG4gICAgICAgICAgICBtaW5NYXhcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgdGhpcy5jYWxlbmRhciA9IF87XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIntjdXJyZW50TW9udGg6Y3VycmVudE1vbnRofGFzeW5jLGN1cnJlbnRZZWFyOmN1cnJlbnRZZWFyfGFzeW5jLHNlbGVjdGVkUGlja2VyOnNlbGVjdGVkUGlja2VyfGFzeW5jfSBhcyBkYXRhXCJcbiAgICAgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRlbnQgb3ZlcmZsb3cteS1hdXRvXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuc2VsZWN0ZWRQaWNrZXI9PT0nZGF5J1wiPlxuICAgIDxkaXYgY2xhc3M9XCJwYWRkaW5nLWgtMyBwYWRkaW5nLXYtMlwiICh3aGVlbCk9XCJzY3JvbGxNb250aCgkZXZlbnQsZGF0YS5jdXJyZW50TW9udGgsZGF0YS5jdXJyZW50WWVhcilcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24tY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDx0ZXRhLWJ1dHRvbiBbY2xhc3NdPVwiJ2NoYW5nZS1tb250aC1idXR0b24gZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCIgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VNb250aChkYXRhLmN1cnJlbnRNb250aC0xLGRhdGEuY3VycmVudFllYXIpXCJcbiAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgIHZpZXc9XCJnaG9zdFwiPlxuICAgICAgICAgIDx0ZXRhLWljb24gbmFtZT1cImFycm93TGVmdEtleVwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICA8L3RldGEtYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGdhcC00IGZvbnQtYnV0dG9uLTIgXCI+XG4gICAgICAgICAgPGJ1dHRvbiBbY2xhc3NdPVwiJ2RhdGVwaWNrZXJfJyt2aWV3VHlwZSBcIiB0ZXRhLWJ1dHRvbiB2aWV3PVwiZ2hvc3RcIiBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGlja2VyKCdtb250aCcpXCI+IHt7Z2V0TW90aE5hbWUoZGF0YS5jdXJyZW50TW9udGgpfX08L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIFtjbGFzc109XCInZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCIgdGV0YS1idXR0b24gdmlldz1cImdob3N0XCIgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBpY2tlcigneWVhcicpXCI+e3tkYXRhLmN1cnJlbnRZZWFyfX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx0ZXRhLWJ1dHRvbiBbc3F1YXJlXT1cInRydWVcIiBbY2xhc3NdPVwiJ2NoYW5nZS1tb250aC1idXR0b24gZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VNb250aChkYXRhLmN1cnJlbnRNb250aCsxLGRhdGEuY3VycmVudFllYXIpXCJcbiAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgIHZpZXc9XCJnaG9zdFwiPlxuICAgICAgICAgIDx0ZXRhLWljb24gbmFtZT1cImFycm93UmlnaHRLZXlcIiBbcGFsZXR0ZV09XCIndGV4dCdcIj48L3RldGEtaWNvbj5cbiAgICAgICAgPC90ZXRhLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHRldGEtZGF5LXBpY2tlciBbdmlld1R5cGVdPVwidmlld1R5cGVcIiAoc2VsZWN0RGF0ZSk9XCJzZWxlY3REYXRlKCRldmVudClcIiBbbG9jYWxlXT1cImxvY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NhbGVuZGFyXT1cImNhbGVuZGFyXCI+PC90ZXRhLWRheS1waWNrZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLnNlbGVjdGVkUGlja2VyPT09J21vbnRoJ1wiPlxuICAgIDx0ZXRhLW1vbnRoLXBpY2tlciBbbG9jYWxlTW90aHNdPVwibG9jYWxlTW9udGhzXCIgW2N1cnJlbnRZZWFyXT1cImRhdGEuY3VycmVudFllYXJcIiAoY2hhbmdlWWVhcik9XCJzZXRZZWFyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRNb250aF09XCJkYXRhLmN1cnJlbnRNb250aFwiIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiIFtsb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdE1vbnRoKT1cInNlbGVjdE1vbnRoKCRldmVudClcIj48L3RldGEtbW9udGgtcGlja2VyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuc2VsZWN0ZWRQaWNrZXI9PT0neWVhcidcIj5cbiAgICA8dGV0YS15ZWFyLXBpY2tlciBbbG9jYWxlXT1cImxvY2FsZVwiIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiIChzZWxlY3RZZWFyKT1cInNlbGVjdFllYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkWWVhcl09XCJkYXRhLmN1cnJlbnRZZWFyXCI+PC90ZXRhLXllYXItcGlja2VyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG4iXX0=
|
package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs
CHANGED
|
@@ -90,11 +90,11 @@ export class RangeCalendarComponent extends BaseCalendar {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RangeCalendarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: RangeCalendarComponent, selector: "teta-range-calendar", inputs: { locale: "locale", open: "open", date: "date", viewType: "viewType", allowNull: "allowNull", selectedDate: "selectedDate", min: "min", isDateNull: "isDateNull", max: "max" }, outputs: { hoveredDateChange: "hoveredDateChange", setDate: "setDate" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async,minMax:minMax|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"row \">\n <div class=\"padding-h-3 padding-v-2\">\n <div class=\"row align-center justify-content-between\">\n <teta-button\n [ngClass]=\"{'datepicker-arrow_hidden':!isLastDaySuitable(data.currentMonth-1,data.currentYear,min)}\"\n [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p> {{getMothName(data.currentMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.currentMonth\"></teta-day-picker>\n </div>\n </div>\n <div class=\"padding-h-3 padding-v-2\"\n *ngIf=\"getAvailableMonthYear(data.currentMonth+1,data.currentYear) as availableMonthYear\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p>{{getMothName(availableMonthYear.availableMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{availableMonthYear.availableYear}}</button>\n </div>\n <teta-button [square]=\"true\"\n [ngClass]=\"{'datepicker-arrow_hidden': !isFirstDaySuitable(data.currentMonth+2,data.currentYear,max)}\"\n [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.nextMonth\"></teta-day-picker>\n </div>\n </div>\n </div>\n\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='month'\">\n <teta-month-picker [localeMoths]=\"localeMonths\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\" [locale]=\"locale\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='year'\">\n <teta-year-picker [minMax]=\"data.minMax\" [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n </ng-container>\n</div>\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: i4.DayPickerComponent, selector: "teta-day-picker", inputs: ["date", "calendar", "viewType", "range", "min", "max", "locale", "hoveredDate"], outputs: ["hoveredDateChange", "selectDate"] }, { kind: "component", type: i5.MonthPickerComponent, selector: "teta-month-picker", inputs: ["locale", "selectedMonth", "viewType", "currentYear", "localeMoths"], outputs: ["selectMonth", "changeYear"] }, { kind: "component", type: i6.YearPickerComponent, selector: "teta-year-picker", inputs: ["selectedYear", "viewType", "minMax", "locale"], outputs: ["selectYear"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
93
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: RangeCalendarComponent, selector: "teta-range-calendar", inputs: { locale: "locale", open: "open", date: "date", viewType: "viewType", allowNull: "allowNull", selectedDate: "selectedDate", min: "min", isDateNull: "isDateNull", max: "max" }, outputs: { hoveredDateChange: "hoveredDateChange", setDate: "setDate" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async,minMax:minMax|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"row \" (wheel)=\"scrollMonth($event,data.currentMonth,data.currentYear)\">\n <div class=\"padding-h-3 padding-v-2\">\n <div class=\"row align-center justify-content-between\">\n <teta-button\n [ngClass]=\"{'datepicker-arrow_hidden':!isLastDaySuitable(data.currentMonth-1,data.currentYear,min)}\"\n [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p> {{getMothName(data.currentMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.currentMonth\"></teta-day-picker>\n </div>\n </div>\n <div class=\"padding-h-3 padding-v-2\"\n *ngIf=\"getAvailableMonthYear(data.currentMonth+1,data.currentYear) as availableMonthYear\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p>{{getMothName(availableMonthYear.availableMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{availableMonthYear.availableYear}}</button>\n </div>\n <teta-button [square]=\"true\"\n [ngClass]=\"{'datepicker-arrow_hidden': !isFirstDaySuitable(data.currentMonth+2,data.currentYear,max)}\"\n [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.nextMonth\"></teta-day-picker>\n </div>\n </div>\n </div>\n\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='month'\">\n <teta-month-picker [localeMoths]=\"localeMonths\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\" [locale]=\"locale\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='year'\">\n <teta-year-picker [minMax]=\"data.minMax\" [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n </ng-container>\n</div>\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: i4.DayPickerComponent, selector: "teta-day-picker", inputs: ["date", "calendar", "viewType", "range", "min", "max", "locale", "hoveredDate"], outputs: ["hoveredDateChange", "selectDate"] }, { kind: "component", type: i5.MonthPickerComponent, selector: "teta-month-picker", inputs: ["locale", "selectedMonth", "viewType", "currentYear", "localeMoths"], outputs: ["selectMonth", "changeYear"] }, { kind: "component", type: i6.YearPickerComponent, selector: "teta-year-picker", inputs: ["selectedYear", "viewType", "minMax", "locale"], outputs: ["selectYear"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
94
94
|
}
|
|
95
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RangeCalendarComponent, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
|
-
args: [{ selector: 'teta-range-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async,minMax:minMax|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"row \">\n <div class=\"padding-h-3 padding-v-2\">\n <div class=\"row align-center justify-content-between\">\n <teta-button\n [ngClass]=\"{'datepicker-arrow_hidden':!isLastDaySuitable(data.currentMonth-1,data.currentYear,min)}\"\n [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p> {{getMothName(data.currentMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.currentMonth\"></teta-day-picker>\n </div>\n </div>\n <div class=\"padding-h-3 padding-v-2\"\n *ngIf=\"getAvailableMonthYear(data.currentMonth+1,data.currentYear) as availableMonthYear\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p>{{getMothName(availableMonthYear.availableMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{availableMonthYear.availableYear}}</button>\n </div>\n <teta-button [square]=\"true\"\n [ngClass]=\"{'datepicker-arrow_hidden': !isFirstDaySuitable(data.currentMonth+2,data.currentYear,max)}\"\n [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.nextMonth\"></teta-day-picker>\n </div>\n </div>\n </div>\n\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='month'\">\n <teta-month-picker [localeMoths]=\"localeMonths\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\" [locale]=\"locale\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='year'\">\n <teta-year-picker [minMax]=\"data.minMax\" [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n </ng-container>\n</div>\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"] }]
|
|
97
|
+
args: [{ selector: 'teta-range-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async,minMax:minMax|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"row \" (wheel)=\"scrollMonth($event,data.currentMonth,data.currentYear)\">\n <div class=\"padding-h-3 padding-v-2\">\n <div class=\"row align-center justify-content-between\">\n <teta-button\n [ngClass]=\"{'datepicker-arrow_hidden':!isLastDaySuitable(data.currentMonth-1,data.currentYear,min)}\"\n [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p> {{getMothName(data.currentMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.currentMonth\"></teta-day-picker>\n </div>\n </div>\n <div class=\"padding-h-3 padding-v-2\"\n *ngIf=\"getAvailableMonthYear(data.currentMonth+1,data.currentYear) as availableMonthYear\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p>{{getMothName(availableMonthYear.availableMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{availableMonthYear.availableYear}}</button>\n </div>\n <teta-button [square]=\"true\"\n [ngClass]=\"{'datepicker-arrow_hidden': !isFirstDaySuitable(data.currentMonth+2,data.currentYear,max)}\"\n [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.nextMonth\"></teta-day-picker>\n </div>\n </div>\n </div>\n\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='month'\">\n <teta-month-picker [localeMoths]=\"localeMonths\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\" [locale]=\"locale\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='year'\">\n <teta-year-picker [minMax]=\"data.minMax\" [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n </ng-container>\n</div>\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"] }]
|
|
98
98
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { locale: [{
|
|
99
99
|
type: Input
|
|
100
100
|
}], open: [{
|
|
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
118
118
|
}], setDate: [{
|
|
119
119
|
type: Output
|
|
120
120
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXJhbmdlL3JhbmdlLWNhbGVuZGFyL3JhbmdlLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS9yYW5nZS1jYWxlbmRhci9yYW5nZS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQVVuRCxNQUFNLE9BQU8sc0JBQ1gsU0FBUSxZQUFZO0lBeUJDO0lBdEJaLE1BQU0sQ0FBUztJQUNmLElBQUksQ0FBVTtJQUNkLElBQUksQ0FBa0I7SUFDdEIsUUFBUSxDQUFXO0lBQ25CLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDakIsWUFBWSxDQUFrQjtJQUM5QixHQUFHLENBQXlCO0lBQzVCLFVBQVUsQ0FBVTtJQUNwQixHQUFHLENBQXlCO0lBQzNCLGlCQUFpQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ2pFLE9BQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUMxRCxRQUFRLENBQXNEO0lBQzlELFlBQVksR0FBUyxJQUFJLENBQUM7SUFDakMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFB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O3NCQUFwQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB2aWV3VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9tb2RlbC92aWV3LXR5cGUubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNhbGVuZGFyIH0gZnJvbSAnLi4vLi4vYmFzZS1jYWxlbmRhcic7XG5pbXBvcnQgeyBEYXlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL2RheS1tb2RlbCc7XG5pbXBvcnQgeyBEYXRlRnJvbVRvTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9mcm9tLXRvLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1yYW5nZS1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhbmdlLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSYW5nZUNhbGVuZGFyQ29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZUNhbGVuZGFyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KCkgbG9jYWxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wZW46IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRhdGU6IERhdGVGcm9tVG9Nb2RlbDtcbiAgQElucHV0KCkgdmlld1R5cGU6IHZpZXdUeXBlO1xuICBASW5wdXQoKSBhbGxvd051bGwgPSB0cnVlO1xuICBASW5wdXQoKSBzZWxlY3RlZERhdGU6IERhdGVGcm9tVG9Nb2RlbDtcbiAgQElucHV0KCkgbWluOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyO1xuICBASW5wdXQoKSBpc0RhdGVOdWxsOiBib29sZWFuO1xuICBASW5wdXQoKSBtYXg6IERhdGUgfCBzdHJpbmcgfCBudW1iZXI7XG4gIEBPdXRwdXQoKSBob3ZlcmVkRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBAT3V0cHV0KCkgc2V0RGF0ZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBwdWJsaWMgY2FsZW5kYXI6IHsgY3VycmVudE1vbnRoOiBEYXlNb2RlbFtdOyBuZXh0TW9udGg6IERheU1vZGVsW10gfTtcbiAgcHVibGljIF9ob3ZlcmVkRGF0ZTogRGF0ZSA9IG51bGw7XG4gIGdldCBob3ZlcmVkRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5faG92ZXJlZERhdGU7XG4gIH1cblxuICBzZXQgaG92ZXJlZERhdGUoZSkge1xuICAgIHRoaXMuX2hvdmVyZWREYXRlID0gZTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihfY2RyKTtcbiAgICBkYXlqcygpLmxvY2FsZSgncnUnLCB7IHdlZWtTdGFydDogMSB9KTtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmN1cnJlbnRZZWFyLCB0aGlzLmN1cnJlbnRNb250aCwgdGhpcy5taW5NYXhdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmFsaXZlKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogZmFsc2UgfSksXG4gICAgICAgIGZpbHRlcihcbiAgICAgICAgICAoW2N1cnJlbnRZZWFyLCBjdXJyZW50TW9udGhdKSA9PlxuICAgICAgICAgICAgY3VycmVudE1vbnRoICE9PSBudWxsICYmIGN1cnJlbnRZZWFyICE9PSBudWxsXG4gICAgICAgICksXG4gICAgICAgIG1hcCgoW3llYXIsIG1vbnRoLCBtaW5NYXhdKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBhdmFpbGFibGVZZWFyLCBhdmFpbGFibGVNb250aCB9ID0gdGhpcy5nZXRBdmFpbGFibGVNb250aFllYXIoXG4gICAgICAgICAgICBtb250aCArIDEsXG4gICAgICAgICAgICB5ZWFyXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudE1vbnRoOiB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIoXG4gICAgICAgICAgICAgIGRheWpzKG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gfHwgbmV3IERhdGUoKSkpLmxvY2FsZShcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsZVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB5ZWFyLFxuICAgICAgICAgICAgICBtb250aCxcbiAgICAgICAgICAgICAgbWluTWF4XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbmV4dE1vbnRoOiB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIoXG4gICAgICAgICAgICAgIGRheWpzKG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gfHwgbmV3IERhdGUoKSkpLmxvY2FsZShcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsZVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBhdmFpbGFibGVZZWFyLFxuICAgICAgICAgICAgICBhdmFpbGFibGVNb250aCxcbiAgICAgICAgICAgICAgbWluTWF4XG4gICAgICAgICAgICApLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0aGlzLmNhbGVuZGFyID0gXztcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0RnJvbVRvKCkge1xuICAgIGxldCBkYXRlRnJvbTtcbiAgICBsZXQgZGF0ZVRvO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZT8uZnJvbSkge1xuICAgICAgZGF0ZUZyb20gPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tKTtcbiAgICAgIGRhdGVUbyA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmFsbG93TnVsbCkge1xuICAgICAgICBkYXRlRnJvbSA9IHRoaXMuZGF0ZT8uZnJvbSA/IG5ldyBEYXRlKHRoaXMuZGF0ZS5mcm9tKSA6IG51bGw7XG4gICAgICAgIGRhdGVUbyA9IHRoaXMuZGF0ZT8udG8gPyBuZXcgRGF0ZSh0aGlzLmRhdGUudG8pIDogbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGVGcm9tID0gdGhpcy5kYXRlPy5mcm9tID8gbmV3IERhdGUodGhpcy5kYXRlLmZyb20pIDogbmV3IERhdGUoKTtcbiAgICAgICAgZGF0ZVRvID0gdGhpcy5kYXRlPy50byA/IG5ldyBEYXRlKHRoaXMuZGF0ZS50bykgOiBuZXcgRGF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGZyb206IGRhdGVGcm9tLCB0bzogZGF0ZVRvIH07XG4gIH1cblxuICBvdmVycmlkZSBpc1NlbGVjdGVkKGQ6IERhdGUsIHNlbGVjdGVkRGF0ZTogRGF0ZSkge1xuICAgIGNvbnN0IHsgZnJvbSwgdG8gfSA9IHRoaXMuZ2V0RnJvbVRvKCk7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tTZWxlY3RlZChkLCBmcm9tKSB8fCB0aGlzLmNoZWNrU2VsZWN0ZWQoZCwgdG8pO1xuICB9XG5cbiAgY2hlY2tTZWxlY3RlZChkYXRlOiBEYXRlLCBzZWxlY3RlZERhdGU6IERhdGUpIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkRGF0ZSA9IGRhdGUuZ2V0RGF0ZSgpID09PSBzZWxlY3RlZERhdGU/LmdldERhdGUoKTtcbiAgICBjb25zdCBpc1NlbGVjdGVkWWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gc2VsZWN0ZWREYXRlPy5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKSA9PT0gc2VsZWN0ZWREYXRlPy5nZXRNb250aCgpO1xuICAgIHJldHVybiBpc1NlbGVjdGVkRGF0ZSAmJiBpc1NlbGVjdGVkTW9udGggJiYgaXNTZWxlY3RlZFllYXI7XG4gIH1cblxuICBpc0ZpcnN0RGF5U3VpdGFibGUobTogbnVtYmVyLCB5OiBudW1iZXIsIG1heDogRGF0ZSkge1xuICAgIGNvbnN0IHsgYXZhaWxhYmxlWWVhciwgYXZhaWxhYmxlTW9udGggfSA9IHRoaXMuZ2V0QXZhaWxhYmxlTW9udGhZZWFyKG0sIHkpO1xuICAgIHJldHVybiB0aGlzLmlzU3VpdGFibGVNYXhEYXRlKFxuICAgICAgZGF5anMobmV3IERhdGUoYXZhaWxhYmxlWWVhciwgYXZhaWxhYmxlTW9udGgpKS5zdGFydE9mKCdtb250aCcpLnRvRGF0ZSgpLFxuICAgICAgbWF4XG4gICAgKTtcbiAgfVxuXG4gIGlzTGFzdERheVN1aXRhYmxlKG06IG51bWJlciwgeTogbnVtYmVyLCBtaW46IERhdGUpIHtcbiAgICBjb25zdCB7IGF2YWlsYWJsZVllYXIsIGF2YWlsYWJsZU1vbnRoIH0gPSB0aGlzLmdldEF2YWlsYWJsZU1vbnRoWWVhcihtLCB5KTtcbiAgICByZXR1cm4gdGhpcy5pc1N1aXRhYmxlTWluRGF0ZShcbiAgICAgIGRheWpzKG5ldyBEYXRlKGF2YWlsYWJsZVllYXIsIGF2YWlsYWJsZU1vbnRoKSkuZW5kT2YoJ21vbnRoJykudG9EYXRlKCksXG4gICAgICBtaW5cbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghY2hhbmdlcz8uWydob3ZlcmVkRGF0ZSddKSB7XG4gICAgICB0aGlzLmNoYW5nZUNhbGVuZGFyRGF0YSh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tIHx8IHRoaXMuZGF0ZS5mcm9tKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJ7Y3VycmVudE1vbnRoOmN1cnJlbnRNb250aHxhc3luYyxjdXJyZW50WWVhcjpjdXJyZW50WWVhcnxhc3luYyxzZWxlY3RlZFBpY2tlcjpzZWxlY3RlZFBpY2tlcnxhc3luYyxtaW5NYXg6bWluTWF4fGFzeW5jfSBhcyBkYXRhXCJcbiAgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRlbnQgb3ZlcmZsb3cteS1hdXRvXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuc2VsZWN0ZWRQaWNrZXI9PT0nZGF5J1wiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy1oLTMgcGFkZGluZy12LTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICA8dGV0YS1idXR0b25cbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGF0ZXBpY2tlci1hcnJvd19oaWRkZW4nOiFpc0xhc3REYXlTdWl0YWJsZShkYXRhLmN1cnJlbnRNb250aC0xLGRhdGEuY3VycmVudFllYXIsbWluKX1cIlxuICAgICAgICAgICAgW2NsYXNzXT1cIidjaGFuZ2UtbW9udGgtYnV0dG9uIGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlTW9udGgoZGF0YS5jdXJyZW50TW9udGgtMSxkYXRhLmN1cnJlbnRZZWFyKVwiXG4gICAgICAgICAgICBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgICB2aWV3PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDx0ZXRhLWljb24gbmFtZT1cImFycm93TGVmdEtleVwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICAgIDwvdGV0YS1idXR0b24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnYXAtNCBmb250LWJ1dHRvbi0yIGFsaWduLWNlbnRlciBwYWRkaW5nLWxlZnQtMVwiPlxuICAgICAgICAgICAgPHA+IHt7Z2V0TW90aE5hbWUoZGF0YS5jdXJyZW50TW9udGgpfX08L3A+XG4gICAgICAgICAgICA8YnV0dG9uIFtjbGFzc109XCInZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCIgdGV0YS1idXR0b24gdmlldz1cImdob3N0XCIgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGlja2VyKCd5ZWFyJylcIj57e2RhdGEuY3VycmVudFllYXJ9fTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0ZXRhLWJ1dHRvbiBbc3F1YXJlXT1cInRydWVcIiBbY2xhc3NdPVwiJ2NoYW5nZS1tb250aC1idXR0b24gZGF0ZXBpY2tlci1hcnJvd19oaWRkZW4gZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICB2aWV3PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDx0ZXRhLWljb24gbmFtZT1cImFycm93UmlnaHRLZXlcIiBbcGFsZXR0ZV09XCIndGV4dCdcIj48L3RldGEtaWNvbj5cbiAgICAgICAgICA8L3RldGEtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8dGV0YS1kYXktcGlja2VyIFsoaG92ZXJlZERhdGUpXT1cImhvdmVyZWREYXRlXCIgW3JhbmdlXT1cImdldEZyb21UbygpXCIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3REYXRlKT1cInNlbGVjdERhdGUoJGV2ZW50KVwiIFtsb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhci5jdXJyZW50TW9udGhcIj48L3RldGEtZGF5LXBpY2tlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWRkaW5nLWgtMyBwYWRkaW5nLXYtMlwiXG4gICAgICAgICAgICpuZ0lmPVwiZ2V0QXZhaWxhYmxlTW9udGhZZWFyKGRhdGEuY3VycmVudE1vbnRoKzEsZGF0YS5jdXJyZW50WWVhcikgYXMgYXZhaWxhYmxlTW9udGhZZWFyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24tY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgPHRldGEtYnV0dG9uIFtzcXVhcmVdPVwidHJ1ZVwiIFtjbGFzc109XCInY2hhbmdlLW1vbnRoLWJ1dHRvbiBkYXRlcGlja2VyLWFycm93X2hpZGRlbiBkYXRlcGlja2VyXycrdmlld1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgIHZpZXc9XCJnaG9zdFwiPlxuICAgICAgICAgICAgPHRldGEtaWNvbiBuYW1lPVwiYXJyb3dMZWZ0S2V5XCIgW3BhbGV0dGVdPVwiJ3RleHQnXCI+PC90ZXRhLWljb24+XG4gICAgICAgICAgPC90ZXRhLWJ1dHRvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGdhcC00IGZvbnQtYnV0dG9uLTIgYWxpZ24tY2VudGVyIHBhZGRpbmctbGVmdC0xXCI+XG4gICAgICAgICAgICA8cD57e2dldE1vdGhOYW1lKGF2YWlsYWJsZU1vbnRoWWVhci5hdmFpbGFibGVNb250aCl9fTwvcD5cbiAgICAgICAgICAgIDxidXR0b24gW2NsYXNzXT1cIidkYXRlcGlja2VyXycrdmlld1R5cGVcIiB0ZXRhLWJ1dHRvbiB2aWV3PVwiZ2hvc3RcIiBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RQaWNrZXIoJ3llYXInKVwiPnt7YXZhaWxhYmxlTW9udGhZZWFyLmF2YWlsYWJsZVllYXJ9fTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0ZXRhLWJ1dHRvbiBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2RhdGVwaWNrZXItYXJyb3dfaGlkZGVuJzogIWlzRmlyc3REYXlTdWl0YWJsZShkYXRhLmN1cnJlbnRNb250aCsyLGRhdGEuY3VycmVudFllYXIsbWF4KX1cIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiJ2NoYW5nZS1tb250aC1idXR0b24gZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZU1vbnRoKGRhdGEuY3VycmVudE1vbnRoKzEsZGF0YS5jdXJyZW50WWVhcilcIlxuICAgICAgICAgICAgICAgICAgICAgICBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgIHZpZXc9XCJnaG9zdFwiPlxuICAgICAgICAgICAgPHRldGEtaWNvbiBuYW1lPVwiYXJyb3dSaWdodEtleVwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICAgIDwvdGV0YS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDx0ZXRhLWRheS1waWNrZXIgWyhob3ZlcmVkRGF0ZSldPVwiaG92ZXJlZERhdGVcIiBbcmFuZ2VdPVwiZ2V0RnJvbVRvKClcIiBbdmlld1R5cGVdPVwidmlld1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdERhdGUpPVwic2VsZWN0RGF0ZSgkZXZlbnQpXCIgW2xvY2FsZV09XCJsb2NhbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbGVuZGFyXT1cImNhbGVuZGFyLm5leHRNb250aFwiPjwvdGV0YS1kYXktcGlja2VyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5zZWxlY3RlZFBpY2tlcj09PSdtb250aCdcIj5cbiAgICA8dGV0YS1tb250aC1waWNrZXIgW2xvY2FsZU1vdGhzXT1cImxvY2FsZU1vbnRoc1wiIFtjdXJyZW50WWVhcl09XCJkYXRhLmN1cnJlbnRZZWFyXCIgKGNoYW5nZVllYXIpPVwic2V0WWVhcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTW9udGhdPVwiZGF0YS5jdXJyZW50TW9udGhcIiBbdmlld1R5cGVdPVwidmlld1R5cGVcIiBbbG9jYWxlXT1cImxvY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RNb250aCk9XCJzZWxlY3RNb250aCgkZXZlbnQpXCI+PC90ZXRhLW1vbnRoLXBpY2tlcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLnNlbGVjdGVkUGlja2VyPT09J3llYXInXCI+XG4gICAgPHRldGEteWVhci1waWNrZXIgW21pbk1heF09XCJkYXRhLm1pbk1heFwiIFtsb2NhbGVdPVwibG9jYWxlXCIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCIgKHNlbGVjdFllYXIpPVwic2VsZWN0WWVhcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRZZWFyXT1cImRhdGEuY3VycmVudFllYXJcIj48L3RldGEteWVhci1waWNrZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXJhbmdlL3JhbmdlLWNhbGVuZGFyL3JhbmdlLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS9yYW5nZS1jYWxlbmRhci9yYW5nZS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQVVuRCxNQUFNLE9BQU8sc0JBQ1gsU0FBUSxZQUFZO0lBeUJDO0lBdEJaLE1BQU0sQ0FBUztJQUNmLElBQUksQ0FBVTtJQUNkLElBQUksQ0FBa0I7SUFDdEIsUUFBUSxDQUFXO0lBQ25CLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDakIsWUFBWSxDQUFrQjtJQUM5QixHQUFHLENBQXlCO0lBQzVCLFVBQVUsQ0FBVTtJQUNwQixHQUFHLENBQXlCO0lBQzNCLGlCQUFpQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ2pFLE9BQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUMxRCxRQUFRLENBQXNEO0lBQzlELFlBQVksR0FBUyxJQUFJLENBQUM7SUFDakMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFB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O3NCQUFwQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB2aWV3VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9tb2RlbC92aWV3LXR5cGUubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNhbGVuZGFyIH0gZnJvbSAnLi4vLi4vYmFzZS1jYWxlbmRhcic7XG5pbXBvcnQgeyBEYXlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL2RheS1tb2RlbCc7XG5pbXBvcnQgeyBEYXRlRnJvbVRvTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9mcm9tLXRvLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1yYW5nZS1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhbmdlLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSYW5nZUNhbGVuZGFyQ29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZUNhbGVuZGFyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KCkgbG9jYWxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wZW46IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRhdGU6IERhdGVGcm9tVG9Nb2RlbDtcbiAgQElucHV0KCkgdmlld1R5cGU6IHZpZXdUeXBlO1xuICBASW5wdXQoKSBhbGxvd051bGwgPSB0cnVlO1xuICBASW5wdXQoKSBzZWxlY3RlZERhdGU6IERhdGVGcm9tVG9Nb2RlbDtcbiAgQElucHV0KCkgbWluOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyO1xuICBASW5wdXQoKSBpc0RhdGVOdWxsOiBib29sZWFuO1xuICBASW5wdXQoKSBtYXg6IERhdGUgfCBzdHJpbmcgfCBudW1iZXI7XG4gIEBPdXRwdXQoKSBob3ZlcmVkRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBAT3V0cHV0KCkgc2V0RGF0ZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBwdWJsaWMgY2FsZW5kYXI6IHsgY3VycmVudE1vbnRoOiBEYXlNb2RlbFtdOyBuZXh0TW9udGg6IERheU1vZGVsW10gfTtcbiAgcHVibGljIF9ob3ZlcmVkRGF0ZTogRGF0ZSA9IG51bGw7XG4gIGdldCBob3ZlcmVkRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5faG92ZXJlZERhdGU7XG4gIH1cblxuICBzZXQgaG92ZXJlZERhdGUoZSkge1xuICAgIHRoaXMuX2hvdmVyZWREYXRlID0gZTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihfY2RyKTtcbiAgICBkYXlqcygpLmxvY2FsZSgncnUnLCB7IHdlZWtTdGFydDogMSB9KTtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmN1cnJlbnRZZWFyLCB0aGlzLmN1cnJlbnRNb250aCwgdGhpcy5taW5NYXhdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmFsaXZlKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogZmFsc2UgfSksXG4gICAgICAgIGZpbHRlcihcbiAgICAgICAgICAoW2N1cnJlbnRZZWFyLCBjdXJyZW50TW9udGhdKSA9PlxuICAgICAgICAgICAgY3VycmVudE1vbnRoICE9PSBudWxsICYmIGN1cnJlbnRZZWFyICE9PSBudWxsXG4gICAgICAgICksXG4gICAgICAgIG1hcCgoW3llYXIsIG1vbnRoLCBtaW5NYXhdKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBhdmFpbGFibGVZZWFyLCBhdmFpbGFibGVNb250aCB9ID0gdGhpcy5nZXRBdmFpbGFibGVNb250aFllYXIoXG4gICAgICAgICAgICBtb250aCArIDEsXG4gICAgICAgICAgICB5ZWFyXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudE1vbnRoOiB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIoXG4gICAgICAgICAgICAgIGRheWpzKG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gfHwgbmV3IERhdGUoKSkpLmxvY2FsZShcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsZVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB5ZWFyLFxuICAgICAgICAgICAgICBtb250aCxcbiAgICAgICAgICAgICAgbWluTWF4XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbmV4dE1vbnRoOiB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIoXG4gICAgICAgICAgICAgIGRheWpzKG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gfHwgbmV3IERhdGUoKSkpLmxvY2FsZShcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsZVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBhdmFpbGFibGVZZWFyLFxuICAgICAgICAgICAgICBhdmFpbGFibGVNb250aCxcbiAgICAgICAgICAgICAgbWluTWF4XG4gICAgICAgICAgICApLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0aGlzLmNhbGVuZGFyID0gXztcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0RnJvbVRvKCkge1xuICAgIGxldCBkYXRlRnJvbTtcbiAgICBsZXQgZGF0ZVRvO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZT8uZnJvbSkge1xuICAgICAgZGF0ZUZyb20gPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tKTtcbiAgICAgIGRhdGVUbyA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmFsbG93TnVsbCkge1xuICAgICAgICBkYXRlRnJvbSA9IHRoaXMuZGF0ZT8uZnJvbSA/IG5ldyBEYXRlKHRoaXMuZGF0ZS5mcm9tKSA6IG51bGw7XG4gICAgICAgIGRhdGVUbyA9IHRoaXMuZGF0ZT8udG8gPyBuZXcgRGF0ZSh0aGlzLmRhdGUudG8pIDogbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGVGcm9tID0gdGhpcy5kYXRlPy5mcm9tID8gbmV3IERhdGUodGhpcy5kYXRlLmZyb20pIDogbmV3IERhdGUoKTtcbiAgICAgICAgZGF0ZVRvID0gdGhpcy5kYXRlPy50byA/IG5ldyBEYXRlKHRoaXMuZGF0ZS50bykgOiBuZXcgRGF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGZyb206IGRhdGVGcm9tLCB0bzogZGF0ZVRvIH07XG4gIH1cblxuICBvdmVycmlkZSBpc1NlbGVjdGVkKGQ6IERhdGUsIHNlbGVjdGVkRGF0ZTogRGF0ZSkge1xuICAgIGNvbnN0IHsgZnJvbSwgdG8gfSA9IHRoaXMuZ2V0RnJvbVRvKCk7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tTZWxlY3RlZChkLCBmcm9tKSB8fCB0aGlzLmNoZWNrU2VsZWN0ZWQoZCwgdG8pO1xuICB9XG5cbiAgY2hlY2tTZWxlY3RlZChkYXRlOiBEYXRlLCBzZWxlY3RlZERhdGU6IERhdGUpIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkRGF0ZSA9IGRhdGUuZ2V0RGF0ZSgpID09PSBzZWxlY3RlZERhdGU/LmdldERhdGUoKTtcbiAgICBjb25zdCBpc1NlbGVjdGVkWWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gc2VsZWN0ZWREYXRlPy5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKSA9PT0gc2VsZWN0ZWREYXRlPy5nZXRNb250aCgpO1xuICAgIHJldHVybiBpc1NlbGVjdGVkRGF0ZSAmJiBpc1NlbGVjdGVkTW9udGggJiYgaXNTZWxlY3RlZFllYXI7XG4gIH1cblxuICBpc0ZpcnN0RGF5U3VpdGFibGUobTogbnVtYmVyLCB5OiBudW1iZXIsIG1heDogRGF0ZSkge1xuICAgIGNvbnN0IHsgYXZhaWxhYmxlWWVhciwgYXZhaWxhYmxlTW9udGggfSA9IHRoaXMuZ2V0QXZhaWxhYmxlTW9udGhZZWFyKG0sIHkpO1xuICAgIHJldHVybiB0aGlzLmlzU3VpdGFibGVNYXhEYXRlKFxuICAgICAgZGF5anMobmV3IERhdGUoYXZhaWxhYmxlWWVhciwgYXZhaWxhYmxlTW9udGgpKS5zdGFydE9mKCdtb250aCcpLnRvRGF0ZSgpLFxuICAgICAgbWF4XG4gICAgKTtcbiAgfVxuXG4gIGlzTGFzdERheVN1aXRhYmxlKG06IG51bWJlciwgeTogbnVtYmVyLCBtaW46IERhdGUpIHtcbiAgICBjb25zdCB7IGF2YWlsYWJsZVllYXIsIGF2YWlsYWJsZU1vbnRoIH0gPSB0aGlzLmdldEF2YWlsYWJsZU1vbnRoWWVhcihtLCB5KTtcbiAgICByZXR1cm4gdGhpcy5pc1N1aXRhYmxlTWluRGF0ZShcbiAgICAgIGRheWpzKG5ldyBEYXRlKGF2YWlsYWJsZVllYXIsIGF2YWlsYWJsZU1vbnRoKSkuZW5kT2YoJ21vbnRoJykudG9EYXRlKCksXG4gICAgICBtaW5cbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghY2hhbmdlcz8uWydob3ZlcmVkRGF0ZSddKSB7XG4gICAgICB0aGlzLmNoYW5nZUNhbGVuZGFyRGF0YSh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tIHx8IHRoaXMuZGF0ZS5mcm9tKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJ7Y3VycmVudE1vbnRoOmN1cnJlbnRNb250aHxhc3luYyxjdXJyZW50WWVhcjpjdXJyZW50WWVhcnxhc3luYyxzZWxlY3RlZFBpY2tlcjpzZWxlY3RlZFBpY2tlcnxhc3luYyxtaW5NYXg6bWluTWF4fGFzeW5jfSBhcyBkYXRhXCJcbiAgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRlbnQgb3ZlcmZsb3cteS1hdXRvXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuc2VsZWN0ZWRQaWNrZXI9PT0nZGF5J1wiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgXCIgKHdoZWVsKT1cInNjcm9sbE1vbnRoKCRldmVudCxkYXRhLmN1cnJlbnRNb250aCxkYXRhLmN1cnJlbnRZZWFyKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhZGRpbmctaC0zIHBhZGRpbmctdi0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24tY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgPHRldGEtYnV0dG9uXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2RhdGVwaWNrZXItYXJyb3dfaGlkZGVuJzohaXNMYXN0RGF5U3VpdGFibGUoZGF0YS5jdXJyZW50TW9udGgtMSxkYXRhLmN1cnJlbnRZZWFyLG1pbil9XCJcbiAgICAgICAgICAgIFtjbGFzc109XCInY2hhbmdlLW1vbnRoLWJ1dHRvbiBkYXRlcGlja2VyXycrdmlld1R5cGVcIiBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZU1vbnRoKGRhdGEuY3VycmVudE1vbnRoLTEsZGF0YS5jdXJyZW50WWVhcilcIlxuICAgICAgICAgICAgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgdmlldz1cImdob3N0XCI+XG4gICAgICAgICAgICA8dGV0YS1pY29uIG5hbWU9XCJhcnJvd0xlZnRLZXlcIiBbcGFsZXR0ZV09XCIndGV4dCdcIj48L3RldGEtaWNvbj5cbiAgICAgICAgICA8L3RldGEtYnV0dG9uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZ2FwLTQgZm9udC1idXR0b24tMiBhbGlnbi1jZW50ZXIgcGFkZGluZy1sZWZ0LTFcIj5cbiAgICAgICAgICAgIDxwPiB7e2dldE1vdGhOYW1lKGRhdGEuY3VycmVudE1vbnRoKX19PC9wPlxuICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3NdPVwiJ2RhdGVwaWNrZXJfJyt2aWV3VHlwZVwiIHRldGEtYnV0dG9uIHZpZXc9XCJnaG9zdFwiIHBhbGV0dGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBpY2tlcigneWVhcicpXCI+e3tkYXRhLmN1cnJlbnRZZWFyfX08L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGV0YS1idXR0b24gW3NxdWFyZV09XCJ0cnVlXCIgW2NsYXNzXT1cIidjaGFuZ2UtbW9udGgtYnV0dG9uIGRhdGVwaWNrZXItYXJyb3dfaGlkZGVuIGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgdmlldz1cImdob3N0XCI+XG4gICAgICAgICAgICA8dGV0YS1pY29uIG5hbWU9XCJhcnJvd1JpZ2h0S2V5XCIgW3BhbGV0dGVdPVwiJ3RleHQnXCI+PC90ZXRhLWljb24+XG4gICAgICAgICAgPC90ZXRhLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHRldGEtZGF5LXBpY2tlciBbKGhvdmVyZWREYXRlKV09XCJob3ZlcmVkRGF0ZVwiIFtyYW5nZV09XCJnZXRGcm9tVG8oKVwiIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0RGF0ZSk9XCJzZWxlY3REYXRlKCRldmVudClcIiBbbG9jYWxlXT1cImxvY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FsZW5kYXJdPVwiY2FsZW5kYXIuY3VycmVudE1vbnRoXCI+PC90ZXRhLWRheS1waWNrZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy1oLTMgcGFkZGluZy12LTJcIlxuICAgICAgICAgICAqbmdJZj1cImdldEF2YWlsYWJsZU1vbnRoWWVhcihkYXRhLmN1cnJlbnRNb250aCsxLGRhdGEuY3VycmVudFllYXIpIGFzIGF2YWlsYWJsZU1vbnRoWWVhclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgIDx0ZXRhLWJ1dHRvbiBbc3F1YXJlXT1cInRydWVcIiBbY2xhc3NdPVwiJ2NoYW5nZS1tb250aC1idXR0b24gZGF0ZXBpY2tlci1hcnJvd19oaWRkZW4gZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICB2aWV3PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDx0ZXRhLWljb24gbmFtZT1cImFycm93TGVmdEtleVwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICAgIDwvdGV0YS1idXR0b24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnYXAtNCBmb250LWJ1dHRvbi0yIGFsaWduLWNlbnRlciBwYWRkaW5nLWxlZnQtMVwiPlxuICAgICAgICAgICAgPHA+e3tnZXRNb3RoTmFtZShhdmFpbGFibGVNb250aFllYXIuYXZhaWxhYmxlTW9udGgpfX08L3A+XG4gICAgICAgICAgICA8YnV0dG9uIFtjbGFzc109XCInZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCIgdGV0YS1idXR0b24gdmlldz1cImdob3N0XCIgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGlja2VyKCd5ZWFyJylcIj57e2F2YWlsYWJsZU1vbnRoWWVhci5hdmFpbGFibGVZZWFyfX08L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGV0YS1idXR0b24gW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydkYXRlcGlja2VyLWFycm93X2hpZGRlbic6ICFpc0ZpcnN0RGF5U3VpdGFibGUoZGF0YS5jdXJyZW50TW9udGgrMixkYXRhLmN1cnJlbnRZZWFyLG1heCl9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIidjaGFuZ2UtbW9udGgtYnV0dG9uIGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VNb250aChkYXRhLmN1cnJlbnRNb250aCsxLGRhdGEuY3VycmVudFllYXIpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICB2aWV3PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDx0ZXRhLWljb24gbmFtZT1cImFycm93UmlnaHRLZXlcIiBbcGFsZXR0ZV09XCIndGV4dCdcIj48L3RldGEtaWNvbj5cbiAgICAgICAgICA8L3RldGEtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8dGV0YS1kYXktcGlja2VyIFsoaG92ZXJlZERhdGUpXT1cImhvdmVyZWREYXRlXCIgW3JhbmdlXT1cImdldEZyb21UbygpXCIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3REYXRlKT1cInNlbGVjdERhdGUoJGV2ZW50KVwiIFtsb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhci5uZXh0TW9udGhcIj48L3RldGEtZGF5LXBpY2tlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuc2VsZWN0ZWRQaWNrZXI9PT0nbW9udGgnXCI+XG4gICAgPHRldGEtbW9udGgtcGlja2VyIFtsb2NhbGVNb3Roc109XCJsb2NhbGVNb250aHNcIiBbY3VycmVudFllYXJdPVwiZGF0YS5jdXJyZW50WWVhclwiIChjaGFuZ2VZZWFyKT1cInNldFllYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZE1vbnRoXT1cImRhdGEuY3VycmVudE1vbnRoXCIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCIgW2xvY2FsZV09XCJsb2NhbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0TW9udGgpPVwic2VsZWN0TW9udGgoJGV2ZW50KVwiPjwvdGV0YS1tb250aC1waWNrZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5zZWxlY3RlZFBpY2tlcj09PSd5ZWFyJ1wiPlxuICAgIDx0ZXRhLXllYXItcGlja2VyIFttaW5NYXhdPVwiZGF0YS5taW5NYXhcIiBbbG9jYWxlXT1cImxvY2FsZVwiIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiIChzZWxlY3RZZWFyKT1cInNlbGVjdFllYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkWWVhcl09XCJkYXRhLmN1cnJlbnRZZWFyXCI+PC90ZXRhLXllYXItcGlja2VyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -135,6 +135,14 @@ export class CellComponentBase {
|
|
|
135
135
|
emitEvent: false,
|
|
136
136
|
});
|
|
137
137
|
}
|
|
138
|
+
if (this.column && this.row) {
|
|
139
|
+
if (this.editable) {
|
|
140
|
+
this.control.enable({ emitEvent: false });
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
this.control.disable({ emitEvent: false });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
138
146
|
}
|
|
139
147
|
start(initiator, type) {
|
|
140
148
|
this._edit = true;
|
|
@@ -163,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
163
171
|
type: HostBinding,
|
|
164
172
|
args: ['class.cell-invalid']
|
|
165
173
|
}] } });
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1jb21wb25lbnQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvYmFzZS9jZWxsLWNvbXBvbmVudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEVBRWhCLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFVckQsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBZ0IsaUJBQWlCO0lBeUV6QjtJQUNBO0lBekUwQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRXZFLElBQXVDLFdBQVc7UUFDaEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUN4QjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFVBQVUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7UUFDNUMsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDLENBQUM7SUFFSCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFnQixDQUFDO0lBQy9ELENBQUM7SUFFUyxPQUFPLENBQWM7SUFFL0IsSUFBSSxNQUFNLENBQUMsTUFB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Q0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxTQUEyQixFQUFFLElBQW9CO1FBQzdELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzt1R0FoTG1CLGlCQUFpQjsyRkFBakIsaUJBQWlCLGtLQUgzQixFQUFFOzsyRkFHUSxpQkFBaUI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7bUlBR3VELFNBQVM7c0JBQTlELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUVJLFdBQVc7c0JBQWpELFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgTmdGb3JtLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBJSWROYW1lIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktaWQtbmFtZSc7XG5pbXBvcnQgeyBib29sT3JGdW5jQ2FsbGJhY2sgfSBmcm9tICcuLi8uLi8uLi91dGlsL2Jvb2wtb3ItZnVuYyc7XG5pbXBvcnQgeyBGb3Jtc1V0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlsL2Zvcm1zLXV0aWwnO1xuaW1wb3J0IHsgSUNlbGxDb29yZGluYXRlcyB9IGZyb20gJy4uL2NvbnRyYWN0L2ktY2VsbC1jb29yZGluYXRlcyc7XG5pbXBvcnQgeyBJQ2VsbFZhbHVlIH0gZnJvbSAnLi4vY29udHJhY3QvaS1jZWxsLXZhbHVlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7IFRhYmxlUm93IH0gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtcm93JztcbmltcG9ydCB7IFRhYmxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvdGFibGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJycsXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2VsbENvbXBvbmVudEJhc2U8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2VsbC1jb21wb25lbnQnKSBwcml2YXRlIHJlYWRvbmx5IGNlbGxDbGFzcyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jZWxsLWludmFsaWQnKSBnZXQgY2VsbEludmFsaWQoKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybUdyb3VwPy5nZXQodGhpcy5jb2x1bW4/Lm5hbWUpO1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICByZXR1cm4gY29udHJvbC5pbnZhbGlkO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIF9mb3JtR3JvdXAgPSBpbmplY3QoQ29udHJvbENvbnRhaW5lciwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcblxuICBnZXQgY29udHJvbCgpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQodGhpcy5jb2x1bW4/Lm5hbWUpIGFzIEZvcm1Db250cm9sO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9jb2x1bW46IFRhYmxlQ29sdW1uO1xuXG4gIHNldCBjb2x1bW4oY29sdW1uOiBUYWJsZUNvbHVtbikge1xuICAgIHRoaXMuX2NvbHVtbiA9IGNvbHVtbjtcbiAgICB0aGlzLnNldHVwQ29udHJvbCgpO1xuICB9XG5cbiAgZ2V0IGNvbHVtbigpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9yb3c6IFRhYmxlUm93PFQ+O1xuICBzZXQgcm93KHJvdzogVGFibGVSb3c8VD4pIHtcbiAgICB0aGlzLl9yb3cgPSByb3c7XG4gICAgdGhpcy5zZXR1cENvbnRyb2woKTtcbiAgfVxuXG4gIGdldCByb3coKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JvdztcbiAgfVxuXG4gIGZpbHRlck9wdGlvbnM6IElJZE5hbWU8YW55PltdID0gW107XG4gIGRpY3Q6IElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPiA9IHt9O1xuXG4gIGdldCBmb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcbiAgICBpZiAodGhpcy5fZm9ybUdyb3VwIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9ybUdyb3VwO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZm9ybUdyb3VwIGluc3RhbmNlb2YgTmdGb3JtKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9ybUdyb3VwLmZvcm07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9lZGl0OiBib29sZWFuO1xuXG4gIGdldCBlZGl0KCkge1xuICAgIHJldHVybiB0aGlzLl9lZGl0ICYmIHRoaXMuZWRpdGFibGU7XG4gIH1cblxuICBnZXQgZWRpdGFibGUoKSB7XG4gICAgcmV0dXJuIGJvb2xPckZ1bmNDYWxsYmFjayh0aGlzLmNvbHVtbi5lZGl0YWJsZSkoe1xuICAgICAgY29sdW1uOiB0aGlzLmNvbHVtbixcbiAgICAgIHJvdzogdGhpcy5yb3cuZGF0YSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBpbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdmMuZ2V0Um93SW5kZXgodGhpcy5yb3cuZGF0YSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2FsaXZlID0gdHJ1ZTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHN2YzogVGFibGVTZXJ2aWNlPFQ+LFxuICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0KCk7XG5cbiAgICB0aGlzLmZvcm1Hcm91cD8uY29udHJvbHNbdGhpcy5jb2x1bW4ubmFtZV0/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIHRoaXMucm93LnZhbGlkID0gdGhpcy5mb3JtR3JvdXA/LnZhbGlkO1xuICAgICAgICB0aGlzLnJvdy5kYXRhW3RoaXMuY29sdW1uLm5hbWVdID0gdGhpcy5jb250cm9sLnZhbHVlO1xuICAgICAgICB0aGlzLnN2Yy5jaGFuZ2VWYWx1ZSh7XG4gICAgICAgICAgY29sdW1uOiB0aGlzLmNvbHVtbi5uYW1lLFxuICAgICAgICAgIHJvdzogdGhpcy5pbmRleCxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN2Yy5lZGl0Um93U3RhcnRcbiAgICAgIC5waXBlKHRha2VXaGlsZShfID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNlbGw6IElDZWxsQ29vcmRpbmF0ZXMpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaW5kZXggPT09IGNlbGw/LnJvdyAmJiAhdGhpcy5fZWRpdCkge1xuICAgICAgICAgIHRoaXMuc3RhcnQoY2VsbCwgJ3JvdycpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluZGV4ICE9PSBjZWxsPy5yb3cgJiYgdGhpcy5fZWRpdCkge1xuICAgICAgICAgIHRoaXMuc3RvcCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuc3ZjLmVkaXRDZWxsU3RhcnRcbiAgICAgIC5waXBlKHRha2VXaGlsZShfID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNlbGw6IElDZWxsQ29vcmRpbmF0ZXMpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuaW5kZXggPT09IGNlbGw/LnJvdyAmJlxuICAgICAgICAgIHRoaXMuY29sdW1uLm5hbWUgPT09IGNlbGw/LmNvbHVtbiAmJlxuICAgICAgICAgICF0aGlzLl9lZGl0XG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuc3RhcnQoY2VsbCwgJ2NlbGwnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRoaXMuaW5kZXggIT09IGNlbGw/LnJvdyB8fCB0aGlzLmNvbHVtbi5uYW1lICE9PSBjZWxsPy5jb2x1bW4pICYmXG4gICAgICAgICAgdGhpcy5fZWRpdFxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnN0b3AoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLnN2Yy52YWx1ZVNldFxuICAgICAgLnBpcGUodGFrZVdoaWxlKF8gPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoY2VsbFZhbHVlOiBJQ2VsbFZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmluZGV4ID09PSBjZWxsVmFsdWUucm93ICYmXG4gICAgICAgICAgdGhpcy5jb2x1bW4ubmFtZSA9PT0gY2VsbFZhbHVlLmNvbHVtblxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnJvdy5kYXRhW3RoaXMuY29sdW1uLm5hbWVdID0gY2VsbFZhbHVlLnZhbHVlO1xuICAgICAgICAgIHRoaXMuc2V0dXBDb250cm9sKCk7XG4gICAgICAgICAgdGhpcy5mb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICAgIHRoaXMucm93LnZhbGlkID0gdGhpcy5mb3JtR3JvdXAudmFsaWQ7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGFic3RyYWN0IHN0YXJ0RWRpdChpbml0aWF0b3I6IElDZWxsQ29vcmRpbmF0ZXMsIHR5cGU6ICdjZWxsJyB8ICdyb3cnKTogdm9pZDtcblxuICBhYnN0cmFjdCBzdG9wRWRpdCgpOiB2b2lkO1xuXG4gIHByaXZhdGUgc2V0dXBDb250cm9sKCkge1xuICAgIGlmICghdGhpcy5jb2x1bW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLnJlZ2lzdGVyQ29udHJvbChcbiAgICAgICAgdGhpcy5jb2x1bW4ubmFtZSxcbiAgICAgICAgRm9ybXNVdGlsLmluaXRDb250cm9sRnJvbUNvbHVtbih0aGlzLmNvbHVtbiwgdGhpcy5yb3c/LmRhdGEpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLnJvdz8uZGF0YVt0aGlzLmNvbHVtbi5uYW1lXSwge1xuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGFydChpbml0aWF0b3I6IElDZWxsQ29vcmRpbmF0ZXMsIHR5cGU6ICdjZWxsJyB8ICdyb3cnKSB7XG4gICAgdGhpcy5fZWRpdCA9IHRydWU7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuc3RhcnRFZGl0KGluaXRpYXRvciwgdHlwZSk7XG4gIH1cblxuICBwcml2YXRlIHN0b3AoKSB7XG4gICAgdGhpcy5fZWRpdCA9IGZhbHNlO1xuICAgIHRoaXMuZm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLnJvdy52YWxpZCA9IHRoaXMuZm9ybUdyb3VwPy52YWxpZDtcbiAgICB0aGlzLnN0b3BFZGl0KCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiJdfQ==
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1jb21wb25lbnQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvYmFzZS9jZWxsLWNvbXBvbmVudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEVBRWhCLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFVckQsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBZ0IsaUJBQWlCO0lBeUV6QjtJQUNBO0lBekUwQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRXZFLElBQXVDLFdBQVc7UUFDaEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUN4QjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFVBQVUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7UUFDNUMsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDLENBQUM7SUFFSCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFnQixDQUFDO0lBQy9ELENBQUM7SUFFUyxPQUFPLENBQWM7SUFFL0IsSUFBSSxNQUFNLENBQUMsTUFB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ICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xDb250YWluZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXAsXG4gIE5nRm9ybSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgSUlkTmFtZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWlkLW5hbWUnO1xuaW1wb3J0IHsgYm9vbE9yRnVuY0NhbGxiYWNrIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9ib29sLW9yLWZ1bmMnO1xuaW1wb3J0IHsgRm9ybXNVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9mb3Jtcy11dGlsJztcbmltcG9ydCB7IElDZWxsQ29vcmRpbmF0ZXMgfSBmcm9tICcuLi9jb250cmFjdC9pLWNlbGwtY29vcmRpbmF0ZXMnO1xuaW1wb3J0IHsgSUNlbGxWYWx1ZSB9IGZyb20gJy4uL2NvbnRyYWN0L2ktY2VsbC12YWx1ZSc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQgeyBUYWJsZVJvdyB9IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLXJvdyc7XG5pbXBvcnQgeyBUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnLFxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENlbGxDb21wb25lbnRCYXNlPFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNlbGwtY29tcG9uZW50JykgcHJpdmF0ZSByZWFkb25seSBjZWxsQ2xhc3MgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY2VsbC1pbnZhbGlkJykgZ2V0IGNlbGxJbnZhbGlkKCkge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cD8uZ2V0KHRoaXMuY29sdW1uPy5uYW1lKTtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgcmV0dXJuIGNvbnRyb2wuaW52YWxpZDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9ybUdyb3VwID0gaW5qZWN0KENvbnRyb2xDb250YWluZXIsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgfSk7XG5cbiAgZ2V0IGNvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cD8uZ2V0KHRoaXMuY29sdW1uPy5uYW1lKSBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBfY29sdW1uOiBUYWJsZUNvbHVtbjtcblxuICBzZXQgY29sdW1uKGNvbHVtbjogVGFibGVDb2x1bW4pIHtcbiAgICB0aGlzLl9jb2x1bW4gPSBjb2x1bW47XG4gICAgdGhpcy5zZXR1cENvbnRyb2woKTtcbiAgfVxuXG4gIGdldCBjb2x1bW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcm93OiBUYWJsZVJvdzxUPjtcbiAgc2V0IHJvdyhyb3c6IFRhYmxlUm93PFQ+KSB7XG4gICAgdGhpcy5fcm93ID0gcm93O1xuICAgIHRoaXMuc2V0dXBDb250cm9sKCk7XG4gIH1cblxuICBnZXQgcm93KCkge1xuICAgIHJldHVybiB0aGlzLl9yb3c7XG4gIH1cblxuICBmaWx0ZXJPcHRpb25zOiBJSWROYW1lPGFueT5bXSA9IFtdO1xuICBkaWN0OiBJRGljdGlvbmFyeTxJSWROYW1lPGFueT5bXT4gPSB7fTtcblxuICBnZXQgZm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XG4gICAgaWYgKHRoaXMuX2Zvcm1Hcm91cCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2Zvcm1Hcm91cCBpbnN0YW5jZW9mIE5nRm9ybSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cC5mb3JtO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZWRpdDogYm9vbGVhbjtcblxuICBnZXQgZWRpdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdCAmJiB0aGlzLmVkaXRhYmxlO1xuICB9XG5cbiAgZ2V0IGVkaXRhYmxlKCkge1xuICAgIHJldHVybiBib29sT3JGdW5jQ2FsbGJhY2sodGhpcy5jb2x1bW4uZWRpdGFibGUpKHtcbiAgICAgIGNvbHVtbjogdGhpcy5jb2x1bW4sXG4gICAgICByb3c6IHRoaXMucm93LmRhdGEsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgaW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ZjLmdldFJvd0luZGV4KHRoaXMucm93LmRhdGEpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9hbGl2ZSA9IHRydWU7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdmM6IFRhYmxlU2VydmljZTxUPixcbiAgICBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdCgpO1xuXG4gICAgdGhpcy5mb3JtR3JvdXA/LmNvbnRyb2xzW3RoaXMuY29sdW1uLm5hbWVdPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB0aGlzLnJvdy52YWxpZCA9IHRoaXMuZm9ybUdyb3VwPy52YWxpZDtcbiAgICAgICAgdGhpcy5yb3cuZGF0YVt0aGlzLmNvbHVtbi5uYW1lXSA9IHRoaXMuY29udHJvbC52YWx1ZTtcbiAgICAgICAgdGhpcy5zdmMuY2hhbmdlVmFsdWUoe1xuICAgICAgICAgIGNvbHVtbjogdGhpcy5jb2x1bW4ubmFtZSxcbiAgICAgICAgICByb3c6IHRoaXMuaW5kZXgsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdmMuZWRpdFJvd1N0YXJ0XG4gICAgICAucGlwZSh0YWtlV2hpbGUoXyA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChjZWxsOiBJQ2VsbENvb3JkaW5hdGVzKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmluZGV4ID09PSBjZWxsPy5yb3cgJiYgIXRoaXMuX2VkaXQpIHtcbiAgICAgICAgICB0aGlzLnN0YXJ0KGNlbGwsICdyb3cnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbmRleCAhPT0gY2VsbD8ucm93ICYmIHRoaXMuX2VkaXQpIHtcbiAgICAgICAgICB0aGlzLnN0b3AoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLnN2Yy5lZGl0Q2VsbFN0YXJ0XG4gICAgICAucGlwZSh0YWtlV2hpbGUoXyA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChjZWxsOiBJQ2VsbENvb3JkaW5hdGVzKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmluZGV4ID09PSBjZWxsPy5yb3cgJiZcbiAgICAgICAgICB0aGlzLmNvbHVtbi5uYW1lID09PSBjZWxsPy5jb2x1bW4gJiZcbiAgICAgICAgICAhdGhpcy5fZWRpdFxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnN0YXJ0KGNlbGwsICdjZWxsJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0aGlzLmluZGV4ICE9PSBjZWxsPy5yb3cgfHwgdGhpcy5jb2x1bW4ubmFtZSAhPT0gY2VsbD8uY29sdW1uKSAmJlxuICAgICAgICAgIHRoaXMuX2VkaXRcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5zdG9wKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zdmMudmFsdWVTZXRcbiAgICAgIC5waXBlKHRha2VXaGlsZShfID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNlbGxWYWx1ZTogSUNlbGxWYWx1ZSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5pbmRleCA9PT0gY2VsbFZhbHVlLnJvdyAmJlxuICAgICAgICAgIHRoaXMuY29sdW1uLm5hbWUgPT09IGNlbGxWYWx1ZS5jb2x1bW5cbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5yb3cuZGF0YVt0aGlzLmNvbHVtbi5uYW1lXSA9IGNlbGxWYWx1ZS52YWx1ZTtcbiAgICAgICAgICB0aGlzLnNldHVwQ29udHJvbCgpO1xuICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgICB0aGlzLnJvdy52YWxpZCA9IHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBhYnN0cmFjdCBzdGFydEVkaXQoaW5pdGlhdG9yOiBJQ2VsbENvb3JkaW5hdGVzLCB0eXBlOiAnY2VsbCcgfCAncm93Jyk6IHZvaWQ7XG5cbiAgYWJzdHJhY3Qgc3RvcEVkaXQoKTogdm9pZDtcblxuICBwcml2YXRlIHNldHVwQ29udHJvbCgpIHtcbiAgICBpZiAoIXRoaXMuY29sdW1uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5yZWdpc3RlckNvbnRyb2woXG4gICAgICAgIHRoaXMuY29sdW1uLm5hbWUsXG4gICAgICAgIEZvcm1zVXRpbC5pbml0Q29udHJvbEZyb21Db2x1bW4odGhpcy5jb2x1bW4sIHRoaXMucm93Py5kYXRhKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUodGhpcy5yb3c/LmRhdGFbdGhpcy5jb2x1bW4ubmFtZV0sIHtcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb2x1bW4gJiYgdGhpcy5yb3cpIHtcbiAgICAgIGlmICh0aGlzLmVkaXRhYmxlKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnQoaW5pdGlhdG9yOiBJQ2VsbENvb3JkaW5hdGVzLCB0eXBlOiAnY2VsbCcgfCAncm93Jykge1xuICAgIHRoaXMuX2VkaXQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnN0YXJ0RWRpdChpbml0aWF0b3IsIHR5cGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wKCkge1xuICAgIHRoaXMuX2VkaXQgPSBmYWxzZTtcbiAgICB0aGlzLmZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5yb3cudmFsaWQgPSB0aGlzLmZvcm1Hcm91cD8udmFsaWQ7XG4gICAgdGhpcy5zdG9wRWRpdCgpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
|