@pie-lib/editable-html-tip-tap 1.1.1-next.2 → 1.1.1-next.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/LICENSE.md +5 -0
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/components/CharacterPicker.js +5 -24
- package/lib/components/CharacterPicker.js.map +1 -1
- package/lib/components/EditableHtml.js +1 -18
- package/lib/components/EditableHtml.js.map +1 -1
- package/lib/components/MenuBar.js +1 -18
- package/lib/components/MenuBar.js.map +1 -1
- package/lib/components/TiptapContainer.js +2 -18
- package/lib/components/TiptapContainer.js.map +1 -1
- package/lib/components/characters/characterUtils.js +1 -3
- package/lib/components/characters/characterUtils.js.map +1 -1
- package/lib/components/characters/custom-popper.js +1 -2
- package/lib/components/characters/custom-popper.js.map +1 -1
- package/lib/components/common/done-button.js +1 -2
- package/lib/components/common/done-button.js.map +1 -1
- package/lib/components/common/toolbar-buttons.js +1 -13
- package/lib/components/common/toolbar-buttons.js.map +1 -1
- package/lib/components/icons/CssIcon.js +1 -2
- package/lib/components/icons/CssIcon.js.map +1 -1
- package/lib/components/icons/RespArea.js +1 -11
- package/lib/components/icons/RespArea.js.map +1 -1
- package/lib/components/icons/TableIcons.js +1 -2
- package/lib/components/icons/TableIcons.js.map +1 -1
- package/lib/components/icons/TextAlign.js +1 -8
- package/lib/components/icons/TextAlign.js.map +1 -1
- package/lib/components/image/AltDialog.js +1 -6
- package/lib/components/image/AltDialog.js.map +1 -1
- package/lib/components/image/ImageToolbar.js +1 -14
- package/lib/components/image/ImageToolbar.js.map +1 -1
- package/lib/components/image/InsertImageHandler.js +1 -11
- package/lib/components/image/InsertImageHandler.js.map +1 -1
- package/lib/components/media/MediaDialog.js +1 -20
- package/lib/components/media/MediaDialog.js.map +1 -1
- package/lib/components/media/MediaToolbar.js +1 -3
- package/lib/components/media/MediaToolbar.js.map +1 -1
- package/lib/components/media/MediaWrapper.js +1 -12
- package/lib/components/media/MediaWrapper.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +3 -13
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/choice.js +1 -9
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
- package/lib/components/respArea/ExplicitConstructedResponse.js +1 -9
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -1
- package/lib/components/respArea/InlineDropdown.js +1 -9
- package/lib/components/respArea/InlineDropdown.js.map +1 -1
- package/lib/components/respArea/ToolbarIcon.js +1 -11
- package/lib/components/respArea/ToolbarIcon.js.map +1 -1
- package/lib/constants.js +1 -2
- package/lib/constants.js.map +1 -1
- package/lib/extensions/css.js +1 -12
- package/lib/extensions/css.js.map +1 -1
- package/lib/extensions/custom-toolbar-wrapper.js +2 -20
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -1
- package/lib/extensions/extended-table.js +2 -6
- package/lib/extensions/extended-table.js.map +1 -1
- package/lib/extensions/image-component.js +5 -22
- package/lib/extensions/image-component.js.map +1 -1
- package/lib/extensions/image.js +1 -12
- package/lib/extensions/image.js.map +1 -1
- package/lib/extensions/index.js +4 -13
- package/lib/extensions/index.js.map +1 -1
- package/lib/extensions/math.js +1 -17
- package/lib/extensions/math.js.map +1 -1
- package/lib/extensions/media.js +1 -16
- package/lib/extensions/media.js.map +1 -1
- package/lib/extensions/responseArea.js +1 -24
- package/lib/extensions/responseArea.js.map +1 -1
- package/lib/index.js +1 -8
- package/lib/index.js.map +1 -1
- package/lib/styles/editorContainerStyles.js +1 -3
- package/lib/styles/editorContainerStyles.js.map +1 -1
- package/lib/theme.js +1 -2
- package/lib/theme.js.map +1 -1
- package/lib/utils/size.js +1 -7
- package/lib/utils/size.js.map +1 -1
- package/package.json +9 -9
- package/src/__tests__/constants.test.js +1 -2
- package/src/__tests__/extensions.test.js +1 -1
- package/src/__tests__/index.test.jsx +1 -1
- package/src/components/CharacterPicker.jsx +2 -6
- package/src/components/EditableHtml.jsx +1 -1
- package/src/components/MenuBar.jsx +32 -186
- package/src/components/TiptapContainer.jsx +1 -1
- package/src/components/__tests__/AltDialog.test.jsx +1 -1
- package/src/components/__tests__/CharacterPicker.test.jsx +5 -3
- package/src/components/__tests__/DragInTheBlank.test.jsx +1 -1
- package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +1 -1
- package/src/components/__tests__/ImageToolbar.test.jsx +1 -1
- package/src/components/__tests__/InlineDropdown.test.jsx +1 -1
- package/src/components/__tests__/MediaDialog.test.jsx +1 -1
- package/src/components/__tests__/MediaToolbar.test.jsx +1 -1
- package/src/components/__tests__/MenuBar.test.jsx +1 -1
- package/src/components/__tests__/TableIcons.test.jsx +1 -1
- package/src/components/__tests__/TextAlign.test.jsx +2 -2
- package/src/components/__tests__/choice.test.jsx +1 -1
- package/src/components/__tests__/done-button.test.jsx +2 -2
- package/src/components/__tests__/toolbar-buttons.test.jsx +2 -2
- package/src/components/image/AltDialog.jsx +1 -1
- package/src/components/image/InsertImageHandler.js +1 -1
- package/src/components/media/MediaDialog.js +4 -15
- package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +1 -1
- package/src/components/respArea/DragInTheBlank/choice.jsx +34 -27
- package/src/components/respArea/ExplicitConstructedResponse.jsx +1 -1
- package/src/components/respArea/InlineDropdown.jsx +2 -3
- package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +1 -1
- package/src/extensions/__tests__/extended-table.test.js +0 -21
- package/src/extensions/__tests__/image-component.test.jsx +1 -1
- package/src/extensions/__tests__/media.test.js +1 -1
- package/src/extensions/__tests__/responseArea.test.js +2 -2
- package/src/extensions/css.js +25 -23
- package/src/extensions/custom-toolbar-wrapper.jsx +1 -2
- package/src/extensions/extended-table.js +3 -1
- package/src/extensions/image-component.jsx +2 -2
- package/src/extensions/image.js +1 -1
- package/src/extensions/index.js +1 -3
- package/src/extensions/math.js +29 -27
- package/src/extensions/media.js +12 -14
- package/src/extensions/responseArea.js +91 -86
- package/src/styles/editorContainerStyles.js +0 -1
- package/lib/__tests__/EditableHtml.test.js +0 -387
- package/lib/__tests__/constants.test.js +0 -28
- package/lib/__tests__/extensions.test.js +0 -214
- package/lib/__tests__/index.test.js +0 -246
- package/lib/__tests__/size-utils.test.js +0 -57
- package/lib/__tests__/theme.test.js +0 -17
- package/lib/components/__tests__/AltDialog.test.js +0 -201
- package/lib/components/__tests__/CharacterPicker.test.js +0 -313
- package/lib/components/__tests__/CssIcon.test.js +0 -58
- package/lib/components/__tests__/DragInTheBlank.test.js +0 -309
- package/lib/components/__tests__/ExplicitConstructedResponse.test.js +0 -263
- package/lib/components/__tests__/ImageToolbar.test.js +0 -195
- package/lib/components/__tests__/InlineDropdown.test.js +0 -297
- package/lib/components/__tests__/InsertImageHandler.test.js +0 -162
- package/lib/components/__tests__/MediaDialog.test.js +0 -435
- package/lib/components/__tests__/MediaToolbar.test.js +0 -126
- package/lib/components/__tests__/MediaWrapper.test.js +0 -96
- package/lib/components/__tests__/MenuBar.test.js +0 -459
- package/lib/components/__tests__/RespArea.test.js +0 -171
- package/lib/components/__tests__/TableIcons.test.js +0 -153
- package/lib/components/__tests__/TextAlign.test.js +0 -216
- package/lib/components/__tests__/TiptapContainer.test.js +0 -196
- package/lib/components/__tests__/characterUtils.test.js +0 -189
- package/lib/components/__tests__/choice.test.js +0 -213
- package/lib/components/__tests__/custom-popper.test.js +0 -108
- package/lib/components/__tests__/done-button.test.js +0 -72
- package/lib/components/__tests__/toolbar-buttons.test.js +0 -277
- package/lib/extensions/__tests__/component.test.js +0 -314
- package/lib/extensions/__tests__/css.test.js +0 -218
- package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +0 -185
- package/lib/extensions/__tests__/extended-table.test.js +0 -114
- package/lib/extensions/__tests__/image-component.test.js +0 -315
- package/lib/extensions/__tests__/image.test.js +0 -178
- package/lib/extensions/__tests__/media.test.js +0 -296
- package/lib/extensions/__tests__/responseArea.test.js +0 -332
- package/lib/extensions/component.js +0 -305
|
@@ -1,332 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
5
|
-
require("core-js/modules/es.array.is-array.js");
|
|
6
|
-
require("core-js/modules/es.function.name.js");
|
|
7
|
-
var _responseArea = require("../responseArea");
|
|
8
|
-
jest.mock('@tiptap/core', function () {
|
|
9
|
-
return {
|
|
10
|
-
Extension: {
|
|
11
|
-
create: jest.fn(function (config) {
|
|
12
|
-
return config;
|
|
13
|
-
})
|
|
14
|
-
},
|
|
15
|
-
Node: {
|
|
16
|
-
create: jest.fn(function (config) {
|
|
17
|
-
return config;
|
|
18
|
-
})
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
});
|
|
22
|
-
jest.mock('@tiptap/react', function () {
|
|
23
|
-
return {
|
|
24
|
-
Node: {
|
|
25
|
-
create: jest.fn(function (config) {
|
|
26
|
-
return config;
|
|
27
|
-
})
|
|
28
|
-
},
|
|
29
|
-
ReactNodeViewRenderer: jest.fn(function (component) {
|
|
30
|
-
return component;
|
|
31
|
-
})
|
|
32
|
-
};
|
|
33
|
-
});
|
|
34
|
-
jest.mock('prosemirror-state', function () {
|
|
35
|
-
return {
|
|
36
|
-
Plugin: jest.fn(function (config) {
|
|
37
|
-
return config;
|
|
38
|
-
}),
|
|
39
|
-
PluginKey: jest.fn(function (key) {
|
|
40
|
-
this.key = key;
|
|
41
|
-
}),
|
|
42
|
-
TextSelection: {
|
|
43
|
-
near: jest.fn(function (pos, dir) {
|
|
44
|
-
return {
|
|
45
|
-
type: 'text',
|
|
46
|
-
pos: pos,
|
|
47
|
-
dir: dir
|
|
48
|
-
};
|
|
49
|
-
}),
|
|
50
|
-
create: jest.fn(function (doc, pos) {
|
|
51
|
-
return {
|
|
52
|
-
type: 'text',
|
|
53
|
-
pos: pos
|
|
54
|
-
};
|
|
55
|
-
})
|
|
56
|
-
},
|
|
57
|
-
NodeSelection: {
|
|
58
|
-
create: jest.fn(function (doc, pos) {
|
|
59
|
-
return {
|
|
60
|
-
type: 'node',
|
|
61
|
-
pos: pos
|
|
62
|
-
};
|
|
63
|
-
})
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
});
|
|
67
|
-
jest.mock('../../components/respArea/ExplicitConstructedResponse', function () {
|
|
68
|
-
return {
|
|
69
|
-
__esModule: true,
|
|
70
|
-
"default": jest.fn(function () {
|
|
71
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
72
|
-
"data-testid": "explicit-constructed-response"
|
|
73
|
-
});
|
|
74
|
-
})
|
|
75
|
-
};
|
|
76
|
-
});
|
|
77
|
-
jest.mock('../../components/respArea/DragInTheBlank/DragInTheBlank', function () {
|
|
78
|
-
return {
|
|
79
|
-
__esModule: true,
|
|
80
|
-
"default": jest.fn(function () {
|
|
81
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
82
|
-
"data-testid": "drag-in-the-blank"
|
|
83
|
-
});
|
|
84
|
-
})
|
|
85
|
-
};
|
|
86
|
-
});
|
|
87
|
-
jest.mock('../../components/respArea/InlineDropdown', function () {
|
|
88
|
-
return {
|
|
89
|
-
__esModule: true,
|
|
90
|
-
"default": jest.fn(function () {
|
|
91
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
92
|
-
"data-testid": "inline-dropdown"
|
|
93
|
-
});
|
|
94
|
-
})
|
|
95
|
-
};
|
|
96
|
-
});
|
|
97
|
-
describe('ResponseAreaExtension', function () {
|
|
98
|
-
describe('configuration', function () {
|
|
99
|
-
it('has correct name', function () {
|
|
100
|
-
expect(_responseArea.ResponseAreaExtension.name).toBe('responseArea');
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
describe('addOptions', function () {
|
|
104
|
-
it('returns default options', function () {
|
|
105
|
-
var options = _responseArea.ResponseAreaExtension.addOptions();
|
|
106
|
-
expect(options).toHaveProperty('maxResponseAreas', null);
|
|
107
|
-
expect(options).toHaveProperty('error', null);
|
|
108
|
-
expect(options).toHaveProperty('options', null);
|
|
109
|
-
expect(options).toHaveProperty('respAreaToolbar', null);
|
|
110
|
-
expect(options).toHaveProperty('onHandleAreaChange', null);
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
describe('addProseMirrorPlugins', function () {
|
|
114
|
-
it('returns empty array when no type specified', function () {
|
|
115
|
-
var context = {
|
|
116
|
-
options: {}
|
|
117
|
-
};
|
|
118
|
-
var plugins = _responseArea.ResponseAreaExtension.addProseMirrorPlugins.call(context);
|
|
119
|
-
expect(Array.isArray(plugins)).toBe(true);
|
|
120
|
-
expect(plugins).toHaveLength(0);
|
|
121
|
-
});
|
|
122
|
-
it('returns plugin array when type is specified', function () {
|
|
123
|
-
var context = {
|
|
124
|
-
options: {
|
|
125
|
-
type: 'explicit-constructed-response',
|
|
126
|
-
maxResponseAreas: 5
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
var plugins = _responseArea.ResponseAreaExtension.addProseMirrorPlugins.call(context);
|
|
130
|
-
expect(Array.isArray(plugins)).toBe(true);
|
|
131
|
-
expect(plugins).toHaveLength(1);
|
|
132
|
-
expect(plugins[0]).toHaveProperty('key');
|
|
133
|
-
expect(plugins[0]).toHaveProperty('view');
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
describe('addCommands', function () {
|
|
137
|
-
it('returns insertResponseArea command', function () {
|
|
138
|
-
var commands = _responseArea.ResponseAreaExtension.addCommands();
|
|
139
|
-
expect(commands).toHaveProperty('insertResponseArea');
|
|
140
|
-
expect((0, _typeof2["default"])(commands.insertResponseArea)).toBe('function');
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
describe('ExplicitConstructedResponseNode', function () {
|
|
145
|
-
describe('configuration', function () {
|
|
146
|
-
it('has correct name', function () {
|
|
147
|
-
expect(_responseArea.ExplicitConstructedResponseNode.name).toBe('explicit_constructed_response');
|
|
148
|
-
});
|
|
149
|
-
it('is inline', function () {
|
|
150
|
-
expect(_responseArea.ExplicitConstructedResponseNode.inline).toBe(true);
|
|
151
|
-
});
|
|
152
|
-
it('is in inline group', function () {
|
|
153
|
-
expect(_responseArea.ExplicitConstructedResponseNode.group).toBe('inline');
|
|
154
|
-
});
|
|
155
|
-
it('is atomic', function () {
|
|
156
|
-
expect(_responseArea.ExplicitConstructedResponseNode.atom).toBe(true);
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
describe('addAttributes', function () {
|
|
160
|
-
it('returns required attributes', function () {
|
|
161
|
-
var attributes = _responseArea.ExplicitConstructedResponseNode.addAttributes();
|
|
162
|
-
expect(attributes).toHaveProperty('index');
|
|
163
|
-
expect(attributes).toHaveProperty('value');
|
|
164
|
-
expect(attributes).toHaveProperty('updated');
|
|
165
|
-
expect(attributes.index).toEqual({
|
|
166
|
-
"default": null
|
|
167
|
-
});
|
|
168
|
-
expect(attributes.value).toEqual({
|
|
169
|
-
"default": ''
|
|
170
|
-
});
|
|
171
|
-
expect(attributes.updated).toEqual({
|
|
172
|
-
"default": ''
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
describe('parseHTML', function () {
|
|
177
|
-
it('returns parsing rules', function () {
|
|
178
|
-
var rules = _responseArea.ExplicitConstructedResponseNode.parseHTML();
|
|
179
|
-
expect(Array.isArray(rules)).toBe(true);
|
|
180
|
-
expect(rules).toHaveLength(1);
|
|
181
|
-
expect(rules[0]).toHaveProperty('tag');
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
describe('renderHTML', function () {
|
|
185
|
-
it('renders span with attributes', function () {
|
|
186
|
-
var result = _responseArea.ExplicitConstructedResponseNode.renderHTML({
|
|
187
|
-
HTMLAttributes: {
|
|
188
|
-
index: '1',
|
|
189
|
-
id: '1',
|
|
190
|
-
value: 'test'
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
expect(result[0]).toBe('span');
|
|
194
|
-
expect(result[1]).toHaveProperty('data-type', 'explicit_constructed_response');
|
|
195
|
-
});
|
|
196
|
-
});
|
|
197
|
-
describe('addNodeView', function () {
|
|
198
|
-
it('returns ReactNodeViewRenderer result', function () {
|
|
199
|
-
var result = _responseArea.ExplicitConstructedResponseNode.addNodeView();
|
|
200
|
-
expect(result).toBeDefined();
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
});
|
|
204
|
-
describe('DragInTheBlankNode', function () {
|
|
205
|
-
describe('configuration', function () {
|
|
206
|
-
it('has correct name', function () {
|
|
207
|
-
expect(_responseArea.DragInTheBlankNode.name).toBe('drag_in_the_blank');
|
|
208
|
-
});
|
|
209
|
-
it('is inline', function () {
|
|
210
|
-
expect(_responseArea.DragInTheBlankNode.inline).toBe(true);
|
|
211
|
-
});
|
|
212
|
-
it('is in inline group', function () {
|
|
213
|
-
expect(_responseArea.DragInTheBlankNode.group).toBe('inline');
|
|
214
|
-
});
|
|
215
|
-
it('is atomic', function () {
|
|
216
|
-
expect(_responseArea.DragInTheBlankNode.atom).toBe(true);
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
describe('addAttributes', function () {
|
|
220
|
-
it('returns required attributes', function () {
|
|
221
|
-
var attributes = _responseArea.DragInTheBlankNode.addAttributes();
|
|
222
|
-
expect(attributes).toHaveProperty('index');
|
|
223
|
-
expect(attributes).toHaveProperty('id');
|
|
224
|
-
expect(attributes).toHaveProperty('value');
|
|
225
|
-
expect(attributes).toHaveProperty('inTable');
|
|
226
|
-
expect(attributes).toHaveProperty('updated');
|
|
227
|
-
expect(attributes.index).toEqual({
|
|
228
|
-
"default": null
|
|
229
|
-
});
|
|
230
|
-
expect(attributes.id).toEqual({
|
|
231
|
-
"default": null
|
|
232
|
-
});
|
|
233
|
-
expect(attributes.value).toEqual({
|
|
234
|
-
"default": ''
|
|
235
|
-
});
|
|
236
|
-
expect(attributes.inTable).toEqual({
|
|
237
|
-
"default": null
|
|
238
|
-
});
|
|
239
|
-
expect(attributes.updated).toEqual({
|
|
240
|
-
"default": ''
|
|
241
|
-
});
|
|
242
|
-
});
|
|
243
|
-
});
|
|
244
|
-
describe('parseHTML', function () {
|
|
245
|
-
it('returns parsing rules', function () {
|
|
246
|
-
var rules = _responseArea.DragInTheBlankNode.parseHTML();
|
|
247
|
-
expect(Array.isArray(rules)).toBe(true);
|
|
248
|
-
expect(rules).toHaveLength(1);
|
|
249
|
-
expect(rules[0]).toHaveProperty('tag');
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
describe('renderHTML', function () {
|
|
253
|
-
it('renders span with attributes', function () {
|
|
254
|
-
var result = _responseArea.DragInTheBlankNode.renderHTML({
|
|
255
|
-
HTMLAttributes: {
|
|
256
|
-
index: '1',
|
|
257
|
-
id: '1',
|
|
258
|
-
value: 'test'
|
|
259
|
-
}
|
|
260
|
-
});
|
|
261
|
-
expect(result[0]).toBe('span');
|
|
262
|
-
expect(result[1]).toHaveProperty('data-type', 'drag_in_the_blank');
|
|
263
|
-
});
|
|
264
|
-
});
|
|
265
|
-
describe('addNodeView', function () {
|
|
266
|
-
it('returns ReactNodeViewRenderer result', function () {
|
|
267
|
-
var result = _responseArea.DragInTheBlankNode.addNodeView();
|
|
268
|
-
expect(result).toBeDefined();
|
|
269
|
-
});
|
|
270
|
-
});
|
|
271
|
-
});
|
|
272
|
-
describe('InlineDropdownNode', function () {
|
|
273
|
-
describe('configuration', function () {
|
|
274
|
-
it('has correct name', function () {
|
|
275
|
-
expect(_responseArea.InlineDropdownNode.name).toBe('inline_dropdown');
|
|
276
|
-
});
|
|
277
|
-
it('is inline', function () {
|
|
278
|
-
expect(_responseArea.InlineDropdownNode.inline).toBe(true);
|
|
279
|
-
});
|
|
280
|
-
it('is in inline group', function () {
|
|
281
|
-
expect(_responseArea.InlineDropdownNode.group).toBe('inline');
|
|
282
|
-
});
|
|
283
|
-
it('is atomic', function () {
|
|
284
|
-
expect(_responseArea.InlineDropdownNode.atom).toBe(true);
|
|
285
|
-
});
|
|
286
|
-
});
|
|
287
|
-
describe('addAttributes', function () {
|
|
288
|
-
it('returns required attributes', function () {
|
|
289
|
-
var attributes = _responseArea.InlineDropdownNode.addAttributes();
|
|
290
|
-
expect(attributes).toHaveProperty('index');
|
|
291
|
-
expect(attributes).toHaveProperty('value');
|
|
292
|
-
expect(attributes).toHaveProperty('updated');
|
|
293
|
-
expect(attributes.index).toEqual({
|
|
294
|
-
"default": null
|
|
295
|
-
});
|
|
296
|
-
expect(attributes.value).toEqual({
|
|
297
|
-
"default": ''
|
|
298
|
-
});
|
|
299
|
-
expect(attributes.updated).toEqual({
|
|
300
|
-
"default": ''
|
|
301
|
-
});
|
|
302
|
-
});
|
|
303
|
-
});
|
|
304
|
-
describe('parseHTML', function () {
|
|
305
|
-
it('returns parsing rules', function () {
|
|
306
|
-
var rules = _responseArea.InlineDropdownNode.parseHTML();
|
|
307
|
-
expect(Array.isArray(rules)).toBe(true);
|
|
308
|
-
expect(rules).toHaveLength(1);
|
|
309
|
-
expect(rules[0]).toHaveProperty('tag');
|
|
310
|
-
});
|
|
311
|
-
});
|
|
312
|
-
describe('renderHTML', function () {
|
|
313
|
-
it('renders span with attributes', function () {
|
|
314
|
-
var result = _responseArea.InlineDropdownNode.renderHTML({
|
|
315
|
-
HTMLAttributes: {
|
|
316
|
-
index: '1',
|
|
317
|
-
id: '1',
|
|
318
|
-
value: 'test'
|
|
319
|
-
}
|
|
320
|
-
});
|
|
321
|
-
expect(result[0]).toBe('span');
|
|
322
|
-
expect(result[1]).toHaveProperty('data-type', 'inline_dropdown');
|
|
323
|
-
});
|
|
324
|
-
});
|
|
325
|
-
describe('addNodeView', function () {
|
|
326
|
-
it('returns ReactNodeViewRenderer result', function () {
|
|
327
|
-
var result = _responseArea.InlineDropdownNode.addNodeView();
|
|
328
|
-
expect(result).toBeDefined();
|
|
329
|
-
});
|
|
330
|
-
});
|
|
331
|
-
});
|
|
332
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVzcG9uc2VBcmVhIiwicmVxdWlyZSIsImplc3QiLCJtb2NrIiwiRXh0ZW5zaW9uIiwiY3JlYXRlIiwiZm4iLCJjb25maWciLCJOb2RlIiwiUmVhY3ROb2RlVmlld1JlbmRlcmVyIiwiY29tcG9uZW50IiwiUGx1Z2luIiwiUGx1Z2luS2V5Iiwia2V5IiwiVGV4dFNlbGVjdGlvbiIsIm5lYXIiLCJwb3MiLCJkaXIiLCJ0eXBlIiwiZG9jIiwiTm9kZVNlbGVjdGlvbiIsIl9fZXNNb2R1bGUiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJkZXNjcmliZSIsIml0IiwiZXhwZWN0IiwiUmVzcG9uc2VBcmVhRXh0ZW5zaW9uIiwibmFtZSIsInRvQmUiLCJvcHRpb25zIiwiYWRkT3B0aW9ucyIsInRvSGF2ZVByb3BlcnR5IiwiY29udGV4dCIsInBsdWdpbnMiLCJhZGRQcm9zZU1pcnJvclBsdWdpbnMiLCJjYWxsIiwiQXJyYXkiLCJpc0FycmF5IiwidG9IYXZlTGVuZ3RoIiwibWF4UmVzcG9uc2VBcmVhcyIsImNvbW1hbmRzIiwiYWRkQ29tbWFuZHMiLCJfdHlwZW9mMiIsImluc2VydFJlc3BvbnNlQXJlYSIsIkV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUiLCJpbmxpbmUiLCJncm91cCIsImF0b20iLCJhdHRyaWJ1dGVzIiwiYWRkQXR0cmlidXRlcyIsImluZGV4IiwidG9FcXVhbCIsInZhbHVlIiwidXBkYXRlZCIsInJ1bGVzIiwicGFyc2VIVE1MIiwicmVzdWx0IiwicmVuZGVySFRNTCIsIkhUTUxBdHRyaWJ1dGVzIiwiaWQiLCJhZGROb2RlVmlldyIsInRvQmVEZWZpbmVkIiwiRHJhZ0luVGhlQmxhbmtOb2RlIiwiaW5UYWJsZSIsIklubGluZURyb3Bkb3duTm9kZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leHRlbnNpb25zL19fdGVzdHNfXy9yZXNwb25zZUFyZWEudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZXNwb25zZUFyZWFFeHRlbnNpb24sXG4gIEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUsXG4gIERyYWdJblRoZUJsYW5rTm9kZSxcbiAgSW5saW5lRHJvcGRvd25Ob2RlLFxufSBmcm9tICcuLi9yZXNwb25zZUFyZWEnO1xuXG5qZXN0Lm1vY2soJ0B0aXB0YXAvY29yZScsICgpID0+ICh7XG4gIEV4dGVuc2lvbjogeyBjcmVhdGU6IGplc3QuZm4oKGNvbmZpZykgPT4gY29uZmlnKSB9LFxuICBOb2RlOiB7IGNyZWF0ZTogamVzdC5mbigoY29uZmlnKSA9PiBjb25maWcpIH0sXG59KSk7XG5cbmplc3QubW9jaygnQHRpcHRhcC9yZWFjdCcsICgpID0+ICh7XG4gIE5vZGU6IHsgY3JlYXRlOiBqZXN0LmZuKChjb25maWcpID0+IGNvbmZpZykgfSxcbiAgUmVhY3ROb2RlVmlld1JlbmRlcmVyOiBqZXN0LmZuKChjb21wb25lbnQpID0+IGNvbXBvbmVudCksXG59KSk7XG5cbmplc3QubW9jaygncHJvc2VtaXJyb3Itc3RhdGUnLCAoKSA9PiAoe1xuICBQbHVnaW46IGplc3QuZm4oZnVuY3Rpb24gKGNvbmZpZykge1xuICAgIHJldHVybiBjb25maWc7XG4gIH0pLFxuICBQbHVnaW5LZXk6IGplc3QuZm4oZnVuY3Rpb24gKGtleSkge1xuICAgIHRoaXMua2V5ID0ga2V5O1xuICB9KSxcbiAgVGV4dFNlbGVjdGlvbjoge1xuICAgIG5lYXI6IGplc3QuZm4oKHBvcywgZGlyKSA9PiAoeyB0eXBlOiAndGV4dCcsIHBvcywgZGlyIH0pKSxcbiAgICBjcmVhdGU6IGplc3QuZm4oKGRvYywgcG9zKSA9PiAoeyB0eXBlOiAndGV4dCcsIHBvcyB9KSksXG4gIH0sXG4gIE5vZGVTZWxlY3Rpb246IHtcbiAgICBjcmVhdGU6IGplc3QuZm4oKGRvYywgcG9zKSA9PiAoeyB0eXBlOiAnbm9kZScsIHBvcyB9KSksXG4gIH0sXG59KSk7XG5cbmplc3QubW9jaygnLi4vLi4vY29tcG9uZW50cy9yZXNwQXJlYS9FeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UnLCAoKSA9PiAoe1xuICBfX2VzTW9kdWxlOiB0cnVlLFxuICBkZWZhdWx0OiBqZXN0LmZuKCgpID0+IDxkaXYgZGF0YS10ZXN0aWQ9XCJleHBsaWNpdC1jb25zdHJ1Y3RlZC1yZXNwb25zZVwiIC8+KSxcbn0pKTtcblxuamVzdC5tb2NrKCcuLi8uLi9jb21wb25lbnRzL3Jlc3BBcmVhL0RyYWdJblRoZUJsYW5rL0RyYWdJblRoZUJsYW5rJywgKCkgPT4gKHtcbiAgX19lc01vZHVsZTogdHJ1ZSxcbiAgZGVmYXVsdDogamVzdC5mbigoKSA9PiA8ZGl2IGRhdGEtdGVzdGlkPVwiZHJhZy1pbi10aGUtYmxhbmtcIiAvPiksXG59KSk7XG5cbmplc3QubW9jaygnLi4vLi4vY29tcG9uZW50cy9yZXNwQXJlYS9JbmxpbmVEcm9wZG93bicsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6IGplc3QuZm4oKCkgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImlubGluZS1kcm9wZG93blwiIC8+KSxcbn0pKTtcblxuZGVzY3JpYmUoJ1Jlc3BvbnNlQXJlYUV4dGVuc2lvbicsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2NvbmZpZ3VyYXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ2hhcyBjb3JyZWN0IG5hbWUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoUmVzcG9uc2VBcmVhRXh0ZW5zaW9uLm5hbWUpLnRvQmUoJ3Jlc3BvbnNlQXJlYScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkT3B0aW9ucycsICgpID0+IHtcbiAgICBpdCgncmV0dXJucyBkZWZhdWx0IG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBvcHRpb25zID0gUmVzcG9uc2VBcmVhRXh0ZW5zaW9uLmFkZE9wdGlvbnMoKTtcblxuICAgICAgZXhwZWN0KG9wdGlvbnMpLnRvSGF2ZVByb3BlcnR5KCdtYXhSZXNwb25zZUFyZWFzJywgbnVsbCk7XG4gICAgICBleHBlY3Qob3B0aW9ucykudG9IYXZlUHJvcGVydHkoJ2Vycm9yJywgbnVsbCk7XG4gICAgICBleHBlY3Qob3B0aW9ucykudG9IYXZlUHJvcGVydHkoJ29wdGlvbnMnLCBudWxsKTtcbiAgICAgIGV4cGVjdChvcHRpb25zKS50b0hhdmVQcm9wZXJ0eSgncmVzcEFyZWFUb29sYmFyJywgbnVsbCk7XG4gICAgICBleHBlY3Qob3B0aW9ucykudG9IYXZlUHJvcGVydHkoJ29uSGFuZGxlQXJlYUNoYW5nZScsIG51bGwpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkUHJvc2VNaXJyb3JQbHVnaW5zJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIGVtcHR5IGFycmF5IHdoZW4gbm8gdHlwZSBzcGVjaWZpZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgICBvcHRpb25zOiB7fSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBsdWdpbnMgPSBSZXNwb25zZUFyZWFFeHRlbnNpb24uYWRkUHJvc2VNaXJyb3JQbHVnaW5zLmNhbGwoY29udGV4dCk7XG5cbiAgICAgIGV4cGVjdChBcnJheS5pc0FycmF5KHBsdWdpbnMpKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHBsdWdpbnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZXR1cm5zIHBsdWdpbiBhcnJheSB3aGVuIHR5cGUgaXMgc3BlY2lmaWVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHR5cGU6ICdleHBsaWNpdC1jb25zdHJ1Y3RlZC1yZXNwb25zZScsXG4gICAgICAgICAgbWF4UmVzcG9uc2VBcmVhczogNSxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBsdWdpbnMgPSBSZXNwb25zZUFyZWFFeHRlbnNpb24uYWRkUHJvc2VNaXJyb3JQbHVnaW5zLmNhbGwoY29udGV4dCk7XG5cbiAgICAgIGV4cGVjdChBcnJheS5pc0FycmF5KHBsdWdpbnMpKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHBsdWdpbnMpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICAgIGV4cGVjdChwbHVnaW5zWzBdKS50b0hhdmVQcm9wZXJ0eSgna2V5Jyk7XG4gICAgICBleHBlY3QocGx1Z2luc1swXSkudG9IYXZlUHJvcGVydHkoJ3ZpZXcnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2FkZENvbW1hbmRzJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIGluc2VydFJlc3BvbnNlQXJlYSBjb21tYW5kJywgKCkgPT4ge1xuICAgICAgY29uc3QgY29tbWFuZHMgPSBSZXNwb25zZUFyZWFFeHRlbnNpb24uYWRkQ29tbWFuZHMoKTtcblxuICAgICAgZXhwZWN0KGNvbW1hbmRzKS50b0hhdmVQcm9wZXJ0eSgnaW5zZXJ0UmVzcG9uc2VBcmVhJyk7XG4gICAgICBleHBlY3QodHlwZW9mIGNvbW1hbmRzLmluc2VydFJlc3BvbnNlQXJlYSkudG9CZSgnZnVuY3Rpb24nKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ0V4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdjb25maWd1cmF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdoYXMgY29ycmVjdCBuYW1lJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUubmFtZSkudG9CZSgnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpcyBpbmxpbmUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZS5pbmxpbmUpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXMgaW4gaW5saW5lIGdyb3VwJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUuZ3JvdXApLnRvQmUoJ2lubGluZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2lzIGF0b21pYycsICgpID0+IHtcbiAgICAgIGV4cGVjdChFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VOb2RlLmF0b20pLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhZGRBdHRyaWJ1dGVzJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHJlcXVpcmVkIGF0dHJpYnV0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZS5hZGRBdHRyaWJ1dGVzKCk7XG5cbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgnaW5kZXgnKTtcbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgndmFsdWUnKTtcbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgndXBkYXRlZCcpO1xuXG4gICAgICBleHBlY3QoYXR0cmlidXRlcy5pbmRleCkudG9FcXVhbCh7IGRlZmF1bHQ6IG51bGwgfSk7XG4gICAgICBleHBlY3QoYXR0cmlidXRlcy52YWx1ZSkudG9FcXVhbCh7IGRlZmF1bHQ6ICcnIH0pO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMudXBkYXRlZCkudG9FcXVhbCh7IGRlZmF1bHQ6ICcnIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncGFyc2VIVE1MJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHBhcnNpbmcgcnVsZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBydWxlcyA9IEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUucGFyc2VIVE1MKCk7XG5cbiAgICAgIGV4cGVjdChBcnJheS5pc0FycmF5KHJ1bGVzKSkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdChydWxlcykudG9IYXZlTGVuZ3RoKDEpO1xuICAgICAgZXhwZWN0KHJ1bGVzWzBdKS50b0hhdmVQcm9wZXJ0eSgndGFnJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJIVE1MJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHNwYW4gd2l0aCBhdHRyaWJ1dGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZS5yZW5kZXJIVE1MKHtcbiAgICAgICAgSFRNTEF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBpbmRleDogJzEnLFxuICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgdmFsdWU6ICd0ZXN0JyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QocmVzdWx0WzBdKS50b0JlKCdzcGFuJyk7XG4gICAgICBleHBlY3QocmVzdWx0WzFdKS50b0hhdmVQcm9wZXJ0eSgnZGF0YS10eXBlJywgJ2V4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhZGROb2RlVmlldycsICgpID0+IHtcbiAgICBpdCgncmV0dXJucyBSZWFjdE5vZGVWaWV3UmVuZGVyZXIgcmVzdWx0JywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZS5hZGROb2RlVmlldygpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnRHJhZ0luVGhlQmxhbmtOb2RlJywgKCkgPT4ge1xuICBkZXNjcmliZSgnY29uZmlndXJhdGlvbicsICgpID0+IHtcbiAgICBpdCgnaGFzIGNvcnJlY3QgbmFtZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChEcmFnSW5UaGVCbGFua05vZGUubmFtZSkudG9CZSgnZHJhZ19pbl90aGVfYmxhbmsnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpcyBpbmxpbmUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoRHJhZ0luVGhlQmxhbmtOb2RlLmlubGluZSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdpcyBpbiBpbmxpbmUgZ3JvdXAnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoRHJhZ0luVGhlQmxhbmtOb2RlLmdyb3VwKS50b0JlKCdpbmxpbmUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpcyBhdG9taWMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoRHJhZ0luVGhlQmxhbmtOb2RlLmF0b20pLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhZGRBdHRyaWJ1dGVzJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHJlcXVpcmVkIGF0dHJpYnV0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gRHJhZ0luVGhlQmxhbmtOb2RlLmFkZEF0dHJpYnV0ZXMoKTtcblxuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMpLnRvSGF2ZVByb3BlcnR5KCdpbmRleCcpO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMpLnRvSGF2ZVByb3BlcnR5KCdpZCcpO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMpLnRvSGF2ZVByb3BlcnR5KCd2YWx1ZScpO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMpLnRvSGF2ZVByb3BlcnR5KCdpblRhYmxlJyk7XG4gICAgICBleHBlY3QoYXR0cmlidXRlcykudG9IYXZlUHJvcGVydHkoJ3VwZGF0ZWQnKTtcblxuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMuaW5kZXgpLnRvRXF1YWwoeyBkZWZhdWx0OiBudWxsIH0pO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMuaWQpLnRvRXF1YWwoeyBkZWZhdWx0OiBudWxsIH0pO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMudmFsdWUpLnRvRXF1YWwoeyBkZWZhdWx0OiAnJyB9KTtcbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzLmluVGFibGUpLnRvRXF1YWwoeyBkZWZhdWx0OiBudWxsIH0pO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMudXBkYXRlZCkudG9FcXVhbCh7IGRlZmF1bHQ6ICcnIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncGFyc2VIVE1MJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHBhcnNpbmcgcnVsZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBydWxlcyA9IERyYWdJblRoZUJsYW5rTm9kZS5wYXJzZUhUTUwoKTtcblxuICAgICAgZXhwZWN0KEFycmF5LmlzQXJyYXkocnVsZXMpKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHJ1bGVzKS50b0hhdmVMZW5ndGgoMSk7XG4gICAgICBleHBlY3QocnVsZXNbMF0pLnRvSGF2ZVByb3BlcnR5KCd0YWcnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbmRlckhUTUwnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgc3BhbiB3aXRoIGF0dHJpYnV0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBEcmFnSW5UaGVCbGFua05vZGUucmVuZGVySFRNTCh7XG4gICAgICAgIEhUTUxBdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgaW5kZXg6ICcxJyxcbiAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgIHZhbHVlOiAndGVzdCcsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdFswXSkudG9CZSgnc3BhbicpO1xuICAgICAgZXhwZWN0KHJlc3VsdFsxXSkudG9IYXZlUHJvcGVydHkoJ2RhdGEtdHlwZScsICdkcmFnX2luX3RoZV9ibGFuaycpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkTm9kZVZpZXcnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgUmVhY3ROb2RlVmlld1JlbmRlcmVyIHJlc3VsdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IERyYWdJblRoZUJsYW5rTm9kZS5hZGROb2RlVmlldygpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnSW5saW5lRHJvcGRvd25Ob2RlJywgKCkgPT4ge1xuICBkZXNjcmliZSgnY29uZmlndXJhdGlvbicsICgpID0+IHtcbiAgICBpdCgnaGFzIGNvcnJlY3QgbmFtZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChJbmxpbmVEcm9wZG93bk5vZGUubmFtZSkudG9CZSgnaW5saW5lX2Ryb3Bkb3duJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXMgaW5saW5lJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KElubGluZURyb3Bkb3duTm9kZS5pbmxpbmUpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXMgaW4gaW5saW5lIGdyb3VwJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KElubGluZURyb3Bkb3duTm9kZS5ncm91cCkudG9CZSgnaW5saW5lJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXMgYXRvbWljJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KElubGluZURyb3Bkb3duTm9kZS5hdG9tKS50b0JlKHRydWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkQXR0cmlidXRlcycsICgpID0+IHtcbiAgICBpdCgncmV0dXJucyByZXF1aXJlZCBhdHRyaWJ1dGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYXR0cmlidXRlcyA9IElubGluZURyb3Bkb3duTm9kZS5hZGRBdHRyaWJ1dGVzKCk7XG5cbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgnaW5kZXgnKTtcbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgndmFsdWUnKTtcbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgndXBkYXRlZCcpO1xuXG4gICAgICBleHBlY3QoYXR0cmlidXRlcy5pbmRleCkudG9FcXVhbCh7IGRlZmF1bHQ6IG51bGwgfSk7XG4gICAgICBleHBlY3QoYXR0cmlidXRlcy52YWx1ZSkudG9FcXVhbCh7IGRlZmF1bHQ6ICcnIH0pO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMudXBkYXRlZCkudG9FcXVhbCh7IGRlZmF1bHQ6ICcnIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncGFyc2VIVE1MJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHBhcnNpbmcgcnVsZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBydWxlcyA9IElubGluZURyb3Bkb3duTm9kZS5wYXJzZUhUTUwoKTtcblxuICAgICAgZXhwZWN0KEFycmF5LmlzQXJyYXkocnVsZXMpKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHJ1bGVzKS50b0hhdmVMZW5ndGgoMSk7XG4gICAgICBleHBlY3QocnVsZXNbMF0pLnRvSGF2ZVByb3BlcnR5KCd0YWcnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbmRlckhUTUwnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgc3BhbiB3aXRoIGF0dHJpYnV0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBJbmxpbmVEcm9wZG93bk5vZGUucmVuZGVySFRNTCh7XG4gICAgICAgIEhUTUxBdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgaW5kZXg6ICcxJyxcbiAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgIHZhbHVlOiAndGVzdCcsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdFswXSkudG9CZSgnc3BhbicpO1xuICAgICAgZXhwZWN0KHJlc3VsdFsxXSkudG9IYXZlUHJvcGVydHkoJ2RhdGEtdHlwZScsICdpbmxpbmVfZHJvcGRvd24nKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2FkZE5vZGVWaWV3JywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIFJlYWN0Tm9kZVZpZXdSZW5kZXJlciByZXN1bHQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBJbmxpbmVEcm9wZG93bk5vZGUuYWRkTm9kZVZpZXcoKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsYUFBQSxHQUFBQyxPQUFBO0FBT0FDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLGNBQWMsRUFBRTtFQUFBLE9BQU87SUFDL0JDLFNBQVMsRUFBRTtNQUFFQyxNQUFNLEVBQUVILElBQUksQ0FBQ0ksRUFBRSxDQUFDLFVBQUNDLE1BQU07UUFBQSxPQUFLQSxNQUFNO01BQUE7SUFBRSxDQUFDO0lBQ2xEQyxJQUFJLEVBQUU7TUFBRUgsTUFBTSxFQUFFSCxJQUFJLENBQUNJLEVBQUUsQ0FBQyxVQUFDQyxNQUFNO1FBQUEsT0FBS0EsTUFBTTtNQUFBO0lBQUU7RUFDOUMsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVITCxJQUFJLENBQUNDLElBQUksQ0FBQyxlQUFlLEVBQUU7RUFBQSxPQUFPO0lBQ2hDSyxJQUFJLEVBQUU7TUFBRUgsTUFBTSxFQUFFSCxJQUFJLENBQUNJLEVBQUUsQ0FBQyxVQUFDQyxNQUFNO1FBQUEsT0FBS0EsTUFBTTtNQUFBO0lBQUUsQ0FBQztJQUM3Q0UscUJBQXFCLEVBQUVQLElBQUksQ0FBQ0ksRUFBRSxDQUFDLFVBQUNJLFNBQVM7TUFBQSxPQUFLQSxTQUFTO0lBQUE7RUFDekQsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVIUixJQUFJLENBQUNDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtFQUFBLE9BQU87SUFDcENRLE1BQU0sRUFBRVQsSUFBSSxDQUFDSSxFQUFFLENBQUMsVUFBVUMsTUFBTSxFQUFFO01BQ2hDLE9BQU9BLE1BQU07SUFDZixDQUFDLENBQUM7SUFDRkssU0FBUyxFQUFFVixJQUFJLENBQUNJLEVBQUUsQ0FBQyxVQUFVTyxHQUFHLEVBQUU7TUFDaEMsSUFBSSxDQUFDQSxHQUFHLEdBQUdBLEdBQUc7SUFDaEIsQ0FBQyxDQUFDO0lBQ0ZDLGFBQWEsRUFBRTtNQUNiQyxJQUFJLEVBQUViLElBQUksQ0FBQ0ksRUFBRSxDQUFDLFVBQUNVLEdBQUcsRUFBRUMsR0FBRztRQUFBLE9BQU07VUFBRUMsSUFBSSxFQUFFLE1BQU07VUFBRUYsR0FBRyxFQUFIQSxHQUFHO1VBQUVDLEdBQUcsRUFBSEE7UUFBSSxDQUFDO01BQUEsQ0FBQyxDQUFDO01BQ3pEWixNQUFNLEVBQUVILElBQUksQ0FBQ0ksRUFBRSxDQUFDLFVBQUNhLEdBQUcsRUFBRUgsR0FBRztRQUFBLE9BQU07VUFBRUUsSUFBSSxFQUFFLE1BQU07VUFBRUYsR0FBRyxFQUFIQTtRQUFJLENBQUM7TUFBQSxDQUFDO0lBQ3ZELENBQUM7SUFDREksYUFBYSxFQUFFO01BQ2JmLE1BQU0sRUFBRUgsSUFBSSxDQUFDSSxFQUFFLENBQUMsVUFBQ2EsR0FBRyxFQUFFSCxHQUFHO1FBQUEsT0FBTTtVQUFFRSxJQUFJLEVBQUUsTUFBTTtVQUFFRixHQUFHLEVBQUhBO1FBQUksQ0FBQztNQUFBLENBQUM7SUFDdkQ7RUFDRixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUhkLElBQUksQ0FBQ0MsSUFBSSxDQUFDLHVEQUF1RCxFQUFFO0VBQUEsT0FBTztJQUN4RWtCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFdBQVNuQixJQUFJLENBQUNJLEVBQUUsQ0FBQztNQUFBLG9CQUFNZ0IsS0FBQSxDQUFBQyxhQUFBO1FBQUssZUFBWTtNQUErQixDQUFFLENBQUM7SUFBQTtFQUM1RSxDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUhyQixJQUFJLENBQUNDLElBQUksQ0FBQyx5REFBeUQsRUFBRTtFQUFBLE9BQU87SUFDMUVrQixVQUFVLEVBQUUsSUFBSTtJQUNoQixXQUFTbkIsSUFBSSxDQUFDSSxFQUFFLENBQUM7TUFBQSxvQkFBTWdCLEtBQUEsQ0FBQUMsYUFBQTtRQUFLLGVBQVk7TUFBbUIsQ0FBRSxDQUFDO0lBQUE7RUFDaEUsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVIckIsSUFBSSxDQUFDQyxJQUFJLENBQUMsMENBQTBDLEVBQUU7RUFBQSxPQUFPO0lBQzNEa0IsVUFBVSxFQUFFLElBQUk7SUFDaEIsV0FBU25CLElBQUksQ0FBQ0ksRUFBRSxDQUFDO01BQUEsb0JBQU1nQixLQUFBLENBQUFDLGFBQUE7UUFBSyxlQUFZO01BQWlCLENBQUUsQ0FBQztJQUFBO0VBQzlELENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSEMsUUFBUSxDQUFDLHVCQUF1QixFQUFFLFlBQU07RUFDdENBLFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtJQUM5QkMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFlBQU07TUFDM0JDLE1BQU0sQ0FBQ0MsbUNBQXFCLENBQUNDLElBQUksQ0FBQyxDQUFDQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ3pELENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztFQUVGTCxRQUFRLENBQUMsWUFBWSxFQUFFLFlBQU07SUFDM0JDLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxZQUFNO01BQ2xDLElBQU1LLE9BQU8sR0FBR0gsbUNBQXFCLENBQUNJLFVBQVUsQ0FBQyxDQUFDO01BRWxETCxNQUFNLENBQUNJLE9BQU8sQ0FBQyxDQUFDRSxjQUFjLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDO01BQ3hETixNQUFNLENBQUNJLE9BQU8sQ0FBQyxDQUFDRSxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztNQUM3Q04sTUFBTSxDQUFDSSxPQUFPLENBQUMsQ0FBQ0UsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7TUFDL0NOLE1BQU0sQ0FBQ0ksT0FBTyxDQUFDLENBQUNFLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUM7TUFDdkROLE1BQU0sQ0FBQ0ksT0FBTyxDQUFDLENBQUNFLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUM7SUFDNUQsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUZSLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxZQUFNO0lBQ3RDQyxFQUFFLENBQUMsNENBQTRDLEVBQUUsWUFBTTtNQUNyRCxJQUFNUSxPQUFPLEdBQUc7UUFDZEgsT0FBTyxFQUFFLENBQUM7TUFDWixDQUFDO01BRUQsSUFBTUksT0FBTyxHQUFHUCxtQ0FBcUIsQ0FBQ1EscUJBQXFCLENBQUNDLElBQUksQ0FBQ0gsT0FBTyxDQUFDO01BRXpFUCxNQUFNLENBQUNXLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSixPQUFPLENBQUMsQ0FBQyxDQUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDO01BQ3pDSCxNQUFNLENBQUNRLE9BQU8sQ0FBQyxDQUFDSyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQztJQUVGZCxFQUFFLENBQUMsNkNBQTZDLEVBQUUsWUFBTTtNQUN0RCxJQUFNUSxPQUFPLEdBQUc7UUFDZEgsT0FBTyxFQUFFO1VBQ1BaLElBQUksRUFBRSwrQkFBK0I7VUFDckNzQixnQkFBZ0IsRUFBRTtRQUNwQjtNQUNGLENBQUM7TUFFRCxJQUFNTixPQUFPLEdBQUdQLG1DQUFxQixDQUFDUSxxQkFBcUIsQ0FBQ0MsSUFBSSxDQUFDSCxPQUFPLENBQUM7TUFFekVQLE1BQU0sQ0FBQ1csS0FBSyxDQUFDQyxPQUFPLENBQUNKLE9BQU8sQ0FBQyxDQUFDLENBQUNMLElBQUksQ0FBQyxJQUFJLENBQUM7TUFDekNILE1BQU0sQ0FBQ1EsT0FBTyxDQUFDLENBQUNLLFlBQVksQ0FBQyxDQUFDLENBQUM7TUFDL0JiLE1BQU0sQ0FBQ1EsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNGLGNBQWMsQ0FBQyxLQUFLLENBQUM7TUFDeENOLE1BQU0sQ0FBQ1EsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNGLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUZSLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBTTtJQUM1QkMsRUFBRSxDQUFDLG9DQUFvQyxFQUFFLFlBQU07TUFDN0MsSUFBTWdCLFFBQVEsR0FBR2QsbUNBQXFCLENBQUNlLFdBQVcsQ0FBQyxDQUFDO01BRXBEaEIsTUFBTSxDQUFDZSxRQUFRLENBQUMsQ0FBQ1QsY0FBYyxDQUFDLG9CQUFvQixDQUFDO01BQ3JETixNQUFNLEtBQUFpQixRQUFBLGFBQVFGLFFBQVEsQ0FBQ0csa0JBQWtCLEVBQUMsQ0FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM3RCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRkwsUUFBUSxDQUFDLGlDQUFpQyxFQUFFLFlBQU07RUFDaERBLFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtJQUM5QkMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFlBQU07TUFDM0JDLE1BQU0sQ0FBQ21CLDZDQUErQixDQUFDakIsSUFBSSxDQUFDLENBQUNDLElBQUksQ0FBQywrQkFBK0IsQ0FBQztJQUNwRixDQUFDLENBQUM7SUFFRkosRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFNO01BQ3BCQyxNQUFNLENBQUNtQiw2Q0FBK0IsQ0FBQ0MsTUFBTSxDQUFDLENBQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzNELENBQUMsQ0FBQztJQUVGSixFQUFFLENBQUMsb0JBQW9CLEVBQUUsWUFBTTtNQUM3QkMsTUFBTSxDQUFDbUIsNkNBQStCLENBQUNFLEtBQUssQ0FBQyxDQUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM5RCxDQUFDLENBQUM7SUFFRkosRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFNO01BQ3BCQyxNQUFNLENBQUNtQiw2Q0FBK0IsQ0FBQ0csSUFBSSxDQUFDLENBQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztFQUVGTCxRQUFRLENBQUMsZUFBZSxFQUFFLFlBQU07SUFDOUJDLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxZQUFNO01BQ3RDLElBQU13QixVQUFVLEdBQUdKLDZDQUErQixDQUFDSyxhQUFhLENBQUMsQ0FBQztNQUVsRXhCLE1BQU0sQ0FBQ3VCLFVBQVUsQ0FBQyxDQUFDakIsY0FBYyxDQUFDLE9BQU8sQ0FBQztNQUMxQ04sTUFBTSxDQUFDdUIsVUFBVSxDQUFDLENBQUNqQixjQUFjLENBQUMsT0FBTyxDQUFDO01BQzFDTixNQUFNLENBQUN1QixVQUFVLENBQUMsQ0FBQ2pCLGNBQWMsQ0FBQyxTQUFTLENBQUM7TUFFNUNOLE1BQU0sQ0FBQ3VCLFVBQVUsQ0FBQ0UsS0FBSyxDQUFDLENBQUNDLE9BQU8sQ0FBQztRQUFFLFdBQVM7TUFBSyxDQUFDLENBQUM7TUFDbkQxQixNQUFNLENBQUN1QixVQUFVLENBQUNJLEtBQUssQ0FBQyxDQUFDRCxPQUFPLENBQUM7UUFBRSxXQUFTO01BQUcsQ0FBQyxDQUFDO01BQ2pEMUIsTUFBTSxDQUFDdUIsVUFBVSxDQUFDSyxPQUFPLENBQUMsQ0FBQ0YsT0FBTyxDQUFDO1FBQUUsV0FBUztNQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRjVCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBTTtJQUMxQkMsRUFBRSxDQUFDLHVCQUF1QixFQUFFLFlBQU07TUFDaEMsSUFBTThCLEtBQUssR0FBR1YsNkNBQStCLENBQUNXLFNBQVMsQ0FBQyxDQUFDO01BRXpEOUIsTUFBTSxDQUFDVyxLQUFLLENBQUNDLE9BQU8sQ0FBQ2lCLEtBQUssQ0FBQyxDQUFDLENBQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDO01BQ3ZDSCxNQUFNLENBQUM2QixLQUFLLENBQUMsQ0FBQ2hCLFlBQVksQ0FBQyxDQUFDLENBQUM7TUFDN0JiLE1BQU0sQ0FBQzZCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDdkIsY0FBYyxDQUFDLEtBQUssQ0FBQztJQUN4QyxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRlIsUUFBUSxDQUFDLFlBQVksRUFBRSxZQUFNO0lBQzNCQyxFQUFFLENBQUMsOEJBQThCLEVBQUUsWUFBTTtNQUN2QyxJQUFNZ0MsTUFBTSxHQUFHWiw2Q0FBK0IsQ0FBQ2EsVUFBVSxDQUFDO1FBQ3hEQyxjQUFjLEVBQUU7VUFDZFIsS0FBSyxFQUFFLEdBQUc7VUFDVlMsRUFBRSxFQUFFLEdBQUc7VUFDUFAsS0FBSyxFQUFFO1FBQ1Q7TUFDRixDQUFDLENBQUM7TUFFRjNCLE1BQU0sQ0FBQytCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQztNQUM5QkgsTUFBTSxDQUFDK0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUN6QixjQUFjLENBQUMsV0FBVyxFQUFFLCtCQUErQixDQUFDO0lBQ2hGLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztFQUVGUixRQUFRLENBQUMsYUFBYSxFQUFFLFlBQU07SUFDNUJDLEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxZQUFNO01BQy9DLElBQU1nQyxNQUFNLEdBQUdaLDZDQUErQixDQUFDZ0IsV0FBVyxDQUFDLENBQUM7TUFFNURuQyxNQUFNLENBQUMrQixNQUFNLENBQUMsQ0FBQ0ssV0FBVyxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUZ0QyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsWUFBTTtFQUNuQ0EsUUFBUSxDQUFDLGVBQWUsRUFBRSxZQUFNO0lBQzlCQyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsWUFBTTtNQUMzQkMsTUFBTSxDQUFDcUMsZ0NBQWtCLENBQUNuQyxJQUFJLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQzNELENBQUMsQ0FBQztJQUVGSixFQUFFLENBQUMsV0FBVyxFQUFFLFlBQU07TUFDcEJDLE1BQU0sQ0FBQ3FDLGdDQUFrQixDQUFDakIsTUFBTSxDQUFDLENBQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzlDLENBQUMsQ0FBQztJQUVGSixFQUFFLENBQUMsb0JBQW9CLEVBQUUsWUFBTTtNQUM3QkMsTUFBTSxDQUFDcUMsZ0NBQWtCLENBQUNoQixLQUFLLENBQUMsQ0FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakQsQ0FBQyxDQUFDO0lBRUZKLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBTTtNQUNwQkMsTUFBTSxDQUFDcUMsZ0NBQWtCLENBQUNmLElBQUksQ0FBQyxDQUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQztJQUM1QyxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRkwsUUFBUSxDQUFDLGVBQWUsRUFBRSxZQUFNO0lBQzlCQyxFQUFFLENBQUMsNkJBQTZCLEVBQUUsWUFBTTtNQUN0QyxJQUFNd0IsVUFBVSxHQUFHYyxnQ0FBa0IsQ0FBQ2IsYUFBYSxDQUFDLENBQUM7TUFFckR4QixNQUFNLENBQUN1QixVQUFVLENBQUMsQ0FBQ2pCLGNBQWMsQ0FBQyxPQUFPLENBQUM7TUFDMUNOLE1BQU0sQ0FBQ3VCLFVBQVUsQ0FBQyxDQUFDakIsY0FBYyxDQUFDLElBQUksQ0FBQztNQUN2Q04sTUFBTSxDQUFDdUIsVUFBVSxDQUFDLENBQUNqQixjQUFjLENBQUMsT0FBTyxDQUFDO01BQzFDTixNQUFNLENBQUN1QixVQUFVLENBQUMsQ0FBQ2pCLGNBQWMsQ0FBQyxTQUFTLENBQUM7TUFDNUNOLE1BQU0sQ0FBQ3VCLFVBQVUsQ0FBQyxDQUFDakIsY0FBYyxDQUFDLFNBQVMsQ0FBQztNQUU1Q04sTUFBTSxDQUFDdUIsVUFBVSxDQUFDRSxLQUFLLENBQUMsQ0FBQ0MsT0FBTyxDQUFDO1FBQUUsV0FBUztNQUFLLENBQUMsQ0FBQztNQUNuRDFCLE1BQU0sQ0FBQ3VCLFVBQVUsQ0FBQ1csRUFBRSxDQUFDLENBQUNSLE9BQU8sQ0FBQztRQUFFLFdBQVM7TUFBSyxDQUFDLENBQUM7TUFDaEQxQixNQUFNLENBQUN1QixVQUFVLENBQUNJLEtBQUssQ0FBQyxDQUFDRCxPQUFPLENBQUM7UUFBRSxXQUFTO01BQUcsQ0FBQyxDQUFDO01BQ2pEMUIsTUFBTSxDQUFDdUIsVUFBVSxDQUFDZSxPQUFPLENBQUMsQ0FBQ1osT0FBTyxDQUFDO1FBQUUsV0FBUztNQUFLLENBQUMsQ0FBQztNQUNyRDFCLE1BQU0sQ0FBQ3VCLFVBQVUsQ0FBQ0ssT0FBTyxDQUFDLENBQUNGLE9BQU8sQ0FBQztRQUFFLFdBQVM7TUFBRyxDQUFDLENBQUM7SUFDckQsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUY1QixRQUFRLENBQUMsV0FBVyxFQUFFLFlBQU07SUFDMUJDLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxZQUFNO01BQ2hDLElBQU04QixLQUFLLEdBQUdRLGdDQUFrQixDQUFDUCxTQUFTLENBQUMsQ0FBQztNQUU1QzlCLE1BQU0sQ0FBQ1csS0FBSyxDQUFDQyxPQUFPLENBQUNpQixLQUFLLENBQUMsQ0FBQyxDQUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQztNQUN2Q0gsTUFBTSxDQUFDNkIsS0FBSyxDQUFDLENBQUNoQixZQUFZLENBQUMsQ0FBQyxDQUFDO01BQzdCYixNQUFNLENBQUM2QixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ3ZCLGNBQWMsQ0FBQyxLQUFLLENBQUM7SUFDeEMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUZSLFFBQVEsQ0FBQyxZQUFZLEVBQUUsWUFBTTtJQUMzQkMsRUFBRSxDQUFDLDhCQUE4QixFQUFFLFlBQU07TUFDdkMsSUFBTWdDLE1BQU0sR0FBR00sZ0NBQWtCLENBQUNMLFVBQVUsQ0FBQztRQUMzQ0MsY0FBYyxFQUFFO1VBQ2RSLEtBQUssRUFBRSxHQUFHO1VBQ1ZTLEVBQUUsRUFBRSxHQUFHO1VBQ1BQLEtBQUssRUFBRTtRQUNUO01BQ0YsQ0FBQyxDQUFDO01BRUYzQixNQUFNLENBQUMrQixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUM7TUFDOUJILE1BQU0sQ0FBQytCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDekIsY0FBYyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQztJQUNwRSxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRlIsUUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFNO0lBQzVCQyxFQUFFLENBQUMsc0NBQXNDLEVBQUUsWUFBTTtNQUMvQyxJQUFNZ0MsTUFBTSxHQUFHTSxnQ0FBa0IsQ0FBQ0YsV0FBVyxDQUFDLENBQUM7TUFFL0NuQyxNQUFNLENBQUMrQixNQUFNLENBQUMsQ0FBQ0ssV0FBVyxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUZ0QyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsWUFBTTtFQUNuQ0EsUUFBUSxDQUFDLGVBQWUsRUFBRSxZQUFNO0lBQzlCQyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsWUFBTTtNQUMzQkMsTUFBTSxDQUFDdUMsZ0NBQWtCLENBQUNyQyxJQUFJLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ3pELENBQUMsQ0FBQztJQUVGSixFQUFFLENBQUMsV0FBVyxFQUFFLFlBQU07TUFDcEJDLE1BQU0sQ0FBQ3VDLGdDQUFrQixDQUFDbkIsTUFBTSxDQUFDLENBQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzlDLENBQUMsQ0FBQztJQUVGSixFQUFFLENBQUMsb0JBQW9CLEVBQUUsWUFBTTtNQUM3QkMsTUFBTSxDQUFDdUMsZ0NBQWtCLENBQUNsQixLQUFLLENBQUMsQ0FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakQsQ0FBQyxDQUFDO0lBRUZKLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBTTtNQUNwQkMsTUFBTSxDQUFDdUMsZ0NBQWtCLENBQUNqQixJQUFJLENBQUMsQ0FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDNUMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUZMLFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtJQUM5QkMsRUFBRSxDQUFDLDZCQUE2QixFQUFFLFlBQU07TUFDdEMsSUFBTXdCLFVBQVUsR0FBR2dCLGdDQUFrQixDQUFDZixhQUFhLENBQUMsQ0FBQztNQUVyRHhCLE1BQU0sQ0FBQ3VCLFVBQVUsQ0FBQyxDQUFDakIsY0FBYyxDQUFDLE9BQU8sQ0FBQztNQUMxQ04sTUFBTSxDQUFDdUIsVUFBVSxDQUFDLENBQUNqQixjQUFjLENBQUMsT0FBTyxDQUFDO01BQzFDTixNQUFNLENBQUN1QixVQUFVLENBQUMsQ0FBQ2pCLGNBQWMsQ0FBQyxTQUFTLENBQUM7TUFFNUNOLE1BQU0sQ0FBQ3VCLFVBQVUsQ0FBQ0UsS0FBSyxDQUFDLENBQUNDLE9BQU8sQ0FBQztRQUFFLFdBQVM7TUFBSyxDQUFDLENBQUM7TUFDbkQxQixNQUFNLENBQUN1QixVQUFVLENBQUNJLEtBQUssQ0FBQyxDQUFDRCxPQUFPLENBQUM7UUFBRSxXQUFTO01BQUcsQ0FBQyxDQUFDO01BQ2pEMUIsTUFBTSxDQUFDdUIsVUFBVSxDQUFDSyxPQUFPLENBQUMsQ0FBQ0YsT0FBTyxDQUFDO1FBQUUsV0FBUztNQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRjVCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBTTtJQUMxQkMsRUFBRSxDQUFDLHVCQUF1QixFQUFFLFlBQU07TUFDaEMsSUFBTThCLEtBQUssR0FBR1UsZ0NBQWtCLENBQUNULFNBQVMsQ0FBQyxDQUFDO01BRTVDOUIsTUFBTSxDQUFDVyxLQUFLLENBQUNDLE9BQU8sQ0FBQ2lCLEtBQUssQ0FBQyxDQUFDLENBQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDO01BQ3ZDSCxNQUFNLENBQUM2QixLQUFLLENBQUMsQ0FBQ2hCLFlBQVksQ0FBQyxDQUFDLENBQUM7TUFDN0JiLE1BQU0sQ0FBQzZCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDdkIsY0FBYyxDQUFDLEtBQUssQ0FBQztJQUN4QyxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRlIsUUFBUSxDQUFDLFlBQVksRUFBRSxZQUFNO0lBQzNCQyxFQUFFLENBQUMsOEJBQThCLEVBQUUsWUFBTTtNQUN2QyxJQUFNZ0MsTUFBTSxHQUFHUSxnQ0FBa0IsQ0FBQ1AsVUFBVSxDQUFDO1FBQzNDQyxjQUFjLEVBQUU7VUFDZFIsS0FBSyxFQUFFLEdBQUc7VUFDVlMsRUFBRSxFQUFFLEdBQUc7VUFDUFAsS0FBSyxFQUFFO1FBQ1Q7TUFDRixDQUFDLENBQUM7TUFFRjNCLE1BQU0sQ0FBQytCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQztNQUM5QkgsTUFBTSxDQUFDK0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUN6QixjQUFjLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDO0lBQ2xFLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztFQUVGUixRQUFRLENBQUMsYUFBYSxFQUFFLFlBQU07SUFDNUJDLEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxZQUFNO01BQy9DLElBQU1nQyxNQUFNLEdBQUdRLGdDQUFrQixDQUFDSixXQUFXLENBQUMsQ0FBQztNQUUvQ25DLE1BQU0sQ0FBQytCLE1BQU0sQ0FBQyxDQUFDSyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|