@worktile/theia 3.0.0 → 3.0.3
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/bundles/worktile-theia.umd.js +54 -24
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/core/utils/index.d.ts +1 -1
- package/core/utils/merge-array.d.ts +1 -0
- package/esm2015/constants/auto-format-rules.js +19 -2
- package/esm2015/core/create-plugin.js +3 -2
- package/esm2015/core/utils/flatten-deep-plugins.js +3 -2
- package/esm2015/core/utils/get-plugin-options.js +2 -2
- package/esm2015/core/utils/get-plugin.js +2 -3
- package/esm2015/core/utils/index.js +2 -2
- package/esm2015/core/utils/merge-array.js +18 -0
- package/esm2015/core/utils/merge-deep-plugins.js +1 -3
- package/esm2015/core/utils/merge-options.js +10 -8
- package/esm2015/editor.component.js +3 -2
- package/esm2015/interfaces/plugins/plugins.js +1 -1
- package/esm2015/plugins/autoformat/autoformat.plugin.js +1 -1
- package/esm2015/plugins/index.js +2 -2
- package/fesm2015/worktile-theia.js +50 -23
- package/fesm2015/worktile-theia.js.map +1 -1
- package/interfaces/plugins/plugins.d.ts +3 -0
- package/package.json +1 -1
- package/plugins/autoformat/autoformat.plugin.d.ts +1 -1
- package/plugins/index.d.ts +1 -1
- package/core/utils/get-plugin-by-key.d.ts +0 -2
- package/esm2015/core/utils/get-plugin-by-key.js +0 -8
package/core/utils/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export * from './flatten-deep-plugins';
|
|
2
2
|
export * from './get-plugins';
|
|
3
3
|
export * from './get-plugin';
|
|
4
|
-
export * from './get-plugin-by-key';
|
|
5
4
|
export * from './get-plugin-options';
|
|
6
5
|
export * from './merge-options';
|
|
7
6
|
export * from './combine-plugins';
|
|
8
7
|
export * from './merge-deep-plugins';
|
|
9
8
|
export * from './nested-structure-by-key';
|
|
10
9
|
export * from './plugins-by-key';
|
|
10
|
+
export * from './merge-array';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const mergeArray: <T>(origin: T[], source: T[]) => T[];
|
|
@@ -9,6 +9,7 @@ import { HeadingEditor } from '../plugins/heading/heading.editor';
|
|
|
9
9
|
import { CodeEditor } from '../plugins/code/code.editor';
|
|
10
10
|
export const defaultAutoFormatRules = [
|
|
11
11
|
{
|
|
12
|
+
key: ElementKinds.heading_1,
|
|
12
13
|
type: ElementKinds.heading_1,
|
|
13
14
|
markup: '#',
|
|
14
15
|
format: (editor) => {
|
|
@@ -16,6 +17,7 @@ export const defaultAutoFormatRules = [
|
|
|
16
17
|
}
|
|
17
18
|
},
|
|
18
19
|
{
|
|
20
|
+
key: ElementKinds.heading_2,
|
|
19
21
|
type: ElementKinds.heading_2,
|
|
20
22
|
markup: '##',
|
|
21
23
|
format: (editor) => {
|
|
@@ -23,6 +25,7 @@ export const defaultAutoFormatRules = [
|
|
|
23
25
|
}
|
|
24
26
|
},
|
|
25
27
|
{
|
|
28
|
+
key: ElementKinds.heading_3,
|
|
26
29
|
type: ElementKinds.heading_3,
|
|
27
30
|
markup: '###',
|
|
28
31
|
format: (editor) => {
|
|
@@ -30,6 +33,7 @@ export const defaultAutoFormatRules = [
|
|
|
30
33
|
}
|
|
31
34
|
},
|
|
32
35
|
{
|
|
36
|
+
key: ElementKinds.heading_4,
|
|
33
37
|
type: ElementKinds.heading_4,
|
|
34
38
|
markup: '####',
|
|
35
39
|
format: (editor) => {
|
|
@@ -37,6 +41,7 @@ export const defaultAutoFormatRules = [
|
|
|
37
41
|
}
|
|
38
42
|
},
|
|
39
43
|
{
|
|
44
|
+
key: ElementKinds.heading_5,
|
|
40
45
|
type: ElementKinds.heading_5,
|
|
41
46
|
markup: '#####',
|
|
42
47
|
format: (editor) => {
|
|
@@ -44,6 +49,7 @@ export const defaultAutoFormatRules = [
|
|
|
44
49
|
}
|
|
45
50
|
},
|
|
46
51
|
{
|
|
52
|
+
key: ElementKinds.heading_6,
|
|
47
53
|
type: ElementKinds.heading_6,
|
|
48
54
|
markup: '######',
|
|
49
55
|
format: (editor) => {
|
|
@@ -51,6 +57,7 @@ export const defaultAutoFormatRules = [
|
|
|
51
57
|
}
|
|
52
58
|
},
|
|
53
59
|
{
|
|
60
|
+
key: ElementKinds.blockquote,
|
|
54
61
|
type: ElementKinds.blockquote,
|
|
55
62
|
markup: ['>'],
|
|
56
63
|
format: (editor) => {
|
|
@@ -58,30 +65,35 @@ export const defaultAutoFormatRules = [
|
|
|
58
65
|
}
|
|
59
66
|
},
|
|
60
67
|
{
|
|
68
|
+
key: MarkTypes.bold,
|
|
61
69
|
type: MarkTypes.bold,
|
|
62
70
|
between: ['**', '**'],
|
|
63
71
|
mode: 'inline',
|
|
64
72
|
insertTrigger: true
|
|
65
73
|
},
|
|
66
74
|
{
|
|
75
|
+
key: `${MarkTypes.bold}__`,
|
|
67
76
|
type: MarkTypes.bold,
|
|
68
77
|
between: ['__', '__'],
|
|
69
78
|
mode: 'inline',
|
|
70
79
|
insertTrigger: true
|
|
71
80
|
},
|
|
72
81
|
{
|
|
82
|
+
key: MarkTypes.italic,
|
|
73
83
|
type: MarkTypes.italic,
|
|
74
84
|
between: ['*', '*'],
|
|
75
85
|
mode: 'inline',
|
|
76
86
|
insertTrigger: true
|
|
77
87
|
},
|
|
78
88
|
{
|
|
89
|
+
key: `${MarkTypes.italic}_`,
|
|
79
90
|
type: MarkTypes.italic,
|
|
80
91
|
between: ['_', '_'],
|
|
81
92
|
mode: 'inline',
|
|
82
93
|
insertTrigger: true
|
|
83
94
|
},
|
|
84
95
|
{
|
|
96
|
+
key: ElementKinds.inlineCode,
|
|
85
97
|
type: ElementKinds.inlineCode,
|
|
86
98
|
between: ['`', '`'],
|
|
87
99
|
mode: 'inline',
|
|
@@ -91,12 +103,14 @@ export const defaultAutoFormatRules = [
|
|
|
91
103
|
}
|
|
92
104
|
},
|
|
93
105
|
{
|
|
106
|
+
key: MarkTypes.strike,
|
|
94
107
|
type: MarkTypes.strike,
|
|
95
108
|
between: ['~~', '~~'],
|
|
96
109
|
mode: 'inline',
|
|
97
110
|
insertTrigger: true
|
|
98
111
|
},
|
|
99
112
|
{
|
|
113
|
+
key: ElementKinds.code,
|
|
100
114
|
type: ElementKinds.code,
|
|
101
115
|
markup: '```',
|
|
102
116
|
format: (editor) => {
|
|
@@ -104,6 +118,7 @@ export const defaultAutoFormatRules = [
|
|
|
104
118
|
}
|
|
105
119
|
},
|
|
106
120
|
{
|
|
121
|
+
key: ElementKinds.listItem,
|
|
107
122
|
type: ElementKinds.listItem,
|
|
108
123
|
markup: [],
|
|
109
124
|
match: (editor) => {
|
|
@@ -114,8 +129,8 @@ export const defaultAutoFormatRules = [
|
|
|
114
129
|
}
|
|
115
130
|
},
|
|
116
131
|
{
|
|
117
|
-
type: ElementKinds.listItem,
|
|
118
132
|
key: ElementKinds.numberedList,
|
|
133
|
+
type: ElementKinds.listItem,
|
|
119
134
|
markup: [],
|
|
120
135
|
match: (editor, textFromBlockStart) => {
|
|
121
136
|
return TheQueries.isParagraph(editor) && /^-?\d+(\.|\))$/.test(textFromBlockStart) ? [textFromBlockStart] : [];
|
|
@@ -132,6 +147,7 @@ export const defaultAutoFormatRules = [
|
|
|
132
147
|
}
|
|
133
148
|
},
|
|
134
149
|
{
|
|
150
|
+
key: ElementKinds.checkItem,
|
|
135
151
|
type: ElementKinds.checkItem,
|
|
136
152
|
markup: [],
|
|
137
153
|
match: (editor) => {
|
|
@@ -142,9 +158,10 @@ export const defaultAutoFormatRules = [
|
|
|
142
158
|
}
|
|
143
159
|
},
|
|
144
160
|
{
|
|
161
|
+
key: ElementKinds.hr,
|
|
145
162
|
type: ElementKinds.hr,
|
|
146
163
|
markup: '---',
|
|
147
164
|
insertTrigger: true
|
|
148
165
|
}
|
|
149
166
|
];
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQtcnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29uc3RhbnRzL2F1dG8tZm9ybWF0LXJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBcUI7SUFDcEQ7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLEdBQUc7UUFDWCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLElBQUk7UUFDWixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLEtBQUs7UUFDYixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxVQUFVO1FBQzdCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3ZCLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLENBQUM7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3BCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDckIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3BCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDckIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDbkIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDbkIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxVQUFVO1FBQzdCLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDbkIsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLEVBQUU7WUFDckMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hELFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDckIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJO1FBQ3ZCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZQUFZLENBQUMsUUFBUTtRQUMzQixNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakUsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3ZCLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3RCxDQUFDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZQUFZLENBQUMsUUFBUTtRQUMzQixHQUFHLEVBQUUsWUFBWSxDQUFDLFlBQVk7UUFDOUIsTUFBTSxFQUFFLEVBQUU7UUFDVixLQUFLLEVBQUUsQ0FBQyxNQUFjLEVBQUUsa0JBQTBCLEVBQUUsRUFBRTtZQUNsRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25ILENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsTUFBaUIsRUFBRSxFQUFFO1lBQzFDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLE1BQU0sRUFBRTtnQkFDUixVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQXNCLENBQUM7Z0JBQzFELElBQUksVUFBVSxLQUFLLENBQUMsRUFBRTtvQkFDbEIsVUFBVSxHQUFHLENBQUMsQ0FBQztpQkFDbEI7YUFDSjtZQUNELFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDekUsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLEVBQUU7UUFDVixLQUFLLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN0QixPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRTtRQUNyQixNQUFNLEVBQUUsS0FBSztRQUNiLGFBQWEsRUFBRSxJQUFJO0tBQ3RCO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEF1dG9Gb3JtYXRSdWxlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9hdXRvLWZvcm1hdCc7XG5pbXBvcnQgeyBNYXJrVHlwZXMsIEVsZW1lbnRLaW5kcyB9IGZyb20gJy4vbm9kZS10eXBlcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgTGlzdEVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvbGlzdC9saXN0LmVkaXRvcic7XG5pbXBvcnQgeyBUb2RvSXRlbUVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvdG9kby1pdGVtL3RvZG8taXRlbS5lZGl0b3InO1xuaW1wb3J0IHsgQmxvY2txdW90ZUVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvYmxvY2txdW90ZS9ibG9ja3F1b3RlLmVkaXRvcic7XG5pbXBvcnQgeyBJbmxpbmVDb2RlRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5lZGl0b3InO1xuaW1wb3J0IHsgSGVhZGluZ0VkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvaGVhZGluZy9oZWFkaW5nLmVkaXRvcic7XG5pbXBvcnQgeyBDb2RlRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9jb2RlL2NvZGUuZWRpdG9yJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBdXRvRm9ybWF0UnVsZXM6IEF1dG9Gb3JtYXRSdWxlW10gPSBbXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18xLFxuICAgICAgICBtYXJrdXA6ICcjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzEpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzIsXG4gICAgICAgIG1hcmt1cDogJyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzIpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzMsXG4gICAgICAgIG1hcmt1cDogJyMjIycsXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBIZWFkaW5nRWRpdG9yLnNldEhlYWRpbmcoZWRpdG9yLCBFbGVtZW50S2luZHMuaGVhZGluZ18zKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ180LFxuICAgICAgICBtYXJrdXA6ICcjIyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzUsXG4gICAgICAgIG1hcmt1cDogJyMjIyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzUpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzYsXG4gICAgICAgIG1hcmt1cDogJyMjIyMjIycsXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBIZWFkaW5nRWRpdG9yLnNldEhlYWRpbmcoZWRpdG9yLCBFbGVtZW50S2luZHMuaGVhZGluZ182KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuYmxvY2txdW90ZSxcbiAgICAgICAgbWFya3VwOiBbJz4nXSxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEJsb2NrcXVvdGVFZGl0b3IudG9nZ2xlQmxvY2txdW90ZShlZGl0b3IpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5ib2xkLFxuICAgICAgICBiZXR3ZWVuOiBbJyoqJywgJyoqJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5ib2xkLFxuICAgICAgICBiZXR3ZWVuOiBbJ19fJywgJ19fJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5pdGFsaWMsXG4gICAgICAgIGJldHdlZW46IFsnKicsICcqJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5pdGFsaWMsXG4gICAgICAgIGJldHdlZW46IFsnXycsICdfJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlLFxuICAgICAgICBiZXR3ZWVuOiBbJ2AnLCAnYCddLFxuICAgICAgICBtb2RlOiAnaW5saW5lJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IsIHRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgSW5saW5lQ29kZUVkaXRvci50b2dnbGVJbmxpbmVDb2RlKGVkaXRvciwgdGV4dCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5hZnRlcihlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBNYXJrVHlwZXMuc3RyaWtlLFxuICAgICAgICBiZXR3ZWVuOiBbJ35+JywgJ35+J10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jb2RlLFxuICAgICAgICBtYXJrdXA6ICdgYGAnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgQ29kZUVkaXRvci5pbnNlcnRDb2RlKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtLFxuICAgICAgICBtYXJrdXA6IFtdLFxuICAgICAgICBtYXRjaDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gVGhlUXVlcmllcy5pc1BhcmFncmFwaChlZGl0b3IpID8gWycqJywgJy0nLCAnKyddIDogW107XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBMaXN0RWRpdG9yLnRvZ2dsZUxpc3QoZWRpdG9yLCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMubGlzdEl0ZW0sXG4gICAgICAgIGtleTogRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCxcbiAgICAgICAgbWFya3VwOiBbXSxcbiAgICAgICAgbWF0Y2g6IChlZGl0b3I6IEVkaXRvciwgdGV4dEZyb21CbG9ja1N0YXJ0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBUaGVRdWVyaWVzLmlzUGFyYWdyYXBoKGVkaXRvcikgJiYgL14tP1xcZCsoXFwufFxcKSkkLy50ZXN0KHRleHRGcm9tQmxvY2tTdGFydCkgPyBbdGV4dEZyb21CbG9ja1N0YXJ0XSA6IFtdO1xuICAgICAgICB9LFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvciwgbWFya3VwPzogc3RyaW5nW10pID0+IHtcbiAgICAgICAgICAgIGxldCBzdGFydEluZGV4ID0gMTtcbiAgICAgICAgICAgIGlmIChtYXJrdXApIHtcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gbWFya3VwWzBdLnNwbGl0KCcuJylbMF0gYXMgdW5rbm93biBhcyBudW1iZXI7XG4gICAgICAgICAgICAgICAgaWYgKHN0YXJ0SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTGlzdEVkaXRvci50b2dnbGVMaXN0KGVkaXRvciwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCwgc3RhcnRJbmRleCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmNoZWNrSXRlbSxcbiAgICAgICAgbWFya3VwOiBbXSxcbiAgICAgICAgbWF0Y2g6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFRoZVF1ZXJpZXMuaXNQYXJhZ3JhcGgoZWRpdG9yKSA/IFsnW10nXSA6IFtdO1xuICAgICAgICB9LFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgVG9kb0l0ZW1FZGl0b3IuaW5zZXJ0VG9kb0l0ZW0oZWRpdG9yKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaHIsXG4gICAgICAgIG1hcmt1cDogJy0tLScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9XG5dO1xuIl19
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQtcnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29uc3RhbnRzL2F1dG8tZm9ybWF0LXJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBcUI7SUFDcEQ7UUFDSSxHQUFHLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDM0IsSUFBSSxFQUFFLFlBQVksQ0FBQyxTQUFTO1FBQzVCLE1BQU0sRUFBRSxHQUFHO1FBQ1gsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FDSjtJQUNEO1FBQ0ksR0FBRyxFQUFFLFlBQVksQ0FBQyxTQUFTO1FBQzNCLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUztRQUM1QixNQUFNLEVBQUUsSUFBSTtRQUNaLE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3ZCLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RCxDQUFDO0tBQ0o7SUFDRDtRQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsU0FBUztRQUMzQixJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLEtBQUs7UUFDYixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDM0IsSUFBSSxFQUFFLFlBQVksQ0FBQyxTQUFTO1FBQzVCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FDSjtJQUNEO1FBQ0ksR0FBRyxFQUFFLFlBQVksQ0FBQyxTQUFTO1FBQzNCLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUztRQUM1QixNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3ZCLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RCxDQUFDO0tBQ0o7SUFDRDtRQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsU0FBUztRQUMzQixJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FDSjtJQUNEO1FBQ0ksR0FBRyxFQUFFLFlBQVksQ0FBQyxVQUFVO1FBQzVCLElBQUksRUFBRSxZQUFZLENBQUMsVUFBVTtRQUM3QixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDYixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxDQUFDO0tBQ0o7SUFDRDtRQUNJLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNuQixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDcEIsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQixJQUFJLEVBQUUsUUFBUTtRQUNkLGFBQWEsRUFBRSxJQUFJO0tBQ3RCO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxJQUFJO1FBQzFCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNwQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JCLElBQUksRUFBRSxRQUFRO1FBQ2QsYUFBYSxFQUFFLElBQUk7S0FDdEI7SUFDRDtRQUNJLEdBQUcsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNyQixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDdEIsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUNuQixJQUFJLEVBQUUsUUFBUTtRQUNkLGFBQWEsRUFBRSxJQUFJO0tBQ3RCO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHO1FBQzNCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ25CLElBQUksRUFBRSxRQUFRO1FBQ2QsYUFBYSxFQUFFLElBQUk7S0FDdEI7SUFDRDtRQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsVUFBVTtRQUM1QixJQUFJLEVBQUUsWUFBWSxDQUFDLFVBQVU7UUFDN0IsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUNuQixJQUFJLEVBQUUsUUFBUTtRQUNkLE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRTtZQUNyQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDckIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDckIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksR0FBRyxFQUFFLFlBQVksQ0FBQyxJQUFJO1FBQ3RCLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSTtRQUN2QixNQUFNLEVBQUUsS0FBSztRQUNiLE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3ZCLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsWUFBWSxDQUFDLFFBQVE7UUFDMUIsSUFBSSxFQUFFLFlBQVksQ0FBQyxRQUFRO1FBQzNCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsS0FBSyxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdEIsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FDSjtJQUNEO1FBQ0ksR0FBRyxFQUFFLFlBQVksQ0FBQyxZQUFZO1FBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsUUFBUTtRQUMzQixNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRSxDQUFDLE1BQWMsRUFBRSxrQkFBMEIsRUFBRSxFQUFFO1lBQ2xELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkgsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxNQUFpQixFQUFFLEVBQUU7WUFDMUMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksTUFBTSxFQUFFO2dCQUNSLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBc0IsQ0FBQztnQkFDMUQsSUFBSSxVQUFVLEtBQUssQ0FBQyxFQUFFO29CQUNsQixVQUFVLEdBQUcsQ0FBQyxDQUFDO2lCQUNsQjthQUNKO1lBQ0QsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6RSxDQUFDO0tBQ0o7SUFDRDtRQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsU0FBUztRQUMzQixJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLEVBQUU7UUFDVixLQUFLLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN0QixPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDO0tBQ0o7SUFDRDtRQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRTtRQUNwQixJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUU7UUFDckIsTUFBTSxFQUFFLEtBQUs7UUFDYixhQUFhLEVBQUUsSUFBSTtLQUN0QjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBdXRvRm9ybWF0UnVsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXV0by1mb3JtYXQnO1xuaW1wb3J0IHsgTWFya1R5cGVzLCBFbGVtZW50S2luZHMgfSBmcm9tICcuL25vZGUtdHlwZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi9xdWVyaWVzJztcbmltcG9ydCB7IExpc3RFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL2xpc3QvbGlzdC5lZGl0b3InO1xuaW1wb3J0IHsgVG9kb0l0ZW1FZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL3RvZG8taXRlbS90b2RvLWl0ZW0uZWRpdG9yJztcbmltcG9ydCB7IEJsb2NrcXVvdGVFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5lZGl0b3InO1xuaW1wb3J0IHsgSW5saW5lQ29kZUVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvaW5saW5lLWNvZGUvaW5saW5lLWNvZGUuZWRpdG9yJztcbmltcG9ydCB7IEhlYWRpbmdFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL2hlYWRpbmcvaGVhZGluZy5lZGl0b3InO1xuaW1wb3J0IHsgQ29kZUVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvY29kZS9jb2RlLmVkaXRvcic7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0QXV0b0Zvcm1hdFJ1bGVzOiBBdXRvRm9ybWF0UnVsZVtdID0gW1xuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaGVhZGluZ18xLFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18xLFxuICAgICAgICBtYXJrdXA6ICcjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzEpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogRWxlbWVudEtpbmRzLmhlYWRpbmdfMixcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfMixcbiAgICAgICAgbWFya3VwOiAnIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaGVhZGluZ18zLFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18zLFxuICAgICAgICBtYXJrdXA6ICcjIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMyk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaGVhZGluZ180LFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ180LFxuICAgICAgICBtYXJrdXA6ICcjIyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogRWxlbWVudEtpbmRzLmhlYWRpbmdfNSxcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfNSxcbiAgICAgICAgbWFya3VwOiAnIyMjIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfNSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaGVhZGluZ182LFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ182LFxuICAgICAgICBtYXJrdXA6ICcjIyMjIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfNik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuYmxvY2txdW90ZSxcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmJsb2NrcXVvdGUsXG4gICAgICAgIG1hcmt1cDogWyc+J10sXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBCbG9ja3F1b3RlRWRpdG9yLnRvZ2dsZUJsb2NrcXVvdGUoZWRpdG9yKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IE1hcmtUeXBlcy5ib2xkLFxuICAgICAgICB0eXBlOiBNYXJrVHlwZXMuYm9sZCxcbiAgICAgICAgYmV0d2VlbjogWycqKicsICcqKiddLFxuICAgICAgICBtb2RlOiAnaW5saW5lJyxcbiAgICAgICAgaW5zZXJ0VHJpZ2dlcjogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IGAke01hcmtUeXBlcy5ib2xkfV9fYCxcbiAgICAgICAgdHlwZTogTWFya1R5cGVzLmJvbGQsXG4gICAgICAgIGJldHdlZW46IFsnX18nLCAnX18nXSxcbiAgICAgICAgbW9kZTogJ2lubGluZScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBNYXJrVHlwZXMuaXRhbGljLFxuICAgICAgICB0eXBlOiBNYXJrVHlwZXMuaXRhbGljLFxuICAgICAgICBiZXR3ZWVuOiBbJyonLCAnKiddLFxuICAgICAgICBtb2RlOiAnaW5saW5lJyxcbiAgICAgICAgaW5zZXJ0VHJpZ2dlcjogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IGAke01hcmtUeXBlcy5pdGFsaWN9X2AsXG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5pdGFsaWMsXG4gICAgICAgIGJldHdlZW46IFsnXycsICdfJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogRWxlbWVudEtpbmRzLmlubGluZUNvZGUsXG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlLFxuICAgICAgICBiZXR3ZWVuOiBbJ2AnLCAnYCddLFxuICAgICAgICBtb2RlOiAnaW5saW5lJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IsIHRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgSW5saW5lQ29kZUVkaXRvci50b2dnbGVJbmxpbmVDb2RlKGVkaXRvciwgdGV4dCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5hZnRlcihlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IE1hcmtUeXBlcy5zdHJpa2UsXG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5zdHJpa2UsXG4gICAgICAgIGJldHdlZW46IFsnfn4nLCAnfn4nXSxcbiAgICAgICAgbW9kZTogJ2lubGluZScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuY29kZSxcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmNvZGUsXG4gICAgICAgIG1hcmt1cDogJ2BgYCcsXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBDb2RlRWRpdG9yLmluc2VydENvZGUoZWRpdG9yKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5saXN0SXRlbSxcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtLFxuICAgICAgICBtYXJrdXA6IFtdLFxuICAgICAgICBtYXRjaDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gVGhlUXVlcmllcy5pc1BhcmFncmFwaChlZGl0b3IpID8gWycqJywgJy0nLCAnKyddIDogW107XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBMaXN0RWRpdG9yLnRvZ2dsZUxpc3QoZWRpdG9yLCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsXG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5saXN0SXRlbSxcbiAgICAgICAgbWFya3VwOiBbXSxcbiAgICAgICAgbWF0Y2g6IChlZGl0b3I6IEVkaXRvciwgdGV4dEZyb21CbG9ja1N0YXJ0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBUaGVRdWVyaWVzLmlzUGFyYWdyYXBoKGVkaXRvcikgJiYgL14tP1xcZCsoXFwufFxcKSkkLy50ZXN0KHRleHRGcm9tQmxvY2tTdGFydCkgPyBbdGV4dEZyb21CbG9ja1N0YXJ0XSA6IFtdO1xuICAgICAgICB9LFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvciwgbWFya3VwPzogc3RyaW5nW10pID0+IHtcbiAgICAgICAgICAgIGxldCBzdGFydEluZGV4ID0gMTtcbiAgICAgICAgICAgIGlmIChtYXJrdXApIHtcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gbWFya3VwWzBdLnNwbGl0KCcuJylbMF0gYXMgdW5rbm93biBhcyBudW1iZXI7XG4gICAgICAgICAgICAgICAgaWYgKHN0YXJ0SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTGlzdEVkaXRvci50b2dnbGVMaXN0KGVkaXRvciwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCwgc3RhcnRJbmRleCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuY2hlY2tJdGVtLFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuY2hlY2tJdGVtLFxuICAgICAgICBtYXJrdXA6IFtdLFxuICAgICAgICBtYXRjaDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gVGhlUXVlcmllcy5pc1BhcmFncmFwaChlZGl0b3IpID8gWydbXSddIDogW107XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBUb2RvSXRlbUVkaXRvci5pbnNlcnRUb2RvSXRlbShlZGl0b3IpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogRWxlbWVudEtpbmRzLmhyLFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaHIsXG4gICAgICAgIG1hcmt1cDogJy0tLScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9XG5dO1xuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { _ } from '../utils/lodash';
|
|
1
2
|
export const createPluginFactory = (defaultPlugin) => (override, overrideByKey = {}) => {
|
|
2
|
-
return defaultPlugin;
|
|
3
|
+
return _.cloneDeep(defaultPlugin);
|
|
3
4
|
};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb3JlL2NyZWF0ZS1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3BDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUM1QixDQUFTLGFBQXdDLEVBQUUsRUFBRSxDQUNyRCxDQUFTLFFBQTRDLEVBQUUsZ0JBQStCLEVBQUUsRUFBNEIsRUFBRTtJQUNsSCxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJy4uL3V0aWxzL2xvZGFzaCc7XG5pbXBvcnQgeyBOb0luZmVyLCBPdmVycmlkZUJ5S2V5LCBUaGVQbHVnaW4gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVBsdWdpbkZhY3RvcnkgPVxuICAgIDxQID0ge30+KGRlZmF1bHRQbHVnaW46IFRoZVBsdWdpbjx7fSwgTm9JbmZlcjxQPj4pID0+XG4gICAgPFQgPSB7fT4ob3ZlcnJpZGU/OiBQYXJ0aWFsPFRoZVBsdWdpbjxULCBOb0luZmVyPFA+Pj4sIG92ZXJyaWRlQnlLZXk6IE92ZXJyaWRlQnlLZXkgPSB7fSk6IFRoZVBsdWdpbjxULCBOb0luZmVyPFA+PiA9PiB7XG4gICAgICAgIHJldHVybiBfLmNsb25lRGVlcChkZWZhdWx0UGx1Z2luKTtcbiAgICB9O1xuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { _ } from '../../utils/lodash';
|
|
1
2
|
/**
|
|
2
3
|
* 循环 plugins 到 editor.plugins 和 editor.pluginsByKey
|
|
3
4
|
* 如果有 key 重复则进行覆盖
|
|
@@ -6,7 +7,7 @@ export const flattenDeepPlugins = (editor, plugins) => {
|
|
|
6
7
|
if (!plugins)
|
|
7
8
|
return;
|
|
8
9
|
plugins.forEach((plugin) => {
|
|
9
|
-
let p = plugin;
|
|
10
|
+
let p = _.cloneDeep(plugin);
|
|
10
11
|
if (!p.options)
|
|
11
12
|
p.options = {};
|
|
12
13
|
if (!p.nestedStructureByKey)
|
|
@@ -15,4 +16,4 @@ export const flattenDeepPlugins = (editor, plugins) => {
|
|
|
15
16
|
flattenDeepPlugins(editor, p.plugins);
|
|
16
17
|
});
|
|
17
18
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdHRlbi1kZWVwLXBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29yZS91dGlscy9mbGF0dGVuLWRlZXAtcGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdkM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBUyxNQUFpQixFQUFFLE9BQXdCLEVBQUUsRUFBRTtJQUN0RixJQUFJLENBQUMsT0FBTztRQUFFLE9BQU87SUFFckIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQXFCLEVBQUUsRUFBRTtRQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTztZQUFFLENBQUMsQ0FBQyxPQUFPLEdBQUcsRUFBUyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQW9CO1lBQUUsQ0FBQyxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUV6RCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixrQkFBa0IsQ0FBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJy4uLy4uL3V0aWxzL2xvZGFzaCc7XG5pbXBvcnQgeyBUaGVFZGl0b3IsIFRoZVBsdWdpbiwgV2l0aFRoZVBsdWdpbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIOW+queOryBwbHVnaW5zIOWIsCBlZGl0b3IucGx1Z2lucyDlkowgZWRpdG9yLnBsdWdpbnNCeUtleVxuICog5aaC5p6c5pyJIGtleSDph43lpI3liJnov5vooYzopobnm5ZcbiAqL1xuZXhwb3J0IGNvbnN0IGZsYXR0ZW5EZWVwUGx1Z2lucyA9IDxUID0ge30+KGVkaXRvcjogVGhlRWRpdG9yLCBwbHVnaW5zPzogVGhlUGx1Z2luPFQ+W10pID0+IHtcbiAgICBpZiAoIXBsdWdpbnMpIHJldHVybjtcblxuICAgIHBsdWdpbnMuZm9yRWFjaCgocGx1Z2luOiBXaXRoVGhlUGx1Z2luKSA9PiB7XG4gICAgICAgIGxldCBwID0gXy5jbG9uZURlZXAocGx1Z2luKTtcbiAgICAgICAgaWYgKCFwLm9wdGlvbnMpIHAub3B0aW9ucyA9IHt9IGFzIGFueTtcbiAgICAgICAgaWYgKCFwLm5lc3RlZFN0cnVjdHVyZUJ5S2V5KSBwLm5lc3RlZFN0cnVjdHVyZUJ5S2V5ID0ge307XG5cbiAgICAgICAgZWRpdG9yLnBsdWdpbnMucHVzaChwKTtcbiAgICAgICAgZmxhdHRlbkRlZXBQbHVnaW5zPFQ+KGVkaXRvciwgcC5wbHVnaW5zISk7XG4gICAgfSk7XG59O1xuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { getPlugin } from './get-plugin';
|
|
2
|
-
export const getPluginOptions = (editor, key) => { var _a; return (_a = getPlugin(editor, key).options) !== null &&
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const getPluginOptions = (editor, key) => { var _a, _b; return (_b = (_a = getPlugin(editor, key)) === null || _a === void 0 ? void 0 : _a.options) !== null && _b !== void 0 ? _b : {}; };
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBsdWdpbi1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvcmUvdXRpbHMvZ2V0LXBsdWdpbi1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBaUIsTUFBaUIsRUFBRSxHQUFjLEVBQXNCLEVBQUUsZUFDdEcsT0FBQSxNQUFBLE1BQUEsU0FBUyxDQUFPLE1BQU0sRUFBRSxHQUFHLENBQUMsMENBQUUsT0FBTyxtQ0FBSyxFQUF5QixDQUFBLEVBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsdWdpbktleSwgVGhlRWRpdG9yLCBUaGVQbHVnaW5PcHRpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldFBsdWdpbiB9IGZyb20gJy4vZ2V0LXBsdWdpbic7XG5cbmV4cG9ydCBjb25zdCBnZXRQbHVnaW5PcHRpb25zID0gPFAgPSB7fSwgVCA9IHt9PihlZGl0b3I6IFRoZUVkaXRvciwga2V5OiBQbHVnaW5LZXkpOiBUaGVQbHVnaW5PcHRpb248UD4gPT5cbiAgICBnZXRQbHVnaW48UCwgVD4oZWRpdG9yLCBrZXkpPy5vcHRpb25zID8/ICh7fSBhcyBUaGVQbHVnaW5PcHRpb248UD4pO1xuIl19
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb3JlL3V0aWxzL2dldC1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFpQixNQUFpQixFQUFFLEdBQWMsRUFBdUIsRUFBRSxDQUFDLGNBQWMsQ0FBTyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsdWdpbktleSwgVGhlRWRpdG9yLCBXaXRoVGhlUGx1Z2luIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRQbHVnaW5CeUtleSB9IGZyb20gJy4vZ2V0LXBsdWdpbi1ieS1rZXknO1xuXG5leHBvcnQgY29uc3QgZ2V0UGx1Z2luID0gPFAgPSB7fSwgVCA9IHt9PihlZGl0b3I6IFRoZUVkaXRvciwga2V5OiBQbHVnaW5LZXkpOiBXaXRoVGhlUGx1Z2luPFQsIFA+ID0+IGdldFBsdWdpbkJ5S2V5PFQsIFA+KGVkaXRvcilba2V5XTtcbiJdfQ==
|
|
1
|
+
export const getPlugin = (editor, key) => editor.pluginsByKey[key];
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb3JlL3V0aWxzL2dldC1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQWlCLE1BQWlCLEVBQUUsR0FBYyxFQUF1QixFQUFFLENBQ2hHLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGx1Z2luS2V5LCBUaGVFZGl0b3IsIFdpdGhUaGVQbHVnaW4gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IGdldFBsdWdpbiA9IDxQID0ge30sIFQgPSB7fT4oZWRpdG9yOiBUaGVFZGl0b3IsIGtleTogUGx1Z2luS2V5KTogV2l0aFRoZVBsdWdpbjxULCBQPiA9PlxuICAgIGVkaXRvci5wbHVnaW5zQnlLZXlba2V5XSBhcyBXaXRoVGhlUGx1Z2luPFQsIFA+O1xuIl19
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export * from './flatten-deep-plugins';
|
|
2
2
|
export * from './get-plugins';
|
|
3
3
|
export * from './get-plugin';
|
|
4
|
-
export * from './get-plugin-by-key';
|
|
5
4
|
export * from './get-plugin-options';
|
|
6
5
|
export * from './merge-options';
|
|
7
6
|
export * from './combine-plugins';
|
|
8
7
|
export * from './merge-deep-plugins';
|
|
9
8
|
export * from './nested-structure-by-key';
|
|
10
9
|
export * from './plugins-by-key';
|
|
11
|
-
|
|
10
|
+
export * from './merge-array';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29yZS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mbGF0dGVuLWRlZXAtcGx1Z2lucyc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1wbHVnaW5zJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXBsdWdpbic7XG5leHBvcnQgKiBmcm9tICcuL2dldC1wbHVnaW4tb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL21lcmdlLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21iaW5lLXBsdWdpbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXJnZS1kZWVwLXBsdWdpbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9uZXN0ZWQtc3RydWN0dXJlLWJ5LWtleSc7XG5leHBvcnQgKiBmcm9tICcuL3BsdWdpbnMtYnkta2V5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVyZ2UtYXJyYXknO1xuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { isObject } from 'ngx-tethys/util';
|
|
2
|
+
export const mergeArray = (origin, source) => {
|
|
3
|
+
if (!Array.isArray(source))
|
|
4
|
+
return source;
|
|
5
|
+
for (let i = 0; i < source.length; i++) {
|
|
6
|
+
const value = source[i];
|
|
7
|
+
if (isObject(value) && (value === null || value === void 0 ? void 0 : value.key) && origin.some((item) => (item === null || item === void 0 ? void 0 : item.key) === (value === null || value === void 0 ? void 0 : value.key))) {
|
|
8
|
+
let index = origin.findIndex((item) => (item === null || item === void 0 ? void 0 : item.key) === (value === null || value === void 0 ? void 0 : value.key));
|
|
9
|
+
origin[index] = Object.assign(Object.assign({}, origin[index]), value);
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
if (origin.includes(source[i]))
|
|
13
|
+
continue;
|
|
14
|
+
origin.push(source[i]);
|
|
15
|
+
}
|
|
16
|
+
return origin;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29yZS91dGlscy9tZXJnZS1hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHM0MsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUksTUFBVyxFQUFFLE1BQVcsRUFBRSxFQUFFO0lBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDO0lBRTFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQWUsQ0FBQztRQUN0QyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsR0FBRyxDQUFBLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLEdBQUcsT0FBSyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsR0FBRyxDQUFBLENBQUMsRUFBRTtZQUM5RixJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsR0FBRyxPQUFLLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxHQUFHLENBQUEsQ0FBQyxDQUFDO1lBQzdFLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUNBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFLLEtBQUssQ0FBRSxDQUFDO1lBQy9DLFNBQVM7U0FDWjtRQUNELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBRSxTQUFTO1FBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDMUI7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBPcHRpb25JdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wbHVnaW5zJztcblxuZXhwb3J0IGNvbnN0IG1lcmdlQXJyYXkgPSA8VD4ob3JpZ2luOiBUW10sIHNvdXJjZTogVFtdKSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHNvdXJjZSkpIHJldHVybiBzb3VyY2U7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNvdXJjZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHNvdXJjZVtpXSBhcyBPcHRpb25JdGVtO1xuICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUpICYmIHZhbHVlPy5rZXkgJiYgb3JpZ2luLnNvbWUoKGl0ZW06IE9wdGlvbkl0ZW0pID0+IGl0ZW0/LmtleSA9PT0gdmFsdWU/LmtleSkpIHtcbiAgICAgICAgICAgIGxldCBpbmRleCA9IG9yaWdpbi5maW5kSW5kZXgoKGl0ZW06IE9wdGlvbkl0ZW0pID0+IGl0ZW0/LmtleSA9PT0gdmFsdWU/LmtleSk7XG4gICAgICAgICAgICBvcmlnaW5baW5kZXhdID0geyAuLi5vcmlnaW5baW5kZXhdLCAuLi52YWx1ZSB9O1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9yaWdpbi5pbmNsdWRlcyhzb3VyY2VbaV0pKSBjb250aW51ZTtcbiAgICAgICAgb3JpZ2luLnB1c2goc291cmNlW2ldKTtcbiAgICB9XG4gICAgcmV0dXJuIG9yaWdpbjtcbn07XG4iXX0=
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { _ } from '../../utils/lodash';
|
|
2
1
|
import { mergeOptions } from './merge-options';
|
|
3
2
|
export const mergeDeepPlugins = (editor, _plugins) => {
|
|
4
3
|
_plugins.forEach(plugin => {
|
|
@@ -7,10 +6,9 @@ export const mergeDeepPlugins = (editor, _plugins) => {
|
|
|
7
6
|
newPlugins.forEach(p => {
|
|
8
7
|
if (editor.pluginsByKey[p.key]) {
|
|
9
8
|
mergeOptions(p, plugin.overrideByKey[p.key]);
|
|
10
|
-
editor.pluginsByKey[p.key] = _.defaultsDeep(p, plugin.overrideByKey[p.key]);
|
|
11
9
|
}
|
|
12
10
|
});
|
|
13
11
|
}
|
|
14
12
|
});
|
|
15
13
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtZGVlcC1wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvcmUvdXRpbHMvbWVyZ2UtZGVlcC1wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFvRCxNQUFpQixFQUFFLFFBQVcsRUFBRSxFQUFFO0lBQ2xILFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdEIsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRXJFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzVCLFlBQVksQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFrQixDQUFDLENBQUM7aUJBQ2pFO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXyB9IGZyb20gJy4uLy4uL3V0aWxzL2xvZGFzaCc7XG5pbXBvcnQgeyBPdmVycmlkZUJ5S2V5LCBUaGVFZGl0b3IsIFRoZVBsdWdpbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgbWVyZ2VPcHRpb25zIH0gZnJvbSAnLi9tZXJnZS1vcHRpb25zJztcblxuZXhwb3J0IGNvbnN0IG1lcmdlRGVlcFBsdWdpbnMgPSA8VCA9IHt9LCBQIGV4dGVuZHMgVGhlUGx1Z2luPFQ+W10gPSBUaGVQbHVnaW48VD5bXT4oZWRpdG9yOiBUaGVFZGl0b3IsIF9wbHVnaW5zOiBQKSA9PiB7XG4gICAgX3BsdWdpbnMuZm9yRWFjaChwbHVnaW4gPT4ge1xuICAgICAgICBpZiAocGx1Z2luLm92ZXJyaWRlQnlLZXkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1BsdWdpbnMgPSBfcGx1Z2lucy5maWx0ZXIocCA9PiBwbHVnaW4ub3ZlcnJpZGVCeUtleVtwLmtleV0pO1xuXG4gICAgICAgICAgICBuZXdQbHVnaW5zLmZvckVhY2gocCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVkaXRvci5wbHVnaW5zQnlLZXlbcC5rZXldKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lcmdlT3B0aW9ucyhwLCBwbHVnaW4ub3ZlcnJpZGVCeUtleVtwLmtleV0gYXMgT3ZlcnJpZGVCeUtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG4iXX0=
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { isObject } from 'ngx-tethys/util';
|
|
2
2
|
import { _ } from '../../utils/lodash';
|
|
3
|
+
import { mergeArray } from './merge-array';
|
|
3
4
|
export const mergeOptions = (plugin, override) => {
|
|
4
5
|
const { options } = plugin;
|
|
5
|
-
const newOptions =
|
|
6
|
-
for (let option in options) {
|
|
7
|
-
if (Array.isArray(options[option])) {
|
|
8
|
-
newOptions[option] =
|
|
6
|
+
const newOptions = options;
|
|
7
|
+
for (let option in override.options) {
|
|
8
|
+
if (Array.isArray(override.options[option]) && newOptions[option]) {
|
|
9
|
+
newOptions[option] = mergeArray(newOptions[option], override.options[option]);
|
|
9
10
|
continue;
|
|
10
11
|
}
|
|
11
|
-
if (isObject(options[option])) {
|
|
12
|
-
newOptions[option] = _.assign(
|
|
12
|
+
if (isObject(override.options[option]) && newOptions[option]) {
|
|
13
|
+
newOptions[option] = _.assign(newOptions[option], override.options[option]);
|
|
14
|
+
continue;
|
|
13
15
|
}
|
|
14
|
-
newOptions[option] = override.options[option]
|
|
16
|
+
newOptions[option] = override.options[option];
|
|
15
17
|
}
|
|
16
18
|
plugin.options = newOptions;
|
|
17
19
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2Utb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb3JlL3V0aWxzL21lcmdlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFpQixNQUFnQyxFQUFFLFFBQXVCLEVBQUUsRUFBRTtJQUN0RyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzNCLE1BQU0sVUFBVSxHQUFHLE9BQXVCLENBQUM7SUFDM0MsS0FBSyxJQUFJLE1BQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO1FBQ2pDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9ELFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM5RSxTQUFTO1NBQ1o7UUFDRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFELFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDNUUsU0FBUztTQUNaO1FBQ0QsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDakQ7SUFDRCxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztBQUNoQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBfIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9kYXNoJztcbmltcG9ydCB7IE5vSW5mZXIsIE92ZXJyaWRlQnlLZXksIFRoZVBsdWdpbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgbWVyZ2VBcnJheSB9IGZyb20gJy4vbWVyZ2UtYXJyYXknO1xuXG5leHBvcnQgY29uc3QgbWVyZ2VPcHRpb25zID0gPFQgPSB7fSwgUCA9IHt9PihwbHVnaW46IFRoZVBsdWdpbjxULCBOb0luZmVyPFA+Piwgb3ZlcnJpZGU6IE92ZXJyaWRlQnlLZXkpID0+IHtcbiAgICBjb25zdCB7IG9wdGlvbnMgfSA9IHBsdWdpbjtcbiAgICBjb25zdCBuZXdPcHRpb25zID0gb3B0aW9ucyBhcyB1bmtub3duIGFzIFA7XG4gICAgZm9yIChsZXQgb3B0aW9uIGluIG92ZXJyaWRlLm9wdGlvbnMpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob3ZlcnJpZGUub3B0aW9uc1tvcHRpb25dKSAmJiBuZXdPcHRpb25zW29wdGlvbl0pIHtcbiAgICAgICAgICAgIG5ld09wdGlvbnNbb3B0aW9uXSA9IG1lcmdlQXJyYXkobmV3T3B0aW9uc1tvcHRpb25dLCBvdmVycmlkZS5vcHRpb25zW29wdGlvbl0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzT2JqZWN0KG92ZXJyaWRlLm9wdGlvbnNbb3B0aW9uXSkgJiYgbmV3T3B0aW9uc1tvcHRpb25dKSB7XG4gICAgICAgICAgICBuZXdPcHRpb25zW29wdGlvbl0gPSBfLmFzc2lnbihuZXdPcHRpb25zW29wdGlvbl0sIG92ZXJyaWRlLm9wdGlvbnNbb3B0aW9uXSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBuZXdPcHRpb25zW29wdGlvbl0gPSBvdmVycmlkZS5vcHRpb25zW29wdGlvbl07XG4gICAgfVxuICAgIHBsdWdpbi5vcHRpb25zID0gbmV3T3B0aW9ucztcbn07XG4iXX0=
|
|
@@ -170,7 +170,8 @@ export class TheEditorComponent extends mixinUnsubscribe(MixinBase) {
|
|
|
170
170
|
}
|
|
171
171
|
initialize() {
|
|
172
172
|
var _a, _b;
|
|
173
|
-
const
|
|
173
|
+
const defaultPlugins = internalPlugins();
|
|
174
|
+
const plugins = [...defaultPlugins, ...this.thePlugins];
|
|
174
175
|
this.editor = withTheia(withHistory(withAngular(createEditor(), CLIPBOARD_FORMAT_KEY)), plugins);
|
|
175
176
|
this.generateDecorate();
|
|
176
177
|
this.editor.disabled = (_a = this.theOptions) === null || _a === void 0 ? void 0 : _a.disabled;
|
|
@@ -423,4 +424,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
423
424
|
type: ViewChild,
|
|
424
425
|
args: ['quickInsert', { static: true }]
|
|
425
426
|
}] } });
|
|
426
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBRVQsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBSVosdUJBQXVCLEVBRTFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBUSxVQUFVLEVBQUUsWUFBWSxFQUF1QixLQUFLLEVBQUUsSUFBSSxFQUFhLE1BQU0sT0FBTyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBYyxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUEyQyxXQUFXLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUNILFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGVBQWUsRUFDZixTQUFTLEVB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QjtxQkFDeEQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEO3FOQUVZLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBR1AsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkvQyxxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZTtnQkFJMUIsbUJBQW1CO3NCQURsQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIE9uSW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIE5nWm9uZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWl4aW5VbnN1YnNjcmliZSwgTWl4aW5CYXNlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgRWRpdG9yLCBUZXh0LCBUcmFuc2Zvcm1zLCBjcmVhdGVFZGl0b3IsIEVsZW1lbnQsIERlc2NlbmRhbnQsIFJhbmdlLCBQYXRoLCBOb2RlRW50cnkgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyB3aXRoSGlzdG9yeSB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgU2xhdGVFcnJvciwgd2l0aEFuZ3VsYXIgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZU9wdGlvbnMsIERvbUV2ZW50RGF0YUluZm8sIFRoZUVkaXRvciwgVGhlRGF0YU1vZGUsIFRvb2xiYXJFbnRpdHkgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWFya1R5cGVzLCBDTElQQk9BUkRfRk9STUFUX0tFWSwgREVGQVVMVF9TQ1JPTExfQ09OVEFJTkVSIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGhlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVtcGxhdGUvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbG9yLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgYXV0b0ZvY3VzLFxuICAgIGF1dG9TY3JvbGxWaWV3SGFuZGxlLFxuICAgIGRhdGFEZXNlcmlhbGl6ZSxcbiAgICBkYXRhU2VyaWFsaXppbmcsXG4gICAgaWRDcmVhdG9yLFxuICAgIHNldEVkaXRvclVVSUQsXG4gICAgY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgXyB9IGZyb20gJy4vdXRpbHMvbG9kYXNoJztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgd2l0aFRoZWlhLCBjcmVhdGVUb29sYmFyIH0gZnJvbSAnLi9jb3JlJztcbmltcG9ydCB7IGludGVybmFsUGx1Z2lucyB9IGZyb20gJy4vcGx1Z2lucyc7XG5pbXBvcnQgeyBzaG9ydGN1dHMgfSBmcm9tICcuL3Nob3J0Y3V0cyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4vcXVlcmllcyc7XG5pbXBvcnQgeyBUaGVQbHVnaW4gfSBmcm9tICcuL2ludGVyZmFjZXMvcGx1Z2lucy9wbHVnaW5zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtZWRpdG9yLCB0aGVFZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVGhlQ29udGV4dFNlcnZpY2UsXG4gICAgICAgIFRoZUNvbG9yU2VsZWN0U2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaGVFZGl0b3JDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoZS1lZGl0b3InLFxuICAgICAgICAnW2NsYXNzLnRoZS1lZGl0b3ItcmVhZG9ubHldJzogJ3RoZU9wdGlvbnM/LnJlYWRvbmx5J1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGhlRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgbWl4aW5VbnN1YnNjcmliZShNaXhpbkJhc2UpIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdGhlT3B0aW9uczogVGhlT3B0aW9ucztcblxuICAgIEBJbnB1dCgpIHRoZVBsdWdpbnM6IFRoZVBsdWdpbltdID0gW107XG5cbiAgICBASW5wdXQoKSB0aGVHbG9iYWxUb29sYmFyPzogVGhlVG9vbGJhckNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHRoZURlY29yYXRlOiAoZWRpdG9yOiBUaGVFZGl0b3IsIG5vZGVFbnRyeTogTm9kZUVudHJ5KSA9PiBSYW5nZVtdO1xuXG4gICAgQElucHV0KCkgdGhlT25FcnJvcj86IChlcnJvcjogU2xhdGVFcnJvcikgPT4gdm9pZDtcblxuICAgIEBPdXRwdXQoKSB0aGVPblNhdmU6IEV2ZW50RW1pdHRlcjxEZXNjZW5kYW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxEZXNjZW5kYW50W10+KCk7XG5cbiAgICBAT3V0cHV0KCkgdGhlT25ET01FdmVudDogRXZlbnRFbWl0dGVyPHsgbmF0aXZlRXZlbnQ6IEV2ZW50OyBkYXRhPzogRG9tRXZlbnREYXRhSW5mbyB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSB0aGVFZGl0b3JDcmVhdGVkOiBFdmVudEVtaXR0ZXI8RWRpdG9yPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlSW5zdGFuY2UnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHRlbXBsYXRlSW5zdGFuY2U6IFRoZVRlbXBsYXRlQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnZ2xvYmFsVG9vbGJhcicpXG4gICAgZ2xvYmFsVG9vbGJhckluc3RhbmNlOiBUaGVUb29sYmFyQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgncXVpY2tJbnNlcnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHF1aWNrSW5zZXJ0SW5zdGFuY2U6IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50O1xuXG4gICAgdG9vbGJhckVudGl0eTogVG9vbGJhckVudGl0eTtcblxuICAgIGVkaXRvcjogVGhlRWRpdG9yO1xuXG4gICAgZWRpdG9yVmFsdWU6IERlc2NlbmRhbnRbXTtcblxuICAgIGdsb2JhbFRvb2xiYXJDbGFzczogc3RyaW5nW107XG5cbiAgICBkZWNvcmF0ZTogKG5vZGVFbnRyeTogTm9kZUVudHJ5KSA9PiBSYW5nZVtdO1xuXG4gICAgZ2V0IHRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZSgpOiBUaGVUb29sYmFyQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGhlR2xvYmFsVG9vbGJhciA/IHRoaXMudGhlR2xvYmFsVG9vbGJhciA6IHRoaXMuZ2xvYmFsVG9vbGJhckluc3RhbmNlO1xuICAgIH1cblxuICAgIGdldCBtYXhIZWlnaHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoZU9wdGlvbnM/Lm1heEhlaWdodCA/IGAke3RoaXMudGhlT3B0aW9ucz8ubWF4SGVpZ2h0fXB4YCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IHF1aWNrVG9vbGJhckl0ZW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyRW50aXR5Py5xdWljaztcbiAgICB9XG5cbiAgICBhdXRvU2Nyb2xsVmlldyA9IF8uZGVib3VuY2UoZnVuY3Rpb24gKGVkaXRvcjogRWRpdG9yLCBzY3JvbGxDb250YWluZXI6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gYXV0b1Njcm9sbFZpZXdIYW5kbGUoZWRpdG9yLCBzY3JvbGxDb250YWluZXIpO1xuICAgIH0sIDgwKTtcblxuICAgIGVsZW1lbnRUb0h0bWw6IFdlYWtNYXA8RWxlbWVudCwgc3RyaW5nPiA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRoZUNvbnRleHRTZXJ2aWNlOiBUaGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5vbkVycm9ySGFuZGxlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGNoYW5nZXMudGhlT3B0aW9ucztcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY3VycmVudFZhbHVlPy5yZWFkb25seSAhPT0gb3B0aW9ucy5wcmV2aW91c1ZhbHVlPy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy5hcHBseUF1dG9Gb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0aGVEZWNvcmF0ZSddKSB7XG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlRGVjb3JhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnNlbGVjdGlvbiAmJiAob3B0aW9ucz8uY3VycmVudFZhbHVlPy5yZWFkb25seSB8fCBvcHRpb25zPy5jdXJyZW50VmFsdWU/LmRpc2FibGVkKSkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZXNlbGVjdCh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICBjb25zdCBwbHVnaW5zID0gWy4uLmludGVybmFsUGx1Z2lucywgLi4udGhpcy50aGVQbHVnaW5zXTtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSB3aXRoVGhlaWEod2l0aEhpc3Rvcnkod2l0aEFuZ3VsYXIoY3JlYXRlRWRpdG9yKCksIENMSVBCT0FSRF9GT1JNQVRfS0VZKSksIHBsdWdpbnMpO1xuICAgICAgICB0aGlzLmdlbmVyYXRlRGVjb3JhdGUoKTtcbiAgICAgICAgdGhpcy5lZGl0b3IuZGlzYWJsZWQgPSB0aGlzLnRoZU9wdGlvbnM/LmRpc2FibGVkO1xuICAgICAgICB0aGlzLmVkaXRvci5leHRyYUVsZW1lbnRPcHRpb25zID0gdGhpcy50aGVPcHRpb25zPy5leHRyYUVsZW1lbnRPcHRpb25zO1xuICAgICAgICB0aGlzLmVkaXRvci5vcHRpb25zID0gdGhpcy50aGVPcHRpb25zO1xuICAgICAgICBzZXRFZGl0b3JVVUlEKHRoaXMuZWRpdG9yLCBpZENyZWF0b3IoKSk7XG4gICAgICAgIHRoaXMudGhlQ29udGV4dFNlcnZpY2UuaW5pdGlhbGl6ZSh7XG4gICAgICAgICAgICB0aGVPcHRpb25zOiB0aGlzLnRoZU9wdGlvbnMsXG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZlxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50b29sYmFyQ2FsY3VsYXRlKCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gWW91IG5lZWQgdG8gd2FpdCBmb3IgdGhlIGVkaXRvciByZW5kZXJpbmcgdG8gY29tcGxldGVcbiAgICAgICAgICAgIC8vIGJlZm9yZSB0cmlnZ2VyaW5nIHRoZSBleHRlcm5hbCB0b29sYmFyIGFzc2lnbm1lbnQgZGV0ZWN0aW9uXG4gICAgICAgICAgICB0aGlzLmdsb2JhbFRvb2xiYXJJbml0KCk7XG4gICAgICAgICAgICB0aGlzLnRoZUVkaXRvckNyZWF0ZWQuZW1pdCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICB0aGlzLmFwcGx5QXV0b0ZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVPcHRpb25zKCkge1xuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy50aGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIHJlYWRvbmx5OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtb2RlOiBUaGVEYXRhTW9kZS5odG1sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy50aGVPcHRpb25zLm1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMudGhlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLnRoZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgbW9kZTogVGhlRGF0YU1vZGUuaHRtbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGx5QXV0b0ZvY3VzKCkge1xuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucz8uZGlzYWJsZWQgJiYgIXRoaXMudGhlT3B0aW9ucz8ucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIGF1dG9Gb2N1cyh0aGlzLmVkaXRvciwgdGhpcy50aGVPcHRpb25zPy5hdXRvRm9jdXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9vbGJhckNhbGN1bGF0ZSgpIHtcbiAgICAgICAgY29uc3QgeyBnbG9iYWxUb29sYmFyQ2xhc3MsIHRvb2xiYXJFbnRpdHkgfSA9IGNyZWF0ZVRvb2xiYXIodGhpcy5lZGl0b3IsIHRoaXM/LnRoZU9wdGlvbnM/LnRvb2xiYXIpO1xuICAgICAgICB0aGlzLmdsb2JhbFRvb2xiYXJDbGFzcyA9IGdsb2JhbFRvb2xiYXJDbGFzcztcbiAgICAgICAgdGhpcy50b29sYmFyRW50aXR5ID0gdG9vbGJhckVudGl0eTtcbiAgICB9XG5cbiAgICBnbG9iYWxUb29sYmFySW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGhlR2xvYmFsVG9vbGJhcikge1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UuZWRpdG9yID0gdGhpcy5lZGl0b3I7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS50b29sYmFySXRlbXMgPSB0aGlzLnRvb2xiYXJFbnRpdHkuZ2xvYmFsO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UuY29udGFpbmVyQ2xhc3MgPSB0aGlzLmdsb2JhbFRvb2xiYXJDbGFzcztcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLmFsaWduID0gdGhpcz8udGhlT3B0aW9ucz8udG9vbGJhcj8uYWxpZ247XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5zZXRUb29sYmFyQ2xhc3MoKTtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLnJlbmRlclRvb2xiYXJWaWV3KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBEZXNjZW5kYW50W10pIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGRhdGFEZXNlcmlhbGl6ZSh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUsIHZhbHVlKTtcbiAgICAgICAgLy8gZGF0YS1kZXNlcmlhbGl6ZVxuICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gZGF0YTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHZhbHVlQ2hhbmdlKHZhbHVlOiBEZXNjZW5kYW50W10pIHtcbiAgICAgICAgY29uc3QgaXNFZGl0YWJsZSA9ICF0aGlzLnRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmICF0aGlzLnRoZU9wdGlvbnM/LmRpc2FibGVkO1xuXG4gICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlPy5zdGF0dXNDaGFuZ2UodGhpcy5lZGl0b3IpO1xuXG4gICAgICAgIC8vIHF1aWNrIGluc2VydCBidXR0b25cbiAgICAgICAgaWYgKGlzRWRpdGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMucXVpY2tJbnNlcnRJbnN0YW5jZT8uY2hlY2tTdGF0dXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGF1dG8gc2Nyb2xsIHZpZXdcbiAgICAgICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyID0gdGhpcy50aGVPcHRpb25zPy5zY3JvbGxDb250YWluZXI7XG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMudGhlT3B0aW9ucz8ubWF4SGVpZ2h0O1xuICAgICAgICBpZiAoaXNFZGl0YWJsZSAmJiAoc2Nyb2xsQ29udGFpbmVyIHx8IG1heEhlaWdodCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IG1heEhlaWdodCA/IERFRkFVTFRfU0NST0xMX0NPTlRBSU5FUiA6IHNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgICAgIHRoaXMuYXV0b1Njcm9sbFZpZXcodGhpcy5lZGl0b3IsIGNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lZGl0b3JWYWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgLy8gc2VyaWFsaXppbmdcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gdGhpcy5zZXJpYWxpemluZ1ZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXJpYWxpemluZ1ZhbHVlKHZhbHVlOiBEZXNjZW5kYW50W10pOiBzdHJpbmcgfCBEZXNjZW5kYW50W10ge1xuICAgICAgICBpZiAodGhpcy50aGVPcHRpb25zPy5tb2RlID09PSBUaGVEYXRhTW9kZS5odG1sKSB7XG4gICAgICAgICAgICBsZXQgaHRtbFZhbHVlID0gJyc7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRIdG1sID0gdGhpcy5lbGVtZW50VG9IdG1sLmdldChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudEh0bWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBzZXJpYWxpemluZ1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50SHRtbCA9IGRhdGFTZXJpYWxpemluZyh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUsIFtlbGVtZW50XSkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICBodG1sVmFsdWUgKz0gZWxlbWVudEh0bWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFRvSHRtbC5zZXQoZWxlbWVudCwgZWxlbWVudEh0bWwpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGh0bWxWYWx1ZSArPSBlbGVtZW50SHRtbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgb25FcnJvckhhbmRsZXIoKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yLm9uRXJyb3IgPSAoZXJyb3JEYXRhOiBTbGF0ZUVycm9yKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aGVPbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPbkVycm9yKGVycm9yRGF0YSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVycm9yRGF0YS5uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JEYXRhLm5hdGl2ZUVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlSW5zdGFuY2UucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5lZGl0b3IucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudCA/IGNvbXBvbmVudCA6IHRlbXBsYXRlO1xuICAgIH07XG5cbiAgICByZW5kZXJMZWFmID0gKHRleHQ6IFRleHQpID0+IHtcbiAgICAgICAgY29uc3QgbGVhZiA9IHRoaXMuZWRpdG9yLnJlbmRlckxlYWYodGV4dCk7XG4gICAgICAgIHJldHVybiBsZWFmID8gbGVhZiA6IG51bGw7XG4gICAgfTtcblxuICAgIHJlbmRlclRleHQgPSAodGV4dDogVGV4dCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBNYXJrVHlwZXMpIHtcbiAgICAgICAgICAgIGlmICh0ZXh0W01hcmtUeXBlc1trZXldXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBUaGVUZXh0Q29tcG9uZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0ZXh0LnRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZ2VuZXJhdGVEZWNvcmF0ZSgpIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0ZSA9IChub2RlRW50cnk6IE5vZGVFbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVjb3JhdGlvbnMgPSBbXTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGhlRGVjb3JhdGUpIHtcbiAgICAgICAgICAgICAgICBkZWNvcmF0aW9ucy5wdXNoKC4uLnRoaXMudGhlRGVjb3JhdGUodGhpcy5lZGl0b3IsIG5vZGVFbnRyeSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZGVjb3JhdGlvbnM7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25LZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHNob3J0Y3V0cyh0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnQsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAga2V5OiBldmVudC5rZXlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpc0hvdGtleSgnbW9kK3MnLCBldmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPblNhdmUuZW1pdCh0aGlzLmVkaXRvclZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNIb3RrZXkoJ21vZCthJywgZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdEFsbCgpO1xuICAgICAgICB9XG4gICAgICAgIEFuZ3VsYXJFZGl0b3Iub25LZXlkb3duKHRoaXMuZWRpdG9yLCBldmVudCk7XG4gICAgfTtcblxuICAgIG1vdXNlZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZSh0aGlzLmVkaXRvciwgdGhpcy5lZGl0b3IpO1xuICAgICAgICBjb25zdCByZWN0RWRpdGFibGUgPSBlZGl0YWJsZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGFic29sdXRlRWxlbWVudCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZXZlbnQueCwgZXZlbnQueSk7XG4gICAgICAgIGlmICghZWRpdGFibGVFbGVtZW50LmlzRXF1YWxOb2RlKGFic29sdXRlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrQ2FyZEVsZW1lbnQgPSBhYnNvbHV0ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNsYXRlLWJsb2NrLWNhcmQnKTtcbiAgICAgICAgICAgIGlmICghYmxvY2tDYXJkRWxlbWVudCkgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCB7IHBhZGRpbmdSaWdodCB9ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWRpdGFibGVFbGVtZW50LCBudWxsKTtcbiAgICAgICAgY29uc3QgcGFkZGluZ1JpZ2h0UGl4ZWxzID0gY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlKHBhZGRpbmdSaWdodCk7XG4gICAgICAgIGNvbnN0IGZha2VSaWdodFggPSByZWN0RWRpdGFibGUucmlnaHQgLSBwYWRkaW5nUmlnaHRQaXhlbHMgLSA1MDtcbiAgICAgICAgbGV0IHJlbGF0aXZlRWxlbWVudCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZmFrZVJpZ2h0WCwgZXZlbnQueSk7XG4gICAgICAgIGxldCByZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQgPSByZWxhdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLnNsYXRlLWJsb2NrLWNhcmQnKTtcbiAgICAgICAgaWYgKHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgY2VudGVyWCA9IHJlY3RFZGl0YWJsZS54ICsgcmVjdEVkaXRhYmxlLndpZHRoIC8gMjtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrQ2FyZEVudHJ5ID0gQW5ndWxhckVkaXRvci50b1NsYXRlQ2FyZEVudHJ5KHRoaXMuZWRpdG9yLCByZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQpO1xuICAgICAgICAgICAgaWYgKGJsb2NrQ2FyZEVudHJ5ICYmIHRoaXMuZWRpdG9yLmlzQmxvY2tDYXJkKGJsb2NrQ2FyZEVudHJ5WzBdKSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5tb3ZlQmxvY2tDYXJkKHRoaXMuZWRpdG9yLCBibG9ja0NhcmRFbnRyeVswXSwgeyBkaXJlY3Rpb246IGV2ZW50LnggPCBjZW50ZXJYID8gJ2xlZnQnIDogJ3JpZ2h0JyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVNlbGVjdEFsbCgpIHtcbiAgICAgICAgbGV0IG5vZGU7XG4gICAgICAgIGlmICghdGhpcy5lZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldEVuZFNlbGVjdGlvbih0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gUmFuZ2UuZWRnZXModGhpcy5lZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uUmFuZ2UgPSBFZGl0b3IucmFuZ2UodGhpcy5lZGl0b3IsIHN0YXJ0LCBlbmQpO1xuICAgICAgICBjb25zdCBjb250YWluZXJCbG9ja3MgPSBUaGVRdWVyaWVzLmdldENvbnRhaW5lckJsb2Nrcyh0aGlzLmVkaXRvcik7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29udGFpbmVyQmxvY2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBbbm9kZV0gPSBUaGVRdWVyaWVzLmdldE5vZGVzQnlUeXBlKHRoaXMuZWRpdG9yLCBjb250YWluZXJCbG9ja3NbaV0pO1xuICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbLCBwYXRoXSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNTdGFydFBhcmVudCA9IFBhdGguZXF1YWxzKHBhdGgsIHN0YXJ0LnBhdGguc2xpY2UoMCwgcGF0aC5sZW5ndGgpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0VuZFBhcmVudCA9IFBhdGguZXF1YWxzKHBhdGgsIGVuZC5wYXRoLnNsaWNlKDAsIHBhdGgubGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzU3RhcnRQYXJlbnQgJiYgaXNFbmRQYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZVJhbmdlID0gRWRpdG9yLnJhbmdlKHRoaXMuZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFSYW5nZS5lcXVhbHMobm9kZVJhbmdlLCBzZWxlY3Rpb25SYW5nZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KHRoaXMuZWRpdG9yLCBub2RlUmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbm9kZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QodGhpcy5lZGl0b3IsIFtdKTtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb25DbGljayA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBBbmd1bGFyRWRpdG9yLm9uQ2xpY2sodGhpcy5lZGl0b3IsIGV2ZW50KTtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYVBhc3RlID0gKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5nZXRUZXh0QW5kSlNPTihldmVudC5jbGlwYm9hcmREYXRhKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFCZWZvcmVJbnB1dCA9IChcbiAgICAgICAgZXZlbnQ6IEV2ZW50ICYge1xuICAgICAgICAgICAgaW5wdXRUeXBlOiBzdHJpbmc7XG4gICAgICAgICAgICBkYXRhOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsO1xuICAgICAgICB9XG4gICAgKSA9PiB7XG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgICAgaW5wdXRUeXBlOiBldmVudC5pbnB1dFR5cGUsXG4gICAgICAgICAgICB0ZXh0OiAoZXZlbnQuZGF0YSB8fCBldmVudC5kYXRhVHJhbnNmZXIpIGFzIHN0cmluZ1xuICAgICAgICB9O1xuICAgICAgICBpZiAoZXZlbnQuaW5wdXRUeXBlID09PSAnaW5zZXJ0RnJvbVBhc3RlJykge1xuICAgICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2V0VGV4dEFuZEpTT04oKGV2ZW50LmRhdGEgfHwgZXZlbnQuZGF0YVRyYW5zZmVyKSBhcyBEYXRhVHJhbnNmZXIpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhQmx1ciA9IChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhRm9jdXMgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFDdXQgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFDb3B5ID0gKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4ge307XG5cbiAgICBvblNsYUNvbXBvc2l0aW9uU3RhcnQgPSAoZXZlbnQ6IENvbXBvc2l0aW9uRXZlbnQpID0+IHt9O1xuXG4gICAgb25TbGFDb21wb3NpdGlvbkVuZCA9IChldmVudDogQ29tcG9zaXRpb25FdmVudCkgPT4ge307XG5cbiAgICBvblNsYURyYWdTdGFydCA9IChldmVudDogRHJhZ0V2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhRHJhZ092ZXIgPSAoZXZlbnQ6IERyYWdFdmVudCkgPT4ge307XG5cbiAgICBvbkRyb3AgPSAoZXZlbnQ6IERyYWdFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldFRleHRBbmRKU09OKGRhdGE6IERhdGFUcmFuc2Zlcikge1xuICAgICAgICBjb25zdCBmcmFnbWVudCA9IGRhdGEuZ2V0RGF0YShgYXBwbGljYXRpb24vJHtDTElQQk9BUkRfRk9STUFUX0tFWX1gKTtcbiAgICAgICAgbGV0IGpzb24gPSBbXTtcbiAgICAgICAgaWYgKGZyYWdtZW50KSB7XG4gICAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQod2luZG93LmF0b2IoZnJhZ21lbnQpKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGV4dCA9IGRhdGEuZ2V0RGF0YSgndGV4dC9wbGFpbicpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAganNvbixcbiAgICAgICAgICAgIHRleHRcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8dGhlLXRvb2xiYXJcbiAgICAqbmdJZj1cIiF0aGVPcHRpb25zPy5yZWFkb25seSAmJiAhdGhlR2xvYmFsVG9vbGJhclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndGhlLXRvb2xiYXItZGlzYWJsZWQnOiB0aGVPcHRpb25zPy5kaXNhYmxlZFxuICAgIH1cIlxuICAgICNnbG9iYWxUb29sYmFyXG4gICAgW2VkaXRvcl09XCJlZGl0b3JcIlxuICAgIFt0b29sYmFySXRlbXNdPVwidG9vbGJhckVudGl0eS5nbG9iYWxcIlxuICAgIFtjb250YWluZXJDbGFzc109XCJnbG9iYWxUb29sYmFyQ2xhc3NcIlxuICAgIFthbGlnbl09XCJ0aGVPcHRpb25zPy50b29sYmFyPy5hbGlnblwiXG4+PC90aGUtdG9vbGJhcj5cblxuPGRpdlxuICAgIGNsYXNzPVwidGhlLWVkaXRhYmxlLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndGhlLWVkaXRvci1kaXNhYmxlZCc6IHRoZU9wdGlvbnM/LmRpc2FibGVkLFxuICAgICAgICAnbWF4LWhlaWdodCc6IG1heEhlaWdodFxuICAgIH1cIlxuICAgIFtuZ1N0eWxlXT1cInsgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHQgfVwiXG4+XG4gICAgPHNsYXRlLWVkaXRhYmxlXG4gICAgICAgIGNsYXNzPVwidGhlLWVkaXRvci10eXBvXCJcbiAgICAgICAgW2VkaXRvcl09XCJlZGl0b3JcIlxuICAgICAgICBbbmdNb2RlbF09XCJlZGl0b3JWYWx1ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZGVjb3JhdGVdPVwiZGVjb3JhdGVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwidGhlT3B0aW9ucz8ucGxhY2Vob2xkZXJcIlxuICAgICAgICBbcGxhY2Vob2xkZXJEZWNvcmF0ZV09XCJ0aGVPcHRpb25zPy5wbGFjZWhvbGRlckRlY29yYXRlID8gdGhlT3B0aW9ucz8ucGxhY2Vob2xkZXJEZWNvcmF0ZSA6IG51bGxcIlxuICAgICAgICBbcmVuZGVyRWxlbWVudF09XCJyZW5kZXJFbGVtZW50XCJcbiAgICAgICAgW3JlbmRlclRleHRdPVwicmVuZGVyVGV4dFwiXG4gICAgICAgIFtyZW5kZXJMZWFmXT1cInJlbmRlckxlYWZcIlxuICAgICAgICBbcmVhZG9ubHldPVwidGhlT3B0aW9ucz8ucmVhZG9ubHkgfHwgdGhlT3B0aW9ucz8uZGlzYWJsZWRcIlxuICAgICAgICBba2V5ZG93bl09XCJvbktleURvd25cIlxuICAgICAgICBbY2xpY2tdPVwib25DbGlja1wiXG4gICAgICAgIFtwYXN0ZV09XCJvblNsYVBhc3RlXCJcbiAgICAgICAgW2JlZm9yZUlucHV0XT1cIm9uU2xhQmVmb3JlSW5wdXRcIlxuICAgICAgICBbYmx1cl09XCJvblNsYUJsdXJcIlxuICAgICAgICBbZm9jdXNdPVwib25TbGFGb2N1c1wiXG4gICAgICAgIFtjb3B5XT1cIm9uU2xhQ29weVwiXG4gICAgICAgIFtjdXRdPVwib25TbGFDdXRcIlxuICAgICAgICBbaXNTdHJpY3REZWNvcmF0ZV09XCJmYWxzZVwiXG4gICAgICAgIFtjb21wb3NpdGlvblN0YXJ0XT1cIm9uU2xhQ29tcG9zaXRpb25TdGFydFwiXG4gICAgICAgIFtjb21wb3NpdGlvbkVuZF09XCJvblNsYUNvbXBvc2l0aW9uRW5kXCJcbiAgICAgICAgW2RyYWdTdGFydF09XCJvblNsYURyYWdTdGFydFwiXG4gICAgICAgIFtkcmFnT3Zlcl09XCJvblNsYURyYWdPdmVyXCJcbiAgICAgICAgW2Ryb3BdPVwib25Ecm9wXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJtb3VzZWRvd24oJGV2ZW50KVwiXG4gICAgPjwvc2xhdGUtZWRpdGFibGU+XG4gICAgPHRoZS1pbmxpbmUtdG9vbGJhclxuICAgICAgICAqbmdJZj1cIiF0aGVPcHRpb25zPy5yZWFkb25seSAmJiB0aGVPcHRpb25zPy5pbmxpbmVUb29iYXJWaXNpYmxlXCJcbiAgICAgICAgW2VkaXRvcl09XCJlZGl0b3JcIlxuICAgICAgICBbdG9vbGJhckl0ZW1zXT1cInRvb2xiYXJFbnRpdHkuaW5saW5lXCJcbiAgICA+PC90aGUtaW5saW5lLXRvb2xiYXI+XG4gICAgPGRpdlxuICAgICAgICAjcXVpY2tJbnNlcnRcbiAgICAgICAgdGhlUXVpY2tJbnNlcnRcbiAgICAgICAgW2VkaXRvcl09XCJlZGl0b3JcIlxuICAgICAgICBbcXVpY2tUb29sYmFySXRlbXNdPVwicXVpY2tUb29sYmFySXRlbXNcIlxuICAgICAgICBbaXNWaXNpYmxlXT1cInRoZU9wdGlvbnM/LnF1aWNrSW5zZXJ0VmlzaWJsZVwiXG4gICAgPjwvZGl2PlxuICAgIDx0aGUtdGVtcGxhdGUgI3RlbXBsYXRlSW5zdGFuY2U+PC90aGUtdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
427
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBRVQsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBSVosdUJBQXVCLEVBRTFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBUSxVQUFVLEVBQUUsWUFBWSxFQUF1QixLQUFLLEVBQUUsSUFBSSxFQUFhLE1BQU0sT0FBTyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBYyxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUEyQyxXQUFXLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUNILFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGVBQWUsRUFDZixTQUFTLEVB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SyxFQUFFLFlBQVk7d0JBQ25CLDZCQUE2QixFQUFFLHNCQUFzQjtxQkFDeEQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEO3FOQUVZLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBR1AsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkvQyxxQkFBcUI7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZTtnQkFJMUIsbUJBQW1CO3NCQURsQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIE9uSW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIE5nWm9uZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWl4aW5VbnN1YnNjcmliZSwgTWl4aW5CYXNlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgRWRpdG9yLCBUZXh0LCBUcmFuc2Zvcm1zLCBjcmVhdGVFZGl0b3IsIEVsZW1lbnQsIERlc2NlbmRhbnQsIFJhbmdlLCBQYXRoLCBOb2RlRW50cnkgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyB3aXRoSGlzdG9yeSB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgU2xhdGVFcnJvciwgd2l0aEFuZ3VsYXIgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZU9wdGlvbnMsIERvbUV2ZW50RGF0YUluZm8sIFRoZUVkaXRvciwgVGhlRGF0YU1vZGUsIFRvb2xiYXJFbnRpdHkgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWFya1R5cGVzLCBDTElQQk9BUkRfRk9STUFUX0tFWSwgREVGQVVMVF9TQ1JPTExfQ09OVEFJTkVSIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGhlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVtcGxhdGUvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbG9yLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgYXV0b0ZvY3VzLFxuICAgIGF1dG9TY3JvbGxWaWV3SGFuZGxlLFxuICAgIGRhdGFEZXNlcmlhbGl6ZSxcbiAgICBkYXRhU2VyaWFsaXppbmcsXG4gICAgaWRDcmVhdG9yLFxuICAgIHNldEVkaXRvclVVSUQsXG4gICAgY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgXyB9IGZyb20gJy4vdXRpbHMvbG9kYXNoJztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgd2l0aFRoZWlhLCBjcmVhdGVUb29sYmFyIH0gZnJvbSAnLi9jb3JlJztcbmltcG9ydCB7IGludGVybmFsUGx1Z2lucyB9IGZyb20gJy4vcGx1Z2lucyc7XG5pbXBvcnQgeyBzaG9ydGN1dHMgfSBmcm9tICcuL3Nob3J0Y3V0cyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4vcXVlcmllcyc7XG5pbXBvcnQgeyBUaGVQbHVnaW4gfSBmcm9tICcuL2ludGVyZmFjZXMvcGx1Z2lucy9wbHVnaW5zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtZWRpdG9yLCB0aGVFZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVGhlQ29udGV4dFNlcnZpY2UsXG4gICAgICAgIFRoZUNvbG9yU2VsZWN0U2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaGVFZGl0b3JDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoZS1lZGl0b3InLFxuICAgICAgICAnW2NsYXNzLnRoZS1lZGl0b3ItcmVhZG9ubHldJzogJ3RoZU9wdGlvbnM/LnJlYWRvbmx5J1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGhlRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgbWl4aW5VbnN1YnNjcmliZShNaXhpbkJhc2UpIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdGhlT3B0aW9uczogVGhlT3B0aW9ucztcblxuICAgIEBJbnB1dCgpIHRoZVBsdWdpbnM6IFRoZVBsdWdpbltdID0gW107XG5cbiAgICBASW5wdXQoKSB0aGVHbG9iYWxUb29sYmFyPzogVGhlVG9vbGJhckNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHRoZURlY29yYXRlOiAoZWRpdG9yOiBUaGVFZGl0b3IsIG5vZGVFbnRyeTogTm9kZUVudHJ5KSA9PiBSYW5nZVtdO1xuXG4gICAgQElucHV0KCkgdGhlT25FcnJvcj86IChlcnJvcjogU2xhdGVFcnJvcikgPT4gdm9pZDtcblxuICAgIEBPdXRwdXQoKSB0aGVPblNhdmU6IEV2ZW50RW1pdHRlcjxEZXNjZW5kYW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxEZXNjZW5kYW50W10+KCk7XG5cbiAgICBAT3V0cHV0KCkgdGhlT25ET01FdmVudDogRXZlbnRFbWl0dGVyPHsgbmF0aXZlRXZlbnQ6IEV2ZW50OyBkYXRhPzogRG9tRXZlbnREYXRhSW5mbyB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSB0aGVFZGl0b3JDcmVhdGVkOiBFdmVudEVtaXR0ZXI8RWRpdG9yPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlSW5zdGFuY2UnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHRlbXBsYXRlSW5zdGFuY2U6IFRoZVRlbXBsYXRlQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnZ2xvYmFsVG9vbGJhcicpXG4gICAgZ2xvYmFsVG9vbGJhckluc3RhbmNlOiBUaGVUb29sYmFyQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgncXVpY2tJbnNlcnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHF1aWNrSW5zZXJ0SW5zdGFuY2U6IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50O1xuXG4gICAgdG9vbGJhckVudGl0eTogVG9vbGJhckVudGl0eTtcblxuICAgIGVkaXRvcjogVGhlRWRpdG9yO1xuXG4gICAgZWRpdG9yVmFsdWU6IERlc2NlbmRhbnRbXTtcblxuICAgIGdsb2JhbFRvb2xiYXJDbGFzczogc3RyaW5nW107XG5cbiAgICBkZWNvcmF0ZTogKG5vZGVFbnRyeTogTm9kZUVudHJ5KSA9PiBSYW5nZVtdO1xuXG4gICAgZ2V0IHRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZSgpOiBUaGVUb29sYmFyQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGhlR2xvYmFsVG9vbGJhciA/IHRoaXMudGhlR2xvYmFsVG9vbGJhciA6IHRoaXMuZ2xvYmFsVG9vbGJhckluc3RhbmNlO1xuICAgIH1cblxuICAgIGdldCBtYXhIZWlnaHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoZU9wdGlvbnM/Lm1heEhlaWdodCA/IGAke3RoaXMudGhlT3B0aW9ucz8ubWF4SGVpZ2h0fXB4YCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IHF1aWNrVG9vbGJhckl0ZW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyRW50aXR5Py5xdWljaztcbiAgICB9XG5cbiAgICBhdXRvU2Nyb2xsVmlldyA9IF8uZGVib3VuY2UoZnVuY3Rpb24gKGVkaXRvcjogRWRpdG9yLCBzY3JvbGxDb250YWluZXI6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gYXV0b1Njcm9sbFZpZXdIYW5kbGUoZWRpdG9yLCBzY3JvbGxDb250YWluZXIpO1xuICAgIH0sIDgwKTtcblxuICAgIGVsZW1lbnRUb0h0bWw6IFdlYWtNYXA8RWxlbWVudCwgc3RyaW5nPiA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRoZUNvbnRleHRTZXJ2aWNlOiBUaGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5vbkVycm9ySGFuZGxlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGNoYW5nZXMudGhlT3B0aW9ucztcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY3VycmVudFZhbHVlPy5yZWFkb25seSAhPT0gb3B0aW9ucy5wcmV2aW91c1ZhbHVlPy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy5hcHBseUF1dG9Gb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0aGVEZWNvcmF0ZSddKSB7XG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlRGVjb3JhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnNlbGVjdGlvbiAmJiAob3B0aW9ucz8uY3VycmVudFZhbHVlPy5yZWFkb25seSB8fCBvcHRpb25zPy5jdXJyZW50VmFsdWU/LmRpc2FibGVkKSkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZXNlbGVjdCh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICBjb25zdCBkZWZhdWx0UGx1Z2lucyA9IGludGVybmFsUGx1Z2lucygpO1xuICAgICAgICBjb25zdCBwbHVnaW5zID0gWy4uLmRlZmF1bHRQbHVnaW5zLCAuLi50aGlzLnRoZVBsdWdpbnNdO1xuICAgICAgICB0aGlzLmVkaXRvciA9IHdpdGhUaGVpYSh3aXRoSGlzdG9yeSh3aXRoQW5ndWxhcihjcmVhdGVFZGl0b3IoKSwgQ0xJUEJPQVJEX0ZPUk1BVF9LRVkpKSwgcGx1Z2lucyk7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVEZWNvcmF0ZSgpO1xuICAgICAgICB0aGlzLmVkaXRvci5kaXNhYmxlZCA9IHRoaXMudGhlT3B0aW9ucz8uZGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuZWRpdG9yLmV4dHJhRWxlbWVudE9wdGlvbnMgPSB0aGlzLnRoZU9wdGlvbnM/LmV4dHJhRWxlbWVudE9wdGlvbnM7XG4gICAgICAgIHRoaXMuZWRpdG9yLm9wdGlvbnMgPSB0aGlzLnRoZU9wdGlvbnM7XG4gICAgICAgIHNldEVkaXRvclVVSUQodGhpcy5lZGl0b3IsIGlkQ3JlYXRvcigpKTtcbiAgICAgICAgdGhpcy50aGVDb250ZXh0U2VydmljZS5pbml0aWFsaXplKHtcbiAgICAgICAgICAgIHRoZU9wdGlvbnM6IHRoaXMudGhlT3B0aW9ucyxcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQ6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRvb2xiYXJDYWxjdWxhdGUoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBZb3UgbmVlZCB0byB3YWl0IGZvciB0aGUgZWRpdG9yIHJlbmRlcmluZyB0byBjb21wbGV0ZVxuICAgICAgICAgICAgLy8gYmVmb3JlIHRyaWdnZXJpbmcgdGhlIGV4dGVybmFsIHRvb2xiYXIgYXNzaWdubWVudCBkZXRlY3Rpb25cbiAgICAgICAgICAgIHRoaXMuZ2xvYmFsVG9vbGJhckluaXQoKTtcbiAgICAgICAgICAgIHRoaXMudGhlRWRpdG9yQ3JlYXRlZC5lbWl0KHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlBdXRvRm9jdXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZU9wdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy50aGVPcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLnRoZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgcmVhZG9ubHk6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG1vZGU6IFRoZURhdGFNb2RlLmh0bWxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnRoZU9wdGlvbnMubW9kZSkge1xuICAgICAgICAgICAgdGhpcy50aGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMudGhlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICBtb2RlOiBUaGVEYXRhTW9kZS5odG1sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXBwbHlBdXRvRm9jdXMoKSB7XG4gICAgICAgIGlmICghdGhpcy50aGVPcHRpb25zPy5kaXNhYmxlZCAmJiAhdGhpcy50aGVPcHRpb25zPy5yZWFkb25seSkge1xuICAgICAgICAgICAgYXV0b0ZvY3VzKHRoaXMuZWRpdG9yLCB0aGlzLnRoZU9wdGlvbnM/LmF1dG9Gb2N1cyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b29sYmFyQ2FsY3VsYXRlKCkge1xuICAgICAgICBjb25zdCB7IGdsb2JhbFRvb2xiYXJDbGFzcywgdG9vbGJhckVudGl0eSB9ID0gY3JlYXRlVG9vbGJhcih0aGlzLmVkaXRvciwgdGhpcz8udGhlT3B0aW9ucz8udG9vbGJhcik7XG4gICAgICAgIHRoaXMuZ2xvYmFsVG9vbGJhckNsYXNzID0gZ2xvYmFsVG9vbGJhckNsYXNzO1xuICAgICAgICB0aGlzLnRvb2xiYXJFbnRpdHkgPSB0b29sYmFyRW50aXR5O1xuICAgIH1cblxuICAgIGdsb2JhbFRvb2xiYXJJbml0KCkge1xuICAgICAgICBpZiAodGhpcy50aGVHbG9iYWxUb29sYmFyKSB7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5lZGl0b3IgPSB0aGlzLmVkaXRvcjtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLnRvb2xiYXJJdGVtcyA9IHRoaXMudG9vbGJhckVudGl0eS5nbG9iYWw7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5jb250YWluZXJDbGFzcyA9IHRoaXMuZ2xvYmFsVG9vbGJhckNsYXNzO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UuYWxpZ24gPSB0aGlzPy50aGVPcHRpb25zPy50b29sYmFyPy5hbGlnbjtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLnNldFRvb2xiYXJDbGFzcygpO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UucmVuZGVyVG9vbGJhclZpZXcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IERlc2NlbmRhbnRbXSkge1xuICAgICAgICBjb25zdCBkYXRhID0gZGF0YURlc2VyaWFsaXplKHRoaXMudGhlT3B0aW9ucz8ubW9kZSwgdmFsdWUpO1xuICAgICAgICAvLyBkYXRhLWRlc2VyaWFsaXplXG4gICAgICAgIHRoaXMuZWRpdG9yVmFsdWUgPSBkYXRhO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgdmFsdWVDaGFuZ2UodmFsdWU6IERlc2NlbmRhbnRbXSkge1xuICAgICAgICBjb25zdCBpc0VkaXRhYmxlID0gIXRoaXMudGhlT3B0aW9ucz8ucmVhZG9ubHkgJiYgIXRoaXMudGhlT3B0aW9ucz8uZGlzYWJsZWQ7XG5cbiAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2U/LnN0YXR1c0NoYW5nZSh0aGlzLmVkaXRvcik7XG5cbiAgICAgICAgLy8gcXVpY2sgaW5zZXJ0IGJ1dHRvblxuICAgICAgICBpZiAoaXNFZGl0YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5xdWlja0luc2VydEluc3RhbmNlPy5jaGVja1N0YXR1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gYXV0byBzY3JvbGwgdmlld1xuICAgICAgICBjb25zdCBzY3JvbGxDb250YWluZXIgPSB0aGlzLnRoZU9wdGlvbnM/LnNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gdGhpcy50aGVPcHRpb25zPy5tYXhIZWlnaHQ7XG4gICAgICAgIGlmIChpc0VkaXRhYmxlICYmIChzY3JvbGxDb250YWluZXIgfHwgbWF4SGVpZ2h0KSkge1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gbWF4SGVpZ2h0ID8gREVGQVVMVF9TQ1JPTExfQ09OVEFJTkVSIDogc2Nyb2xsQ29udGFpbmVyO1xuICAgICAgICAgICAgdGhpcy5hdXRvU2Nyb2xsVmlldyh0aGlzLmVkaXRvciwgY29udGFpbmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmVkaXRvclZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWRpdG9yVmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICAvLyBzZXJpYWxpemluZ1xuICAgICAgICBsZXQgbmV3VmFsdWUgPSB0aGlzLnNlcmlhbGl6aW5nVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIHNlcmlhbGl6aW5nVmFsdWUodmFsdWU6IERlc2NlbmRhbnRbXSk6IHN0cmluZyB8IERlc2NlbmRhbnRbXSB7XG4gICAgICAgIGlmICh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUgPT09IFRoZURhdGFNb2RlLmh0bWwpIHtcbiAgICAgICAgICAgIGxldCBodG1sVmFsdWUgPSAnJztcbiAgICAgICAgICAgIHZhbHVlLmZvckVhY2goKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZWxlbWVudEh0bWwgPSB0aGlzLmVsZW1lbnRUb0h0bWwuZ2V0KGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50SHRtbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNlcmlhbGl6aW5nXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRIdG1sID0gZGF0YVNlcmlhbGl6aW5nKHRoaXMudGhlT3B0aW9ucz8ubW9kZSwgW2VsZW1lbnRdKSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgIGh0bWxWYWx1ZSArPSBlbGVtZW50SHRtbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50VG9IdG1sLnNldChlbGVtZW50LCBlbGVtZW50SHRtbCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaHRtbFZhbHVlICs9IGVsZW1lbnRIdG1sO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gaHRtbFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBvbkVycm9ySGFuZGxlcigpIHtcbiAgICAgICAgdGhpcy5lZGl0b3Iub25FcnJvciA9IChlcnJvckRhdGE6IFNsYXRlRXJyb3IpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoZU9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoZU9uRXJyb3IoZXJyb3JEYXRhKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXJyb3JEYXRhLm5hdGl2ZUVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvckRhdGEubmF0aXZlRXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJlbmRlckVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMudGVtcGxhdGVJbnN0YW5jZS5yZW5kZXJFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmVkaXRvci5yZW5kZXJFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gY29tcG9uZW50ID8gY29tcG9uZW50IDogdGVtcGxhdGU7XG4gICAgfTtcblxuICAgIHJlbmRlckxlYWYgPSAodGV4dDogVGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBsZWFmID0gdGhpcy5lZGl0b3IucmVuZGVyTGVhZih0ZXh0KTtcbiAgICAgICAgcmV0dXJuIGxlYWYgPyBsZWFmIDogbnVsbDtcbiAgICB9O1xuXG4gICAgcmVuZGVyVGV4dCA9ICh0ZXh0OiBUZXh0KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIE1hcmtUeXBlcykge1xuICAgICAgICAgICAgaWYgKHRleHRbTWFya1R5cGVzW2tleV1dKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFRoZVRleHRDb21wb25lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRleHQudGV4dC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBnZW5lcmF0ZURlY29yYXRlKCkge1xuICAgICAgICB0aGlzLmRlY29yYXRlID0gKG5vZGVFbnRyeTogTm9kZUVudHJ5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZWNvcmF0aW9ucyA9IFtdO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50aGVEZWNvcmF0ZSkge1xuICAgICAgICAgICAgICAgIGRlY29yYXRpb25zLnB1c2goLi4udGhpcy50aGVEZWNvcmF0ZSh0aGlzLmVkaXRvciwgbm9kZUVudHJ5KSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBkZWNvcmF0aW9ucztcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvbktleURvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgc2hvcnRjdXRzKHRoaXMuZWRpdG9yLCBldmVudCk7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudCxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBrZXk6IGV2ZW50LmtleVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlzSG90a2V5KCdtb2QrcycsIGV2ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoZU9uU2F2ZS5lbWl0KHRoaXMuZWRpdG9yVmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0hvdGtleSgnbW9kK2EnLCBldmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0QWxsKCk7XG4gICAgICAgIH1cbiAgICAgICAgQW5ndWxhckVkaXRvci5vbktleWRvd24odGhpcy5lZGl0b3IsIGV2ZW50KTtcbiAgICB9O1xuXG4gICAgbW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGVkaXRhYmxlRWxlbWVudCA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKHRoaXMuZWRpdG9yLCB0aGlzLmVkaXRvcik7XG4gICAgICAgIGNvbnN0IHJlY3RFZGl0YWJsZSA9IGVkaXRhYmxlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgYWJzb2x1dGVFbGVtZW50ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChldmVudC54LCBldmVudC55KTtcbiAgICAgICAgaWYgKCFlZGl0YWJsZUVsZW1lbnQuaXNFcXVhbE5vZGUoYWJzb2x1dGVFbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgYmxvY2tDYXJkRWxlbWVudCA9IGFic29sdXRlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICAgICAgaWYgKCFibG9ja0NhcmRFbGVtZW50KSByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHsgcGFkZGluZ1JpZ2h0IH0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlZGl0YWJsZUVsZW1lbnQsIG51bGwpO1xuICAgICAgICBjb25zdCBwYWRkaW5nUmlnaHRQaXhlbHMgPSBjb2VyY2VQaXhlbHNGcm9tQ3NzVmFsdWUocGFkZGluZ1JpZ2h0KTtcbiAgICAgICAgY29uc3QgZmFrZVJpZ2h0WCA9IHJlY3RFZGl0YWJsZS5yaWdodCAtIHBhZGRpbmdSaWdodFBpeGVscyAtIDUwO1xuICAgICAgICBsZXQgcmVsYXRpdmVFbGVtZW50ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChmYWtlUmlnaHRYLCBldmVudC55KTtcbiAgICAgICAgbGV0IHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudCA9IHJlbGF0aXZlRWxlbWVudC5jbG9zZXN0KCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICBpZiAocmVsYXRpdmVCbG9ja0NhcmRFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjZW50ZXJYID0gcmVjdEVkaXRhYmxlLnggKyByZWN0RWRpdGFibGUud2lkdGggLyAyO1xuICAgICAgICAgICAgY29uc3QgYmxvY2tDYXJkRW50cnkgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVDYXJkRW50cnkodGhpcy5lZGl0b3IsIHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCk7XG4gICAgICAgICAgICBpZiAoYmxvY2tDYXJkRW50cnkgJiYgdGhpcy5lZGl0b3IuaXNCbG9ja0NhcmQoYmxvY2tDYXJkRW50cnlbMF0pKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQodGhpcy5lZGl0b3IsIGJsb2NrQ2FyZEVudHJ5WzBdLCB7IGRpcmVjdGlvbjogZXZlbnQueCA8IGNlbnRlclggPyAnbGVmdCcgOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlU2VsZWN0QWxsKCkge1xuICAgICAgICBsZXQgbm9kZTtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0RW5kU2VsZWN0aW9uKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSBSYW5nZS5lZGdlcyh0aGlzLmVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25SYW5nZSA9IEVkaXRvci5yYW5nZSh0aGlzLmVkaXRvciwgc3RhcnQsIGVuZCk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckJsb2NrcyA9IFRoZVF1ZXJpZXMuZ2V0Q29udGFpbmVyQmxvY2tzKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250YWluZXJCbG9ja3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIFtub2RlXSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZXNCeVR5cGUodGhpcy5lZGl0b3IsIGNvbnRhaW5lckJsb2Nrc1tpXSk7XG4gICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFssIHBhdGhdID0gbm9kZTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1N0YXJ0UGFyZW50ID0gUGF0aC5lcXVhbHMocGF0aCwgc3RhcnQucGF0aC5zbGljZSgwLCBwYXRoLmxlbmd0aCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRW5kUGFyZW50ID0gUGF0aC5lcXVhbHMocGF0aCwgZW5kLnBhdGguc2xpY2UoMCwgcGF0aC5sZW5ndGgpKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNTdGFydFBhcmVudCAmJiBpc0VuZFBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlUmFuZ2UgPSBFZGl0b3IucmFuZ2UodGhpcy5lZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIVJhbmdlLmVxdWFscyhub2RlUmFuZ2UsIHNlbGVjdGlvblJhbmdlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QodGhpcy5lZGl0b3IsIG5vZGVSYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBub2RlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgW10pO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvbkNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIEFuZ3VsYXJFZGl0b3Iub25DbGljayh0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhUGFzdGUgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmdldFRleHRBbmRKU09OKGV2ZW50LmNsaXBib2FyZERhdGEpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUJlZm9yZUlucHV0ID0gKFxuICAgICAgICBldmVudDogRXZlbnQgJiB7XG4gICAgICAgICAgICBpbnB1dFR5cGU6IHN0cmluZztcbiAgICAgICAgICAgIGRhdGE6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICBkYXRhVHJhbnNmZXI6IERhdGFUcmFuc2ZlciB8IG51bGw7XG4gICAgICAgIH1cbiAgICApID0+IHtcbiAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgICBpbnB1dFR5cGU6IGV2ZW50LmlucHV0VHlwZSxcbiAgICAgICAgICAgIHRleHQ6IChldmVudC5kYXRhIHx8IGV2ZW50LmRhdGFUcmFuc2ZlcikgYXMgc3RyaW5nXG4gICAgICAgIH07XG4gICAgICAgIGlmIChldmVudC5pbnB1dFR5cGUgPT09ICdpbnNlcnRGcm9tUGFzdGUnKSB7XG4gICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICAgICAgLi4udGhpcy5nZXRUZXh0QW5kSlNPTigoZXZlbnQuZGF0YSB8fCBldmVudC5kYXRhVHJhbnNmZXIpIGFzIERhdGFUcmFuc2ZlcilcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFCbHVyID0gKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFGb2N1cyA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUN1dCA9IChldmVudDogQ2xpcGJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUNvcHkgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhQ29tcG9zaXRpb25TdGFydCA9IChldmVudDogQ29tcG9zaXRpb25FdmVudCkgPT4ge307XG5cbiAgICBvblNsYUNvbXBvc2l0aW9uRW5kID0gKGV2ZW50OiBDb21wb3NpdGlvbkV2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhRHJhZ1N0YXJ0ID0gKGV2ZW50OiBEcmFnRXZlbnQpID0+IHt9O1xuXG4gICAgb25TbGFEcmFnT3ZlciA9IChldmVudDogRHJhZ0V2ZW50KSA9PiB7fTtcblxuICAgIG9uRHJvcCA9IChldmVudDogRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0VGV4dEFuZEpTT04oZGF0YTogRGF0YVRyYW5zZmVyKSB7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gZGF0YS5nZXREYXRhKGBhcHBsaWNhdGlvbi8ke0NMSVBCT0FSRF9GT1JNQVRfS0VZfWApO1xuICAgICAgICBsZXQganNvbiA9IFtdO1xuICAgICAgICBpZiAoZnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGpzb24gPSBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cuYXRvYihmcmFnbWVudCkpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZXh0ID0gZGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBqc29uLFxuICAgICAgICAgICAgdGV4dFxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjx0aGUtdG9vbGJhclxuICAgICpuZ0lmPVwiIXRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmICF0aGVHbG9iYWxUb29sYmFyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd0aGUtdG9vbGJhci1kaXNhYmxlZCc6IHRoZU9wdGlvbnM/LmRpc2FibGVkXG4gICAgfVwiXG4gICAgI2dsb2JhbFRvb2xiYXJcbiAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgW3Rvb2xiYXJJdGVtc109XCJ0b29sYmFyRW50aXR5Lmdsb2JhbFwiXG4gICAgW2NvbnRhaW5lckNsYXNzXT1cImdsb2JhbFRvb2xiYXJDbGFzc1wiXG4gICAgW2FsaWduXT1cInRoZU9wdGlvbnM/LnRvb2xiYXI/LmFsaWduXCJcbj48L3RoZS10b29sYmFyPlxuXG48ZGl2XG4gICAgY2xhc3M9XCJ0aGUtZWRpdGFibGUtY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd0aGUtZWRpdG9yLWRpc2FibGVkJzogdGhlT3B0aW9ucz8uZGlzYWJsZWQsXG4gICAgICAgICdtYXgtaGVpZ2h0JzogbWF4SGVpZ2h0XG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwieyAnbWF4LWhlaWdodCc6IG1heEhlaWdodCB9XCJcbj5cbiAgICA8c2xhdGUtZWRpdGFibGVcbiAgICAgICAgY2xhc3M9XCJ0aGUtZWRpdG9yLXR5cG9cIlxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFtuZ01vZGVsXT1cImVkaXRvclZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkZWNvcmF0ZV09XCJkZWNvcmF0ZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0aGVPcHRpb25zPy5wbGFjZWhvbGRlclwiXG4gICAgICAgIFtwbGFjZWhvbGRlckRlY29yYXRlXT1cInRoZU9wdGlvbnM/LnBsYWNlaG9sZGVyRGVjb3JhdGUgPyB0aGVPcHRpb25zPy5wbGFjZWhvbGRlckRlY29yYXRlIDogbnVsbFwiXG4gICAgICAgIFtyZW5kZXJFbGVtZW50XT1cInJlbmRlckVsZW1lbnRcIlxuICAgICAgICBbcmVuZGVyVGV4dF09XCJyZW5kZXJUZXh0XCJcbiAgICAgICAgW3JlbmRlckxlYWZdPVwicmVuZGVyTGVhZlwiXG4gICAgICAgIFtyZWFkb25seV09XCJ0aGVPcHRpb25zPy5yZWFkb25seSB8fCB0aGVPcHRpb25zPy5kaXNhYmxlZFwiXG4gICAgICAgIFtrZXlkb3duXT1cIm9uS2V5RG93blwiXG4gICAgICAgIFtjbGlja109XCJvbkNsaWNrXCJcbiAgICAgICAgW3Bhc3RlXT1cIm9uU2xhUGFzdGVcIlxuICAgICAgICBbYmVmb3JlSW5wdXRdPVwib25TbGFCZWZvcmVJbnB1dFwiXG4gICAgICAgIFtibHVyXT1cIm9uU2xhQmx1clwiXG4gICAgICAgIFtmb2N1c109XCJvblNsYUZvY3VzXCJcbiAgICAgICAgW2NvcHldPVwib25TbGFDb3B5XCJcbiAgICAgICAgW2N1dF09XCJvblNsYUN1dFwiXG4gICAgICAgIFtpc1N0cmljdERlY29yYXRlXT1cImZhbHNlXCJcbiAgICAgICAgW2NvbXBvc2l0aW9uU3RhcnRdPVwib25TbGFDb21wb3NpdGlvblN0YXJ0XCJcbiAgICAgICAgW2NvbXBvc2l0aW9uRW5kXT1cIm9uU2xhQ29tcG9zaXRpb25FbmRcIlxuICAgICAgICBbZHJhZ1N0YXJ0XT1cIm9uU2xhRHJhZ1N0YXJ0XCJcbiAgICAgICAgW2RyYWdPdmVyXT1cIm9uU2xhRHJhZ092ZXJcIlxuICAgICAgICBbZHJvcF09XCJvbkRyb3BcIlxuICAgICAgICAobW91c2Vkb3duKT1cIm1vdXNlZG93bigkZXZlbnQpXCJcbiAgICA+PC9zbGF0ZS1lZGl0YWJsZT5cbiAgICA8dGhlLWlubGluZS10b29sYmFyXG4gICAgICAgICpuZ0lmPVwiIXRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmIHRoZU9wdGlvbnM/LmlubGluZVRvb2JhclZpc2libGVcIlxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFt0b29sYmFySXRlbXNdPVwidG9vbGJhckVudGl0eS5pbmxpbmVcIlxuICAgID48L3RoZS1pbmxpbmUtdG9vbGJhcj5cbiAgICA8ZGl2XG4gICAgICAgICNxdWlja0luc2VydFxuICAgICAgICB0aGVRdWlja0luc2VydFxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFtxdWlja1Rvb2xiYXJJdGVtc109XCJxdWlja1Rvb2xiYXJJdGVtc1wiXG4gICAgICAgIFtpc1Zpc2libGVdPVwidGhlT3B0aW9ucz8ucXVpY2tJbnNlcnRWaXNpYmxlXCJcbiAgICA+PC9kaXY+XG4gICAgPHRoZS10ZW1wbGF0ZSAjdGVtcGxhdGVJbnN0YW5jZT48L3RoZS10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9pbnRlcmZhY2VzL3BsdWdpbnMvcGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vdG9vbGJhcic7XG5pbXBvcnQgeyBOZXN0ZWRTdHJ1Y3R1cmVCeUtleSB9IGZyb20gJy4uL3V0aWxpdHknO1xuaW1wb3J0IHsgV2l0aFJlcXVpcmVkIH0gZnJvbSAnLi4vdXRpbGl0eS90eXBlcyc7XG5pbXBvcnQgeyBOb0luZmVyIH0gZnJvbSAnLi9uby1pbmZlcic7XG5pbXBvcnQgeyBQbHVnaW5LZXksIFRoZWlhUGx1Z2luS2V5IH0gZnJvbSAnLi9wbHVnaW4ta2V5JztcbmltcG9ydCB7IFdpdGhPdmVycmlkZSB9IGZyb20gJy4vd2l0aC1vdmVycmlkZSc7XG5cbmV4cG9ydCB0eXBlIFRoZVBsdWdpbk9wdGlvbjxQPiA9IE5vSW5mZXI8eyBhbGxvd1BhcmVudFR5cGVzPzogKEN1c3RvbUVsZW1lbnRLaW5kcyB8IHN0cmluZylbXTsgW2tleTogc3RyaW5nXTogYW55IH0+ICYgUDtcblxuZXhwb3J0IHR5cGUgVGhlUGx1Z2luPFQgPSB7fSwgUCA9IHt9PiA9IFJlcXVpcmVkPFRoZWlhUGx1Z2luS2V5PiAmIHtcbiAgICAvKipcbiAgICAgKiB0b29sYmFyXG4gICAgICovXG4gICAgdG9vbGJhckl0ZW1zPzogVG9vbGJhckl0ZW1bXTtcblxuICAgIC8qKlxuICAgICAqIOaPkuS7tuS9v+eUqOeahOaJqeWxleWxnuaAp1xuICAgICAqL1xuICAgIG9wdGlvbnM/OiBUaGVQbHVnaW5PcHRpb248UD47XG5cbiAgICAvKipcbiAgICAgKiDmj5Lku7bltYzlpZfnu5PmnoRcbiAgICAgKi9cbiAgICBuZXN0ZWRTdHJ1Y3R1cmVCeUtleT86IE5lc3RlZFN0cnVjdHVyZUJ5S2V5O1xuXG4gICAgLyoqXG4gICAgICog55So5LqO6YCa6L+HIGtleSDmt7Hluqbopobnm5bmj5Lku7ZcbiAgICAgKi9cbiAgICBvdmVycmlkZUJ5S2V5PzogUmVjb3JkPFBsdWdpbktleSwgUGFydGlhbDxUaGVQbHVnaW48VD4+PjtcblxuICAgIC8qKlxuICAgICAqIEVkaXRvciBtZXRob2Qgb3ZlcnJpZGVycy5cbiAgICAgKi9cbiAgICB3aXRoT3ZlcnJpZGVzPzogV2l0aE92ZXJyaWRlPFQsIFA+O1xuXG4gICAgLyoqXG4gICAgICog6YCS5b2S5o+S5Lu25pSv5oyB5YWB6K645Zyo5Y2V5Liq5o+S5Lu25Lit5YyF5ZCr5aSa5Liq5o+S5Lu244CCXG4gICAgICog5pyA57uI5bCG5omA5pyJ5o+S5Lu25omB5bmz5YyW5Yiw57yW6L6R5Zmo5Lit44CCXG4gICAgICovXG4gICAgcGx1Z2lucz86IFRoZVBsdWdpbjxUPltdO1xufTtcblxuZXhwb3J0IHR5cGUgV2l0aFRoZVBsdWdpbjxUID0ge30sIFAgPSB7fT4gPSBXaXRoUmVxdWlyZWQ8VGhlUGx1Z2luPFQsIFA+LCAnb3B0aW9ucyc+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9pbnRlcmZhY2VzL3BsdWdpbnMvcGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vdG9vbGJhcic7XG5pbXBvcnQgeyBOZXN0ZWRTdHJ1Y3R1cmVCeUtleSB9IGZyb20gJy4uL3V0aWxpdHknO1xuaW1wb3J0IHsgV2l0aFJlcXVpcmVkIH0gZnJvbSAnLi4vdXRpbGl0eS90eXBlcyc7XG5pbXBvcnQgeyBOb0luZmVyIH0gZnJvbSAnLi9uby1pbmZlcic7XG5pbXBvcnQgeyBQbHVnaW5LZXksIFRoZWlhUGx1Z2luS2V5IH0gZnJvbSAnLi9wbHVnaW4ta2V5JztcbmltcG9ydCB7IFdpdGhPdmVycmlkZSB9IGZyb20gJy4vd2l0aC1vdmVycmlkZSc7XG5cbmV4cG9ydCB0eXBlIFRoZVBsdWdpbk9wdGlvbjxQPiA9IE5vSW5mZXI8eyBhbGxvd1BhcmVudFR5cGVzPzogKEN1c3RvbUVsZW1lbnRLaW5kcyB8IHN0cmluZylbXTsgW2tleTogc3RyaW5nXTogYW55IH0+ICYgUDtcblxuZXhwb3J0IHR5cGUgVGhlUGx1Z2luPFQgPSB7fSwgUCA9IHt9PiA9IFJlcXVpcmVkPFRoZWlhUGx1Z2luS2V5PiAmIHtcbiAgICAvKipcbiAgICAgKiB0b29sYmFyXG4gICAgICovXG4gICAgdG9vbGJhckl0ZW1zPzogVG9vbGJhckl0ZW1bXTtcblxuICAgIC8qKlxuICAgICAqIOaPkuS7tuS9v+eUqOeahOaJqeWxleWxnuaAp1xuICAgICAqL1xuICAgIG9wdGlvbnM/OiBUaGVQbHVnaW5PcHRpb248UD47XG5cbiAgICAvKipcbiAgICAgKiDmj5Lku7bltYzlpZfnu5PmnoRcbiAgICAgKi9cbiAgICBuZXN0ZWRTdHJ1Y3R1cmVCeUtleT86IE5lc3RlZFN0cnVjdHVyZUJ5S2V5O1xuXG4gICAgLyoqXG4gICAgICog55So5LqO6YCa6L+HIGtleSDmt7Hluqbopobnm5bmj5Lku7ZcbiAgICAgKi9cbiAgICBvdmVycmlkZUJ5S2V5PzogUmVjb3JkPFBsdWdpbktleSwgUGFydGlhbDxUaGVQbHVnaW48VD4+PjtcblxuICAgIC8qKlxuICAgICAqIEVkaXRvciBtZXRob2Qgb3ZlcnJpZGVycy5cbiAgICAgKi9cbiAgICB3aXRoT3ZlcnJpZGVzPzogV2l0aE92ZXJyaWRlPFQsIFA+O1xuXG4gICAgLyoqXG4gICAgICog6YCS5b2S5o+S5Lu25pSv5oyB5YWB6K645Zyo5Y2V5Liq5o+S5Lu25Lit5YyF5ZCr5aSa5Liq5o+S5Lu244CCXG4gICAgICog5pyA57uI5bCG5omA5pyJ5o+S5Lu25omB5bmz5YyW5Yiw57yW6L6R5Zmo5Lit44CCXG4gICAgICovXG4gICAgcGx1Z2lucz86IFRoZVBsdWdpbjxUPltdO1xufTtcblxuZXhwb3J0IHR5cGUgV2l0aFRoZVBsdWdpbjxUID0ge30sIFAgPSB7fT4gPSBXaXRoUmVxdWlyZWQ8VGhlUGx1Z2luPFQsIFA+LCAnb3B0aW9ucyc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbkl0ZW0ge1xuICAgIGtleT86IHN0cmluZztcbn1cbiJdfQ==
|