easy-file-system 5.0.45 → 5.0.49
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/lib/button/toggle.js +42 -164
- package/lib/constants.js +6 -6
- package/lib/customEventTypes.js +9 -9
- package/lib/div/item/entry/drag/directoryName.js +24 -122
- package/lib/div/item/entry/drag/fileName.js +15 -112
- package/lib/div/item/entry/drag.js +19 -120
- package/lib/div/item/entry/marker.js +10 -107
- package/lib/div/item/entry.js +25 -187
- package/lib/entryTypes.js +5 -5
- package/lib/example/preamble.js +2 -2
- package/lib/example/view/button.js +12 -23
- package/lib/example/view/explorer/first.js +20 -120
- package/lib/example/view/explorer/second.js +17 -117
- package/lib/example/view/rubbishBin.js +10 -88
- package/lib/example/view.js +88 -233
- package/lib/example.js +6 -6
- package/lib/explorer.js +393 -740
- package/lib/index.js +17 -17
- package/lib/item/entry/drag/directoryName.js +130 -289
- package/lib/item/entry/drag/fileName.js +61 -182
- package/lib/item/entry/drag.js +179 -375
- package/lib/item/entry/marker/directoryName.js +20 -117
- package/lib/item/entry/marker/fileName.js +21 -118
- package/lib/item/entry/marker.js +13 -110
- package/lib/item/entry.js +54 -249
- package/lib/list/entries.js +464 -808
- package/lib/mixins/dragEntryItem.js +19 -19
- package/lib/mixins/explorer.js +28 -28
- package/lib/mixins/nameSpan.js +12 -12
- package/lib/mixins/rubbishBin.js +8 -8
- package/lib/rubbishBin.js +180 -415
- package/lib/span/name.js +93 -262
- package/lib/styles.js +14 -14
- package/lib/svg/directoryName.js +31 -142
- package/lib/svg/fileName.js +32 -143
- package/lib/svg/marker.js +25 -136
- package/lib/svg/rubbishBin/closed.js +48 -163
- package/lib/svg/rubbishBin/open.js +52 -167
- package/lib/svg/toggle/down.js +29 -145
- package/lib/svg/toggle/up.js +30 -146
- package/lib/svg.js +12 -149
- package/lib/utilities/name.js +12 -12
- package/lib/utilities/path.js +5 -5
- package/lib/utilities/pathMap.js +7 -7
- package/package.json +8 -4
- package/.aiignore +0 -14
- package/.swcrc +0 -11
- package/bin/main.js +0 -15
- package/example.js +0 -41953
- package/index.html +0 -46
package/lib/rubbishBin.js
CHANGED
|
@@ -8,434 +8,199 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
function _assert_this_initialized(self) {
|
|
24
|
-
if (self === void 0) {
|
|
25
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
26
|
-
}
|
|
27
|
-
return self;
|
|
28
|
-
}
|
|
29
|
-
function _call_super(_this, derived, args) {
|
|
30
|
-
derived = _get_prototype_of(derived);
|
|
31
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
32
|
-
}
|
|
33
|
-
function _class_call_check(instance, Constructor) {
|
|
34
|
-
if (!(instance instanceof Constructor)) {
|
|
35
|
-
throw new TypeError("Cannot call a class as a function");
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function _construct(Parent, args, Class) {
|
|
39
|
-
if (_is_native_reflect_construct()) {
|
|
40
|
-
_construct = Reflect.construct;
|
|
41
|
-
} else {
|
|
42
|
-
_construct = function construct(Parent, args, Class) {
|
|
43
|
-
var a = [
|
|
44
|
-
null
|
|
45
|
-
];
|
|
46
|
-
a.push.apply(a, args);
|
|
47
|
-
var Constructor = Function.bind.apply(Parent, a);
|
|
48
|
-
var instance = new Constructor();
|
|
49
|
-
if (Class) _set_prototype_of(instance, Class.prototype);
|
|
50
|
-
return instance;
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
return _construct.apply(null, arguments);
|
|
54
|
-
}
|
|
55
|
-
function _defineProperties(target, props) {
|
|
56
|
-
for(var i = 0; i < props.length; i++){
|
|
57
|
-
var descriptor = props[i];
|
|
58
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
59
|
-
descriptor.configurable = true;
|
|
60
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
61
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
65
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
66
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
67
|
-
return Constructor;
|
|
68
|
-
}
|
|
69
|
-
function _define_property(obj, key, value) {
|
|
70
|
-
if (key in obj) {
|
|
71
|
-
Object.defineProperty(obj, key, {
|
|
72
|
-
value: value,
|
|
73
|
-
enumerable: true,
|
|
74
|
-
configurable: true,
|
|
75
|
-
writable: true
|
|
76
|
-
});
|
|
77
|
-
} else {
|
|
78
|
-
obj[key] = value;
|
|
79
|
-
}
|
|
80
|
-
return obj;
|
|
81
|
-
}
|
|
82
|
-
function _get_prototype_of(o) {
|
|
83
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
84
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
85
|
-
};
|
|
86
|
-
return _get_prototype_of(o);
|
|
87
|
-
}
|
|
88
|
-
function _inherits(subClass, superClass) {
|
|
89
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
90
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
91
|
-
}
|
|
92
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
93
|
-
constructor: {
|
|
94
|
-
value: subClass,
|
|
95
|
-
writable: true,
|
|
96
|
-
configurable: true
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
100
|
-
}
|
|
11
|
+
const _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
|
|
12
|
+
const _easy = require("easy");
|
|
13
|
+
const _easydraganddrop = require("easy-drag-and-drop");
|
|
14
|
+
const _rubbishBin = /*#__PURE__*/ _interop_require_default(require("./mixins/rubbishBin"));
|
|
15
|
+
const _open = /*#__PURE__*/ _interop_require_default(require("./svg/rubbishBin/open"));
|
|
16
|
+
const _closed = /*#__PURE__*/ _interop_require_default(require("./svg/rubbishBin/closed"));
|
|
17
|
+
const _dragEntryItem = /*#__PURE__*/ _interop_require_default(require("./mixins/dragEntryItem"));
|
|
18
|
+
const _fileName = /*#__PURE__*/ _interop_require_default(require("./item/entry/marker/fileName"));
|
|
19
|
+
const _directoryName = /*#__PURE__*/ _interop_require_default(require("./item/entry/marker/directoryName"));
|
|
20
|
+
const _customEventTypes = require("./customEventTypes");
|
|
21
|
+
const _pathMap = require("./utilities/pathMap");
|
|
22
|
+
const _entryTypes = require("./entryTypes");
|
|
101
23
|
function _interop_require_default(obj) {
|
|
102
24
|
return obj && obj.__esModule ? obj : {
|
|
103
25
|
default: obj
|
|
104
26
|
};
|
|
105
27
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
117
|
-
o.__proto__ = p;
|
|
118
|
-
return o;
|
|
119
|
-
};
|
|
120
|
-
return _set_prototype_of(o, p);
|
|
121
|
-
}
|
|
122
|
-
function _tagged_template_literal(strings, raw) {
|
|
123
|
-
if (!raw) {
|
|
124
|
-
raw = strings.slice(0);
|
|
125
|
-
}
|
|
126
|
-
return Object.freeze(Object.defineProperties(strings, {
|
|
127
|
-
raw: {
|
|
128
|
-
value: Object.freeze(raw)
|
|
129
|
-
}
|
|
130
|
-
}));
|
|
131
|
-
}
|
|
132
|
-
function _type_of(obj) {
|
|
133
|
-
"@swc/helpers - typeof";
|
|
134
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
135
|
-
}
|
|
136
|
-
function _wrap_native_super(Class) {
|
|
137
|
-
var _cache = typeof Map === "function" ? new Map() : undefined;
|
|
138
|
-
_wrap_native_super = function wrapNativeSuper(Class) {
|
|
139
|
-
if (Class === null || !_is_native_function(Class)) return Class;
|
|
140
|
-
if (typeof Class !== "function") {
|
|
141
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
28
|
+
class RubbishBin extends _easy.Element {
|
|
29
|
+
dragOverCustomHandler = (event, element, dragElement)=>{
|
|
30
|
+
const dragEntryItem = dragElement, markerEntryItem = this.retrieveMarkerEntryItem();
|
|
31
|
+
let markerEntryItemPath = markerEntryItem.getPath(), markerEntryItemExplorer = markerEntryItem.getExplorer(), previousMarkerEntryItemPath = markerEntryItemPath, previousMarkerEntryItemExplorer = markerEntryItemExplorer; ///
|
|
32
|
+
markerEntryItemPath = null; ///
|
|
33
|
+
markerEntryItemExplorer = this; ///
|
|
34
|
+
if (markerEntryItemExplorer !== previousMarkerEntryItemExplorer || markerEntryItemPath !== previousMarkerEntryItemPath) {
|
|
35
|
+
const dragEntryItemType = dragEntryItem.getType();
|
|
36
|
+
previousMarkerEntryItemExplorer.removeMarker();
|
|
37
|
+
markerEntryItemExplorer.addMarker(markerEntryItemPath, dragEntryItemType);
|
|
142
38
|
}
|
|
143
|
-
if (typeof _cache !== "undefined") {
|
|
144
|
-
if (_cache.has(Class)) return _cache.get(Class);
|
|
145
|
-
_cache.set(Class, Wrapper);
|
|
146
|
-
}
|
|
147
|
-
function Wrapper() {
|
|
148
|
-
return _construct(Class, arguments, _get_prototype_of(this).constructor);
|
|
149
|
-
}
|
|
150
|
-
Wrapper.prototype = Object.create(Class.prototype, {
|
|
151
|
-
constructor: {
|
|
152
|
-
value: Wrapper,
|
|
153
|
-
enumerable: false,
|
|
154
|
-
writable: true,
|
|
155
|
-
configurable: true
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
return _set_prototype_of(Wrapper, Class);
|
|
159
39
|
};
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
})();
|
|
169
|
-
}
|
|
170
|
-
function _templateObject() {
|
|
171
|
-
var data = _tagged_template_literal([
|
|
172
|
-
"\n \n display: inline-block;\n \n"
|
|
173
|
-
]);
|
|
174
|
-
_templateObject = function _templateObject() {
|
|
175
|
-
return data;
|
|
40
|
+
dropCustomHandler = (event, element, dragElement, aborted, done)=>{
|
|
41
|
+
const dragEntryItem = dragElement, markerEntryItem = this.retrieveMarkerEntryItem(), markerEntryItemExplorer = markerEntryItem.getExplorer();
|
|
42
|
+
if (aborted) {
|
|
43
|
+
markerEntryItemExplorer.removeMarker();
|
|
44
|
+
done();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
markerEntryItemExplorer.dropDragEntryItem(event, element, dragEntryItem, done);
|
|
176
48
|
};
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
_inherits(RubbishBin, Element);
|
|
181
|
-
function RubbishBin() {
|
|
182
|
-
_class_call_check(this, RubbishBin);
|
|
183
|
-
var _this;
|
|
184
|
-
_this = _call_super(this, RubbishBin, arguments), _define_property(_this, "dragOverCustomHandler", function(event, element, dragElement) {
|
|
185
|
-
var dragEntryItem = dragElement, markerEntryItem = _this.retrieveMarkerEntryItem();
|
|
186
|
-
var markerEntryItemPath = markerEntryItem.getPath(), markerEntryItemExplorer = markerEntryItem.getExplorer(), previousMarkerEntryItemPath = markerEntryItemPath, previousMarkerEntryItemExplorer = markerEntryItemExplorer; ///
|
|
187
|
-
markerEntryItemPath = null; ///
|
|
188
|
-
markerEntryItemExplorer = _this; ///
|
|
189
|
-
if (markerEntryItemExplorer !== previousMarkerEntryItemExplorer || markerEntryItemPath !== previousMarkerEntryItemPath) {
|
|
190
|
-
var dragEntryItemType = dragEntryItem.getType();
|
|
191
|
-
previousMarkerEntryItemExplorer.removeMarker();
|
|
192
|
-
markerEntryItemExplorer.addMarker(markerEntryItemPath, dragEntryItemType);
|
|
193
|
-
}
|
|
194
|
-
}), _define_property(_this, "dropCustomHandler", function(event, element, dragElement, aborted, done) {
|
|
195
|
-
var dragEntryItem = dragElement, markerEntryItem = _this.retrieveMarkerEntryItem(), markerEntryItemExplorer = markerEntryItem.getExplorer();
|
|
196
|
-
if (aborted) {
|
|
197
|
-
markerEntryItemExplorer.removeMarker();
|
|
198
|
-
done();
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
markerEntryItemExplorer.dropDragEntryItem(event, element, dragEntryItem, done);
|
|
202
|
-
});
|
|
203
|
-
return _this;
|
|
49
|
+
getReference() {
|
|
50
|
+
const { reference = null } = this.properties;
|
|
51
|
+
return reference;
|
|
204
52
|
}
|
|
205
|
-
|
|
206
|
-
{
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
this.addMarkerEntryItem(markerEntryItemName, dragEntryItemType);
|
|
232
|
-
this.open();
|
|
233
|
-
}
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
key: "removeMarker",
|
|
237
|
-
value: function removeMarker() {
|
|
238
|
-
this.removeMarkerEntryItem();
|
|
239
|
-
this.close();
|
|
240
|
-
}
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
key: "addMarkerEntryItem",
|
|
244
|
-
value: function addMarkerEntryItem(markerEntryItemName, dragEntryItemType) {
|
|
245
|
-
var markerEntryItem;
|
|
246
|
-
var name = markerEntryItemName, type = dragEntryItemType; ///
|
|
247
|
-
switch(type){
|
|
248
|
-
case _entryTypes.FILE_NAME_DRAG_ENTRY_TYPE:
|
|
249
|
-
{
|
|
250
|
-
var explorer = this, fileNameMarkerEntryItem = /*#__PURE__*/ React.createElement(_fileName.default, {
|
|
251
|
-
name: name,
|
|
252
|
-
explorer: explorer
|
|
253
|
-
});
|
|
254
|
-
markerEntryItem = fileNameMarkerEntryItem; ///
|
|
255
|
-
break;
|
|
256
|
-
}
|
|
257
|
-
case _entryTypes.DIRECTORY_NAME_DRAG_ENTRY_TYPE:
|
|
258
|
-
{
|
|
259
|
-
var explorer1 = this, directoryNameMarkerEntryItem = /*#__PURE__*/ React.createElement(_directoryName.default, {
|
|
260
|
-
name: name,
|
|
261
|
-
explorer: explorer1
|
|
262
|
-
});
|
|
263
|
-
markerEntryItem = directoryNameMarkerEntryItem; ///
|
|
264
|
-
break;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
setMarkerEntryItem(markerEntryItem);
|
|
268
|
-
}
|
|
269
|
-
},
|
|
270
|
-
{
|
|
271
|
-
key: "removeMarkerEntryItem",
|
|
272
|
-
value: function removeMarkerEntryItem() {
|
|
273
|
-
resetMarkerEntryItem();
|
|
274
|
-
resetDropElement();
|
|
275
|
-
}
|
|
276
|
-
},
|
|
277
|
-
{
|
|
278
|
-
key: "dropDragEntryItem",
|
|
279
|
-
value: function dropDragEntryItem(event, element, dragEntryItem, done) {
|
|
280
|
-
var dragEntryItemExplorer = dragEntryItem.getExplorer(), sourceEntryPath = (0, _pathMap.sourceEntryPathFromEntryItem)(dragEntryItem), targetEntryPath = null, pathMaps = dragEntryItem.getPathMaps(sourceEntryPath, targetEntryPath), explorer = dragEntryItemExplorer; ///
|
|
281
|
-
this.removeDragEntryItems(event, element, pathMaps, explorer, done);
|
|
282
|
-
}
|
|
283
|
-
},
|
|
284
|
-
{
|
|
285
|
-
key: "removeDragEntryItems",
|
|
286
|
-
value: function removeDragEntryItems(event, element, pathMaps, explorer, done) {
|
|
287
|
-
var _this = this;
|
|
288
|
-
var customEventType = _customEventTypes.REMOVE_CUSTOM_EVENT_TYPE;
|
|
289
|
-
this.callCustomHandlersAsync(customEventType, event, element, pathMaps, function() {
|
|
290
|
-
pathMaps.forEach(function(pathMap) {
|
|
291
|
-
_this.removeDragEntryItem(pathMap, explorer);
|
|
53
|
+
getReferences() {
|
|
54
|
+
const { references = [] } = this.properties;
|
|
55
|
+
return references;
|
|
56
|
+
}
|
|
57
|
+
retrieveMarkerEntryItem() {
|
|
58
|
+
const markerEntryItem = getMarkerEntryItem();
|
|
59
|
+
return markerEntryItem;
|
|
60
|
+
}
|
|
61
|
+
addMarker(markerEntryItemPath, dragEntryItemType) {
|
|
62
|
+
const markerEntryItemName = markerEntryItemPath; ///
|
|
63
|
+
this.addMarkerEntryItem(markerEntryItemName, dragEntryItemType);
|
|
64
|
+
this.open();
|
|
65
|
+
}
|
|
66
|
+
removeMarker() {
|
|
67
|
+
this.removeMarkerEntryItem();
|
|
68
|
+
this.close();
|
|
69
|
+
}
|
|
70
|
+
addMarkerEntryItem(markerEntryItemName, dragEntryItemType) {
|
|
71
|
+
let markerEntryItem;
|
|
72
|
+
const name = markerEntryItemName, type = dragEntryItemType; ///
|
|
73
|
+
switch(type){
|
|
74
|
+
case _entryTypes.FILE_NAME_DRAG_ENTRY_TYPE:
|
|
75
|
+
{
|
|
76
|
+
const explorer = this, fileNameMarkerEntryItem = /*#__PURE__*/ React.createElement(_fileName.default, {
|
|
77
|
+
name: name,
|
|
78
|
+
explorer: explorer
|
|
292
79
|
});
|
|
293
|
-
|
|
294
|
-
|
|
80
|
+
markerEntryItem = fileNameMarkerEntryItem; ///
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
case _entryTypes.DIRECTORY_NAME_DRAG_ENTRY_TYPE:
|
|
84
|
+
{
|
|
85
|
+
const explorer = this, directoryNameMarkerEntryItem = /*#__PURE__*/ React.createElement(_directoryName.default, {
|
|
86
|
+
name: name,
|
|
87
|
+
explorer: explorer
|
|
295
88
|
});
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
},
|
|
301
|
-
{
|
|
302
|
-
key: "open",
|
|
303
|
-
value: function open() {
|
|
304
|
-
this.showOpenRubbishBinSVG();
|
|
305
|
-
this.hideClosedRubbishBinSVG();
|
|
306
|
-
}
|
|
307
|
-
},
|
|
308
|
-
{
|
|
309
|
-
key: "close",
|
|
310
|
-
value: function close() {
|
|
311
|
-
this.hideOpenRubbishBinSVG();
|
|
312
|
-
this.showClosedRubbishBinSVG();
|
|
313
|
-
}
|
|
314
|
-
},
|
|
315
|
-
{
|
|
316
|
-
key: "didMount",
|
|
317
|
-
value: function didMount() {
|
|
318
|
-
this.enableDrop();
|
|
319
|
-
this.onCustomDrop(this.dropCustomHandler);
|
|
320
|
-
this.onCustomDragOver(this.dragOverCustomHandler);
|
|
321
|
-
this.close();
|
|
322
|
-
}
|
|
323
|
-
},
|
|
324
|
-
{
|
|
325
|
-
key: "willUnmount",
|
|
326
|
-
value: function willUnmount() {
|
|
327
|
-
this.disableDrop();
|
|
328
|
-
this.offCustomDrop(this.dropCustomHandler);
|
|
329
|
-
this.offCustomDragOver(this.dragOverCustomHandler);
|
|
330
|
-
}
|
|
331
|
-
},
|
|
332
|
-
{
|
|
333
|
-
key: "addFilePath",
|
|
334
|
-
value: function addFilePath(filePath) {
|
|
335
|
-
var readOnly = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
336
|
-
///
|
|
337
|
-
}
|
|
338
|
-
},
|
|
339
|
-
{
|
|
340
|
-
key: "removeFilePath",
|
|
341
|
-
value: function removeFilePath(filePath) {
|
|
342
|
-
var removeEmptyParentDirectories = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
343
|
-
///
|
|
344
|
-
}
|
|
345
|
-
},
|
|
346
|
-
{
|
|
347
|
-
key: "removeAllPaths",
|
|
348
|
-
value: function removeAllPaths() {
|
|
349
|
-
///
|
|
350
|
-
}
|
|
351
|
-
},
|
|
352
|
-
{
|
|
353
|
-
key: "addDirectoryPath",
|
|
354
|
-
value: function addDirectoryPath(directoryPath) {
|
|
355
|
-
var readOnly = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false, collapsed = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
|
|
356
|
-
///
|
|
357
|
-
}
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
key: "removeDirectoryPath",
|
|
361
|
-
value: function removeDirectoryPath(directoryPath) {
|
|
362
|
-
var removeEmptyParentDirectories = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
363
|
-
///
|
|
364
|
-
}
|
|
365
|
-
},
|
|
366
|
-
{
|
|
367
|
-
key: "getMarkerEntryItemPath",
|
|
368
|
-
value: function getMarkerEntryItemPath() {
|
|
369
|
-
var markerEntryItemPath = this.getState().markerEntryItemPath;
|
|
370
|
-
return markerEntryItemPath;
|
|
371
|
-
}
|
|
372
|
-
},
|
|
373
|
-
{
|
|
374
|
-
key: "getMarkerEntryItemExplorer",
|
|
375
|
-
value: function getMarkerEntryItemExplorer() {
|
|
376
|
-
var markerEntryItemExplorer = this.getState().markerEntryItemExplorer;
|
|
377
|
-
return markerEntryItemExplorer;
|
|
378
|
-
}
|
|
379
|
-
},
|
|
380
|
-
{
|
|
381
|
-
key: "setMarkerEntryItemPath",
|
|
382
|
-
value: function setMarkerEntryItemPath(markerEntryItemPath) {
|
|
383
|
-
this.updateState({
|
|
384
|
-
markerEntryItemPath: markerEntryItemPath
|
|
385
|
-
});
|
|
386
|
-
}
|
|
387
|
-
},
|
|
388
|
-
{
|
|
389
|
-
key: "setMarkerEntryItemExplorer",
|
|
390
|
-
value: function setMarkerEntryItemExplorer(markerEntryItemExplorer) {
|
|
391
|
-
this.updateState({
|
|
392
|
-
markerEntryItemExplorer: markerEntryItemExplorer
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
|
-
},
|
|
396
|
-
{
|
|
397
|
-
key: "setInitialState",
|
|
398
|
-
value: function setInitialState() {
|
|
399
|
-
var markerEntryItemPath = null, markerEntryItemExplorer = null;
|
|
400
|
-
this.setState({
|
|
401
|
-
markerEntryItemPath: markerEntryItemPath,
|
|
402
|
-
markerEntryItemExplorer: markerEntryItemExplorer
|
|
403
|
-
});
|
|
404
|
-
}
|
|
405
|
-
},
|
|
406
|
-
{
|
|
407
|
-
key: "childElements",
|
|
408
|
-
value: function childElements() {
|
|
409
|
-
var _this_constructor = this.constructor, _$OpenRubbishBinSVG = _this_constructor.OpenRubbishBinSVG, _$ClosedRubbishBinSVG = _this_constructor.ClosedRubbishBinSVG;
|
|
410
|
-
return [
|
|
411
|
-
/*#__PURE__*/ React.createElement(_$OpenRubbishBinSVG, null),
|
|
412
|
-
/*#__PURE__*/ React.createElement(_$ClosedRubbishBinSVG, null)
|
|
413
|
-
];
|
|
414
|
-
}
|
|
415
|
-
},
|
|
416
|
-
{
|
|
417
|
-
key: "initialise",
|
|
418
|
-
value: function initialise() {
|
|
419
|
-
this.assignContext();
|
|
420
|
-
this.setInitialState();
|
|
421
|
-
}
|
|
89
|
+
markerEntryItem = directoryNameMarkerEntryItem; ///
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
422
92
|
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
93
|
+
setMarkerEntryItem(markerEntryItem);
|
|
94
|
+
}
|
|
95
|
+
removeMarkerEntryItem() {
|
|
96
|
+
resetMarkerEntryItem();
|
|
97
|
+
resetDropElement();
|
|
98
|
+
}
|
|
99
|
+
dropDragEntryItem(event, element, dragEntryItem, done) {
|
|
100
|
+
const dragEntryItemExplorer = dragEntryItem.getExplorer(), sourceEntryPath = (0, _pathMap.sourceEntryPathFromEntryItem)(dragEntryItem), targetEntryPath = null, pathMaps = dragEntryItem.getPathMaps(sourceEntryPath, targetEntryPath), explorer = dragEntryItemExplorer; ///
|
|
101
|
+
this.removeDragEntryItems(event, element, pathMaps, explorer, done);
|
|
102
|
+
}
|
|
103
|
+
removeDragEntryItems(event, element, pathMaps, explorer, done) {
|
|
104
|
+
const customEventType = _customEventTypes.REMOVE_CUSTOM_EVENT_TYPE;
|
|
105
|
+
this.callCustomHandlersAsync(customEventType, event, element, pathMaps, ()=>{
|
|
106
|
+
pathMaps.forEach((pathMap)=>{
|
|
107
|
+
this.removeDragEntryItem(pathMap, explorer);
|
|
108
|
+
});
|
|
109
|
+
pathMaps.forEach((pathMap)=>{
|
|
110
|
+
this.addDragEntryItem(pathMap, explorer);
|
|
111
|
+
});
|
|
112
|
+
this.removeMarker();
|
|
113
|
+
done();
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
open() {
|
|
117
|
+
this.showOpenRubbishBinSVG();
|
|
118
|
+
this.hideClosedRubbishBinSVG();
|
|
119
|
+
}
|
|
120
|
+
close() {
|
|
121
|
+
this.hideOpenRubbishBinSVG();
|
|
122
|
+
this.showClosedRubbishBinSVG();
|
|
123
|
+
}
|
|
124
|
+
didMount() {
|
|
125
|
+
this.enableDrop();
|
|
126
|
+
this.onCustomDrop(this.dropCustomHandler);
|
|
127
|
+
this.onCustomDragOver(this.dragOverCustomHandler);
|
|
128
|
+
this.close();
|
|
129
|
+
}
|
|
130
|
+
willUnmount() {
|
|
131
|
+
this.disableDrop();
|
|
132
|
+
this.offCustomDrop(this.dropCustomHandler);
|
|
133
|
+
this.offCustomDragOver(this.dragOverCustomHandler);
|
|
134
|
+
}
|
|
135
|
+
addFilePath(filePath, readOnly = false) {
|
|
136
|
+
///
|
|
137
|
+
}
|
|
138
|
+
removeFilePath(filePath, removeEmptyParentDirectories = false) {
|
|
139
|
+
///
|
|
140
|
+
}
|
|
141
|
+
removeAllPaths() {
|
|
142
|
+
///
|
|
143
|
+
}
|
|
144
|
+
addDirectoryPath(directoryPath, readOnly = false, collapsed = true) {
|
|
145
|
+
///
|
|
146
|
+
}
|
|
147
|
+
removeDirectoryPath(directoryPath, removeEmptyParentDirectories = false) {
|
|
148
|
+
///
|
|
149
|
+
}
|
|
150
|
+
getMarkerEntryItemPath() {
|
|
151
|
+
const { markerEntryItemPath } = this.getState();
|
|
152
|
+
return markerEntryItemPath;
|
|
153
|
+
}
|
|
154
|
+
getMarkerEntryItemExplorer() {
|
|
155
|
+
const { markerEntryItemExplorer } = this.getState();
|
|
156
|
+
return markerEntryItemExplorer;
|
|
157
|
+
}
|
|
158
|
+
setMarkerEntryItemPath(markerEntryItemPath) {
|
|
159
|
+
this.updateState({
|
|
160
|
+
markerEntryItemPath
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
setMarkerEntryItemExplorer(markerEntryItemExplorer) {
|
|
164
|
+
this.updateState({
|
|
165
|
+
markerEntryItemExplorer
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
setInitialState() {
|
|
169
|
+
const markerEntryItemPath = null, markerEntryItemExplorer = null;
|
|
170
|
+
this.setState({
|
|
171
|
+
markerEntryItemPath,
|
|
172
|
+
markerEntryItemExplorer
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
childElements() {
|
|
176
|
+
const { OpenRubbishBinSVG, ClosedRubbishBinSVG } = this.constructor;
|
|
177
|
+
return [
|
|
178
|
+
/*#__PURE__*/ React.createElement(OpenRubbishBinSVG, null),
|
|
179
|
+
/*#__PURE__*/ React.createElement(ClosedRubbishBinSVG, null)
|
|
180
|
+
];
|
|
181
|
+
}
|
|
182
|
+
initialise() {
|
|
183
|
+
this.assignContext();
|
|
184
|
+
this.setInitialState();
|
|
185
|
+
}
|
|
186
|
+
static OpenRubbishBinSVG = _open.default;
|
|
187
|
+
static ClosedRubbishBinSVG = _closed.default;
|
|
188
|
+
static tagName = "div";
|
|
189
|
+
static ignoredProperties = [
|
|
190
|
+
"reference",
|
|
191
|
+
"references"
|
|
192
|
+
];
|
|
193
|
+
static defaultProperties = {
|
|
194
|
+
className: "rubbish-bin"
|
|
195
|
+
};
|
|
196
|
+
}
|
|
436
197
|
Object.assign(RubbishBin.prototype, _easydraganddrop.dropMixins);
|
|
437
198
|
Object.assign(RubbishBin.prototype, _rubbishBin.default);
|
|
438
199
|
Object.assign(RubbishBin.prototype, _dragEntryItem.default);
|
|
439
|
-
|
|
200
|
+
const _default = (0, _easywithstyle.default)(RubbishBin)`
|
|
201
|
+
|
|
202
|
+
display: inline-block;
|
|
203
|
+
|
|
204
|
+
`;
|
|
440
205
|
|
|
441
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWJiaXNoQmluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IGRyb3BNaXhpbnMgfSBmcm9tIFwiZWFzeS1kcmFnLWFuZC1kcm9wXCI7XG5cbmltcG9ydCBydWJiaXNoQmluTWl4aW5zIGZyb20gXCIuL21peGlucy9ydWJiaXNoQmluXCI7XG5pbXBvcnQgT3BlblJ1YmJpc2hCaW5TVkcgZnJvbSBcIi4vc3ZnL3J1YmJpc2hCaW4vb3BlblwiO1xuaW1wb3J0IENsb3NlZFJ1YmJpc2hCaW5TVkcgZnJvbSBcIi4vc3ZnL3J1YmJpc2hCaW4vY2xvc2VkXCI7XG5pbXBvcnQgZHJhZ0VudHJ5SXRlbU1peGlucyBmcm9tIFwiLi9taXhpbnMvZHJhZ0VudHJ5SXRlbVwiO1xuaW1wb3J0IEZpbGVOYW1lTWFya2VyRW50cnlJdGVtIGZyb20gXCIuL2l0ZW0vZW50cnkvbWFya2VyL2ZpbGVOYW1lXCI7XG5pbXBvcnQgRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSBmcm9tIFwiLi9pdGVtL2VudHJ5L21hcmtlci9kaXJlY3RvcnlOYW1lXCI7XG5cbmltcG9ydCB7IFJFTU9WRV9DVVNUT01fRVZFTlRfVFlQRSB9IGZyb20gXCIuL2N1c3RvbUV2ZW50VHlwZXNcIjtcbmltcG9ydCB7IHNvdXJjZUVudHJ5UGF0aEZyb21FbnRyeUl0ZW0gfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aE1hcFwiO1xuaW1wb3J0IHsgRElSRUNUT1JZX05BTUVfRFJBR19FTlRSWV9UWVBFLCBGSUxFX05BTUVfRFJBR19FTlRSWV9UWVBFIH0gZnJvbSBcIi4vZW50cnlUeXBlc1wiO1xuXG5jbGFzcyBSdWJiaXNoQmluIGV4dGVuZHMgRWxlbWVudCB7XG4gIGRyYWdPdmVyQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgZHJhZ0VsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQsICAvLy9cbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCk7XG5cbiAgICBsZXQgbWFya2VyRW50cnlJdGVtUGF0aCA9IG1hcmtlckVudHJ5SXRlbS5nZXRQYXRoKCksXG4gICAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbVBhdGggPSBtYXJrZXJFbnRyeUl0ZW1QYXRoLCAvLy9cbiAgICAgICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyID0gbWFya2VyRW50cnlJdGVtRXhwbG9yZXI7IC8vL1xuXG4gICAgbWFya2VyRW50cnlJdGVtUGF0aCA9IG51bGw7IC8vL1xuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSB0aGlzOyAgLy8vXG5cbiAgICBpZiAoKG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyICE9PSBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyKSB8fCAobWFya2VyRW50cnlJdGVtUGF0aCAhPT0gcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoKSkge1xuICAgICAgY29uc3QgZHJhZ0VudHJ5SXRlbVR5cGUgPSBkcmFnRW50cnlJdGVtLmdldFR5cGUoKTtcblxuICAgICAgcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuYWRkTWFya2VyKG1hcmtlckVudHJ5SXRlbVBhdGgsIGRyYWdFbnRyeUl0ZW1UeXBlKTtcbiAgICB9XG4gIH1cblxuICBkcm9wQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGRvbmUpID0+IHtcbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQsICAvLy9cbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCksXG4gICAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKTtcblxuICAgIGlmIChhYm9ydGVkKSB7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuZHJvcERyYWdFbnRyeUl0ZW0oZXZlbnQsIGVsZW1lbnQsIGRyYWdFbnRyeUl0ZW0sIGRvbmUpO1xuICB9XG5cbiAgZ2V0UmVmZXJlbmNlKCkge1xuICAgIGNvbnN0IHsgcmVmZXJlbmNlID0gbnVsbCB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIHJlZmVyZW5jZTtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZXMoKSB7XG4gICAgY29uc3QgeyByZWZlcmVuY2VzID0gW10gfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiByZWZlcmVuY2VzO1xuICB9XG5cbiAgcmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSB7XG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtID0gZ2V0TWFya2VyRW50cnlJdGVtKCk7XG5cbiAgICByZXR1cm4gbWFya2VyRW50cnlJdGVtO1xuICB9XG5cbiAgYWRkTWFya2VyKG1hcmtlckVudHJ5SXRlbVBhdGgsIGRyYWdFbnRyeUl0ZW1UeXBlKSB7XG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtTmFtZSA9IG1hcmtlckVudHJ5SXRlbVBhdGg7ICAvLy9cblxuICAgIHRoaXMuYWRkTWFya2VyRW50cnlJdGVtKG1hcmtlckVudHJ5SXRlbU5hbWUsIGRyYWdFbnRyeUl0ZW1UeXBlKTtcblxuICAgIHRoaXMub3BlbigpO1xuICB9XG5cbiAgcmVtb3ZlTWFya2VyKCkge1xuICAgIHRoaXMucmVtb3ZlTWFya2VyRW50cnlJdGVtKCk7XG5cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBhZGRNYXJrZXJFbnRyeUl0ZW0obWFya2VyRW50cnlJdGVtTmFtZSwgZHJhZ0VudHJ5SXRlbVR5cGUpIHtcbiAgICBsZXQgbWFya2VyRW50cnlJdGVtO1xuXG4gICAgY29uc3QgbmFtZSA9IG1hcmtlckVudHJ5SXRlbU5hbWUsIC8vL1xuICAgICAgICAgIHR5cGUgPSBkcmFnRW50cnlJdGVtVHlwZTsgIC8vL1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUgOiB7XG4gICAgICAgIGNvbnN0IGV4cGxvcmVyID0gdGhpcywgIC8vL1xuICAgICAgICAgICAgICBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbSA9XG5cbiAgICAgICAgICAgICAgICA8RmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbTsgIC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSA6IHtcbiAgICAgICAgY29uc3QgZXhwbG9yZXIgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICAgIGRpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gPVxuXG4gICAgICAgICAgICAgICAgPERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRNYXJrZXJFbnRyeUl0ZW0obWFya2VyRW50cnlJdGVtKTtcbiAgfVxuXG4gIHJlbW92ZU1hcmtlckVudHJ5SXRlbSgpIHtcbiAgICByZXNldE1hcmtlckVudHJ5SXRlbSgpO1xuXG4gICAgcmVzZXREcm9wRWxlbWVudCgpO1xuICB9XG5cbiAgZHJvcERyYWdFbnRyeUl0ZW0oZXZlbnQsIGVsZW1lbnQsIGRyYWdFbnRyeUl0ZW0sIGRvbmUpIHtcbiAgICBjb25zdCBkcmFnRW50cnlJdGVtRXhwbG9yZXIgPSBkcmFnRW50cnlJdGVtLmdldEV4cGxvcmVyKCksXG4gICAgICAgICAgc291cmNlRW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoRnJvbUVudHJ5SXRlbShkcmFnRW50cnlJdGVtKSxcbiAgICAgICAgICB0YXJnZXRFbnRyeVBhdGggPSBudWxsLFxuICAgICAgICAgIHBhdGhNYXBzID0gZHJhZ0VudHJ5SXRlbS5nZXRQYXRoTWFwcyhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCksXG4gICAgICAgICAgZXhwbG9yZXIgPSBkcmFnRW50cnlJdGVtRXhwbG9yZXI7ICAvLy9cblxuICAgIHRoaXMucmVtb3ZlRHJhZ0VudHJ5SXRlbXMoZXZlbnQsIGVsZW1lbnQsIHBhdGhNYXBzLCBleHBsb3JlciwgZG9uZSk7XG4gIH1cblxuICByZW1vdmVEcmFnRW50cnlJdGVtcyhldmVudCwgZWxlbWVudCwgcGF0aE1hcHMsIGV4cGxvcmVyLCBkb25lKSB7XG4gICAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gUkVNT1ZFX0NVU1RPTV9FVkVOVF9UWVBFO1xuXG4gICAgdGhpcy5jYWxsQ3VzdG9tSGFuZGxlcnNBc3luYyhjdXN0b21FdmVudFR5cGUsIGV2ZW50LCBlbGVtZW50LCBwYXRoTWFwcywgKCkgPT4ge1xuICAgICAgcGF0aE1hcHMuZm9yRWFjaCgocGF0aE1hcCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpXG4gICAgICB9KTtcblxuICAgICAgcGF0aE1hcHMuZm9yRWFjaCgocGF0aE1hcCkgPT4ge1xuICAgICAgICB0aGlzLmFkZERyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVtb3ZlTWFya2VyKCk7XG5cbiAgICAgIGRvbmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5zaG93T3BlblJ1YmJpc2hCaW5TVkcoKTtcbiAgICB0aGlzLmhpZGVDbG9zZWRSdWJiaXNoQmluU1ZHKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmhpZGVPcGVuUnViYmlzaEJpblNWRygpO1xuICAgIHRoaXMuc2hvd0Nsb3NlZFJ1YmJpc2hCaW5TVkcoKTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIHRoaXMuZW5hYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vbkN1c3RvbURyb3AodGhpcy5kcm9wQ3VzdG9tSGFuZGxlcik7XG5cbiAgICB0aGlzLm9uQ3VzdG9tRHJhZ092ZXIodGhpcy5kcmFnT3ZlckN1c3RvbUhhbmRsZXIpO1xuXG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vZmZDdXN0b21Ecm9wKHRoaXMuZHJvcEN1c3RvbUhhbmRsZXIpO1xuXG4gICAgdGhpcy5vZmZDdXN0b21EcmFnT3Zlcih0aGlzLmRyYWdPdmVyQ3VzdG9tSGFuZGxlcik7XG4gIH1cblxuICBhZGRGaWxlUGF0aChmaWxlUGF0aCwgcmVhZE9ubHkgPSBmYWxzZSkge1xuICAgIC8vL1xuICB9XG5cbiAgcmVtb3ZlRmlsZVBhdGgoZmlsZVBhdGgsIHJlbW92ZUVtcHR5UGFyZW50RGlyZWN0b3JpZXMgPSBmYWxzZSkge1xuICAgIC8vL1xuICB9XG5cbiAgcmVtb3ZlQWxsUGF0aHMoKSB7XG4gICAgLy8vXG4gIH1cblxuICBhZGREaXJlY3RvcnlQYXRoKGRpcmVjdG9yeVBhdGgsIHJlYWRPbmx5ID0gZmFsc2UsIGNvbGxhcHNlZCA9IHRydWUpIHtcbiAgICAvLy9cbiAgfVxuXG4gIHJlbW92ZURpcmVjdG9yeVBhdGgoZGlyZWN0b3J5UGF0aCwgcmVtb3ZlRW1wdHlQYXJlbnREaXJlY3RvcmllcyA9IGZhbHNlKSB7XG4gICAgLy8vXG4gIH1cblxuICBnZXRNYXJrZXJFbnRyeUl0ZW1QYXRoKCkge1xuICAgIGNvbnN0IHsgbWFya2VyRW50cnlJdGVtUGF0aCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIG1hcmtlckVudHJ5SXRlbVBhdGg7XG4gIH1cblxuICBnZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcigpIHtcbiAgICBjb25zdCB7IG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgICByZXR1cm4gbWFya2VyRW50cnlJdGVtRXhwbG9yZXI7XG4gIH1cblxuICBzZXRNYXJrZXJFbnRyeUl0ZW1QYXRoKG1hcmtlckVudHJ5SXRlbVBhdGgpIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbVBhdGhcbiAgICB9KTtcbiAgfVxuXG4gIHNldE1hcmtlckVudHJ5SXRlbUV4cGxvcmVyKG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlclxuICAgIH0pO1xuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbVBhdGggPSBudWxsLFxuICAgICAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyID0gbnVsbDtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbWFya2VyRW50cnlJdGVtUGF0aCxcbiAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyXG4gICAgfSk7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IHsgT3BlblJ1YmJpc2hCaW5TVkcsIENsb3NlZFJ1YmJpc2hCaW5TVkcgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICByZXR1cm4gKFtcblxuICAgICAgPE9wZW5SdWJiaXNoQmluU1ZHLz4sXG4gICAgICA8Q2xvc2VkUnViYmlzaEJpblNWRy8+XG5cbiAgICBdKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuICB9XG5cbiAgc3RhdGljIE9wZW5SdWJiaXNoQmluU1ZHID0gT3BlblJ1YmJpc2hCaW5TVkc7XG5cbiAgc3RhdGljIENsb3NlZFJ1YmJpc2hCaW5TVkcgPSBDbG9zZWRSdWJiaXNoQmluU1ZHO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJyZWZlcmVuY2VcIixcbiAgICBcInJlZmVyZW5jZXNcIlxuICBdO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwicnViYmlzaC1iaW5cIlxuICB9O1xufVxuXG5PYmplY3QuYXNzaWduKFJ1YmJpc2hCaW4ucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oUnViYmlzaEJpbi5wcm90b3R5cGUsIHJ1YmJpc2hCaW5NaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihSdWJiaXNoQmluLnByb3RvdHlwZSwgZHJhZ0VudHJ5SXRlbU1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShSdWJiaXNoQmluKWBcbiAgXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIFxuYDtcbiJdLCJuYW1lcyI6WyJSdWJiaXNoQmluIiwiZHJhZ092ZXJDdXN0b21IYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwiZHJhZ0VsZW1lbnQiLCJkcmFnRW50cnlJdGVtIiwibWFya2VyRW50cnlJdGVtIiwicmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0iLCJtYXJrZXJFbnRyeUl0ZW1QYXRoIiwiZ2V0UGF0aCIsIm1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiZ2V0RXhwbG9yZXIiLCJwcmV2aW91c01hcmtlckVudHJ5SXRlbVBhdGgiLCJwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiZHJhZ0VudHJ5SXRlbVR5cGUiLCJnZXRUeXBlIiwicmVtb3ZlTWFya2VyIiwiYWRkTWFya2VyIiwiZHJvcEN1c3RvbUhhbmRsZXIiLCJhYm9ydGVkIiwiZG9uZSIsImRyb3BEcmFnRW50cnlJdGVtIiwiZ2V0UmVmZXJlbmNlIiwicHJvcGVydGllcyIsInJlZmVyZW5jZSIsImdldFJlZmVyZW5jZXMiLCJyZWZlcmVuY2VzIiwiZ2V0TWFya2VyRW50cnlJdGVtIiwibWFya2VyRW50cnlJdGVtTmFtZSIsImFkZE1hcmtlckVudHJ5SXRlbSIsIm9wZW4iLCJyZW1vdmVNYXJrZXJFbnRyeUl0ZW0iLCJjbG9zZSIsIm5hbWUiLCJ0eXBlIiwiRklMRV9OQU1FX0RSQUdfRU5UUllfVFlQRSIsImV4cGxvcmVyIiwiZmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJGaWxlTmFtZU1hcmtlckVudHJ5SXRlbSIsIkRJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSIsImRpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIiwic2V0TWFya2VyRW50cnlJdGVtIiwicmVzZXRNYXJrZXJFbnRyeUl0ZW0iLCJyZXNldERyb3BFbGVtZW50IiwiZHJhZ0VudHJ5SXRlbUV4cGxvcmVyIiwic291cmNlRW50cnlQYXRoIiwic291cmNlRW50cnlQYXRoRnJvbUVudHJ5SXRlbSIsInRhcmdldEVudHJ5UGF0aCIsInBhdGhNYXBzIiwiZ2V0UGF0aE1hcHMiLCJyZW1vdmVEcmFnRW50cnlJdGVtcyIsImN1c3RvbUV2ZW50VHlwZSIsIlJFTU9WRV9DVVNUT01fRVZFTlRfVFlQRSIsImNhbGxDdXN0b21IYW5kbGVyc0FzeW5jIiwiZm9yRWFjaCIsInBhdGhNYXAiLCJyZW1vdmVEcmFnRW50cnlJdGVtIiwiYWRkRHJhZ0VudHJ5SXRlbSIsInNob3dPcGVuUnViYmlzaEJpblNWRyIsImhpZGVDbG9zZWRSdWJiaXNoQmluU1ZHIiwiaGlkZU9wZW5SdWJiaXNoQmluU1ZHIiwic2hvd0Nsb3NlZFJ1YmJpc2hCaW5TVkciLCJkaWRNb3VudCIsImVuYWJsZURyb3AiLCJvbkN1c3RvbURyb3AiLCJvbkN1c3RvbURyYWdPdmVyIiwid2lsbFVubW91bnQiLCJkaXNhYmxlRHJvcCIsIm9mZkN1c3RvbURyb3AiLCJvZmZDdXN0b21EcmFnT3ZlciIsImFkZEZpbGVQYXRoIiwiZmlsZVBhdGgiLCJyZWFkT25seSIsInJlbW92ZUZpbGVQYXRoIiwicmVtb3ZlRW1wdHlQYXJlbnREaXJlY3RvcmllcyIsInJlbW92ZUFsbFBhdGhzIiwiYWRkRGlyZWN0b3J5UGF0aCIsImRpcmVjdG9yeVBhdGgiLCJjb2xsYXBzZWQiLCJyZW1vdmVEaXJlY3RvcnlQYXRoIiwiZ2V0TWFya2VyRW50cnlJdGVtUGF0aCIsImdldFN0YXRlIiwiZ2V0TWFya2VyRW50cnlJdGVtRXhwbG9yZXIiLCJzZXRNYXJrZXJFbnRyeUl0ZW1QYXRoIiwidXBkYXRlU3RhdGUiLCJzZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsInNldEluaXRpYWxTdGF0ZSIsInNldFN0YXRlIiwiY2hpbGRFbGVtZW50cyIsIk9wZW5SdWJiaXNoQmluU1ZHIiwiQ2xvc2VkUnViYmlzaEJpblNWRyIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0IiwiRWxlbWVudCIsInRhZ05hbWUiLCJpZ25vcmVkUHJvcGVydGllcyIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJvcE1peGlucyIsInJ1YmJp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
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWJiaXNoQmluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IGRyb3BNaXhpbnMgfSBmcm9tIFwiZWFzeS1kcmFnLWFuZC1kcm9wXCI7XG5cbmltcG9ydCBydWJiaXNoQmluTWl4aW5zIGZyb20gXCIuL21peGlucy9ydWJiaXNoQmluXCI7XG5pbXBvcnQgT3BlblJ1YmJpc2hCaW5TVkcgZnJvbSBcIi4vc3ZnL3J1YmJpc2hCaW4vb3BlblwiO1xuaW1wb3J0IENsb3NlZFJ1YmJpc2hCaW5TVkcgZnJvbSBcIi4vc3ZnL3J1YmJpc2hCaW4vY2xvc2VkXCI7XG5pbXBvcnQgZHJhZ0VudHJ5SXRlbU1peGlucyBmcm9tIFwiLi9taXhpbnMvZHJhZ0VudHJ5SXRlbVwiO1xuaW1wb3J0IEZpbGVOYW1lTWFya2VyRW50cnlJdGVtIGZyb20gXCIuL2l0ZW0vZW50cnkvbWFya2VyL2ZpbGVOYW1lXCI7XG5pbXBvcnQgRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSBmcm9tIFwiLi9pdGVtL2VudHJ5L21hcmtlci9kaXJlY3RvcnlOYW1lXCI7XG5cbmltcG9ydCB7IFJFTU9WRV9DVVNUT01fRVZFTlRfVFlQRSB9IGZyb20gXCIuL2N1c3RvbUV2ZW50VHlwZXNcIjtcbmltcG9ydCB7IHNvdXJjZUVudHJ5UGF0aEZyb21FbnRyeUl0ZW0gfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aE1hcFwiO1xuaW1wb3J0IHsgRElSRUNUT1JZX05BTUVfRFJBR19FTlRSWV9UWVBFLCBGSUxFX05BTUVfRFJBR19FTlRSWV9UWVBFIH0gZnJvbSBcIi4vZW50cnlUeXBlc1wiO1xuXG5jbGFzcyBSdWJiaXNoQmluIGV4dGVuZHMgRWxlbWVudCB7XG4gIGRyYWdPdmVyQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgZHJhZ0VsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQsICAvLy9cbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCk7XG5cbiAgICBsZXQgbWFya2VyRW50cnlJdGVtUGF0aCA9IG1hcmtlckVudHJ5SXRlbS5nZXRQYXRoKCksXG4gICAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbVBhdGggPSBtYXJrZXJFbnRyeUl0ZW1QYXRoLCAvLy9cbiAgICAgICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyID0gbWFya2VyRW50cnlJdGVtRXhwbG9yZXI7IC8vL1xuXG4gICAgbWFya2VyRW50cnlJdGVtUGF0aCA9IG51bGw7IC8vL1xuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSB0aGlzOyAgLy8vXG5cbiAgICBpZiAoKG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyICE9PSBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyKSB8fCAobWFya2VyRW50cnlJdGVtUGF0aCAhPT0gcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoKSkge1xuICAgICAgY29uc3QgZHJhZ0VudHJ5SXRlbVR5cGUgPSBkcmFnRW50cnlJdGVtLmdldFR5cGUoKTtcblxuICAgICAgcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuYWRkTWFya2VyKG1hcmtlckVudHJ5SXRlbVBhdGgsIGRyYWdFbnRyeUl0ZW1UeXBlKTtcbiAgICB9XG4gIH1cblxuICBkcm9wQ3VzdG9tSGFuZGxlciA9IChldmVudCwgZWxlbWVudCwgZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGRvbmUpID0+IHtcbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQsICAvLy9cbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCksXG4gICAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKTtcblxuICAgIGlmIChhYm9ydGVkKSB7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuZHJvcERyYWdFbnRyeUl0ZW0oZXZlbnQsIGVsZW1lbnQsIGRyYWdFbnRyeUl0ZW0sIGRvbmUpO1xuICB9XG5cbiAgZ2V0UmVmZXJlbmNlKCkge1xuICAgIGNvbnN0IHsgcmVmZXJlbmNlID0gbnVsbCB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIHJlZmVyZW5jZTtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZXMoKSB7XG4gICAgY29uc3QgeyByZWZlcmVuY2VzID0gW10gfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiByZWZlcmVuY2VzO1xuICB9XG5cbiAgcmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSB7XG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtID0gZ2V0TWFya2VyRW50cnlJdGVtKCk7XG5cbiAgICByZXR1cm4gbWFya2VyRW50cnlJdGVtO1xuICB9XG5cbiAgYWRkTWFya2VyKG1hcmtlckVudHJ5SXRlbVBhdGgsIGRyYWdFbnRyeUl0ZW1UeXBlKSB7XG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtTmFtZSA9IG1hcmtlckVudHJ5SXRlbVBhdGg7ICAvLy9cblxuICAgIHRoaXMuYWRkTWFya2VyRW50cnlJdGVtKG1hcmtlckVudHJ5SXRlbU5hbWUsIGRyYWdFbnRyeUl0ZW1UeXBlKTtcblxuICAgIHRoaXMub3BlbigpO1xuICB9XG5cbiAgcmVtb3ZlTWFya2VyKCkge1xuICAgIHRoaXMucmVtb3ZlTWFya2VyRW50cnlJdGVtKCk7XG5cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBhZGRNYXJrZXJFbnRyeUl0ZW0obWFya2VyRW50cnlJdGVtTmFtZSwgZHJhZ0VudHJ5SXRlbVR5cGUpIHtcbiAgICBsZXQgbWFya2VyRW50cnlJdGVtO1xuXG4gICAgY29uc3QgbmFtZSA9IG1hcmtlckVudHJ5SXRlbU5hbWUsIC8vL1xuICAgICAgICAgIHR5cGUgPSBkcmFnRW50cnlJdGVtVHlwZTsgIC8vL1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUgOiB7XG4gICAgICAgIGNvbnN0IGV4cGxvcmVyID0gdGhpcywgIC8vL1xuICAgICAgICAgICAgICBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbSA9XG5cbiAgICAgICAgICAgICAgICA8RmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbTsgIC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSA6IHtcbiAgICAgICAgY29uc3QgZXhwbG9yZXIgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICAgIGRpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gPVxuXG4gICAgICAgICAgICAgICAgPERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRNYXJrZXJFbnRyeUl0ZW0obWFya2VyRW50cnlJdGVtKTtcbiAgfVxuXG4gIHJlbW92ZU1hcmtlckVudHJ5SXRlbSgpIHtcbiAgICByZXNldE1hcmtlckVudHJ5SXRlbSgpO1xuXG4gICAgcmVzZXREcm9wRWxlbWVudCgpO1xuICB9XG5cbiAgZHJvcERyYWdFbnRyeUl0ZW0oZXZlbnQsIGVsZW1lbnQsIGRyYWdFbnRyeUl0ZW0sIGRvbmUpIHtcbiAgICBjb25zdCBkcmFnRW50cnlJdGVtRXhwbG9yZXIgPSBkcmFnRW50cnlJdGVtLmdldEV4cGxvcmVyKCksXG4gICAgICAgICAgc291cmNlRW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoRnJvbUVudHJ5SXRlbShkcmFnRW50cnlJdGVtKSxcbiAgICAgICAgICB0YXJnZXRFbnRyeVBhdGggPSBudWxsLFxuICAgICAgICAgIHBhdGhNYXBzID0gZHJhZ0VudHJ5SXRlbS5nZXRQYXRoTWFwcyhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCksXG4gICAgICAgICAgZXhwbG9yZXIgPSBkcmFnRW50cnlJdGVtRXhwbG9yZXI7ICAvLy9cblxuICAgIHRoaXMucmVtb3ZlRHJhZ0VudHJ5SXRlbXMoZXZlbnQsIGVsZW1lbnQsIHBhdGhNYXBzLCBleHBsb3JlciwgZG9uZSk7XG4gIH1cblxuICByZW1vdmVEcmFnRW50cnlJdGVtcyhldmVudCwgZWxlbWVudCwgcGF0aE1hcHMsIGV4cGxvcmVyLCBkb25lKSB7XG4gICAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gUkVNT1ZFX0NVU1RPTV9FVkVOVF9UWVBFO1xuXG4gICAgdGhpcy5jYWxsQ3VzdG9tSGFuZGxlcnNBc3luYyhjdXN0b21FdmVudFR5cGUsIGV2ZW50LCBlbGVtZW50LCBwYXRoTWFwcywgKCkgPT4ge1xuICAgICAgcGF0aE1hcHMuZm9yRWFjaCgocGF0aE1hcCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpXG4gICAgICB9KTtcblxuICAgICAgcGF0aE1hcHMuZm9yRWFjaCgocGF0aE1hcCkgPT4ge1xuICAgICAgICB0aGlzLmFkZERyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVtb3ZlTWFya2VyKCk7XG5cbiAgICAgIGRvbmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5zaG93T3BlblJ1YmJpc2hCaW5TVkcoKTtcbiAgICB0aGlzLmhpZGVDbG9zZWRSdWJiaXNoQmluU1ZHKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmhpZGVPcGVuUnViYmlzaEJpblNWRygpO1xuICAgIHRoaXMuc2hvd0Nsb3NlZFJ1YmJpc2hCaW5TVkcoKTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIHRoaXMuZW5hYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vbkN1c3RvbURyb3AodGhpcy5kcm9wQ3VzdG9tSGFuZGxlcik7XG5cbiAgICB0aGlzLm9uQ3VzdG9tRHJhZ092ZXIodGhpcy5kcmFnT3ZlckN1c3RvbUhhbmRsZXIpO1xuXG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vZmZDdXN0b21Ecm9wKHRoaXMuZHJvcEN1c3RvbUhhbmRsZXIpO1xuXG4gICAgdGhpcy5vZmZDdXN0b21EcmFnT3Zlcih0aGlzLmRyYWdPdmVyQ3VzdG9tSGFuZGxlcik7XG4gIH1cblxuICBhZGRGaWxlUGF0aChmaWxlUGF0aCwgcmVhZE9ubHkgPSBmYWxzZSkge1xuICAgIC8vL1xuICB9XG5cbiAgcmVtb3ZlRmlsZVBhdGgoZmlsZVBhdGgsIHJlbW92ZUVtcHR5UGFyZW50RGlyZWN0b3JpZXMgPSBmYWxzZSkge1xuICAgIC8vL1xuICB9XG5cbiAgcmVtb3ZlQWxsUGF0aHMoKSB7XG4gICAgLy8vXG4gIH1cblxuICBhZGREaXJlY3RvcnlQYXRoKGRpcmVjdG9yeVBhdGgsIHJlYWRPbmx5ID0gZmFsc2UsIGNvbGxhcHNlZCA9IHRydWUpIHtcbiAgICAvLy9cbiAgfVxuXG4gIHJlbW92ZURpcmVjdG9yeVBhdGgoZGlyZWN0b3J5UGF0aCwgcmVtb3ZlRW1wdHlQYXJlbnREaXJlY3RvcmllcyA9IGZhbHNlKSB7XG4gICAgLy8vXG4gIH1cblxuICBnZXRNYXJrZXJFbnRyeUl0ZW1QYXRoKCkge1xuICAgIGNvbnN0IHsgbWFya2VyRW50cnlJdGVtUGF0aCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIG1hcmtlckVudHJ5SXRlbVBhdGg7XG4gIH1cblxuICBnZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcigpIHtcbiAgICBjb25zdCB7IG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgICByZXR1cm4gbWFya2VyRW50cnlJdGVtRXhwbG9yZXI7XG4gIH1cblxuICBzZXRNYXJrZXJFbnRyeUl0ZW1QYXRoKG1hcmtlckVudHJ5SXRlbVBhdGgpIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbVBhdGhcbiAgICB9KTtcbiAgfVxuXG4gIHNldE1hcmtlckVudHJ5SXRlbUV4cGxvcmVyKG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlclxuICAgIH0pO1xuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbVBhdGggPSBudWxsLFxuICAgICAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyID0gbnVsbDtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbWFya2VyRW50cnlJdGVtUGF0aCxcbiAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyXG4gICAgfSk7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IHsgT3BlblJ1YmJpc2hCaW5TVkcsIENsb3NlZFJ1YmJpc2hCaW5TVkcgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICByZXR1cm4gKFtcblxuICAgICAgPE9wZW5SdWJiaXNoQmluU1ZHLz4sXG4gICAgICA8Q2xvc2VkUnViYmlzaEJpblNWRy8+XG5cbiAgICBdKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuICB9XG5cbiAgc3RhdGljIE9wZW5SdWJiaXNoQmluU1ZHID0gT3BlblJ1YmJpc2hCaW5TVkc7XG5cbiAgc3RhdGljIENsb3NlZFJ1YmJpc2hCaW5TVkcgPSBDbG9zZWRSdWJiaXNoQmluU1ZHO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJyZWZlcmVuY2VcIixcbiAgICBcInJlZmVyZW5jZXNcIlxuICBdO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwicnViYmlzaC1iaW5cIlxuICB9O1xufVxuXG5PYmplY3QuYXNzaWduKFJ1YmJpc2hCaW4ucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oUnViYmlzaEJpbi5wcm90b3R5cGUsIHJ1YmJpc2hCaW5NaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihSdWJiaXNoQmluLnByb3RvdHlwZSwgZHJhZ0VudHJ5SXRlbU1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShSdWJiaXNoQmluKWBcbiAgXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIFxuYDtcbiJdLCJuYW1lcyI6WyJSdWJiaXNoQmluIiwiRWxlbWVudCIsImRyYWdPdmVyQ3VzdG9tSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsImRyYWdFbGVtZW50IiwiZHJhZ0VudHJ5SXRlbSIsIm1hcmtlckVudHJ5SXRlbSIsInJldHJpZXZlTWFya2VyRW50cnlJdGVtIiwibWFya2VyRW50cnlJdGVtUGF0aCIsImdldFBhdGgiLCJtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsImdldEV4cGxvcmVyIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1UeXBlIiwiZ2V0VHlwZSIsInJlbW92ZU1hcmtlciIsImFkZE1hcmtlciIsImRyb3BDdXN0b21IYW5kbGVyIiwiYWJvcnRlZCIsImRvbmUiLCJkcm9wRHJhZ0VudHJ5SXRlbSIsImdldFJlZmVyZW5jZSIsInJlZmVyZW5jZSIsInByb3BlcnRpZXMiLCJnZXRSZWZlcmVuY2VzIiwicmVmZXJlbmNlcyIsImdldE1hcmtlckVudHJ5SXRlbSIsIm1hcmtlckVudHJ5SXRlbU5hbWUiLCJhZGRNYXJrZXJFbnRyeUl0ZW0iLCJvcGVuIiwicmVtb3ZlTWFya2VyRW50cnlJdGVtIiwiY2xvc2UiLCJuYW1lIiwidHlwZSIsIkZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUiLCJleHBsb3JlciIsImZpbGVOYW1lTWFya2VyRW50cnlJdGVtIiwiRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJESVJFQ1RPUllfTkFNRV9EUkFHX0VOVFJZX1RZUEUiLCJkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIiwiRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSIsInNldE1hcmtlckVudHJ5SXRlbSIsInJlc2V0TWFya2VyRW50cnlJdGVtIiwicmVzZXREcm9wRWxlbWVudCIsImRyYWdFbnRyeUl0ZW1FeHBsb3JlciIsInNvdXJjZUVudHJ5UGF0aCIsInNvdXJjZUVudHJ5UGF0aEZyb21FbnRyeUl0ZW0iLCJ0YXJnZXRFbnRyeVBhdGgiLCJwYXRoTWFwcyIsImdldFBhdGhNYXBzIiwicmVtb3ZlRHJhZ0VudHJ5SXRlbXMiLCJjdXN0b21FdmVudFR5cGUiLCJSRU1PVkVfQ1VTVE9NX0VWRU5UX1RZUEUiLCJjYWxsQ3VzdG9tSGFuZGxlcnNBc3luYyIsImZvckVhY2giLCJwYXRoTWFwIiwicmVtb3ZlRHJhZ0VudHJ5SXRlbSIsImFkZERyYWdFbnRyeUl0ZW0iLCJzaG93T3BlblJ1YmJpc2hCaW5TVkciLCJoaWRlQ2xvc2VkUnViYmlzaEJpblNWRyIsImhpZGVPcGVuUnViYmlzaEJpblNWRyIsInNob3dDbG9zZWRSdWJiaXNoQmluU1ZHIiwiZGlkTW91bnQiLCJlbmFibGVEcm9wIiwib25DdXN0b21Ecm9wIiwib25DdXN0b21EcmFnT3ZlciIsIndpbGxVbm1vdW50IiwiZGlzYWJsZURyb3AiLCJvZmZDdXN0b21Ecm9wIiwib2ZmQ3VzdG9tRHJhZ092ZXIiLCJhZGRGaWxlUGF0aCIsImZpbGVQYXRoIiwicmVhZE9ubHkiLCJyZW1vdmVGaWxlUGF0aCIsInJlbW92ZUVtcHR5UGFyZW50RGlyZWN0b3JpZXMiLCJyZW1vdmVBbGxQYXRocyIsImFkZERpcmVjdG9yeVBhdGgiLCJkaXJlY3RvcnlQYXRoIiwiY29sbGFwc2VkIiwicmVtb3ZlRGlyZWN0b3J5UGF0aCIsImdldE1hcmtlckVudHJ5SXRlbVBhdGgiLCJnZXRTdGF0ZSIsImdldE1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwic2V0TWFya2VyRW50cnlJdGVtUGF0aCIsInVwZGF0ZVN0YXRlIiwic2V0TWFya2VyRW50cnlJdGVtRXhwbG9yZXIiLCJzZXRJbml0aWFsU3RhdGUiLCJzZXRTdGF0ZSIsImNoaWxkRWxlbWVudHMiLCJPcGVuUnViYmlzaEJpblNWRyIsIkNsb3NlZFJ1YmJpc2hCaW5TVkciLCJpbml0aWFsaXNlIiwiYXNzaWduQ29udGV4dCIsInRhZ05hbWUiLCJpZ25vcmVkUHJvcGVydGllcyIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJvcE1peGlucyIsInJ1YmJp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
|