@pie-element/ebsr 9.1.2-next.69 → 9.2.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/configure/CHANGELOG.md +17 -0
- package/configure/lib/__tests__/index.test.js +434 -0
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/index.js +1 -1
- package/configure/lib/main.js +1 -1
- package/configure/package.json +3 -3
- package/controller/CHANGELOG.md +17 -0
- package/controller/lib/__tests__/index.test.js +732 -0
- package/controller/lib/__tests__/utils.test.js +52 -0
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +1 -1
- package/controller/lib/utils.js +1 -1
- package/controller/package.json +2 -2
- package/docs/demo/pie.manifest.json +11 -0
- package/lib/__tests__/index.test.js +147 -0
- package/lib/index.js +1 -1
- package/lib/print.js +1 -1
- package/module/demo.js +77 -0
- package/module/element.js +2294 -0
- package/module/index.html +21 -0
- package/module/manifest.json +10 -0
- package/module/print-demo.js +115 -0
- package/module/print.html +18 -0
- package/module/print.js +2299 -0
- package/package.json +3 -3
- package/LICENSE.md +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [9.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/ebsr@9.1.1...@pie-element/ebsr@9.2.0) (2023-12-19)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* update pie-lib/pie-toolbox PD-2068 ([34eccd5](https://github.com/pie-framework/pie-elements/commit/34eccd52c44259eddf3e2b816b00b82f83bc2bf8))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* update pie-lib/pie-toolbox PD-2555 ([86d4fd9](https://github.com/pie-framework/pie-elements/commit/86d4fd909180dd1fcbc446bd8b29c23af21a1c69))
|
|
17
|
+
* update pie-lib/pie-toolbox PD-3307, PD-2067, PD-3271, PD-3041, PD-2068 ([2eabcbd](https://github.com/pie-framework/pie-elements/commit/2eabcbd036e318bb24552f4140ca7384ad865951))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
## [9.1.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/ebsr@9.1.0...@pie-element/ebsr@9.1.1) (2023-11-27)
|
|
7
24
|
|
|
8
25
|
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [9.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/ebsr-configure@9.0.3...@pie-element/ebsr-configure@9.1.0) (2023-12-19)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* update pie-lib/pie-toolbox PD-2068 ([34eccd5](https://github.com/pie-framework/pie-elements/commit/34eccd52c44259eddf3e2b816b00b82f83bc2bf8))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* update pie-lib/pie-toolbox PD-2555 ([86d4fd9](https://github.com/pie-framework/pie-elements/commit/86d4fd909180dd1fcbc446bd8b29c23af21a1c69))
|
|
17
|
+
* update pie-lib/pie-toolbox PD-3307, PD-2067, PD-3271, PD-3041, PD-2068 ([2eabcbd](https://github.com/pie-framework/pie-elements/commit/2eabcbd036e318bb24552f4140ca7384ad865951))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
## [9.0.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/ebsr-configure@9.0.2...@pie-element/ebsr-configure@9.0.3) (2023-11-27)
|
|
7
24
|
|
|
8
25
|
|
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
6
|
+
|
|
7
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
|
+
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
|
|
13
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
|
+
|
|
15
|
+
var _enzyme = require("enzyme");
|
|
16
|
+
|
|
17
|
+
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
18
|
+
|
|
19
|
+
var _configUi = require("@pie-lib/pie-toolbox/config-ui");
|
|
20
|
+
|
|
21
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
22
|
+
|
|
23
|
+
var _defaults = _interopRequireDefault(require("../defaults"));
|
|
24
|
+
|
|
25
|
+
var _main = require("../main");
|
|
26
|
+
|
|
27
|
+
var _index = _interopRequireDefault(require("../index"));
|
|
28
|
+
|
|
29
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
30
|
+
|
|
31
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
32
|
+
|
|
33
|
+
jest.mock('react-dom', function () {
|
|
34
|
+
return {
|
|
35
|
+
render: jest.fn()
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
jest.mock('@pie-framework/pie-configure-events', function () {
|
|
39
|
+
return {
|
|
40
|
+
ModelUpdatedEvent: function ModelUpdatedEvent(update) {
|
|
41
|
+
return {
|
|
42
|
+
update: update,
|
|
43
|
+
preventDefault: jest.fn(),
|
|
44
|
+
stopImmediatePropagation: jest.fn()
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
jest.mock('@pie-lib/pie-toolbox/config-ui', function () {
|
|
50
|
+
return {
|
|
51
|
+
choiceUtils: {
|
|
52
|
+
firstAvailableIndex: jest.fn()
|
|
53
|
+
},
|
|
54
|
+
settings: {
|
|
55
|
+
Panel: function Panel(props) {
|
|
56
|
+
return /*#__PURE__*/_react["default"].createElement("div", props);
|
|
57
|
+
},
|
|
58
|
+
toggle: jest.fn(),
|
|
59
|
+
radio: jest.fn(),
|
|
60
|
+
dropdown: jest.fn()
|
|
61
|
+
},
|
|
62
|
+
layout: {
|
|
63
|
+
ConfigLayout: function ConfigLayout(props) {
|
|
64
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, props.children);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
jest.mock('@pie-element/multiple-choice/configure/lib', function () {
|
|
70
|
+
return /*#__PURE__*/(0, _createClass2["default"])(function MockConfigure() {
|
|
71
|
+
(0, _classCallCheck2["default"])(this, MockConfigure);
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
var PART_A = 'partA';
|
|
75
|
+
var PART_B = 'partB';
|
|
76
|
+
|
|
77
|
+
var createDefaultModel = function createDefaultModel(model) {
|
|
78
|
+
var newModel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
79
|
+
return _objectSpread(_objectSpread(_objectSpread({}, model), newModel), {}, {
|
|
80
|
+
partA: _objectSpread(_objectSpread({}, model.partA), newModel.partA),
|
|
81
|
+
partB: _objectSpread(_objectSpread({}, model.partB), newModel.partB)
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
var model = createDefaultModel(_defaults["default"].model, {
|
|
86
|
+
partA: {
|
|
87
|
+
choiceMode: 'radio',
|
|
88
|
+
choices: [{
|
|
89
|
+
value: 'yellow',
|
|
90
|
+
label: 'Yellow',
|
|
91
|
+
correct: true,
|
|
92
|
+
feedback: {
|
|
93
|
+
type: 'custom',
|
|
94
|
+
value: 'foo'
|
|
95
|
+
}
|
|
96
|
+
}, {
|
|
97
|
+
value: 'green',
|
|
98
|
+
label: 'Green',
|
|
99
|
+
feedback: {
|
|
100
|
+
type: 'default'
|
|
101
|
+
}
|
|
102
|
+
}],
|
|
103
|
+
choicePrefix: 'numbers',
|
|
104
|
+
prompt: "prompt ".concat(PART_A),
|
|
105
|
+
errors: {}
|
|
106
|
+
},
|
|
107
|
+
partB: {
|
|
108
|
+
choiceMode: 'radio',
|
|
109
|
+
choices: [{
|
|
110
|
+
value: 'orange',
|
|
111
|
+
label: 'Orange',
|
|
112
|
+
correct: true,
|
|
113
|
+
feedback: {
|
|
114
|
+
type: 'custom',
|
|
115
|
+
value: 'foo'
|
|
116
|
+
}
|
|
117
|
+
}, {
|
|
118
|
+
value: 'purple',
|
|
119
|
+
label: 'Purple',
|
|
120
|
+
feedback: {
|
|
121
|
+
type: 'default'
|
|
122
|
+
}
|
|
123
|
+
}],
|
|
124
|
+
choicePrefix: 'numbers',
|
|
125
|
+
prompt: "prompt ".concat(PART_B),
|
|
126
|
+
errors: {}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
describe('index', function () {
|
|
130
|
+
var Def;
|
|
131
|
+
var el;
|
|
132
|
+
var onModelChanged = jest.fn();
|
|
133
|
+
var onConfigurationChanged = jest.fn();
|
|
134
|
+
var main;
|
|
135
|
+
beforeAll(function () {
|
|
136
|
+
Def = require('../index')["default"];
|
|
137
|
+
});
|
|
138
|
+
beforeEach(function () {
|
|
139
|
+
el = new Def();
|
|
140
|
+
el.model = model;
|
|
141
|
+
el.configuration = _defaults["default"].configuration;
|
|
142
|
+
el.onModelChanged = onModelChanged;
|
|
143
|
+
el.onConfigurationChanged = onConfigurationChanged;
|
|
144
|
+
el.connectedCallback();
|
|
145
|
+
el.dispatchEvent = el.onModelUpdated;
|
|
146
|
+
main = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_main.Main, {
|
|
147
|
+
classes: {},
|
|
148
|
+
model: el._model,
|
|
149
|
+
configuration: _defaults["default"].configuration,
|
|
150
|
+
onConfigurationChanged: el.onConfigurationChanged,
|
|
151
|
+
onModelChanged: el.onModelChanged
|
|
152
|
+
})); // mock onModelChanged to dispatch a MODEL_UPDATED event (as multiple-choice does)
|
|
153
|
+
|
|
154
|
+
main.instance().partA.onModelChanged = function (m) {
|
|
155
|
+
var event = new _pieConfigureEvents.ModelUpdatedEvent(m, false);
|
|
156
|
+
el.dispatchEvent(_objectSpread(_objectSpread({}, event), {}, {
|
|
157
|
+
target: {
|
|
158
|
+
getAttribute: jest.fn().mockReturnValue('A')
|
|
159
|
+
}
|
|
160
|
+
}));
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
main.instance().partB.onModelChanged = function (m) {
|
|
164
|
+
var event = new _pieConfigureEvents.ModelUpdatedEvent(m, false);
|
|
165
|
+
el.dispatchEvent(_objectSpread(_objectSpread({}, event), {}, {
|
|
166
|
+
target: {
|
|
167
|
+
getAttribute: jest.fn().mockReturnValue('B')
|
|
168
|
+
}
|
|
169
|
+
}));
|
|
170
|
+
};
|
|
171
|
+
});
|
|
172
|
+
describe('createDefaultModel', function () {
|
|
173
|
+
it('default-snapshot', function () {
|
|
174
|
+
var m = _index["default"].createDefaultModel({});
|
|
175
|
+
|
|
176
|
+
expect(m).toMatchSnapshot();
|
|
177
|
+
});
|
|
178
|
+
it('with-overrides-snapshot', function () {
|
|
179
|
+
var m = _index["default"].createDefaultModel({
|
|
180
|
+
partA: {
|
|
181
|
+
rationale: 'foo',
|
|
182
|
+
teacherInstructions: 'ti'
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
expect(m).toMatchSnapshot();
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
describe('set model', function () {
|
|
190
|
+
it('calls ReactDOM.render', function () {
|
|
191
|
+
el.model = model;
|
|
192
|
+
expect(el._model).toEqual(model);
|
|
193
|
+
expect(_reactDom["default"].render).toHaveBeenCalled();
|
|
194
|
+
});
|
|
195
|
+
it('should have set the model for partA and partB', function () {
|
|
196
|
+
expect(main.instance().partA._model).toEqual(model.partA);
|
|
197
|
+
expect(main.instance().partB._model).toEqual(model.partB);
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
describe('set configuration', function () {
|
|
201
|
+
it('calls ReactDOM.render', function () {
|
|
202
|
+
el.configuration = _defaults["default"].configuration;
|
|
203
|
+
expect(_reactDom["default"].render).toHaveBeenCalled();
|
|
204
|
+
});
|
|
205
|
+
it('should have set the configuration for partA and partB', function () {
|
|
206
|
+
expect(main.instance().partA.configuration).toEqual(_objectSpread(_objectSpread({}, _defaults["default"].configuration.partA), {}, {
|
|
207
|
+
partLabels: _defaults["default"].configuration.partLabels,
|
|
208
|
+
settingsPanelDisabled: true
|
|
209
|
+
}));
|
|
210
|
+
expect(main.instance().partB.configuration).toEqual(_objectSpread(_objectSpread({}, _defaults["default"].configuration.partB), {}, {
|
|
211
|
+
partLabels: _defaults["default"].configuration.partLabels,
|
|
212
|
+
settingsPanelDisabled: true
|
|
213
|
+
}));
|
|
214
|
+
});
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
var assetOnModelUpdated = function assetOnModelUpdated(label, key, updatedPart, expected) {
|
|
218
|
+
it(label, function () {
|
|
219
|
+
var event = new _pieConfigureEvents.ModelUpdatedEvent(updatedPart, false);
|
|
220
|
+
el.dispatchEvent(_objectSpread(_objectSpread({}, event), {}, {
|
|
221
|
+
target: {
|
|
222
|
+
getAttribute: jest.fn().mockReturnValue(key)
|
|
223
|
+
}
|
|
224
|
+
}));
|
|
225
|
+
expect(_reactDom["default"].render).toBeCalled();
|
|
226
|
+
expect(el._model["part".concat(key)]).toEqual(expected);
|
|
227
|
+
});
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
describe('onModelUpdated', function () {
|
|
231
|
+
assetOnModelUpdated('dispatching MODEL_UPDATED updates model.partA', 'A', {
|
|
232
|
+
updatedA: true
|
|
233
|
+
}, {
|
|
234
|
+
updatedA: true
|
|
235
|
+
});
|
|
236
|
+
assetOnModelUpdated('dispatching MODEL_UPDATED updates model.partB', 'B', {
|
|
237
|
+
updatedB: true
|
|
238
|
+
}, {
|
|
239
|
+
updatedB: true
|
|
240
|
+
});
|
|
241
|
+
assetOnModelUpdated('dispatching MODEL_UPDATED with update undefined does not update model.partA', 'A', undefined, createDefaultModel(model).partA);
|
|
242
|
+
assetOnModelUpdated('dispatching MODEL_UPDATED with update undefined does not update model.partB', 'B', undefined, createDefaultModel(model).partB);
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
var assetPartUpdate = function assetPartUpdate(label, key, updatedModel) {
|
|
246
|
+
it("".concat(key, " - ").concat(label), function () {
|
|
247
|
+
main.instance()[key].onModelChanged(updatedModel);
|
|
248
|
+
expect(el._model[key]).toEqual(updatedModel);
|
|
249
|
+
expect(_reactDom["default"].render).toBeCalled();
|
|
250
|
+
});
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
describe('part update', function () {
|
|
254
|
+
assetPartUpdate('Dispatching Model Updated Event will update Teacher Instructions', 'partA', _objectSpread(_objectSpread({}, model.partA), {}, {
|
|
255
|
+
teacherInstructions: 'Part A Teacher Instructions'
|
|
256
|
+
}));
|
|
257
|
+
assetPartUpdate('Dispatching Model Updated Event will update Teacher Instructions', 'partB', _objectSpread(_objectSpread({}, model.partB), {}, {
|
|
258
|
+
teacherInstructions: 'Part B Teacher Instructions'
|
|
259
|
+
}));
|
|
260
|
+
assetPartUpdate('Dispatching Model Updated Event will update Prompt', 'partA', _objectSpread(_objectSpread({}, model.partA), {}, {
|
|
261
|
+
prompt: 'Prompt A'
|
|
262
|
+
}));
|
|
263
|
+
assetPartUpdate('Dispatching Model Updated Event will update Prompt', 'partB', _objectSpread(_objectSpread({}, model.partA), {}, {
|
|
264
|
+
prompt: 'Prompt B'
|
|
265
|
+
}));
|
|
266
|
+
assetPartUpdate('Dispatching Model Updated Event will update Choices - ADD CHOICE', 'partA', _objectSpread(_objectSpread({}, model.partA), {}, {
|
|
267
|
+
choices: [].concat((0, _toConsumableArray2["default"])(model.partA.choices), [{
|
|
268
|
+
label: 'label',
|
|
269
|
+
value: _configUi.choiceUtils.firstAvailableIndex(model.partA.choices.map(function (c) {
|
|
270
|
+
return c.value;
|
|
271
|
+
}), 0),
|
|
272
|
+
feedback: {
|
|
273
|
+
type: 'none'
|
|
274
|
+
}
|
|
275
|
+
}])
|
|
276
|
+
}));
|
|
277
|
+
assetPartUpdate('Dispatching Model Updated Event will update Choices - ADD CHOICE', 'partB', _objectSpread(_objectSpread({}, model.partB), {}, {
|
|
278
|
+
choices: [].concat((0, _toConsumableArray2["default"])(model.partB.choices), [{
|
|
279
|
+
label: 'label',
|
|
280
|
+
value: _configUi.choiceUtils.firstAvailableIndex(model.partB.choices.map(function (c) {
|
|
281
|
+
return c.value;
|
|
282
|
+
}), 0),
|
|
283
|
+
feedback: {
|
|
284
|
+
type: 'none'
|
|
285
|
+
}
|
|
286
|
+
}])
|
|
287
|
+
}));
|
|
288
|
+
assetPartUpdate('Dispatching Model Updated Event will update Choices - REMOVE CHOICE', 'partA', _objectSpread(_objectSpread({}, model.partA), {}, {
|
|
289
|
+
choices: model.partA.choices.splice(0, 2)
|
|
290
|
+
}));
|
|
291
|
+
assetPartUpdate('Dispatching Model Updated Event will update Choices - REMOVE CHOICE', 'partB', _objectSpread(_objectSpread({}, model.partB), {}, {
|
|
292
|
+
choices: model.partB.choices.splice(0, 2)
|
|
293
|
+
}));
|
|
294
|
+
assetPartUpdate('Dispatching Model Updated Event will update Choices - CHANGE CHOICE', 'partA', _objectSpread(_objectSpread({}, model.partA), {}, {
|
|
295
|
+
choices: model.partA.choices.splice(1, 1, {
|
|
296
|
+
correct: true,
|
|
297
|
+
value: 'green',
|
|
298
|
+
label: function label(value) {
|
|
299
|
+
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
300
|
+
},
|
|
301
|
+
feedback: {
|
|
302
|
+
type: 'none',
|
|
303
|
+
value: ''
|
|
304
|
+
}
|
|
305
|
+
})
|
|
306
|
+
}));
|
|
307
|
+
assetPartUpdate('Dispatching Model Updated Event will update Choices - CHANGE CHOICE', 'partB', _objectSpread(_objectSpread({}, model.partB), {}, {
|
|
308
|
+
choices: model.partB.choices.splice(1, 1, {
|
|
309
|
+
correct: true,
|
|
310
|
+
value: 'green',
|
|
311
|
+
label: function label(value) {
|
|
312
|
+
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
313
|
+
},
|
|
314
|
+
feedback: {
|
|
315
|
+
type: 'none',
|
|
316
|
+
value: ''
|
|
317
|
+
}
|
|
318
|
+
})
|
|
319
|
+
}));
|
|
320
|
+
assetPartUpdate('Dispatching Model Updated Event will update Choices', 'partA', _objectSpread(_objectSpread({}, model.partA), {}, {
|
|
321
|
+
choices: []
|
|
322
|
+
}));
|
|
323
|
+
assetPartUpdate('Dispatching Model Updated Event will update Choices', 'partB', _objectSpread(_objectSpread({}, model.partB), {}, {
|
|
324
|
+
choices: []
|
|
325
|
+
}));
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
describe('main', function () {
|
|
329
|
+
var Def;
|
|
330
|
+
var el;
|
|
331
|
+
var main;
|
|
332
|
+
beforeAll(function () {
|
|
333
|
+
Def = require('../index')["default"];
|
|
334
|
+
});
|
|
335
|
+
beforeEach(function () {
|
|
336
|
+
el = new Def();
|
|
337
|
+
el.model = model;
|
|
338
|
+
el.configuration = _defaults["default"].configuration;
|
|
339
|
+
el.dispatchEvent = el.onModelUpdated;
|
|
340
|
+
main = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_main.Main, {
|
|
341
|
+
classes: {},
|
|
342
|
+
model: el._model,
|
|
343
|
+
configuration: _defaults["default"].configuration,
|
|
344
|
+
onConfigurationChanged: el.onConfigurationChanged,
|
|
345
|
+
onModelChanged: el.onModelChanged
|
|
346
|
+
}));
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
var assertOnModelChanged = function assertOnModelChanged(label, updatedModel, expected) {
|
|
350
|
+
it(label, function () {
|
|
351
|
+
main.instance().props.onModelChanged(updatedModel);
|
|
352
|
+
expect(el._model).toEqual(createDefaultModel(model, expected));
|
|
353
|
+
});
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
describe('onModelChanged', function () {
|
|
357
|
+
assertOnModelChanged('does not change the model', {}, model);
|
|
358
|
+
assertOnModelChanged('changes partA - checkbox', {
|
|
359
|
+
partA: {
|
|
360
|
+
choiceMode: 'checkbox'
|
|
361
|
+
}
|
|
362
|
+
}, _objectSpread(_objectSpread({}, model), {}, {
|
|
363
|
+
partA: {
|
|
364
|
+
choiceMode: 'checkbox'
|
|
365
|
+
}
|
|
366
|
+
}));
|
|
367
|
+
assertOnModelChanged('changes partA - choicePrefix', {
|
|
368
|
+
partA: {
|
|
369
|
+
choicePrefix: 'numbers'
|
|
370
|
+
}
|
|
371
|
+
}, _objectSpread(_objectSpread({}, model), {}, {
|
|
372
|
+
partA: {
|
|
373
|
+
choicePrefix: 'numbers'
|
|
374
|
+
}
|
|
375
|
+
}));
|
|
376
|
+
assertOnModelChanged('changes partA - partialScoring', {
|
|
377
|
+
partialScoring: false
|
|
378
|
+
}, _objectSpread(_objectSpread({}, model), {}, {
|
|
379
|
+
partialScoring: false
|
|
380
|
+
}));
|
|
381
|
+
assertOnModelChanged('changes partA - lockChoiceOrder', {
|
|
382
|
+
partA: {
|
|
383
|
+
lockChoiceOrder: true
|
|
384
|
+
}
|
|
385
|
+
}, _objectSpread(_objectSpread({}, model), {}, {
|
|
386
|
+
partA: {
|
|
387
|
+
lockChoiceOrder: true
|
|
388
|
+
}
|
|
389
|
+
}));
|
|
390
|
+
assertOnModelChanged('changes partA - scoringType', {
|
|
391
|
+
scoringType: 'auto'
|
|
392
|
+
}, _objectSpread(_objectSpread({}, model), {}, {
|
|
393
|
+
scoringType: 'auto'
|
|
394
|
+
}));
|
|
395
|
+
assertOnModelChanged('changes partB - checkbox', {
|
|
396
|
+
partB: {
|
|
397
|
+
choiceMode: 'checkbox'
|
|
398
|
+
}
|
|
399
|
+
}, _objectSpread(_objectSpread({}, model), {}, {
|
|
400
|
+
partB: {
|
|
401
|
+
choiceMode: 'checkbox'
|
|
402
|
+
}
|
|
403
|
+
}));
|
|
404
|
+
assertOnModelChanged('changes partB - choicePrefix', {
|
|
405
|
+
partB: {
|
|
406
|
+
choicePrefix: 'numbers'
|
|
407
|
+
}
|
|
408
|
+
}, _objectSpread(_objectSpread({}, model), {}, {
|
|
409
|
+
partB: {
|
|
410
|
+
choicePrefix: 'numbers'
|
|
411
|
+
}
|
|
412
|
+
}));
|
|
413
|
+
assertOnModelChanged('changes partB - partialScoring', {
|
|
414
|
+
partialScoring: false
|
|
415
|
+
}, _objectSpread(_objectSpread({}, model), {}, {
|
|
416
|
+
partialScoring: false
|
|
417
|
+
}));
|
|
418
|
+
assertOnModelChanged('changes partB - lockChoiceOrder', {
|
|
419
|
+
partB: {
|
|
420
|
+
lockChoiceOrder: true
|
|
421
|
+
}
|
|
422
|
+
}, _objectSpread(_objectSpread({}, model), {}, {
|
|
423
|
+
partB: {
|
|
424
|
+
lockChoiceOrder: true
|
|
425
|
+
}
|
|
426
|
+
}));
|
|
427
|
+
assertOnModelChanged('changes partB - scoringType', {
|
|
428
|
+
scoringType: 'auto'
|
|
429
|
+
}, _objectSpread(_objectSpread({}, model), {}, {
|
|
430
|
+
scoringType: 'auto'
|
|
431
|
+
}));
|
|
432
|
+
});
|
|
433
|
+
});
|
|
434
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJuYW1lcyI6WyJqZXN0IiwibW9jayIsInJlbmRlciIsImZuIiwiTW9kZWxVcGRhdGVkRXZlbnQiLCJ1cGRhdGUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiIsImNob2ljZVV0aWxzIiwiZmlyc3RBdmFpbGFibGVJbmRleCIsInNldHRpbmdzIiwiUGFuZWwiLCJwcm9wcyIsInRvZ2dsZSIsInJhZGlvIiwiZHJvcGRvd24iLCJsYXlvdXQiLCJDb25maWdMYXlvdXQiLCJjaGlsZHJlbiIsIlBBUlRfQSIsIlBBUlRfQiIsImNyZWF0ZURlZmF1bHRNb2RlbCIsIm1vZGVsIiwibmV3TW9kZWwiLCJwYXJ0QSIsInBhcnRCIiwiZGVmYXVsdHMiLCJjaG9pY2VNb2RlIiwiY2hvaWNlcyIsInZhbHVlIiwibGFiZWwiLCJjb3JyZWN0IiwiZmVlZGJhY2siLCJ0eXBlIiwiY2hvaWNlUHJlZml4IiwicHJvbXB0IiwiZXJyb3JzIiwiZGVzY3JpYmUiLCJEZWYiLCJlbCIsIm9uTW9kZWxDaGFuZ2VkIiwib25Db25maWd1cmF0aW9uQ2hhbmdlZCIsIm1haW4iLCJiZWZvcmVBbGwiLCJyZXF1aXJlIiwiYmVmb3JlRWFjaCIsImNvbmZpZ3VyYXRpb24iLCJjb25uZWN0ZWRDYWxsYmFjayIsImRpc3BhdGNoRXZlbnQiLCJvbk1vZGVsVXBkYXRlZCIsIl9tb2RlbCIsImluc3RhbmNlIiwibSIsImV2ZW50IiwidGFyZ2V0IiwiZ2V0QXR0cmlidXRlIiwibW9ja1JldHVyblZhbHVlIiwiaXQiLCJFYnNyQ29uZmlndXJlIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwicmF0aW9uYWxlIiwidGVhY2hlckluc3RydWN0aW9ucyIsInRvRXF1YWwiLCJSZWFjdERPTSIsInRvSGF2ZUJlZW5DYWxsZWQiLCJwYXJ0TGFiZWxzIiwic2V0dGluZ3NQYW5lbERpc2FibGVkIiwiYXNzZXRPbk1vZGVsVXBkYXRlZCIsImtleSIsInVwZGF0ZWRQYXJ0IiwiZXhwZWN0ZWQiLCJ0b0JlQ2FsbGVkIiwidXBkYXRlZEEiLCJ1cGRhdGVkQiIsInVuZGVmaW5lZCIsImFzc2V0UGFydFVwZGF0ZSIsInVwZGF0ZWRNb2RlbCIsInV0aWxzIiwibWFwIiwiYyIsInNwbGljZSIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJhc3NlcnRPbk1vZGVsQ2hhbmdlZCIsInBhcnRpYWxTY29yaW5nIiwibG9ja0Nob2ljZU9yZGVyIiwic2NvcmluZ1R5cGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsV0FBVixFQUF1QjtBQUFBLFNBQU87QUFDNUJDLElBQUFBLE1BQU0sRUFBRUYsSUFBSSxDQUFDRyxFQUFMO0FBRG9CLEdBQVA7QUFBQSxDQUF2QjtBQUlBSCxJQUFJLENBQUNDLElBQUwsQ0FBVSxxQ0FBVixFQUFpRDtBQUFBLFNBQU87QUFDdERHLElBQUFBLGlCQUFpQixFQUFFLDJCQUFDQyxNQUFELEVBQVk7QUFDN0IsYUFBTztBQUNMQSxRQUFBQSxNQUFNLEVBQU5BLE1BREs7QUFFTEMsUUFBQUEsY0FBYyxFQUFFTixJQUFJLENBQUNHLEVBQUwsRUFGWDtBQUdMSSxRQUFBQSx3QkFBd0IsRUFBRVAsSUFBSSxDQUFDRyxFQUFMO0FBSHJCLE9BQVA7QUFLRDtBQVBxRCxHQUFQO0FBQUEsQ0FBakQ7QUFVQUgsSUFBSSxDQUFDQyxJQUFMLENBQVUsZ0NBQVYsRUFBNEM7QUFBQSxTQUFPO0FBQ2pETyxJQUFBQSxXQUFXLEVBQUU7QUFDWEMsTUFBQUEsbUJBQW1CLEVBQUVULElBQUksQ0FBQ0csRUFBTDtBQURWLEtBRG9DO0FBSWpETyxJQUFBQSxRQUFRLEVBQUU7QUFDUkMsTUFBQUEsS0FBSyxFQUFFLGVBQUNDLEtBQUQ7QUFBQSw0QkFBVyx1Q0FBU0EsS0FBVCxDQUFY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QVUsRUFBRTtBQURQO0FBVFMsT0FBcEI7QUFjQTBELElBQUFBLG9CQUFvQixDQUNsQiw4QkFEa0IsRUFFbEI7QUFDRTVELE1BQUFBLEtBQUssRUFBRTtBQUNMUyxRQUFBQSxZQUFZLEVBQUU7QUFEVDtBQURULEtBRmtCLGtDQVFiWixLQVJhO0FBU2hCRyxNQUFBQSxLQUFLLEVBQUU7QUFDTFMsUUFBQUEsWUFBWSxFQUFFO0FBRFQ7QUFUUyxPQUFwQjtBQWNBbUQsSUFBQUEsb0JBQW9CLENBQ2xCLGdDQURrQixFQUVsQjtBQUNFQyxNQUFBQSxjQUFjLEVBQUU7QUFEbEIsS0FGa0Isa0NBTWJoRSxLQU5hO0FBT2hCZ0UsTUFBQUEsY0FBYyxFQUFFO0FBUEEsT0FBcEI7QUFVQUQsSUFBQUEsb0JBQW9CLENBQ2xCLGlDQURrQixFQUVsQjtBQUNFNUQsTUFBQUEsS0FBSyxFQUFFO0FBQ0w4RCxRQUFBQSxlQUFlLEVBQUU7QUFEWjtBQURULEtBRmtCLGtDQVFiakUsS0FSYTtBQVNoQkcsTUFBQUEsS0FBSyxFQUFFO0FBQ0w4RCxRQUFBQSxlQUFlLEVBQUU7QUFEWjtBQVRTLE9BQXBCO0FBY0FGLElBQUFBLG9CQUFvQixDQUNsQiw2QkFEa0IsRUFFbEI7QUFDRUcsTUFBQUEsV0FBVyxFQUFFO0FBRGYsS0FGa0Isa0NBTWJsRSxLQU5hO0FBT2hCa0UsTUFBQUEsV0FBVyxFQUFFO0FBUEcsT0FBcEI7QUFVRCxHQTlITyxDQUFSO0FBK0hELENBaktPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbW91bnQgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IHsgTW9kZWxVcGRhdGVkRXZlbnQgfSBmcm9tICdAcGllLWZyYW1ld29yay9waWUtY29uZmlndXJlLWV2ZW50cyc7XG5pbXBvcnQgeyBjaG9pY2VVdGlscyBhcyB1dGlscyB9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L2NvbmZpZy11aSc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBkZWZhdWx0cyBmcm9tICcuLi9kZWZhdWx0cyc7XG5pbXBvcnQgeyBNYWluIH0gZnJvbSAnLi4vbWFpbic7XG5pbXBvcnQgRWJzckNvbmZpZ3VyZSBmcm9tICcuLi9pbmRleCc7XG5cbmplc3QubW9jaygncmVhY3QtZG9tJywgKCkgPT4gKHtcbiAgcmVuZGVyOiBqZXN0LmZuKCksXG59KSk7XG5cbmplc3QubW9jaygnQHBpZS1mcmFtZXdvcmsvcGllLWNvbmZpZ3VyZS1ldmVudHMnLCAoKSA9PiAoe1xuICBNb2RlbFVwZGF0ZWRFdmVudDogKHVwZGF0ZSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICB1cGRhdGUsXG4gICAgICBwcmV2ZW50RGVmYXVsdDogamVzdC5mbigpLFxuICAgICAgc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOiBqZXN0LmZuKCksXG4gICAgfTtcbiAgfSxcbn0pKTtcblxuamVzdC5tb2NrKCdAcGllLWxpYi9waWUtdG9vbGJveC9jb25maWctdWknLCAoKSA9PiAoe1xuICBjaG9pY2VVdGlsczoge1xuICAgIGZpcnN0QXZhaWxhYmxlSW5kZXg6IGplc3QuZm4oKSxcbiAgfSxcbiAgc2V0dGluZ3M6IHtcbiAgICBQYW5lbDogKHByb3BzKSA9PiA8ZGl2IHsuLi5wcm9wc30gLz4sXG4gICAgdG9nZ2xlOiBqZXN0LmZuKCksXG4gICAgcmFkaW86IGplc3QuZm4oKSxcbiAgICBkcm9wZG93bjogamVzdC5mbigpLFxuICB9LFxuICBsYXlvdXQ6IHtcbiAgICBDb25maWdMYXlvdXQ6IChwcm9wcykgPT4gPGRpdj57cHJvcHMuY2hpbGRyZW59PC9kaXY+LFxuICB9LFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BwaWUtZWxlbWVudC9tdWx0aXBsZS1jaG9pY2UvY29uZmlndXJlL2xpYicsICgpID0+IGNsYXNzIE1vY2tDb25maWd1cmUge30pO1xuXG5jb25zdCBQQVJUX0EgPSAncGFydEEnO1xuY29uc3QgUEFSVF9CID0gJ3BhcnRCJztcblxuY29uc3QgY3JlYXRlRGVmYXVsdE1vZGVsID0gKG1vZGVsLCBuZXdNb2RlbCA9IHt9KSA9PiAoe1xuICAuLi5tb2RlbCxcbiAgLi4ubmV3TW9kZWwsXG4gIHBhcnRBOiB7XG4gICAgLi4ubW9kZWwucGFydEEsXG4gICAgLi4ubmV3TW9kZWwucGFydEEsXG4gIH0sXG4gIHBhcnRCOiB7XG4gICAgLi4ubW9kZWwucGFydEIsXG4gICAgLi4ubmV3TW9kZWwucGFydEIsXG4gIH0sXG59KTtcblxuY29uc3QgbW9kZWwgPSBjcmVhdGVEZWZhdWx0TW9kZWwoZGVmYXVsdHMubW9kZWwsIHtcbiAgcGFydEE6IHtcbiAgICBjaG9pY2VNb2RlOiAncmFkaW8nLFxuICAgIGNob2ljZXM6IFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICd5ZWxsb3cnLFxuICAgICAgICBsYWJlbDogJ1llbGxvdycsXG4gICAgICAgIGNvcnJlY3Q6IHRydWUsXG4gICAgICAgIGZlZWRiYWNrOiB7XG4gICAgICAgICAgdHlwZTogJ2N1c3RvbScsXG4gICAgICAgICAgdmFsdWU6ICdmb28nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdncmVlbicsXG4gICAgICAgIGxhYmVsOiAnR3JlZW4nLFxuICAgICAgICBmZWVkYmFjazoge1xuICAgICAgICAgIHR5cGU6ICdkZWZhdWx0JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjaG9pY2VQcmVmaXg6ICdudW1iZXJzJyxcbiAgICBwcm9tcHQ6IGBwcm9tcHQgJHtQQVJUX0F9YCxcbiAgICBlcnJvcnM6IHt9LFxuICB9LFxuICBwYXJ0Qjoge1xuICAgIGNob2ljZU1vZGU6ICdyYWRpbycsXG4gICAgY2hvaWNlczogW1xuICAgICAge1xuICAgICAgICB2YWx1ZTogJ29yYW5nZScsXG4gICAgICAgIGxhYmVsOiAnT3JhbmdlJyxcbiAgICAgICAgY29ycmVjdDogdHJ1ZSxcbiAgICAgICAgZmVlZGJhY2s6IHtcbiAgICAgICAgICB0eXBlOiAnY3VzdG9tJyxcbiAgICAgICAgICB2YWx1ZTogJ2ZvbycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ3B1cnBsZScsXG4gICAgICAgIGxhYmVsOiAnUHVycGxlJyxcbiAgICAgICAgZmVlZGJhY2s6IHtcbiAgICAgICAgICB0eXBlOiAnZGVmYXVsdCcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgY2hvaWNlUHJlZml4OiAnbnVtYmVycycsXG4gICAgcHJvbXB0OiBgcHJvbXB0ICR7UEFSVF9CfWAsXG4gICAgZXJyb3JzOiB7fSxcbiAgfSxcbn0pO1xuXG5kZXNjcmliZSgnaW5kZXgnLCAoKSA9PiB7XG4gIGxldCBEZWY7XG4gIGxldCBlbDtcbiAgbGV0IG9uTW9kZWxDaGFuZ2VkID0gamVzdC5mbigpO1xuICBsZXQgb25Db25maWd1cmF0aW9uQ2hhbmdlZCA9IGplc3QuZm4oKTtcbiAgbGV0IG1haW47XG5cbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBEZWYgPSByZXF1aXJlKCcuLi9pbmRleCcpLmRlZmF1bHQ7XG4gIH0pO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGVsID0gbmV3IERlZigpO1xuICAgIGVsLm1vZGVsID0gbW9kZWw7XG4gICAgZWwuY29uZmlndXJhdGlvbiA9IGRlZmF1bHRzLmNvbmZpZ3VyYXRpb247XG4gICAgZWwub25Nb2RlbENoYW5nZWQgPSBvbk1vZGVsQ2hhbmdlZDtcbiAgICBlbC5vbkNvbmZpZ3VyYXRpb25DaGFuZ2VkID0gb25Db25maWd1cmF0aW9uQ2hhbmdlZDtcbiAgICBlbC5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGVsLmRpc3BhdGNoRXZlbnQgPSBlbC5vbk1vZGVsVXBkYXRlZDtcblxuICAgIG1haW4gPSBtb3VudChcbiAgICAgIDxNYWluXG4gICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICBtb2RlbD17ZWwuX21vZGVsfVxuICAgICAgICBjb25maWd1cmF0aW9uPXtkZWZhdWx0cy5jb25maWd1cmF0aW9ufVxuICAgICAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkPXtlbC5vbkNvbmZpZ3VyYXRpb25DaGFuZ2VkfVxuICAgICAgICBvbk1vZGVsQ2hhbmdlZD17ZWwub25Nb2RlbENoYW5nZWR9XG4gICAgICAvPixcbiAgICApO1xuXG4gICAgLy8gbW9jayBvbk1vZGVsQ2hhbmdlZCB0byBkaXNwYXRjaCBhIE1PREVMX1VQREFURUQgZXZlbnQgKGFzIG11bHRpcGxlLWNob2ljZSBkb2VzKVxuICAgIG1haW4uaW5zdGFuY2UoKS5wYXJ0QS5vbk1vZGVsQ2hhbmdlZCA9IChtKSA9PiB7XG4gICAgICBjb25zdCBldmVudCA9IG5ldyBNb2RlbFVwZGF0ZWRFdmVudChtLCBmYWxzZSk7XG5cbiAgICAgIGVsLmRpc3BhdGNoRXZlbnQoe1xuICAgICAgICAuLi5ldmVudCxcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgZ2V0QXR0cmlidXRlOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKCdBJyksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9O1xuICAgIG1haW4uaW5zdGFuY2UoKS5wYXJ0Qi5vbk1vZGVsQ2hhbmdlZCA9IChtKSA9PiB7XG4gICAgICBjb25zdCBldmVudCA9IG5ldyBNb2RlbFVwZGF0ZWRFdmVudChtLCBmYWxzZSk7XG5cbiAgICAgIGVsLmRpc3BhdGNoRXZlbnQoe1xuICAgICAgICAuLi5ldmVudCxcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgZ2V0QXR0cmlidXRlOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKCdCJyksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9O1xuICB9KTtcblxuICBkZXNjcmliZSgnY3JlYXRlRGVmYXVsdE1vZGVsJywgKCkgPT4ge1xuICAgIGl0KCdkZWZhdWx0LXNuYXBzaG90JywgKCkgPT4ge1xuICAgICAgY29uc3QgbSA9IEVic3JDb25maWd1cmUuY3JlYXRlRGVmYXVsdE1vZGVsKHt9KTtcbiAgICAgIGV4cGVjdChtKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgICBpdCgnd2l0aC1vdmVycmlkZXMtc25hcHNob3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCBtID0gRWJzckNvbmZpZ3VyZS5jcmVhdGVEZWZhdWx0TW9kZWwoe1xuICAgICAgICBwYXJ0QTogeyByYXRpb25hbGU6ICdmb28nLCB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiAndGknIH0sXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChtKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NldCBtb2RlbCcsICgpID0+IHtcbiAgICBpdCgnY2FsbHMgUmVhY3RET00ucmVuZGVyJywgKCkgPT4ge1xuICAgICAgZWwubW9kZWwgPSBtb2RlbDtcblxuICAgICAgZXhwZWN0KGVsLl9tb2RlbCkudG9FcXVhbChtb2RlbCk7XG4gICAgICBleHBlY3QoUmVhY3RET00ucmVuZGVyKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGhhdmUgc2V0IHRoZSBtb2RlbCBmb3IgcGFydEEgYW5kIHBhcnRCJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KG1haW4uaW5zdGFuY2UoKS5wYXJ0QS5fbW9kZWwpLnRvRXF1YWwobW9kZWwucGFydEEpO1xuICAgICAgZXhwZWN0KG1haW4uaW5zdGFuY2UoKS5wYXJ0Qi5fbW9kZWwpLnRvRXF1YWwobW9kZWwucGFydEIpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2V0IGNvbmZpZ3VyYXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIFJlYWN0RE9NLnJlbmRlcicsICgpID0+IHtcbiAgICAgIGVsLmNvbmZpZ3VyYXRpb24gPSBkZWZhdWx0cy5jb25maWd1cmF0aW9uO1xuXG4gICAgICBleHBlY3QoUmVhY3RET00ucmVuZGVyKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGhhdmUgc2V0IHRoZSBjb25maWd1cmF0aW9uIGZvciBwYXJ0QSBhbmQgcGFydEInLCAoKSA9PiB7XG4gICAgICBleHBlY3QobWFpbi5pbnN0YW5jZSgpLnBhcnRBLmNvbmZpZ3VyYXRpb24pLnRvRXF1YWwoe1xuICAgICAgICAuLi5kZWZhdWx0cy5jb25maWd1cmF0aW9uLnBhcnRBLFxuICAgICAgICBwYXJ0TGFiZWxzOiBkZWZhdWx0cy5jb25maWd1cmF0aW9uLnBhcnRMYWJlbHMsXG4gICAgICAgIHNldHRpbmdzUGFuZWxEaXNhYmxlZDogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KG1haW4uaW5zdGFuY2UoKS5wYXJ0Qi5jb25maWd1cmF0aW9uKS50b0VxdWFsKHtcbiAgICAgICAgLi4uZGVmYXVsdHMuY29uZmlndXJhdGlvbi5wYXJ0QixcbiAgICAgICAgcGFydExhYmVsczogZGVmYXVsdHMuY29uZmlndXJhdGlvbi5wYXJ0TGFiZWxzLFxuICAgICAgICBzZXR0aW5nc1BhbmVsRGlzYWJsZWQ6IHRydWUsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgY29uc3QgYXNzZXRPbk1vZGVsVXBkYXRlZCA9IChsYWJlbCwga2V5LCB1cGRhdGVkUGFydCwgZXhwZWN0ZWQpID0+IHtcbiAgICBpdChsYWJlbCwgKCkgPT4ge1xuICAgICAgY29uc3QgZXZlbnQgPSBuZXcgTW9kZWxVcGRhdGVkRXZlbnQodXBkYXRlZFBhcnQsIGZhbHNlKTtcblxuICAgICAgZWwuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgIC4uLmV2ZW50LFxuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBnZXRBdHRyaWJ1dGU6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoa2V5KSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QoUmVhY3RET00ucmVuZGVyKS50b0JlQ2FsbGVkKCk7XG4gICAgICBleHBlY3QoZWwuX21vZGVsW2BwYXJ0JHtrZXl9YF0pLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdvbk1vZGVsVXBkYXRlZCcsICgpID0+IHtcbiAgICBhc3NldE9uTW9kZWxVcGRhdGVkKCdkaXNwYXRjaGluZyBNT0RFTF9VUERBVEVEIHVwZGF0ZXMgbW9kZWwucGFydEEnLCAnQScsIHsgdXBkYXRlZEE6IHRydWUgfSwgeyB1cGRhdGVkQTogdHJ1ZSB9KTtcbiAgICBhc3NldE9uTW9kZWxVcGRhdGVkKCdkaXNwYXRjaGluZyBNT0RFTF9VUERBVEVEIHVwZGF0ZXMgbW9kZWwucGFydEInLCAnQicsIHsgdXBkYXRlZEI6IHRydWUgfSwgeyB1cGRhdGVkQjogdHJ1ZSB9KTtcblxuICAgIGFzc2V0T25Nb2RlbFVwZGF0ZWQoXG4gICAgICAnZGlzcGF0Y2hpbmcgTU9ERUxfVVBEQVRFRCB3aXRoIHVwZGF0ZSB1bmRlZmluZWQgZG9lcyBub3QgdXBkYXRlIG1vZGVsLnBhcnRBJyxcbiAgICAgICdBJyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNyZWF0ZURlZmF1bHRNb2RlbChtb2RlbCkucGFydEEsXG4gICAgKTtcbiAgICBhc3NldE9uTW9kZWxVcGRhdGVkKFxuICAgICAgJ2Rpc3BhdGNoaW5nIE1PREVMX1VQREFURUQgd2l0aCB1cGRhdGUgdW5kZWZpbmVkIGRvZXMgbm90IHVwZGF0ZSBtb2RlbC5wYXJ0QicsXG4gICAgICAnQicsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBjcmVhdGVEZWZhdWx0TW9kZWwobW9kZWwpLnBhcnRCLFxuICAgICk7XG4gIH0pO1xuXG4gIGNvbnN0IGFzc2V0UGFydFVwZGF0ZSA9IChsYWJlbCwga2V5LCB1cGRhdGVkTW9kZWwpID0+IHtcbiAgICBpdChgJHtrZXl9IC0gJHtsYWJlbH1gLCAoKSA9PiB7XG4gICAgICBtYWluLmluc3RhbmNlKClba2V5XS5vbk1vZGVsQ2hhbmdlZCh1cGRhdGVkTW9kZWwpO1xuXG4gICAgICBleHBlY3QoZWwuX21vZGVsW2tleV0pLnRvRXF1YWwodXBkYXRlZE1vZGVsKTtcbiAgICAgIGV4cGVjdChSZWFjdERPTS5yZW5kZXIpLnRvQmVDYWxsZWQoKTtcbiAgICB9KTtcbiAgfTtcblxuICBkZXNjcmliZSgncGFydCB1cGRhdGUnLCAoKSA9PiB7XG4gICAgYXNzZXRQYXJ0VXBkYXRlKCdEaXNwYXRjaGluZyBNb2RlbCBVcGRhdGVkIEV2ZW50IHdpbGwgdXBkYXRlIFRlYWNoZXIgSW5zdHJ1Y3Rpb25zJywgJ3BhcnRBJywge1xuICAgICAgLi4ubW9kZWwucGFydEEsXG4gICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiAnUGFydCBBIFRlYWNoZXIgSW5zdHJ1Y3Rpb25zJyxcbiAgICB9KTtcbiAgICBhc3NldFBhcnRVcGRhdGUoJ0Rpc3BhdGNoaW5nIE1vZGVsIFVwZGF0ZWQgRXZlbnQgd2lsbCB1cGRhdGUgVGVhY2hlciBJbnN0cnVjdGlvbnMnLCAncGFydEInLCB7XG4gICAgICAuLi5tb2RlbC5wYXJ0QixcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6ICdQYXJ0IEIgVGVhY2hlciBJbnN0cnVjdGlvbnMnLFxuICAgIH0pO1xuICAgIGFzc2V0UGFydFVwZGF0ZSgnRGlzcGF0Y2hpbmcgTW9kZWwgVXBkYXRlZCBFdmVudCB3aWxsIHVwZGF0ZSBQcm9tcHQnLCAncGFydEEnLCB7XG4gICAgICAuLi5tb2RlbC5wYXJ0QSxcbiAgICAgIHByb21wdDogJ1Byb21wdCBBJyxcbiAgICB9KTtcbiAgICBhc3NldFBhcnRVcGRhdGUoJ0Rpc3BhdGNoaW5nIE1vZGVsIFVwZGF0ZWQgRXZlbnQgd2lsbCB1cGRhdGUgUHJvbXB0JywgJ3BhcnRCJywge1xuICAgICAgLi4ubW9kZWwucGFydEEsXG4gICAgICBwcm9tcHQ6ICdQcm9tcHQgQicsXG4gICAgfSk7XG5cbiAgICBhc3NldFBhcnRVcGRhdGUoJ0Rpc3BhdGNoaW5nIE1vZGVsIFVwZGF0ZWQgRXZlbnQgd2lsbCB1cGRhdGUgQ2hvaWNlcyAtIEFERCBDSE9JQ0UnLCAncGFydEEnLCB7XG4gICAgICAuLi5tb2RlbC5wYXJ0QSxcbiAgICAgIGNob2ljZXM6IFtcbiAgICAgICAgLi4ubW9kZWwucGFydEEuY2hvaWNlcyxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnbGFiZWwnLFxuICAgICAgICAgIHZhbHVlOiB1dGlscy5maXJzdEF2YWlsYWJsZUluZGV4KFxuICAgICAgICAgICAgbW9kZWwucGFydEEuY2hvaWNlcy5tYXAoKGMpID0+IGMudmFsdWUpLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICApLFxuICAgICAgICAgIGZlZWRiYWNrOiB7XG4gICAgICAgICAgICB0eXBlOiAnbm9uZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgYXNzZXRQYXJ0VXBkYXRlKCdEaXNwYXRjaGluZyBNb2RlbCBVcGRhdGVkIEV2ZW50IHdpbGwgdXBkYXRlIENob2ljZXMgLSBBREQgQ0hPSUNFJywgJ3BhcnRCJywge1xuICAgICAgLi4ubW9kZWwucGFydEIsXG4gICAgICBjaG9pY2VzOiBbXG4gICAgICAgIC4uLm1vZGVsLnBhcnRCLmNob2ljZXMsXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ2xhYmVsJyxcbiAgICAgICAgICB2YWx1ZTogdXRpbHMuZmlyc3RBdmFpbGFibGVJbmRleChcbiAgICAgICAgICAgIG1vZGVsLnBhcnRCLmNob2ljZXMubWFwKChjKSA9PiBjLnZhbHVlKSxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgKSxcbiAgICAgICAgICBmZWVkYmFjazoge1xuICAgICAgICAgICAgdHlwZTogJ25vbmUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICAgIGFzc2V0UGFydFVwZGF0ZSgnRGlzcGF0Y2hpbmcgTW9kZWwgVXBkYXRlZCBFdmVudCB3aWxsIHVwZGF0ZSBDaG9pY2VzIC0gUkVNT1ZFIENIT0lDRScsICdwYXJ0QScsIHtcbiAgICAgIC4uLm1vZGVsLnBhcnRBLFxuICAgICAgY2hvaWNlczogbW9kZWwucGFydEEuY2hvaWNlcy5zcGxpY2UoMCwgMiksXG4gICAgfSk7XG4gICAgYXNzZXRQYXJ0VXBkYXRlKCdEaXNwYXRjaGluZyBNb2RlbCBVcGRhdGVkIEV2ZW50IHdpbGwgdXBkYXRlIENob2ljZXMgLSBSRU1PVkUgQ0hPSUNFJywgJ3BhcnRCJywge1xuICAgICAgLi4ubW9kZWwucGFydEIsXG4gICAgICBjaG9pY2VzOiBtb2RlbC5wYXJ0Qi5jaG9pY2VzLnNwbGljZSgwLCAyKSxcbiAgICB9KTtcbiAgICBhc3NldFBhcnRVcGRhdGUoJ0Rpc3BhdGNoaW5nIE1vZGVsIFVwZGF0ZWQgRXZlbnQgd2lsbCB1cGRhdGUgQ2hvaWNlcyAtIENIQU5HRSBDSE9JQ0UnLCAncGFydEEnLCB7XG4gICAgICAuLi5tb2RlbC5wYXJ0QSxcbiAgICAgIGNob2ljZXM6IG1vZGVsLnBhcnRBLmNob2ljZXMuc3BsaWNlKDEsIDEsIHtcbiAgICAgICAgY29ycmVjdDogdHJ1ZSxcbiAgICAgICAgdmFsdWU6ICdncmVlbicsXG4gICAgICAgIGxhYmVsOiAodmFsdWUpID0+IHZhbHVlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdmFsdWUuc2xpY2UoMSksXG4gICAgICAgIGZlZWRiYWNrOiB7XG4gICAgICAgICAgdHlwZTogJ25vbmUnLFxuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIGFzc2V0UGFydFVwZGF0ZSgnRGlzcGF0Y2hpbmcgTW9kZWwgVXBkYXRlZCBFdmVudCB3aWxsIHVwZGF0ZSBDaG9pY2VzIC0gQ0hBTkdFIENIT0lDRScsICdwYXJ0QicsIHtcbiAgICAgIC4uLm1vZGVsLnBhcnRCLFxuICAgICAgY2hvaWNlczogbW9kZWwucGFydEIuY2hvaWNlcy5zcGxpY2UoMSwgMSwge1xuICAgICAgICBjb3JyZWN0OiB0cnVlLFxuICAgICAgICB2YWx1ZTogJ2dyZWVuJyxcbiAgICAgICAgbGFiZWw6ICh2YWx1ZSkgPT4gdmFsdWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB2YWx1ZS5zbGljZSgxKSxcbiAgICAgICAgZmVlZGJhY2s6IHtcbiAgICAgICAgICB0eXBlOiAnbm9uZScsXG4gICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBhc3NldFBhcnRVcGRhdGUoJ0Rpc3BhdGNoaW5nIE1vZGVsIFVwZGF0ZWQgRXZlbnQgd2lsbCB1cGRhdGUgQ2hvaWNlcycsICdwYXJ0QScsIHsgLi4ubW9kZWwucGFydEEsIGNob2ljZXM6IFtdIH0pO1xuICAgIGFzc2V0UGFydFVwZGF0ZSgnRGlzcGF0Y2hpbmcgTW9kZWwgVXBkYXRlZCBFdmVudCB3aWxsIHVwZGF0ZSBDaG9pY2VzJywgJ3BhcnRCJywgeyAuLi5tb2RlbC5wYXJ0QiwgY2hvaWNlczogW10gfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdtYWluJywgKCkgPT4ge1xuICBsZXQgRGVmO1xuICBsZXQgZWw7XG4gIGxldCBtYWluO1xuXG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgRGVmID0gcmVxdWlyZSgnLi4vaW5kZXgnKS5kZWZhdWx0O1xuICB9KTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBlbCA9IG5ldyBEZWYoKTtcbiAgICBlbC5tb2RlbCA9IG1vZGVsO1xuICAgIGVsLmNvbmZpZ3VyYXRpb24gPSBkZWZhdWx0cy5jb25maWd1cmF0aW9uO1xuICAgIGVsLmRpc3BhdGNoRXZlbnQgPSBlbC5vbk1vZGVsVXBkYXRlZDtcblxuICAgIG1haW4gPSBtb3VudChcbiAgICAgIDxNYWluXG4gICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICBtb2RlbD17ZWwuX21vZGVsfVxuICAgICAgICBjb25maWd1cmF0aW9uPXtkZWZhdWx0cy5jb25maWd1cmF0aW9ufVxuICAgICAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkPXtlbC5vbkNvbmZpZ3VyYXRpb25DaGFuZ2VkfVxuICAgICAgICBvbk1vZGVsQ2hhbmdlZD17ZWwub25Nb2RlbENoYW5nZWR9XG4gICAgICAvPixcbiAgICApO1xuICB9KTtcblxuICBjb25zdCBhc3NlcnRPbk1vZGVsQ2hhbmdlZCA9IChsYWJlbCwgdXBkYXRlZE1vZGVsLCBleHBlY3RlZCkgPT4ge1xuICAgIGl0KGxhYmVsLCAoKSA9PiB7XG4gICAgICBtYWluLmluc3RhbmNlKCkucHJvcHMub25Nb2RlbENoYW5nZWQodXBkYXRlZE1vZGVsKTtcblxuICAgICAgZXhwZWN0KGVsLl9tb2RlbCkudG9FcXVhbChjcmVhdGVEZWZhdWx0TW9kZWwobW9kZWwsIGV4cGVjdGVkKSk7XG4gICAgfSk7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ29uTW9kZWxDaGFuZ2VkJywgKCkgPT4ge1xuICAgIGFzc2VydE9uTW9kZWxDaGFuZ2VkKCdkb2VzIG5vdCBjaGFuZ2UgdGhlIG1vZGVsJywge30sIG1vZGVsKTtcbiAgICBhc3NlcnRPbk1vZGVsQ2hhbmdlZChcbiAgICAgICdjaGFuZ2VzIHBhcnRBIC0gY2hlY2tib3gnLFxuICAgICAge1xuICAgICAgICBwYXJ0QToge1xuICAgICAgICAgIGNob2ljZU1vZGU6ICdjaGVja2JveCcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAuLi5tb2RlbCxcbiAgICAgICAgcGFydEE6IHtcbiAgICAgICAgICBjaG9pY2VNb2RlOiAnY2hlY2tib3gnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICAgIGFzc2VydE9uTW9kZWxDaGFuZ2VkKFxuICAgICAgJ2NoYW5nZXMgcGFydEEgLSBjaG9pY2VQcmVmaXgnLFxuICAgICAge1xuICAgICAgICBwYXJ0QToge1xuICAgICAgICAgIGNob2ljZVByZWZpeDogJ251bWJlcnMnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLi4ubW9kZWwsXG4gICAgICAgIHBhcnRBOiB7XG4gICAgICAgICAgY2hvaWNlUHJlZml4OiAnbnVtYmVycycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gICAgYXNzZXJ0T25Nb2RlbENoYW5nZWQoXG4gICAgICAnY2hhbmdlcyBwYXJ0QSAtIHBhcnRpYWxTY29yaW5nJyxcbiAgICAgIHtcbiAgICAgICAgcGFydGlhbFNjb3Jpbmc6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLi4ubW9kZWwsXG4gICAgICAgIHBhcnRpYWxTY29yaW5nOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBhc3NlcnRPbk1vZGVsQ2hhbmdlZChcbiAgICAgICdjaGFuZ2VzIHBhcnRBIC0gbG9ja0Nob2ljZU9yZGVyJyxcbiAgICAgIHtcbiAgICAgICAgcGFydEE6IHtcbiAgICAgICAgICBsb2NrQ2hvaWNlT3JkZXI6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAuLi5tb2RlbCxcbiAgICAgICAgcGFydEE6IHtcbiAgICAgICAgICBsb2NrQ2hvaWNlT3JkZXI6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gICAgYXNzZXJ0T25Nb2RlbENoYW5nZWQoXG4gICAgICAnY2hhbmdlcyBwYXJ0QSAtIHNjb3JpbmdUeXBlJyxcbiAgICAgIHtcbiAgICAgICAgc2NvcmluZ1R5cGU6ICdhdXRvJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC4uLm1vZGVsLFxuICAgICAgICBzY29yaW5nVHlwZTogJ2F1dG8nLFxuICAgICAgfSxcbiAgICApO1xuICAgIGFzc2VydE9uTW9kZWxDaGFuZ2VkKFxuICAgICAgJ2NoYW5nZXMgcGFydEIgLSBjaGVja2JveCcsXG4gICAgICB7XG4gICAgICAgIHBhcnRCOiB7XG4gICAgICAgICAgY2hvaWNlTW9kZTogJ2NoZWNrYm94JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC4uLm1vZGVsLFxuICAgICAgICBwYXJ0Qjoge1xuICAgICAgICAgIGNob2ljZU1vZGU6ICdjaGVja2JveCcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gICAgYXNzZXJ0T25Nb2RlbENoYW5nZWQoXG4gICAgICAnY2hhbmdlcyBwYXJ0QiAtIGNob2ljZVByZWZpeCcsXG4gICAgICB7XG4gICAgICAgIHBhcnRCOiB7XG4gICAgICAgICAgY2hvaWNlUHJlZml4OiAnbnVtYmVycycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAuLi5tb2RlbCxcbiAgICAgICAgcGFydEI6IHtcbiAgICAgICAgICBjaG9pY2VQcmVmaXg6ICdudW1iZXJzJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBhc3NlcnRPbk1vZGVsQ2hhbmdlZChcbiAgICAgICdjaGFuZ2VzIHBhcnRCIC0gcGFydGlhbFNjb3JpbmcnLFxuICAgICAge1xuICAgICAgICBwYXJ0aWFsU2NvcmluZzogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAuLi5tb2RlbCxcbiAgICAgICAgcGFydGlhbFNjb3Jpbmc6IGZhbHNlLFxuICAgICAgfSxcbiAgICApO1xuICAgIGFzc2VydE9uTW9kZWxDaGFuZ2VkKFxuICAgICAgJ2NoYW5nZXMgcGFydEIgLSBsb2NrQ2hvaWNlT3JkZXInLFxuICAgICAge1xuICAgICAgICBwYXJ0Qjoge1xuICAgICAgICAgIGxvY2tDaG9pY2VPcmRlcjogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC4uLm1vZGVsLFxuICAgICAgICBwYXJ0Qjoge1xuICAgICAgICAgIGxvY2tDaG9pY2VPcmRlcjogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBhc3NlcnRPbk1vZGVsQ2hhbmdlZChcbiAgICAgICdjaGFuZ2VzIHBhcnRCIC0gc2NvcmluZ1R5cGUnLFxuICAgICAge1xuICAgICAgICBzY29yaW5nVHlwZTogJ2F1dG8nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLi4ubW9kZWwsXG4gICAgICAgIHNjb3JpbmdUeXBlOiAnYXV0bycsXG4gICAgICB9LFxuICAgICk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -148,4 +148,4 @@ var _default = {
|
|
|
148
148
|
}
|
|
149
149
|
};
|
|
150
150
|
exports["default"] = _default;
|
|
151
|
-
//# sourceMappingURL=
|
|
151
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0Q29uZmlnIiwiYWRkQ2hvaWNlQnV0dG9uIiwic2V0dGluZ3MiLCJsYWJlbCIsImNob2ljZU1vZGUiLCJjaG9pY2VQcmVmaXgiLCJkZWxldGVDaG9pY2UiLCJmZWVkYmFjayIsImxvY2tDaG9pY2VPcmRlciIsInByb21wdCIsInJhdGlvbmFsZSIsInNldHRpbmdzUGFuZWxEaXNhYmxlZCIsInN0dWRlbnRJbnN0cnVjdGlvbnMiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwiY2hvaWNlc0xheW91dCIsImdyaWRDb2x1bW5zIiwic3BlbGxDaGVjayIsImVuYWJsZWQiLCJtYXhJbWFnZVdpZHRoIiwiY2hvaWNlcyIsIm1heEltYWdlSGVpZ2h0IiwibWF0aE1sT3B0aW9ucyIsIm1tbE91dHB1dCIsIm1tbEVkaXRpbmciLCJwYXJ0TW9kZWwiLCJiYXNlIiwicmF0aW9uYWxlRW5hYmxlZCIsImZlZWRiYWNrRW5hYmxlZCIsInByb21wdEVuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkIiwic3BlbGxDaGVja0VuYWJsZWQiLCJtb2RlbCIsInBhcnRMYWJlbHMiLCJwYXJ0TGFiZWxUeXBlIiwicGFydEEiLCJwYXJ0QiIsImNvbmZpZ3VyYXRpb24iLCJwYXJ0aWFsU2NvcmluZyIsInNjb3JpbmdUeXBlIiwibGFuZ3VhZ2UiLCJsYW5ndWFnZUNob2ljZXMiLCJvcHRpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFFQSxJQUFNQSxhQUFhLEdBQUc7QUFDcEJDLEVBQUFBLGVBQWUsRUFBRTtBQUNmQyxJQUFBQSxRQUFRLEVBQUUsSUFESztBQUVmQyxJQUFBQSxLQUFLLEVBQUU7QUFGUSxHQURHO0FBS3BCQyxFQUFBQSxVQUFVLEVBQUU7QUFDVkYsSUFBQUEsUUFBUSxFQUFFLElBREE7QUFFVkMsSUFBQUEsS0FBSyxF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bmNvbnN0IGRlZmF1bHRDb25maWcgPSB7XG4gIGFkZENob2ljZUJ1dHRvbjoge1xuICAgIHNldHRpbmdzOiB0cnVlLFxuICAgIGxhYmVsOiAnQWRkIGEgQ2hvaWNlJyxcbiAgfSxcbiAgY2hvaWNlTW9kZToge1xuICAgIHNldHRpbmdzOiB0cnVlLFxuICAgIGxhYmVsOiAnUmVzcG9uc2UgVHlwZScsXG4gIH0sXG4gIGNob2ljZVByZWZpeDoge1xuICAgIHNldHRpbmdzOiB0cnVlLFxuICAgIGxhYmVsOiAnQ2hvaWNlIExhYmVscycsXG4gIH0sXG4gIGRlbGV0ZUNob2ljZToge1xuICAgIHNldHRpbmdzOiB0cnVlLFxuICB9LFxuICBmZWVkYmFjazoge1xuICAgIHNldHRpbmdzOiB0cnVlLFxuICAgIGxhYmVsOiAnRmVlZGJhY2snLFxuICB9LFxuICBsb2NrQ2hvaWNlT3JkZXI6IHtcbiAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICBsYWJlbDogJ0xvY2sgQ2hvaWNlIE9yZGVyJyxcbiAgfSxcbiAgcHJvbXB0OiB7XG4gICAgc2V0dGluZ3M6IHRydWUsXG4gICAgbGFiZWw6ICdQcm9tcHQnLFxuICB9LFxuICByYXRpb25hbGU6IHtcbiAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICBsYWJlbDogJ1JhdGlvbmFsZScsXG4gIH0sXG4gIHNldHRpbmdzUGFuZWxEaXNhYmxlZDogdHJ1ZSxcbiAgc3R1ZGVudEluc3RydWN0aW9uczoge1xuICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICBsYWJlbDogJ1N0dWRlbnQgSW5zdHJ1Y3Rpb25zJyxcbiAgfSxcbiAgdGVhY2hlckluc3RydWN0aW9uczoge1xuICAgIHNldHRpbmdzOiB0cnVlLFxuICAgIGxhYmVsOiAnVGVhY2hlciBJbnN0cnVjdGlvbnMnLFxuICB9LFxuICBjaG9pY2VzTGF5b3V0OiB7XG4gICAgc2V0dGluZ3M6IGZhbHNlLFxuICAgIGxhYmVsOiAnQ2hvaWNlcyBMYXlvdXQnLFxuICB9LFxuICBncmlkQ29sdW1uczoge1xuICAgIGxhYmVsOiAnR3JpZCBjb2x1bW5zJyxcbiAgfSxcbiAgc3BlbGxDaGVjazoge1xuICAgIGxhYmVsOiAnU3BlbGxjaGVjaycsXG4gICAgc2V0dGluZ3M6IGZhbHNlLFxuICAgIGVuYWJsZWQ6IHRydWUsXG4gIH0sXG4gIG1heEltYWdlV2lkdGg6IHtcbiAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiAzMDAsXG4gICAgcHJvbXB0OiAzMDAsXG4gICAgcmF0aW9uYWxlOiA2MzYsXG4gICAgY2hvaWNlczogNjM2LFxuICB9LFxuICBtYXhJbWFnZUhlaWdodDoge1xuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IDMwMCxcbiAgICBwcm9tcHQ6IDMwMCxcbiAgICByYXRpb25hbGU6IDMwMCxcbiAgICBjaG9pY2VzOiAzMDAsXG4gIH0sXG4gIG1hdGhNbE9wdGlvbnM6IHtcbiAgICBtbWxPdXRwdXQ6IGZhbHNlLFxuICAgIG1tbEVkaXRpbmc6IGZhbHNlLFxuICB9LFxufTtcblxuY29uc3QgcGFydE1vZGVsID0gKGJhc2UpID0+ICh7XG4gIGNob2ljZU1vZGU6ICdyYWRpbycsXG4gIGNob2ljZXM6IFtdLFxuICBjaG9pY2VQcmVmaXg6ICdudW1iZXJzJyxcbiAgcHJvbXB0OiAnUHJvbXB0JyxcbiAgcmF0aW9uYWxlRW5hYmxlZDogdHJ1ZSxcbiAgZmVlZGJhY2tFbmFibGVkOiBmYWxzZSxcbiAgcHJvbXB0RW5hYmxlZDogdHJ1ZSxcbiAgdGVhY2hlckluc3RydWN0aW9uczogJycsXG4gIHJhdGlvbmFsZTogJycsXG4gIHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkOiB0cnVlLFxuICBzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgc3BlbGxDaGVja0VuYWJsZWQ6IHRydWUsXG4gIGNob2ljZXNMYXlvdXQ6ICd2ZXJ0aWNhbCcsXG4gIGdyaWRDb2x1bW5zOiAnMicsXG4gIC4uLmJhc2UsXG59KTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBtb2RlbDoge1xuICAgIHBhcnRMYWJlbHM6IHRydWUsXG4gICAgcGFydExhYmVsVHlwZTogJ0xldHRlcnMnLFxuICAgIC8vIHBhcnRpYWxTY29yaW5nOiBmYWxzZSxcbiAgICBwYXJ0QTogcGFydE1vZGVsKHsgcHJvbXB0OiAnUHJvbXB0IEEnIH0pLFxuICAgIHBhcnRCOiBwYXJ0TW9kZWwoeyBwcm9tcHQ6ICdQcm9tcHQgQicgfSksXG4gIH0sXG4gIGNvbmZpZ3VyYXRpb246IHtcbiAgICBwYXJ0aWFsU2NvcmluZzoge1xuICAgICAgbGFiZWw6ICdBbGxvdyBQYXJ0aWFsIFNjb3JpbmcnLFxuICAgICAgLy8gdGhpcyB3aWxsIHR1cm4gb2ZmIHBhcnRpYWwgc2NvcmluZyB0b2dnbGUgaW4gdGhlIHNldHRpbmdzIHRhYiBieSBkZWZhdWx0IGZvciB0aGUgaW50ZXJhY3Rpb25cbiAgICAgIC8vIGFzIHdlJ2QgbGlrZSBwYXJ0aWFsIHNjb3JpbmcgdG8gYmUgY29udHJvbGxlZCBmcm9tIHRoZSBlbnZpcm9ubWVudCBlbnRpcmVseVxuICAgICAgLy8gaWYgYW55IG90aGVyIGNvbnN1bWVycyB3b3VsZCBsaWtlIHRvIGVuYWJsZSBpdCBmb3IgdGhlbXNlbHZlcywgdGhleSBjYW4gZG8gc28gZnJvbSB0aGVpciBtb2RlbCBkaXJlY3RseS5cbiAgICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICB9LFxuICAgIHNjb3JpbmdUeXBlOiB7XG4gICAgICBzZXR0aW5nczogZmFsc2UsXG4gICAgICBsYWJlbDogJ1Njb3JpbmcgVHlwZScsXG4gICAgfSxcbiAgICBwYXJ0QTogY2xvbmVEZWVwKGRlZmF1bHRDb25maWcpLFxuICAgIHBhcnRCOiBjbG9uZURlZXAoZGVmYXVsdENvbmZpZyksXG4gICAgcGFydExhYmVsczoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ1BhcnQgTGFiZWxzJyxcbiAgICB9LFxuICAgIHNldHRpbmdzUGFuZWxEaXNhYmxlZDogZmFsc2UsXG4gICAgbGFuZ3VhZ2U6IHtcbiAgICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnU3BlY2lmeSBMYW5ndWFnZScsXG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICB9LFxuICAgIGxhbmd1YWdlQ2hvaWNlczoge1xuICAgICAgbGFiZWw6ICdMYW5ndWFnZSBDaG9pY2VzJyxcbiAgICAgIG9wdGlvbnM6IFtdLFxuICAgIH1cbiAgfSxcbn07XG4iXX0=
|
package/configure/lib/index.js
CHANGED
|
@@ -240,4 +240,4 @@ exports["default"] = EbsrConfigure;
|
|
|
240
240
|
})
|
|
241
241
|
});
|
|
242
242
|
});
|
|
243
|
-
//# sourceMappingURL=index.js.map
|
|
243
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJNT0RFTF9VUERBVEVEIiwiTW9kZWxVcGRhdGVkRXZlbnQiLCJUWVBFIiwiTUNfVEFHX05BTUUiLCJFYnNyTUNDb25maWd1cmUiLCJNdWx0aXBsZUNob2ljZUNvbmZpZ3VyZSIsImRlZmluZU11bHRpcGxlQ2hvaWNlIiwiY3VzdG9tRWxlbWVudHMiLCJnZXQiLCJkZWZpbmUiLCJwcmVwYXJlQ3VzdG9taXphdGlvbk9iamVjdCIsImNvbmZpZyIsIm1vZGVsIiwiY29uZmlndXJhdGlvbiIsInNlbnNpYmxlRGVmYXVsdHMiLCJzZXR0aW5nc1BhbmVsRGlzYWJsZWQiLCJtb2RlbERlZmF1bHQiLCJFYnNyQ29uZmlndXJlIiwibSIsInJlc2V0IiwiX21vZGVsIiwiY3JlYXRlRGVmYXVsdE1vZGVsIiwiZGlzcGF0Y2hNb2RlbFVwZGF0ZWQiLCJfcmVuZGVyIiwiZSIsInRhcmdldCIsInByZXZlbnREZWZhdWx0Iiwic3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uIiwiaWQiLCJnZXRBdHRyaWJ1dGUiLCJ1cGRhdGUiLCJkaXNwYXRjaEV2ZW50IiwiX2NvbmZpZ3VyYXRpb24iLCJvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkIiwiYmluZCIsInJlc2V0VmFsdWUiLCJjIiwiaW5mbyIsIm5ld0NvbmZpZ3VyYXRpb24iLCJsYW5ndWFnZSIsImVuYWJsZWQiLCJsYW5ndWFnZUNob2ljZXMiLCJvcHRpb25zIiwibGVuZ3RoIiwidmFsdWUiLCJzZXR0aW5ncyIsImZpbmQiLCJvcHRpb24iLCJwdXNoIiwibGFiZWwiLCJvbk1vZGVsQ2hhbmdlZCIsImFkZEV2ZW50TGlzdGVuZXIiLCJvbk1vZGVsVXBkYXRlZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJlbGVtZW50IiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiTWFpbiIsIlJlYWN0RE9NIiwicmVuZGVyIiwiSFRNTEVsZW1lbnQiLCJwYXJ0QSIsInBhcnRCIiwiZGVmYXVsdHMiLCJj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dENqQixRQUFBQSxzQkFBc0IsRUFBRSxLQUFLQTtBQUpTLE9BQTFCLENBQWQ7O0FBT0F5QiwyQkFBU0MsTUFBVCxDQUFnQkwsT0FBaEIsRUFBeUIsSUFBekI7QUFDRDs7O2tEQXJJd0NNLFc7OztpQ0FBdEIzQyxhLHdCQUNTO0FBQUEsa0ZBQXdDLEVBQXhDO0FBQUEsMEJBQUc0QyxLQUFIO0FBQUEsTUFBR0EsS0FBSCw0QkFBVyxFQUFYO0FBQUEsMEJBQWVDLEtBQWY7QUFBQSxNQUFlQSxLQUFmLDRCQUF1QixFQUF2QjtBQUFBLE1BQThCbEQsS0FBOUI7O0FBQUEsTUFBNENtRCxRQUE1Qyx1RUFBdUQvQyxZQUF2RDtBQUFBLHVEQUN2QitDLFFBRHVCLEdBRXZCbkQsS0FGdUI7QUFHMUJpRCxJQUFBQSxLQUFLLGdEQUNBRSxRQUFRLENBQUNGLEtBRFQsR0FFQUEsS0FGQTtBQUdIRyxNQUFBQSxhQUFhLEVBQ1hILEtBQUssQ0FBQ0csYUFBTixJQUF3QkgsS0FBSyxDQUFDSSxZQUFOLEtBQXVCLEtBQXZCLElBQWdDLFlBQXhELElBQXlFRixRQUFRLENBQUNGLEtBQVQsQ0FBZUc7QUFKdkYsTUFIcUI7QUFTMUJGLElBQUFBLEtBQUssZ0RBQ0FDLFFBQVEsQ0FBQ0QsS0FEVCxHQUVBQSxLQUZBO0FBR0hFLE1BQUFBLGFBQWEsRUFDWEYsS0FBSyxDQUFDRSxhQUFOLElBQXdCRixLQUFLLENBQUNHLFlBQU4sS0FBdUIsS0FBdkIsSUFBZ0MsWUFBeEQsSUFBeUVGLFFBQVEsQ0FBQ0QsS0FBVCxDQUFlRTtBQUp2RjtBQVRxQjtBQUFBLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBNb2RlbFVwZGF0ZWRFdmVudCB9IGZyb20gJ0BwaWUtZnJhbWV3b3JrL3BpZS1jb25maWd1cmUtZXZlbnRzJztcbmltcG9ydCBNdWx0aXBsZUNob2ljZUNvbmZpZ3VyZSBmcm9tICdAcGllLWVsZW1lbnQvbXVsdGlwbGUtY2hvaWNlL2NvbmZpZ3VyZS9saWInO1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJ2xvZGFzaC9kZWZhdWx0cyc7XG5pbXBvcnQgTWFpbiBmcm9tICcuL21haW4nO1xuXG5pbXBvcnQgc2Vuc2libGVEZWZhdWx0cyBmcm9tICcuL2RlZmF1bHRzJztcblxuY29uc3QgTU9ERUxfVVBEQVRFRCA9IE1vZGVsVXBkYXRlZEV2ZW50LlRZUEU7XG5jb25zdCBNQ19UQUdfTkFNRSA9ICdlYnNyLW11bHRpcGxlLWNob2ljZS1jb25maWd1cmUnO1xuXG5jbGFzcyBFYnNyTUNDb25maWd1cmUgZXh0ZW5kcyBNdWx0aXBsZUNob2ljZUNvbmZpZ3VyZSB7fVxuXG5jb25zdCBkZWZpbmVNdWx0aXBsZUNob2ljZSA9ICgpID0+IHtcbiAgaWYgKCFjdXN0b21FbGVtZW50cy5nZXQoTUNfVEFHX05BTUUpKSB7XG4gICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKE1DX1RBR19OQU1FLCBFYnNyTUNDb25maWd1cmUpO1xuICB9XG59O1xuXG5kZWZpbmVNdWx0aXBsZUNob2ljZSgpO1xuXG5jb25zdCBwcmVwYXJlQ3VzdG9taXphdGlvbk9iamVjdCA9IChjb25maWcsIG1vZGVsKSA9PiB7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBkZWZhdWx0cyhjb25maWcsIHNlbnNpYmxlRGVmYXVsdHMuY29uZmlndXJhdGlvbik7XG4gIGNvbmZpZ3VyYXRpb24uc2V0dGluZ3NQYW5lbERpc2FibGVkID0gdHJ1ZTtcblxuICByZXR1cm4ge1xuICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgbW9kZWwsXG4gIH07XG59O1xuXG5jb25zdCB7IG1vZGVsOiBtb2RlbERlZmF1bHQgfSA9IHNlbnNpYmxlRGVmYXVsdHMgfHwge307XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVic3JDb25maWd1cmUgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIHN0YXRpYyBjcmVhdGVEZWZhdWx0TW9kZWwgPSAoeyBwYXJ0QSA9IHt9LCBwYXJ0QiA9IHt9LCAuLi5tb2RlbCB9ID0ge30sIGRlZmF1bHRzID0gbW9kZWxEZWZhdWx0KSA9PiAoe1xuICAgIC4uLmRlZmF1bHRzLFxuICAgIC4uLm1vZGVsLFxuICAgIHBhcnRBOiB7XG4gICAgICAuLi5kZWZhdWx0cy5wYXJ0QSxcbiAgICAgIC4uLnBhcnRBLFxuICAgICAgY2hvaWNlc0xheW91dDpcbiAgICAgICAgcGFydEEuY2hvaWNlc0xheW91dCB8fCAocGFydEEudmVydGljYWxNb2RlID09PSBmYWxzZSAmJiAnaG9yaXpvbnRhbCcpIHx8IGRlZmF1bHRzLnBhcnRBLmNob2ljZXNMYXlvdXQsXG4gICAgfSxcbiAgICBwYXJ0Qjoge1xuICAgICAgLi4uZGVmYXVsdHMucGFydEIsXG4gICAgICAuLi5wYXJ0QixcbiAgICAgIGNob2ljZXNMYXlvdXQ6XG4gICAgICAgIHBhcnRCLmNob2ljZXNMYXlvdXQgfHwgKHBhcnRCLnZlcnRpY2FsTW9kZSA9PT0gZmFsc2UgJiYgJ2hvcml6b250YWwnKSB8fCBkZWZhdWx0cy5wYXJ0Qi5jaG9pY2VzTGF5b3V0LFxuICAgIH0sXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLl9tb2RlbCA9IEVic3JDb25maWd1cmUuY3JlYXRlRGVmYXVsdE1vZGVsKCk7XG5cbiAgICB0aGlzLl9jb25maWd1cmF0aW9uID0gc2Vuc2libGVEZWZhdWx0cy5jb25maWd1cmF0aW9uO1xuICAgIHRoaXMub25Db25maWd1cmF0aW9uQ2hhbmdlZCA9IHRoaXMub25Db25maWd1cmF0aW9uQ2hhbmdlZC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgc2V0IG1vZGVsKG0pIHtcbiAgICB0aGlzLl9tb2RlbCA9IEVic3JDb25maWd1cmUuY3JlYXRlRGVmYXVsdE1vZGVsKG0sIHRoaXMuX21vZGVsKTtcblxuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgZGlzcGF0Y2hNb2RlbFVwZGF0ZWQocmVzZXQpIHtcbiAgICBjb25zdCByZXNldFZhbHVlID0gISFyZXNldDtcblxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgTW9kZWxVcGRhdGVkRXZlbnQodGhpcy5fbW9kZWwsIHJlc2V0VmFsdWUpKTtcbiAgfVxuXG4gIG9uTW9kZWxDaGFuZ2VkID0gKG0sIHJlc2V0KSA9PiB7XG4gICAgdGhpcy5fbW9kZWwgPSBFYnNyQ29uZmlndXJlLmNyZWF0ZURlZmF1bHRNb2RlbChtLCB0aGlzLl9tb2RlbCk7XG5cbiAgICB0aGlzLmRpc3BhdGNoTW9kZWxVcGRhdGVkKHJlc2V0KTtcbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfTtcblxuICBzZXQgY29uZmlndXJhdGlvbihjKSB7XG4gICAgY29uc3QgaW5mbyA9IHByZXBhcmVDdXN0b21pemF0aW9uT2JqZWN0KGMsIHRoaXMuX21vZGVsKTtcblxuICAgIGNvbnN0IG5ld0NvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAuLi5zZW5zaWJsZURlZmF1bHRzLmNvbmZpZ3VyYXRpb24sXG4gICAgICAuLi5pbmZvLmNvbmZpZ3VyYXRpb24sXG4gICAgfTtcblxuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBuZXdDb25maWd1cmF0aW9uO1xuXG4gICAgLy8gaWYgbGFuZ3VhZ2U6ZW5hYmxlZCBpcyB0cnVlLCB0aGVuIHRoZSBjb3JyZXNwb25kaW5nIGRlZmF1bHQgaXRlbSBtb2RlbCBzaG91bGQgaW5jbHVkZSBhIGxhbmd1YWdlIHZhbHVlO1xuICAgIC8vIGlmIGl0IGlzIGZhbHNlLCB0aGVuIHRoZSBsYW5ndWFnZSBmaWVsZCBzaG91bGQgYmUgb21pdHRlZCBmcm9tIHRoZSBpdGVtIG1vZGVsLlxuICAgIC8vIGlmIGEgZGVmYXVsdCBpdGVtIG1vZGVsIGluY2x1ZGVzIGEgbGFuZ3VhZ2UgdmFsdWUgKGUuZy4sIGVuX1VTKSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgYXV0aG9yaW5nIHZpZXcgc2V0dGluZ3MgaGF2ZSBsYW5ndWFnZTpzZXR0aW5ncyA9IHRydWUsXG4gICAgLy8gdGhlbiAoYSkgbGFuZ3VhZ2U6ZW5hYmxlZCBzaG91bGQgYWxzbyBiZSB0cnVlLCBhbmQgKGIpIHRoYXQgZGVmYXVsdCBsYW5ndWFnZSB2YWx1ZSBzaG91bGQgYmUgcmVwcmVzZW50ZWQgaW4gbGFuZ3VhZ2VDaG9pY2VzW10gKGFzIGEga2V5KS5cbiAgICBpZiAobmV3Q29uZmlndXJhdGlvbj8ubGFuZ3VhZ2U/LmVuYWJsZWQpIHtcbiAgICAgIGlmIChuZXdDb25maWd1cmF0aW9uPy5sYW5ndWFnZUNob2ljZXM/Lm9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLl9tb2RlbC5sYW5ndWFnZSA9IG5ld0NvbmZpZ3VyYXRpb24/Lmxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zWzBdLnZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobmV3Q29uZmlndXJhdGlvbi5sYW5ndWFnZS5zZXR0aW5ncyAmJiB0aGlzLl9tb2RlbC5sYW5ndWFnZSkge1xuICAgICAgdGhpcy5fY29uZmlndXJhdGlvbi5sYW5ndWFnZS5lbmFibGVkID0gdHJ1ZTtcblxuICAgICAgaWYgKCF0aGlzLl9jb25maWd1cmF0aW9uLmxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zIHx8ICF0aGlzLl9jb25maWd1cmF0aW9uLmxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zLmxlbmd0aCkge1xuICAgICAgICB0aGlzLl9jb25maWd1cmF0aW9uLmxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zID0gW107XG4gICAgICB9XG5cbiAgICAgIC8vIGNoZWNrIGlmIHRoZSBsYW5ndWFnZSBpcyBhbHJlYWR5IGluY2x1ZGVkIGluIHRoZSBsYW5ndWFnZUNob2ljZXMub3B0aW9ucyBhcnJheVxuICAgICAgLy8gYW5kIGlmIG5vdCwgdGhlbiBhZGQgaXQuXG4gICAgICBpZiAoIXRoaXMuX2NvbmZpZ3VyYXRpb24ubGFuZ3VhZ2VDaG9pY2VzLm9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLl9tb2RlbC5sYW5ndWFnZSkpIHtcbiAgICAgICAgdGhpcy5fY29uZmlndXJhdGlvbi5sYW5ndWFnZUNob2ljZXMub3B0aW9ucy5wdXNoKHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fbW9kZWwubGFuZ3VhZ2UsXG4gICAgICAgICAgbGFiZWw6IHRoaXMuX21vZGVsLmxhbmd1YWdlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHRoaXMuX21vZGVsLmxhbmd1YWdlO1xuICAgIH1cblxuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgb25Db25maWd1cmF0aW9uQ2hhbmdlZChjKSB7XG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IHByZXBhcmVDdXN0b21pemF0aW9uT2JqZWN0KGMsIHRoaXMuX21vZGVsKS5jb25maWd1cmF0aW9uO1xuXG4gICAgaWYgKHRoaXMuX21vZGVsKSB7XG4gICAgICB0aGlzLm9uTW9kZWxDaGFuZ2VkKHRoaXMuX21vZGVsKTtcbiAgICB9XG5cbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxuXG4gIG9uTW9kZWxVcGRhdGVkID0gKGUpID0+IHtcbiAgICBpZiAoZS50YXJnZXQgPT09IHRoaXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IGlkID0gZS50YXJnZXQgJiYgZS50YXJnZXQuZ2V0QXR0cmlidXRlKCdpZCcpO1xuXG4gICAgaWYgKGlkKSB7XG4gICAgICBpZiAoZS51cGRhdGUpIHtcbiAgICAgICAgdGhpcy5fbW9kZWxbYHBhcnQke2lkfWBdID0gZS51cGRhdGU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgTW9kZWxVcGRhdGVkRXZlbnQodGhpcy5fbW9kZWwpKTtcbiAgICB9XG4gIH07XG5cbiAgY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKE1PREVMX1VQREFURUQsIHRoaXMub25Nb2RlbFVwZGF0ZWQpO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKE1PREVMX1VQREFURUQsIHRoaXMub25Nb2RlbFVwZGF0ZWQpO1xuICB9XG5cbiAgX3JlbmRlcigpIHtcbiAgICBsZXQgZWxlbWVudCA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoTWFpbiwge1xuICAgICAgbW9kZWw6IHRoaXMuX21vZGVsLFxuICAgICAgY29uZmlndXJhdGlvbjogdGhpcy5fY29uZmlndXJhdGlvbixcbiAgICAgIG9uTW9kZWxDaGFuZ2VkOiB0aGlzLm9uTW9kZWxDaGFuZ2VkLFxuICAgICAgb25Db25maWd1cmF0aW9uQ2hhbmdlZDogdGhpcy5vbkNvbmZpZ3VyYXRpb25DaGFuZ2VkLFxuICAgIH0pO1xuXG4gICAgUmVhY3RET00ucmVuZGVyKGVsZW1lbnQsIHRoaXMpO1xuICB9XG59XG4iXX0=
|