easy-file-system 1.5.6 → 1.5.7
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/example.js +2476 -1320
- package/lib/button/name.js +35 -1
- package/lib/constants.js +13 -4
- package/lib/div/item/entry/directoryName.js +19 -10
- package/lib/div/item/entry/fileName.js +17 -9
- package/lib/div/item/entry.js +8 -1
- package/lib/eventTypes.js +7 -2
- package/lib/example/view/button/editSelected.js +157 -0
- package/lib/example/view/explorer/first.js +158 -0
- package/lib/example/view/explorer/second.js +160 -0
- package/lib/example/view/rubbishBin.js +111 -0
- package/lib/example/view.js +71 -45
- package/lib/explorer.js +3 -78
- package/lib/index.js +7 -3
- package/lib/input/name.js +300 -0
- package/lib/item/entry/drag/directoryName.js +8 -6
- package/lib/item/entry/drag/fileName.js +10 -8
- package/lib/item/entry/drag.js +57 -15
- package/lib/keyCodes.js +22 -0
- package/lib/list/entries.js +16 -2
- package/lib/mixins/event.js +99 -0
- package/lib/styles.js +1 -5
- package/package.json +1 -1
- package/src/button/name.js +34 -0
- package/src/constants.js +1 -0
- package/src/div/item/entry/directoryName.js +23 -16
- package/src/div/item/entry/fileName.js +20 -14
- package/src/div/item/entry.js +7 -0
- package/src/eventTypes.js +3 -1
- package/src/example/view/button/editSelected.js +23 -0
- package/src/example/view/explorer/first.js +18 -0
- package/src/example/view/explorer/second.js +18 -0
- package/src/example/view/rubbishBin.js +9 -0
- package/src/example/view.js +53 -41
- package/src/explorer.js +2 -83
- package/src/index.js +1 -0
- package/src/input/name.js +90 -0
- package/src/item/entry/drag/directoryName.js +5 -4
- package/src/item/entry/drag/fileName.js +10 -6
- package/src/item/entry/drag.js +77 -23
- package/src/keyCodes.js +4 -0
- package/src/list/entries.js +16 -0
- package/src/mixins/event.js +140 -0
- package/src/styles.js +0 -1
package/lib/explorer.js
CHANGED
|
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _easyWithStyle = /*#__PURE__*/ _interopRequireDefault(require("easy-with-style"));
|
|
12
12
|
var _easy = require("easy");
|
|
13
13
|
var _easyDragAndDrop = require("easy-drag-and-drop");
|
|
14
|
-
var
|
|
14
|
+
var _event = /*#__PURE__*/ _interopRequireDefault(require("./mixins/event"));
|
|
15
15
|
var _entries = /*#__PURE__*/ _interopRequireDefault(require("./list/entries"));
|
|
16
16
|
var _drag = /*#__PURE__*/ _interopRequireDefault(require("./item/entry/drag"));
|
|
17
17
|
var _fileName = /*#__PURE__*/ _interopRequireDefault(require("./item/entry/drag/fileName"));
|
|
@@ -19,7 +19,6 @@ var _fileName1 = /*#__PURE__*/ _interopRequireDefault(require("./item/entry/mark
|
|
|
19
19
|
var _directoryName = /*#__PURE__*/ _interopRequireDefault(require("./item/entry/drag/directoryName"));
|
|
20
20
|
var _directoryName1 = /*#__PURE__*/ _interopRequireDefault(require("./item/entry/marker/directoryName"));
|
|
21
21
|
var _styles = require("./styles");
|
|
22
|
-
var _eventTypes = require("./eventTypes");
|
|
23
22
|
var _entryTypes = require("./entryTypes");
|
|
24
23
|
var _pathMap = require("./utilities/pathMap");
|
|
25
24
|
function _assertThisInitialized(self) {
|
|
@@ -248,7 +247,6 @@ function _templateObject() {
|
|
|
248
247
|
};
|
|
249
248
|
return data;
|
|
250
249
|
}
|
|
251
|
-
var forEach = _necessary.asynchronousUtilities.forEach;
|
|
252
250
|
var Explorer = /*#__PURE__*/ function(Element) {
|
|
253
251
|
_inherits(Explorer, Element);
|
|
254
252
|
var _super = _createSuper(Explorer);
|
|
@@ -370,48 +368,6 @@ var Explorer = /*#__PURE__*/ function(Element) {
|
|
|
370
368
|
return _$DirectoryNameMarkerEntryItem;
|
|
371
369
|
}
|
|
372
370
|
},
|
|
373
|
-
{
|
|
374
|
-
key: "onMove",
|
|
375
|
-
value: function onMove(moveHandler, element) {
|
|
376
|
-
var eventType = _eventTypes.MOVE_EVENT_TYPE, handler = moveHandler; ///
|
|
377
|
-
this.addEventListener(eventType, handler, element);
|
|
378
|
-
}
|
|
379
|
-
},
|
|
380
|
-
{
|
|
381
|
-
key: "offMove",
|
|
382
|
-
value: function offMove(moveHandler, element) {
|
|
383
|
-
var eventType = _eventTypes.MOVE_EVENT_TYPE, handler = moveHandler; ///
|
|
384
|
-
this.removeEventListener(eventType, handler, element);
|
|
385
|
-
}
|
|
386
|
-
},
|
|
387
|
-
{
|
|
388
|
-
key: "onOpen",
|
|
389
|
-
value: function onOpen(openHandler, element) {
|
|
390
|
-
var eventType = _eventTypes.OPEN_EVENT_TYPE, handler = openHandler; ///
|
|
391
|
-
this.addEventListener(eventType, handler, element);
|
|
392
|
-
}
|
|
393
|
-
},
|
|
394
|
-
{
|
|
395
|
-
key: "offOpen",
|
|
396
|
-
value: function offOpen(openHandler, element) {
|
|
397
|
-
var eventType = _eventTypes.OPEN_EVENT_TYPE, handler = openHandler; ///
|
|
398
|
-
this.removeEventListener(eventType, handler, element);
|
|
399
|
-
}
|
|
400
|
-
},
|
|
401
|
-
{
|
|
402
|
-
key: "onSelect",
|
|
403
|
-
value: function onSelect(selectHandler, element) {
|
|
404
|
-
var eventType = _eventTypes.SELECT_EVENT_TYPE, handler = selectHandler; ///
|
|
405
|
-
this.addEventListener(eventType, handler, element);
|
|
406
|
-
}
|
|
407
|
-
},
|
|
408
|
-
{
|
|
409
|
-
key: "offSelect",
|
|
410
|
-
value: function offSelect(selectHandler, element) {
|
|
411
|
-
var eventType = _eventTypes.SELECT_EVENT_TYPE, handler = selectHandler; ///
|
|
412
|
-
this.removeEventListener(eventType, handler, element);
|
|
413
|
-
}
|
|
414
|
-
},
|
|
415
371
|
{
|
|
416
372
|
key: "retrievePaths",
|
|
417
373
|
value: function retrievePaths(type) {
|
|
@@ -553,38 +509,6 @@ var Explorer = /*#__PURE__*/ function(Element) {
|
|
|
553
509
|
this.addDirectoryPath(directoryPath, collapsed);
|
|
554
510
|
}
|
|
555
511
|
},
|
|
556
|
-
{
|
|
557
|
-
key: "callMoveHandlersAsync",
|
|
558
|
-
value: function callMoveHandlersAsync(pathMaps, done) {
|
|
559
|
-
var eventType = _eventTypes.MOVE_EVENT_TYPE, eventListeners = this.findEventListeners(eventType);
|
|
560
|
-
forEach(eventListeners, function(eventListener, next) {
|
|
561
|
-
var handler = eventListener.handler, element = eventListener.element, moveHandler = handler, _$done = next; ///
|
|
562
|
-
moveHandler.call(element, pathMaps, _$done);
|
|
563
|
-
}, done);
|
|
564
|
-
}
|
|
565
|
-
},
|
|
566
|
-
{
|
|
567
|
-
key: "callSelectHandlers",
|
|
568
|
-
value: function callSelectHandlers(path, selected) {
|
|
569
|
-
var _this = this;
|
|
570
|
-
var eventType = _eventTypes.SELECT_EVENT_TYPE, eventListeners = this.findEventListeners(eventType);
|
|
571
|
-
eventListeners.forEach(function(eventListener) {
|
|
572
|
-
var handler = eventListener.handler, element = eventListener.element, selectHandler = handler; ///
|
|
573
|
-
selectHandler.call(element, path, selected, _this); ///
|
|
574
|
-
});
|
|
575
|
-
}
|
|
576
|
-
},
|
|
577
|
-
{
|
|
578
|
-
key: "callOpenHandlers",
|
|
579
|
-
value: function callOpenHandlers(filePath) {
|
|
580
|
-
var _this = this;
|
|
581
|
-
var eventType = _eventTypes.OPEN_EVENT_TYPE, eventListeners = this.findEventListeners(eventType);
|
|
582
|
-
eventListeners.forEach(function(eventListener) {
|
|
583
|
-
var handler = eventListener.handler, element = eventListener.element, openHandler = handler; ///
|
|
584
|
-
openHandler.call(element, filePath, _this); ///
|
|
585
|
-
});
|
|
586
|
-
}
|
|
587
|
-
},
|
|
588
512
|
{
|
|
589
513
|
key: "didMount",
|
|
590
514
|
value: function didMount() {
|
|
@@ -665,6 +589,7 @@ _defineProperty(Explorer, "defaultProperties", {
|
|
|
665
589
|
className: "explorer"
|
|
666
590
|
});
|
|
667
591
|
Object.assign(Explorer.prototype, _easyDragAndDrop.dropMixins);
|
|
592
|
+
Object.assign(Explorer.prototype, _event.default);
|
|
668
593
|
var _default = (0, _easyWithStyle.default)(Explorer)(_templateObject(), _styles.explorerPadding);
|
|
669
594
|
|
|
670
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBsb3Jlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5pbXBvcnQgeyBkcm9wTWl4aW5zIH0gZnJvbSBcImVhc3ktZHJhZy1hbmQtZHJvcFwiO1xuaW1wb3J0IHsgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgRW50cmllc0xpc3QgZnJvbSBcIi4vbGlzdC9lbnRyaWVzXCI7XG5pbXBvcnQgRHJhZ0VudHJ5SXRlbSBmcm9tIFwiLi9pdGVtL2VudHJ5L2RyYWdcIjtcbmltcG9ydCBGaWxlTmFtZURyYWdFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9kcmFnL2ZpbGVOYW1lXCI7XG5pbXBvcnQgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZmlsZU5hbWVcIjtcbmltcG9ydCBEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSBmcm9tIFwiLi9pdGVtL2VudHJ5L2RyYWcvZGlyZWN0b3J5TmFtZVwiO1xuaW1wb3J0IERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZGlyZWN0b3J5TmFtZVwiO1xuXG5pbXBvcnQgeyBleHBsb3JlclBhZGRpbmcgfSBmcm9tIFwiLi9zdHlsZXNcIjtcbmltcG9ydCB7IE9QRU5fRVZFTlRfVFlQRSwgTU9WRV9FVkVOVF9UWVBFLCBTRUxFQ1RfRVZFTlRfVFlQRSB9IGZyb20gXCIuL2V2ZW50VHlwZXNcIjtcbmltcG9ydCB7IEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUsIERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSB9IGZyb20gXCIuL2VudHJ5VHlwZXNcIjtcbmltcG9ydCB7IHNvdXJjZUVudHJ5UGF0aEZyb21EcmFnRW50cnlJdGVtUGF0aCwgdGFyZ2V0RW50cnlQYXRoRnJvbU1hcmtlckVudHJ5SXRlbVBhdGggfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aE1hcFwiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcztcblxuY2xhc3MgRXhwbG9yZXIgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3Ioc2VsZWN0b3IsIG1vdW50ZWQpIHtcbiAgICBzdXBlcihzZWxlY3Rvcik7XG5cbiAgICB0aGlzLm1vdW50ZWQgPSBtb3VudGVkO1xuICB9XG5cbiAgaXNNb3VudGVkKCkge1xuICAgIHJldHVybiB0aGlzLm1vdW50ZWQ7XG4gIH1cblxuICBkcm9wSGFuZGxlciA9IChkcmFnRWxlbWVudCwgYWJvcnRlZCwgZWxlbWVudCwgZG9uZSkgPT4ge1xuICAgIGNvbnN0IGRyYWdFbGVtZW50RHJhZ0VudHJ5SXRlbSA9IChkcmFnRWxlbWVudCBpbnN0YW5jZW9mIERyYWdFbnRyeUl0ZW0pO1xuXG4gICAgaWYgKCFkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0pIHtcbiAgICAgIGRvbmUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IHRoaXMucmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSxcbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IG1hcmtlckVudHJ5SXRlbS5nZXRFeHBsb3JlcigpO1xuXG4gICAgaWYgKGFib3J0ZWQpIHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyLnJlbW92ZU1hcmtlcigpO1xuXG4gICAgICBkb25lKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQ7ICAvLy9cblxuICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyLmRyb3BEcmFnRW50cnlJdGVtKGRyYWdFbnRyeUl0ZW0sIGRvbmUpO1xuICB9XG5cbiAgZHJhZ092ZXJIYW5kbGVyID0gKGRyYWdFbGVtZW50LCBlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtID0gKGRyYWdFbGVtZW50IGluc3RhbmNlb2YgRHJhZ0VudHJ5SXRlbSk7XG5cbiAgICBpZiAoIWRyYWdFbGVtZW50RHJhZ0VudHJ5SXRlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW0gPSBkcmFnRWxlbWVudCwgIC8vL1xuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1FeHBsb3JlciA9IGRyYWdFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBkcmFnRW50cnlJdGVtRXhwbG9yZXJJZ25vcmVkID0gdGhpcy5pc0V4cGxvcmVySWdub3JlZChkcmFnRW50cnlJdGVtRXhwbG9yZXIpO1xuXG4gICAgaWYgKGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCksXG4gICAgICAgICAgZHJhZ0VudHJ5SXRlbU5hbWUgPSBkcmFnRW50cnlJdGVtLmdldE5hbWUoKTtcblxuICAgIGxldCBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtLmdldFBhdGgoKSxcbiAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtUGF0aCwgLy8vXG4gICAgICAgIHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcjsgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gZHJhZ0VudHJ5SXRlbU5hbWU7Ly8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IHRoaXM7ICAvLy9cblxuICAgIGlmICgobWFya2VyRW50cnlJdGVtRXhwbG9yZXIgIT09IHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIpIHx8IChtYXJrZXJFbnRyeUl0ZW1QYXRoICE9PSBwcmV2aW91c01hcmtlckVudHJ5SXRlbVBhdGgpKSB7XG4gICAgICBjb25zdCBkcmFnRW50cnlJdGVtVHlwZSA9IGRyYWdFbnRyeUl0ZW0uZ2V0VHlwZSgpO1xuXG4gICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyLnJlbW92ZU1hcmtlcigpO1xuXG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5hZGRNYXJrZXIobWFya2VyRW50cnlJdGVtUGF0aCwgZHJhZ0VudHJ5SXRlbVR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIGdldEV4cGxvcmVyKCkge1xuICAgIGNvbnN0IGV4cGxvcmVyID0gdGhpczsgIC8vL1xuXG4gICAgcmV0dXJuIGV4cGxvcmVyO1xuICB9XG5cbiAgZ2V0UmVmZXJlbmNlKCkge1xuICAgIGNvbnN0IHsgcmVmZXJlbmNlID0gbnVsbCB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIHJlZmVyZW5jZTtcbiAgfVxuXG4gIGdldEVudHJpZXNMaXN0KCkge1xuICBcdGNvbnN0IHsgRW50cmllc0xpc3QgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgXHRyZXR1cm4gRW50cmllc0xpc3Q7XG5cdH1cblxuICBpc0RpcmVjdG9yeUVtcHR5KGRpcmVjdG9yeVBhdGgpIHtcbiAgICBjb25zdCBkaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSA9IHRoaXMucmV0cmlldmVEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbShkaXJlY3RvcnlQYXRoKSxcbiAgICAgICAgICBkaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbUVtcHR5ID0gZGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0uaXNFbXB0eSgpLFxuICAgICAgICAgIGRpcmVjdG9yeUVtcHR5ID0gZGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW1FbXB0eTsgLy8vXG5cbiAgICByZXR1cm4gZGlyZWN0b3J5RW1wdHk7XG4gIH1cblxuICBpc0V4cGxvcmVySWdub3JlZChleHBsb3Jlcikge1xuICAgIGNvbnN0IHJlZmVyZW5jZSA9IGV4cGxvcmVyLmdldFJlZmVyZW5jZSgpLFxuICAgICAgICAgIGlnbm9yZWRSZWZlcmVuY2VzID0gdGhpcy5nZXRJZ25vcmVkUmVmZXJlbmNlcygpLFxuICAgICAgICAgIGlnbm9yZWRSZWZlcmVuY2VzSW5jbHVkZXNSZWZlcmVuY2UgPSBpZ25vcmVkUmVmZXJlbmNlcy5pbmNsdWRlcyhyZWZlcmVuY2UpLFxuICAgICAgICAgIGV4cGxvcmVySWdub3JlZCA9IGlnbm9yZWRSZWZlcmVuY2VzSW5jbHVkZXNSZWZlcmVuY2U7XHQvLy9cblxuICAgIHJldHVybiBleHBsb3Jlcklnbm9yZWQ7XG4gIH1cblxuICBnZXRJZ25vcmVkUmVmZXJlbmNlcygpIHtcbiAgICBjb25zdCB7IGlnbm9yZWRSZWZlcmVuY2VzID0gW10gfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiBpZ25vcmVkUmVmZXJlbmNlcztcbiAgfVxuXG4gIGdldEZpbGVOYW1lRHJhZ0VudHJ5SXRlbSgpIHtcblx0XHRjb25zdCB7IEZpbGVOYW1lRHJhZ0VudHJ5SXRlbSB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuXHRcdHJldHVybiBGaWxlTmFtZURyYWdFbnRyeUl0ZW07XG5cdH1cblxuICBnZXRGaWxlTmFtZU1hcmtlckVudHJ5SXRlbSgpIHtcbiAgICBjb25zdCB7IEZpbGVOYW1lTWFya2VyRW50cnlJdGVtIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgcmV0dXJuIEZpbGVOYW1lTWFya2VyRW50cnlJdGVtO1xuICB9XG5cbiAgZ2V0RGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0oKSB7XG5cdFx0Y29uc3QgeyBEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuXHRcdHJldHVybiBEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbTtcblx0fVxuXG4gIGdldERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0oKSB7XG4gICAgY29uc3QgeyBEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgcmV0dXJuIERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW07XG4gIH1cblxuICBvbk1vdmUobW92ZUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBNT1ZFX0VWRU5UX1RZUEUsXG4gICAgICAgICAgaGFuZGxlciA9IG1vdmVIYW5kbGVyOyAgLy8vXG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbiAgfVxuXG4gIG9mZk1vdmUobW92ZUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBNT1ZFX0VWRU5UX1RZUEUsXG4gICAgICAgICAgaGFuZGxlciA9IG1vdmVIYW5kbGVyOyAgLy8vXG5cbiAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbiAgfVxuXG4gIG9uT3BlbihvcGVuSGFuZGxlciwgZWxlbWVudCkge1xuICAgIGNvbnN0IGV2ZW50VHlwZSA9IE9QRU5fRVZFTlRfVFlQRSxcbiAgICAgICAgICBoYW5kbGVyID0gb3BlbkhhbmRsZXI7ICAvLy9cblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgb2ZmT3BlbihvcGVuSGFuZGxlciwgZWxlbWVudCkge1xuICAgIGNvbnN0IGV2ZW50VHlwZSA9IE9QRU5fRVZFTlRfVFlQRSxcbiAgICAgICAgICBoYW5kbGVyID0gb3BlbkhhbmRsZXI7ICAvLy9cblxuICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgb25TZWxlY3Qoc2VsZWN0SGFuZGxlciwgZWxlbWVudCkge1xuICAgIGNvbnN0IGV2ZW50VHlwZSA9IFNFTEVDVF9FVkVOVF9UWVBFLFxuICAgICAgICAgIGhhbmRsZXIgPSBzZWxlY3RIYW5kbGVyOyAgLy8vXG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbiAgfVxuXG4gIG9mZlNlbGVjdChzZWxlY3RIYW5kbGVyLCBlbGVtZW50KSB7XG4gICAgY29uc3QgZXZlbnRUeXBlID0gU0VMRUNUX0VWRU5UX1RZUEUsXG4gICAgICAgICAgaGFuZGxlciA9IHNlbGVjdEhhbmRsZXI7ICAvLy9cblxuICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgcmV0cmlldmVQYXRocyh0eXBlKSB7XG4gICAgY29uc3QgZHJhZ0VudHJ5SXRlbXMgPSB0aGlzLnJldHJpZXZlRHJhZ0VudHJ5SXRlbXMoKSxcbiAgICAgICAgICBwYXRocyA9IGRyYWdFbnRyeUl0ZW1zLnJlZHVjZSgocGF0aHMsIGRyYWdFbnRyeUl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW1UeXBlID0gZHJhZ0VudHJ5SXRlbS5nZXRUeXBlKCk7XG5cbiAgICAgICAgICAgIGlmIChkcmFnRW50cnlJdGVtVHlwZSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgICBjb25zdCBkcmFnRW50cnlJdGVtUGF0aCA9IGRyYWdFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgICAgICAgICAgICBwYXRoID0gZHJhZ0VudHJ5SXRlbVBhdGg7IC8vL1xuXG4gICAgICAgICAgICAgIHBhdGhzLnB1c2gocGF0aCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBwYXRocztcbiAgICAgICAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gcGF0aHM7XG4gIH1cblxuICByZXRyaWV2ZUZpbGVQYXRocygpIHtcbiAgICBjb25zdCB0eXBlID0gRklMRV9OQU1FX0RSQUdfRU5UUllfVFlQRSxcbiAgICAgICAgICBwYXRocyA9IHRoaXMucmV0cmlldmVQYXRocyh0eXBlKSxcbiAgICAgICAgICBmaWxlUGF0aHMgPSBwYXRoczsgLy8vXG5cbiAgICByZXR1cm4gZmlsZVBhdGhzO1xuICB9XG5cbiAgcmV0cmlldmVEaXJlY3RvcnlQYXRocygpIHtcbiAgICBjb25zdCB0eXBlID0gRElSRUNUT1JZX05BTUVfRFJBR19FTlRSWV9UWVBFLFxuICAgICAgICAgIHBhdGhzID0gdGhpcy5yZXRyaWV2ZVBhdGhzKHR5cGUpLFxuICAgICAgICAgIGRpcmVjdG9yeVBhdGhzID0gcGF0aHM7IC8vL1xuXG4gICAgcmV0dXJuIGRpcmVjdG9yeVBhdGhzO1xuICB9XG5cbiAgb3BlbkZpbGVOYW1lRHJhZ0VudHJ5SXRlbShmaWxlTmFtZURyYWdFbnRyeUl0ZW0pIHtcbiAgICBjb25zdCBmaWxlTmFtZURyYWdFbnRyeUl0ZW1QYXRoID0gZmlsZU5hbWVEcmFnRW50cnlJdGVtLmdldFBhdGgoKSxcbiAgICAgICAgICBmaWxlUGF0aCA9IGZpbGVOYW1lRHJhZ0VudHJ5SXRlbVBhdGg7IC8vL1xuXG4gICAgdGhpcy5jYWxsT3BlbkhhbmRsZXJzKGZpbGVQYXRoKTtcbiAgfVxuXG4gIHNlbGVjdERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSkge1xuICAgIGNvbnN0IHBhdGggPSBkcmFnRW50cnlJdGVtLmdldFBhdGgoKTtcblxuICAgIGxldCBzZWxlY3RlZCA9IGRyYWdFbnRyeUl0ZW0uaXNTZWxlY3RlZCgpO1xuXG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICBkcmFnRW50cnlJdGVtLmRlc2VsZWN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVzZWxlY3RBbGxQYXRocygpO1xuXG4gICAgICB0aGlzLnNlbGVjdFBhdGgocGF0aCk7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWQgPSAhc2VsZWN0ZWQ7IC8vL1xuXG4gICAgdGhpcy5jYWxsU2VsZWN0SGFuZGxlcnMocGF0aCwgc2VsZWN0ZWQpO1xuICB9XG5cbiAgZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSkge1xuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IHRoaXMucmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSxcbiAgICAgICAgICBkcmFnRW50cnlJdGVtUGF0aCA9IGRyYWdFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgIG1hcmtlckVudHJ5SXRlbVBhdGggPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1FeHBsb3JlciA9IGRyYWdFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBzb3VyY2VFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGhGcm9tRHJhZ0VudHJ5SXRlbVBhdGgoZHJhZ0VudHJ5SXRlbVBhdGgpLFxuICAgICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHRhcmdldEVudHJ5UGF0aEZyb21NYXJrZXJFbnRyeUl0ZW1QYXRoKG1hcmtlckVudHJ5SXRlbVBhdGgpLFxuICAgICAgICAgIHBhdGhNYXBzID0gZHJhZ0VudHJ5SXRlbS5nZXRQYXRoTWFwcyhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCksXG4gICAgICAgICAgZXhwbG9yZXIgPSBkcmFnRW50cnlJdGVtRXhwbG9yZXI7ICAvLy9cblxuICAgIHRoaXMubW92ZURyYWdFbnRyeUl0ZW1zKHBhdGhNYXBzLCBleHBsb3JlciwgKCkgPT4ge1xuICAgICAgdGhpcy5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbW92ZURyYWdFbnRyeUl0ZW1zKHBhdGhNYXBzLCBleHBsb3JlciwgZG9uZSkge1xuICAgIHRoaXMuY2FsbE1vdmVIYW5kbGVyc0FzeW5jKHBhdGhNYXBzLCAoKSA9PiB7XG4gICAgICBwYXRoTWFwcy5mb3JFYWNoKChwYXRoTWFwKSA9PiB0aGlzLnJlbW92ZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpKTtcblxuICAgICAgcGF0aE1hcHMuZm9yRWFjaCgocGF0aE1hcCkgPT4gdGhpcy5hZGREcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKSk7XG5cbiAgICAgIGRvbmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpIHtcbiAgICBjb25zdCB7IGVudHJ5RGlyZWN0b3J5IH0gPSBwYXRoTWFwO1xuXG4gICAgZW50cnlEaXJlY3RvcnkgP1xuICAgICAgdGhpcy5yZW1vdmVEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3JlcikgOlxuICAgICAgICB0aGlzLnJlbW92ZUZpbGVOYW1lRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcik7XG4gIH1cblxuICByZW1vdmVGaWxlTmFtZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpIHtcbiAgICBjb25zdCB7IHNvdXJjZUVudHJ5UGF0aCB9ID0gcGF0aE1hcDtcblxuICAgIGlmIChzb3VyY2VFbnRyeVBhdGggPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlUGF0aCA9IHNvdXJjZUVudHJ5UGF0aDsgLy8vXG5cbiAgICBleHBsb3Jlci5yZW1vdmVGaWxlUGF0aChmaWxlUGF0aCk7XG4gIH1cblxuICByZW1vdmVEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcikge1xuICAgIGNvbnN0IHsgc291cmNlRW50cnlQYXRoIH0gPSBwYXRoTWFwO1xuXG4gICAgaWYgKHNvdXJjZUVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cblxuICAgIGV4cGxvcmVyLnJlbW92ZURpcmVjdG9yeVBhdGgoZGlyZWN0b3J5UGF0aCk7XG4gIH1cblxuICBhZGREcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKSB7XG4gICAgY29uc3QgeyBlbnRyeURpcmVjdG9yeSB9ID0gcGF0aE1hcDtcblxuICAgIGVudHJ5RGlyZWN0b3J5ID9cbiAgICAgIHRoaXMuYWRkRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpIDpcbiAgICAgICAgdGhpcy5hZGRGaWxlTmFtZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpO1xuICB9XG5cbiAgYWRkRmlsZU5hbWVEcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKSB7XG4gICAgY29uc3QgeyBzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCB9ID0gcGF0aE1hcDtcblxuICAgIGlmIChzb3VyY2VFbnRyeVBhdGggPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0RW50cnlQYXRoID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZVBhdGggPSB0YXJnZXRFbnRyeVBhdGg7IC8vL1xuXG4gICAgdGhpcy5hZGRGaWxlUGF0aChmaWxlUGF0aCk7XG4gIH1cblxuICBhZGREaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcikge1xuICAgIGNvbnN0IHsgc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGggfSA9IHBhdGhNYXA7XG5cbiAgICBpZiAoc291cmNlRW50cnlQYXRoID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRhcmdldEVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgY29sbGFwc2VkIH0gPSBwYXRoTWFwO1xuXG4gICAgY29uc3QgZGlyZWN0b3J5UGF0aCA9IHRhcmdldEVudHJ5UGF0aDsgIC8vL1xuXG4gICAgdGhpcy5hZGREaXJlY3RvcnlQYXRoKGRpcmVjdG9yeVBhdGgsIGNvbGxhcHNlZCk7XG4gIH1cblxuICBjYWxsTW92ZUhhbmRsZXJzQXN5bmMocGF0aE1hcHMsIGRvbmUpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBNT1ZFX0VWRU5UX1RZUEUsXG4gICAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gICAgZm9yRWFjaChldmVudExpc3RlbmVycywgKGV2ZW50TGlzdGVuZXIsIG5leHQpID0+IHtcbiAgICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICAgIG1vdmVIYW5kbGVyID0gaGFuZGxlciwgIC8vL1xuICAgICAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgICAgbW92ZUhhbmRsZXIuY2FsbChlbGVtZW50LCBwYXRoTWFwcywgZG9uZSk7XG4gICAgfSwgZG9uZSk7XG4gIH1cblxuICBjYWxsU2VsZWN0SGFuZGxlcnMocGF0aCwgc2VsZWN0ZWQpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBTRUxFQ1RfRVZFTlRfVFlQRSxcbiAgICAgICAgICBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgICBldmVudExpc3RlbmVycy5mb3JFYWNoKChldmVudExpc3RlbmVyKSA9PiB7XG4gICAgICBjb25zdCB7IGhhbmRsZXIsIGVsZW1lbnQgfSA9IGV2ZW50TGlzdGVuZXIsXG4gICAgICAgICAgICBzZWxlY3RIYW5kbGVyID0gaGFuZGxlcjsgIC8vL1xuXG4gICAgICBzZWxlY3RIYW5kbGVyLmNhbGwoZWxlbWVudCwgcGF0aCwgc2VsZWN0ZWQsIHRoaXMpOyAgLy8vXG4gICAgfSk7XG4gIH1cblxuICBjYWxsT3BlbkhhbmRsZXJzKGZpbGVQYXRoKSB7XG4gICAgY29uc3QgZXZlbnRUeXBlID0gT1BFTl9FVkVOVF9UWVBFLFxuICAgICAgICAgIGV2ZW50TGlzdGVuZXJzID0gdGhpcy5maW5kRXZlbnRMaXN0ZW5lcnMoZXZlbnRUeXBlKTtcblxuICAgIGV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBvcGVuSGFuZGxlciA9IGhhbmRsZXI7ICAvLy9cblxuICAgICAgb3BlbkhhbmRsZXIuY2FsbChlbGVtZW50LCBmaWxlUGF0aCwgdGhpcyk7ICAvLy9cbiAgICB9KTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgb25Nb3ZlLCBvbk9wZW4sIG9uU2VsZWN0IH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgICAgbW92ZUhhbmRsZXIgPSBvbk1vdmUsIC8vL1xuICAgICAgICAgIG9wZW5IYW5kbGVyID0gb25PcGVuLCAvLy9cbiAgICAgICAgICBzZWxlY3RIYW5kbGVyID0gb25TZWxlY3Q7IC8vL1xuXG4gICAgdGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuICAgIHRoaXMuZW5hYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vbkRyb3AodGhpcy5kcm9wSGFuZGxlcik7XG5cbiAgICB0aGlzLm9uRHJhZ092ZXIodGhpcy5kcmFnT3ZlckhhbmRsZXIpO1xuXG4gICAgbW92ZUhhbmRsZXIgJiYgdGhpcy5vbk1vdmUobW92ZUhhbmRsZXIpO1xuXG4gICAgb3BlbkhhbmRsZXIgJiYgdGhpcy5vbk9wZW4ob3BlbkhhbmRsZXIpO1xuXG4gICAgc2VsZWN0SGFuZGxlciAmJiB0aGlzLm9uU2VsZWN0KHNlbGVjdEhhbmRsZXIpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgY29uc3QgeyBvbk1vdmUsIG9uT3Blbiwgb25TZWxlY3QgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICBtb3ZlSGFuZGxlciA9IG9uTW92ZSwgLy8vXG4gICAgICAgICAgb3BlbkhhbmRsZXIgPSBvbk9wZW4sIC8vL1xuICAgICAgICAgIHNlbGVjdEhhbmRsZXIgPSBvblNlbGVjdDsgLy8vXG5cbiAgICB0aGlzLm1vdW50ZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuZGlzYWJsZURyb3AoKTtcblxuICAgIHRoaXMub2ZmRHJvcCh0aGlzLmRyb3BIYW5kbGVyKTtcblxuICAgIHRoaXMub2ZmRHJhZ092ZXIodGhpcy5kcmFnT3ZlckhhbmRsZXIpO1xuXG4gICAgbW92ZUhhbmRsZXIgJiYgdGhpcy5vZmZNb3ZlKG1vdmVIYW5kbGVyKTtcblxuICAgIG9wZW5IYW5kbGVyICYmIHRoaXMub2ZmT3BlbihvcGVuSGFuZGxlcik7XG5cbiAgICBzZWxlY3RIYW5kbGVyICYmIHRoaXMub2ZmU2VsZWN0KHNlbGVjdEhhbmRsZXIpO1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgXHRjb25zdCBleHBsb3JlciA9IHRoaXM7XG5cbiAgXHRyZXR1cm4gKFxuXG4gIFx0XHQ8RW50cmllc0xpc3QgZXhwbG9yZXI9e2V4cGxvcmVyfSB0b3Btb3N0IC8+XG5cblx0XHQpO1xuXHR9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgcmV0cmlldmVGaWxlUGF0aHMgPSB0aGlzLnJldHJpZXZlRmlsZVBhdGhzLmJpbmQodGhpcyksXG4gICAgICAgICAgcmV0cmlldmVEaXJlY3RvcnlQYXRocyA9IHRoaXMucmV0cmlldmVEaXJlY3RvcnlQYXRocy5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuICh7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgcmV0cmlldmVGaWxlUGF0aHMsXG4gICAgICByZXRyaWV2ZURpcmVjdG9yeVBhdGhzXG4gICAgfSk7XG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICBcdHRoaXMuYXNzaWduQ29udGV4dCgpO1xuXHR9XG5cblx0c3RhdGljIEVudHJpZXNMaXN0ID0gRW50cmllc0xpc3Q7XG5cbiAgc3RhdGljIEZpbGVOYW1lRHJhZ0VudHJ5SXRlbSA9IEZpbGVOYW1lRHJhZ0VudHJ5SXRlbTtcblxuICBzdGF0aWMgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gPSBGaWxlTmFtZU1hcmtlckVudHJ5SXRlbTtcblxuICBzdGF0aWMgRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0gPSBEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbTtcblxuICBzdGF0aWMgRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSA9IERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW07XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIm9uTW92ZVwiLFxuICAgIFwib25PcGVuXCIsXG4gICAgXCJvblNlbGVjdFwiLFxuICAgIFwicmVmZXJlbmNlXCIsXG4gICAgXCJpZ25vcmVkUmVmZXJlbmNlc1wiXG4gIF07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJleHBsb3JlclwiXG4gIH07XG5cbiAgc3RhdGljIGZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcykge1xuICAgIGNvbnN0IG1vdW50ZWQgPSBmYWxzZSxcbiAgICAgICAgICBleHBsb3JlciA9IEVsZW1lbnQuZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCBtb3VudGVkKTtcblxuICAgIHJldHVybiBleHBsb3JlcjtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEV4cGxvcmVyLnByb3RvdHlwZSwgZHJvcE1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShFeHBsb3JlcilgXG4gIFxuICBwYWRkaW5nOiAke2V4cGxvcmVyUGFkZGluZ307IFxuICBcbmA7XG4iXSwibmFtZXMiOlsiZm9yRWFjaCIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsIkV4cGxvcmVyIiwic2VsZWN0b3IiLCJtb3VudGVkIiwiZHJvcEhhbmRsZXIiLCJkcmFnRWxlbWVudCIsImFib3J0ZWQiLCJlbGVtZW50IiwiZG9uZSIsImRyYWdFbGVtZW50RHJhZ0VudHJ5SXRlbSIsIkRyYWdFbnRyeUl0ZW0iLCJtYXJrZXJFbnRyeUl0ZW0iLCJyZXRyaWV2ZU1hcmtlckVudHJ5SXRlbSIsIm1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiZ2V0RXhwbG9yZXIiLCJyZW1vdmVNYXJrZXIiLCJkcmFnRW50cnlJdGVtIiwiZHJvcERyYWdFbnRyeUl0ZW0iLCJkcmFnT3ZlckhhbmRsZXIiLCJkcmFnRW50cnlJdGVtRXhwbG9yZXIiLCJkcmFnRW50cnlJdGVtRXhwbG9yZXJJZ25vcmVkIiwiaXNFeHBsb3Jlcklnbm9yZWQiLCJkcmFnRW50cnlJdGVtTmFtZSIsImdldE5hbWUiLCJtYXJrZXJFbnRyeUl0ZW1QYXRoIiwiZ2V0UGF0aCIsInByZXZpb3VzTWFya2VyRW50cnlJdGVtUGF0aCIsInByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIiLCJkcmFnRW50cnlJdGVtVHlwZSIsImdldFR5cGUiLCJhZGRNYXJrZXIiLCJpc01vdW50ZWQiLCJleHBsb3JlciIsImdldFJlZmVyZW5jZSIsInByb3BlcnRpZXMiLCJyZWZlcmVuY2UiLCJnZXRFbnRyaWVzTGlzdCIsIkVudHJpZXNMaXN0IiwiY29uc3RydWN0b3IiLCJpc0RpcmVjdG9yeUVtcHR5IiwiZGlyZWN0b3J5UGF0aCIsImRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIiwicmV0cmlldmVEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSIsImRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtRW1wdHkiLCJpc0VtcHR5IiwiZGlyZWN0b3J5RW1wdHkiLCJpZ25vcmVkUmVmZXJlbmNlcyIsImdldElnbm9yZWRSZWZlcmVuY2VzIiwiaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZSIsImluY2x1ZGVzIiwiZXhwbG9yZXJJZ25vcmVkIiwiZ2V0RmlsZU5hbWVEcmFnRW50cnlJdGVtIiwiRmlsZU5hbWVEcmFnRW50cnlJdGVtIiwiZ2V0RmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJGaWxlTmFtZU1hcmtlckVudHJ5SXRlbSIsImdldERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIiwiRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0iLCJnZXREaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIiwiRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSIsIm9uTW92ZSIsIm1vdmVIYW5kbGVyIiwiZXZlbnRUeXBlIiwiTU9WRV9FVkVOVF9UWVBFIiwiaGFuZGxlciIsImFkZEV2ZW50TGlzdGVuZXIiLCJvZmZNb3ZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm9uT3BlbiIsIm9wZW5IYW5kbGVyIiwiT1BFTl9FVkVOVF9UWVBFIiwib2ZmT3BlbiIsIm9uU2VsZWN0Iiwic2VsZWN0SGFuZGxlciIsIlNFTEVDVF9FVkVOVF9UWVBFIiwib2ZmU2VsZWN0IiwicmV0cmlldmVQYXRocyIsInR5cGUiLCJkcmFnRW50cnlJdGVtcyIsInJldHJpZXZlRHJhZ0VudHJ5SXRlbXMiLCJwYXRocyIsInJlZHVjZSIsImRyYWdFbnRyeUl0ZW1QYXRoIiwicGF0aCIsInB1c2giLCJyZXRyaWV2ZUZpbGVQYXRocyIsIkZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUiLCJmaWxlUGF0aHMiLCJyZXRyaWV2ZURpcmVjdG9yeVBhdGhzIiwiRElSRUNUT1JZX05BTUVfRFJBR19FTlRSWV9UWVBFIiwiZGlyZWN0b3J5UGF0aHMiLCJvcGVuRmlsZU5hbWVEcmFnRW50cnlJdGVtIiwiZmlsZU5hbWVEcmFnRW50cnlJdGVtIiwiZmlsZU5hbWVEcmFnRW50cnlJdGVtUGF0aCIsImZpbGVQYXRoIiwiY2FsbE9wZW5IYW5kbGVycyIsInNlbGVjdERyYWdFbnRyeUl0ZW0iLCJzZWxlY3RlZCIsImlzU2VsZWN0ZWQiLCJkZXNlbGVjdCIsImRlc2VsZWN0QWxsUGF0aHMiLCJzZWxlY3RQYXRoIiwiY2FsbFNlbGVjdEhhbmRsZXJzIiwic291cmNlRW50cnlQYXRoIiwic291cmNlRW50cnlQYXRoRnJvbURyYWdFbnRyeUl0ZW1QYXRoIiwidGFyZ2V0RW50cnlQYXRoIiwidGFyZ2V0RW50cnlQYXRoRnJvbU1hcmtlckVudHJ5SXRlbVBhdGgiLCJwYXRoTWFwcyIsImdldFBhdGhNYXBzIiwibW92ZURyYWdFbnRyeUl0ZW1zIiwiY2FsbE1vdmVIYW5kbGVyc0FzeW5jIiwicGF0aE1hcCIsInJlbW92ZURyYWdFbnRyeUl0ZW0iLCJhZGREcmFnRW50cnlJdGVtIiwiZW50cnlEaXJlY3RvcnkiLCJyZW1vdmVEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSIsInJlbW92ZUZpbGVOYW1lRHJhZ0VudHJ5SXRlbSIsInJlbW92ZUZpbGVQYXRoIiwicmVtb3ZlRGlyZWN0b3J5UGF0aCIsImFkZERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIiwiYWRkRmlsZU5hbWVEcmFnRW50cnlJdGVtIiwiYWRkRmlsZVBhdGgiLCJjb2xsYXBzZWQiLCJhZGREaXJlY3RvcnlQYXRoIiwiZXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJldmVudExpc3RlbmVyIiwibmV4dCIsImNhbGwiLCJkaWRNb3VudCIsImVuYWJsZURyb3AiLCJvbkRyb3AiLCJvbkRyYWdPdmVyIiwid2lsbFVubW91bnQiLCJkaXNhYmxlRHJvcCIsIm9mZkRyb3AiLCJvZmZEcmFnT3ZlciIsImNoaWxkRWxlbWVudHMiLCJ0b3Btb3N0IiwicGFyZW50Q29udGV4dCIsImNvbnRleHQiLCJnZXRDb250ZXh0IiwiYmluZCIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0IiwiZnJvbUNsYXNzIiwiQ2xhc3MiLCJFbGVtZW50IiwidGFnTmFtZSIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJkcm9wTWl4aW5zIiwid2l0aFN0eWxlIiwiZXhwbG9yZXJQYWRkaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvZkE7OztlQUFBOzs7a0VBbGZzQjtvQkFFRTsrQkFDRzt5QkFDVzs0REFFZDt5REFDRTs2REFDUTs4REFDRTtrRUFDRzttRUFDRTtzQkFFVDswQkFDb0M7MEJBQ007dUJBQ21COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3RixJQUFNLEFBQUVBLFVBQVlDLGdDQUFxQixDQUFqQ0Q7QUFFUixJQUFBLEFBQU1FLHlCQTRkSCxBQTVkSDtjQUFNQTs4QkFBQUE7YUFBQUEsU0FDUUMsUUFBUSxFQUFFQyxPQUFPOzhCQUR6QkY7O2tDQUVJQztRQVNSRSwrQ0FBQUEsZUFBYyxTQUFDQyxhQUFhQyxTQUFTQyxTQUFTQyxNQUFTO1lBQ3JELElBQU1DLDJCQUE0QkosQUFBVyxZQUFYQSxhQUF1QkssYUFBYTtZQUV0RSxJQUFJLENBQUNELDBCQUEwQjtnQkFDN0JEO2dCQUVBO1lBQ0YsQ0FBQztZQUVELElBQU1HLGtCQUFrQixNQUFLQyx1QkFBdUIsSUFDOUNDLDBCQUEwQkYsZ0JBQWdCRyxXQUFXO1lBRTNELElBQUlSLFNBQVM7Z0JBQ1hPLHdCQUF3QkUsWUFBWTtnQkFFcENQO2dCQUVBO1lBQ0YsQ0FBQztZQUVELElBQU1RLGdCQUFnQlgsYUFBYyxHQUFHO1lBRXZDUSx3QkFBd0JJLGlCQUFpQixDQUFDRCxlQUFlUjtRQUMzRDtRQUVBVSwrQ0FBQUEsbUJBQWtCLFNBQUNiLGFBQWFFLFNBQVk7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
|
|
595
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBsb3Jlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5pbXBvcnQgeyBkcm9wTWl4aW5zIH0gZnJvbSBcImVhc3ktZHJhZy1hbmQtZHJvcFwiO1xuXG5pbXBvcnQgZXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2V2ZW50XCI7XG5pbXBvcnQgRW50cmllc0xpc3QgZnJvbSBcIi4vbGlzdC9lbnRyaWVzXCI7XG5pbXBvcnQgRHJhZ0VudHJ5SXRlbSBmcm9tIFwiLi9pdGVtL2VudHJ5L2RyYWdcIjtcbmltcG9ydCBGaWxlTmFtZURyYWdFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9kcmFnL2ZpbGVOYW1lXCI7XG5pbXBvcnQgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZmlsZU5hbWVcIjtcbmltcG9ydCBEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSBmcm9tIFwiLi9pdGVtL2VudHJ5L2RyYWcvZGlyZWN0b3J5TmFtZVwiO1xuaW1wb3J0IERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZGlyZWN0b3J5TmFtZVwiO1xuXG5pbXBvcnQgeyBleHBsb3JlclBhZGRpbmcgfSBmcm9tIFwiLi9zdHlsZXNcIjtcbmltcG9ydCB7IEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUsIERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSB9IGZyb20gXCIuL2VudHJ5VHlwZXNcIjtcbmltcG9ydCB7IHNvdXJjZUVudHJ5UGF0aEZyb21EcmFnRW50cnlJdGVtUGF0aCwgdGFyZ2V0RW50cnlQYXRoRnJvbU1hcmtlckVudHJ5SXRlbVBhdGggfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aE1hcFwiO1xuXG5jbGFzcyBFeHBsb3JlciBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcihzZWxlY3RvciwgbW91bnRlZCkge1xuICAgIHN1cGVyKHNlbGVjdG9yKTtcblxuICAgIHRoaXMubW91bnRlZCA9IG1vdW50ZWQ7XG4gIH1cblxuICBpc01vdW50ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubW91bnRlZDtcbiAgfVxuXG4gIGRyb3BIYW5kbGVyID0gKGRyYWdFbGVtZW50LCBhYm9ydGVkLCBlbGVtZW50LCBkb25lKSA9PiB7XG4gICAgY29uc3QgZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtID0gKGRyYWdFbGVtZW50IGluc3RhbmNlb2YgRHJhZ0VudHJ5SXRlbSk7XG5cbiAgICBpZiAoIWRyYWdFbGVtZW50RHJhZ0VudHJ5SXRlbSkge1xuICAgICAgZG9uZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtID0gdGhpcy5yZXRyaWV2ZU1hcmtlckVudHJ5SXRlbSgpLFxuICAgICAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyID0gbWFya2VyRW50cnlJdGVtLmdldEV4cGxvcmVyKCk7XG5cbiAgICBpZiAoYWJvcnRlZCkge1xuICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIucmVtb3ZlTWFya2VyKCk7XG5cbiAgICAgIGRvbmUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW0gPSBkcmFnRWxlbWVudDsgIC8vL1xuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSk7XG4gIH1cblxuICBkcmFnT3ZlckhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHJhZ0VudHJ5SXRlbSA9IGRyYWdFbGVtZW50LCAgLy8vXG4gICAgICAgICAgZHJhZ0VudHJ5SXRlbUV4cGxvcmVyID0gZHJhZ0VudHJ5SXRlbS5nZXRFeHBsb3JlcigpLFxuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQgPSB0aGlzLmlzRXhwbG9yZXJJZ25vcmVkKGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcik7XG5cbiAgICBpZiAoZHJhZ0VudHJ5SXRlbUV4cGxvcmVySWdub3JlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IHRoaXMucmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSxcbiAgICAgICAgICBkcmFnRW50cnlJdGVtTmFtZSA9IGRyYWdFbnRyeUl0ZW0uZ2V0TmFtZSgpO1xuXG4gICAgbGV0IG1hcmtlckVudHJ5SXRlbVBhdGggPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IG1hcmtlckVudHJ5SXRlbS5nZXRFeHBsb3JlcigpLFxuICAgICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbVBhdGggPSBtYXJrZXJFbnRyeUl0ZW1QYXRoLCAvLy9cbiAgICAgICAgcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyOyAvLy9cblxuICAgIG1hcmtlckVudHJ5SXRlbVBhdGggPSBkcmFnRW50cnlJdGVtTmFtZTsvLy9cblxuICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyID0gdGhpczsgIC8vL1xuXG4gICAgaWYgKChtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciAhPT0gcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcikgfHwgKG1hcmtlckVudHJ5SXRlbVBhdGggIT09IHByZXZpb3VzTWFya2VyRW50cnlJdGVtUGF0aCkpIHtcbiAgICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW1UeXBlID0gZHJhZ0VudHJ5SXRlbS5nZXRUeXBlKCk7XG5cbiAgICAgIHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIucmVtb3ZlTWFya2VyKCk7XG5cbiAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyLmFkZE1hcmtlcihtYXJrZXJFbnRyeUl0ZW1QYXRoLCBkcmFnRW50cnlJdGVtVHlwZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RXhwbG9yZXIoKSB7XG4gICAgY29uc3QgZXhwbG9yZXIgPSB0aGlzOyAgLy8vXG5cbiAgICByZXR1cm4gZXhwbG9yZXI7XG4gIH1cblxuICBnZXRSZWZlcmVuY2UoKSB7XG4gICAgY29uc3QgeyByZWZlcmVuY2UgPSBudWxsIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICByZXR1cm4gcmVmZXJlbmNlO1xuICB9XG5cbiAgZ2V0RW50cmllc0xpc3QoKSB7XG4gIFx0Y29uc3QgeyBFbnRyaWVzTGlzdCB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICBcdHJldHVybiBFbnRyaWVzTGlzdDtcblx0fVxuXG4gIGlzRGlyZWN0b3J5RW1wdHkoZGlyZWN0b3J5UGF0aCkge1xuICAgIGNvbnN0IGRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtID0gdGhpcy5yZXRyaWV2ZURpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtKGRpcmVjdG9yeVBhdGgpLFxuICAgICAgICAgIGRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtRW1wdHkgPSBkaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbS5pc0VtcHR5KCksXG4gICAgICAgICAgZGlyZWN0b3J5RW1wdHkgPSBkaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbUVtcHR5OyAvLy9cblxuICAgIHJldHVybiBkaXJlY3RvcnlFbXB0eTtcbiAgfVxuXG4gIGlzRXhwbG9yZXJJZ25vcmVkKGV4cGxvcmVyKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0gZXhwbG9yZXIuZ2V0UmVmZXJlbmNlKCksXG4gICAgICAgICAgaWdub3JlZFJlZmVyZW5jZXMgPSB0aGlzLmdldElnbm9yZWRSZWZlcmVuY2VzKCksXG4gICAgICAgICAgaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZSA9IGlnbm9yZWRSZWZlcmVuY2VzLmluY2x1ZGVzKHJlZmVyZW5jZSksXG4gICAgICAgICAgZXhwbG9yZXJJZ25vcmVkID0gaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZTtcdC8vL1xuXG4gICAgcmV0dXJuIGV4cGxvcmVySWdub3JlZDtcbiAgfVxuXG4gIGdldElnbm9yZWRSZWZlcmVuY2VzKCkge1xuICAgIGNvbnN0IHsgaWdub3JlZFJlZmVyZW5jZXMgPSBbXSB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIGlnbm9yZWRSZWZlcmVuY2VzO1xuICB9XG5cbiAgZ2V0RmlsZU5hbWVEcmFnRW50cnlJdGVtKCkge1xuXHRcdGNvbnN0IHsgRmlsZU5hbWVEcmFnRW50cnlJdGVtIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG5cdFx0cmV0dXJuIEZpbGVOYW1lRHJhZ0VudHJ5SXRlbTtcblx0fVxuXG4gIGdldEZpbGVOYW1lTWFya2VyRW50cnlJdGVtKCkge1xuICAgIGNvbnN0IHsgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICByZXR1cm4gRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW07XG4gIH1cblxuICBnZXREaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSgpIHtcblx0XHRjb25zdCB7IERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG5cdFx0cmV0dXJuIERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtO1xuXHR9XG5cbiAgZ2V0RGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSgpIHtcbiAgICBjb25zdCB7IERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICByZXR1cm4gRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbTtcbiAgfVxuXG4gIHJldHJpZXZlUGF0aHModHlwZSkge1xuICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW1zID0gdGhpcy5yZXRyaWV2ZURyYWdFbnRyeUl0ZW1zKCksXG4gICAgICAgICAgcGF0aHMgPSBkcmFnRW50cnlJdGVtcy5yZWR1Y2UoKHBhdGhzLCBkcmFnRW50cnlJdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkcmFnRW50cnlJdGVtVHlwZSA9IGRyYWdFbnRyeUl0ZW0uZ2V0VHlwZSgpO1xuXG4gICAgICAgICAgICBpZiAoZHJhZ0VudHJ5SXRlbVR5cGUgPT09IHR5cGUpIHtcbiAgICAgICAgICAgICAgY29uc3QgZHJhZ0VudHJ5SXRlbVBhdGggPSBkcmFnRW50cnlJdGVtLmdldFBhdGgoKSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aCA9IGRyYWdFbnRyeUl0ZW1QYXRoOyAvLy9cblxuICAgICAgICAgICAgICBwYXRocy5wdXNoKHBhdGgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcGF0aHM7XG4gICAgICAgICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIHBhdGhzO1xuICB9XG5cbiAgcmV0cmlldmVGaWxlUGF0aHMoKSB7XG4gICAgY29uc3QgdHlwZSA9IEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUsXG4gICAgICAgICAgcGF0aHMgPSB0aGlzLnJldHJpZXZlUGF0aHModHlwZSksXG4gICAgICAgICAgZmlsZVBhdGhzID0gcGF0aHM7IC8vL1xuXG4gICAgcmV0dXJuIGZpbGVQYXRocztcbiAgfVxuXG4gIHJldHJpZXZlRGlyZWN0b3J5UGF0aHMoKSB7XG4gICAgY29uc3QgdHlwZSA9IERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSxcbiAgICAgICAgICBwYXRocyA9IHRoaXMucmV0cmlldmVQYXRocyh0eXBlKSxcbiAgICAgICAgICBkaXJlY3RvcnlQYXRocyA9IHBhdGhzOyAvLy9cblxuICAgIHJldHVybiBkaXJlY3RvcnlQYXRocztcbiAgfVxuXG4gIG9wZW5GaWxlTmFtZURyYWdFbnRyeUl0ZW0oZmlsZU5hbWVEcmFnRW50cnlJdGVtKSB7XG4gICAgY29uc3QgZmlsZU5hbWVEcmFnRW50cnlJdGVtUGF0aCA9IGZpbGVOYW1lRHJhZ0VudHJ5SXRlbS5nZXRQYXRoKCksXG4gICAgICAgICAgZmlsZVBhdGggPSBmaWxlTmFtZURyYWdFbnRyeUl0ZW1QYXRoOyAvLy9cblxuICAgIHRoaXMuY2FsbE9wZW5IYW5kbGVycyhmaWxlUGF0aCk7XG4gIH1cblxuICBzZWxlY3REcmFnRW50cnlJdGVtKGRyYWdFbnRyeUl0ZW0pIHtcbiAgICBjb25zdCBwYXRoID0gZHJhZ0VudHJ5SXRlbS5nZXRQYXRoKCk7XG5cbiAgICBsZXQgc2VsZWN0ZWQgPSBkcmFnRW50cnlJdGVtLmlzU2VsZWN0ZWQoKTtcblxuICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgZHJhZ0VudHJ5SXRlbS5kZXNlbGVjdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlc2VsZWN0QWxsUGF0aHMoKTtcblxuICAgICAgdGhpcy5zZWxlY3RQYXRoKHBhdGgpO1xuICAgIH1cblxuICAgIHNlbGVjdGVkID0gIXNlbGVjdGVkOyAvLy9cblxuICAgIHRoaXMuY2FsbFNlbGVjdEhhbmRsZXJzKHBhdGgsIHNlbGVjdGVkKTtcbiAgfVxuXG4gIGRyb3BEcmFnRW50cnlJdGVtKGRyYWdFbnRyeUl0ZW0sIGRvbmUpIHtcbiAgICBjb25zdCBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCksXG4gICAgICAgICAgZHJhZ0VudHJ5SXRlbVBhdGggPSBkcmFnRW50cnlJdGVtLmdldFBhdGgoKSxcbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtLmdldFBhdGgoKSxcbiAgICAgICAgICBkcmFnRW50cnlJdGVtRXhwbG9yZXIgPSBkcmFnRW50cnlJdGVtLmdldEV4cGxvcmVyKCksXG4gICAgICAgICAgc291cmNlRW50cnlQYXRoID0gc291cmNlRW50cnlQYXRoRnJvbURyYWdFbnRyeUl0ZW1QYXRoKGRyYWdFbnRyeUl0ZW1QYXRoKSxcbiAgICAgICAgICB0YXJnZXRFbnRyeVBhdGggPSB0YXJnZXRFbnRyeVBhdGhGcm9tTWFya2VyRW50cnlJdGVtUGF0aChtYXJrZXJFbnRyeUl0ZW1QYXRoKSxcbiAgICAgICAgICBwYXRoTWFwcyA9IGRyYWdFbnRyeUl0ZW0uZ2V0UGF0aE1hcHMoc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGgpLFxuICAgICAgICAgIGV4cGxvcmVyID0gZHJhZ0VudHJ5SXRlbUV4cGxvcmVyOyAgLy8vXG5cbiAgICB0aGlzLm1vdmVEcmFnRW50cnlJdGVtcyhwYXRoTWFwcywgZXhwbG9yZXIsICgpID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlTWFya2VyKCk7XG5cbiAgICAgIGRvbmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG1vdmVEcmFnRW50cnlJdGVtcyhwYXRoTWFwcywgZXhwbG9yZXIsIGRvbmUpIHtcbiAgICB0aGlzLmNhbGxNb3ZlSGFuZGxlcnNBc3luYyhwYXRoTWFwcywgKCkgPT4ge1xuICAgICAgcGF0aE1hcHMuZm9yRWFjaCgocGF0aE1hcCkgPT4gdGhpcy5yZW1vdmVEcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKSk7XG5cbiAgICAgIHBhdGhNYXBzLmZvckVhY2goKHBhdGhNYXApID0+IHRoaXMuYWRkRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3JlcikpO1xuXG4gICAgICBkb25lKCk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVEcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKSB7XG4gICAgY29uc3QgeyBlbnRyeURpcmVjdG9yeSB9ID0gcGF0aE1hcDtcblxuICAgIGVudHJ5RGlyZWN0b3J5ID9cbiAgICAgIHRoaXMucmVtb3ZlRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpIDpcbiAgICAgICAgdGhpcy5yZW1vdmVGaWxlTmFtZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpO1xuICB9XG5cbiAgcmVtb3ZlRmlsZU5hbWVEcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKSB7XG4gICAgY29uc3QgeyBzb3VyY2VFbnRyeVBhdGggfSA9IHBhdGhNYXA7XG5cbiAgICBpZiAoc291cmNlRW50cnlQYXRoID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7IC8vL1xuXG4gICAgZXhwbG9yZXIucmVtb3ZlRmlsZVBhdGgoZmlsZVBhdGgpO1xuICB9XG5cbiAgcmVtb3ZlRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpIHtcbiAgICBjb25zdCB7IHNvdXJjZUVudHJ5UGF0aCB9ID0gcGF0aE1hcDtcblxuICAgIGlmIChzb3VyY2VFbnRyeVBhdGggPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkaXJlY3RvcnlQYXRoID0gc291cmNlRW50cnlQYXRoOyAgLy8vXG5cbiAgICBleHBsb3Jlci5yZW1vdmVEaXJlY3RvcnlQYXRoKGRpcmVjdG9yeVBhdGgpO1xuICB9XG5cbiAgYWRkRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcikge1xuICAgIGNvbnN0IHsgZW50cnlEaXJlY3RvcnkgfSA9IHBhdGhNYXA7XG5cbiAgICBlbnRyeURpcmVjdG9yeSA/XG4gICAgICB0aGlzLmFkZERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKSA6XG4gICAgICAgIHRoaXMuYWRkRmlsZU5hbWVEcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKTtcbiAgfVxuXG4gIGFkZEZpbGVOYW1lRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcikge1xuICAgIGNvbnN0IHsgc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGggfSA9IHBhdGhNYXA7XG5cbiAgICBpZiAoc291cmNlRW50cnlQYXRoID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRhcmdldEVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGVQYXRoID0gdGFyZ2V0RW50cnlQYXRoOyAvLy9cblxuICAgIHRoaXMuYWRkRmlsZVBhdGgoZmlsZVBhdGgpO1xuICB9XG5cbiAgYWRkRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpIHtcbiAgICBjb25zdCB7IHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoIH0gPSBwYXRoTWFwO1xuXG4gICAgaWYgKHNvdXJjZUVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXRFbnRyeVBhdGggPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGNvbGxhcHNlZCB9ID0gcGF0aE1hcDtcblxuICAgIGNvbnN0IGRpcmVjdG9yeVBhdGggPSB0YXJnZXRFbnRyeVBhdGg7ICAvLy9cblxuICAgIHRoaXMuYWRkRGlyZWN0b3J5UGF0aChkaXJlY3RvcnlQYXRoLCBjb2xsYXBzZWQpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBvbk1vdmUsIG9uT3Blbiwgb25TZWxlY3QgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICBtb3ZlSGFuZGxlciA9IG9uTW92ZSwgLy8vXG4gICAgICAgICAgb3BlbkhhbmRsZXIgPSBvbk9wZW4sIC8vL1xuICAgICAgICAgIHNlbGVjdEhhbmRsZXIgPSBvblNlbGVjdDsgLy8vXG5cbiAgICB0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG4gICAgdGhpcy5lbmFibGVEcm9wKCk7XG5cbiAgICB0aGlzLm9uRHJvcCh0aGlzLmRyb3BIYW5kbGVyKTtcblxuICAgIHRoaXMub25EcmFnT3Zlcih0aGlzLmRyYWdPdmVySGFuZGxlcik7XG5cbiAgICBtb3ZlSGFuZGxlciAmJiB0aGlzLm9uTW92ZShtb3ZlSGFuZGxlcik7XG5cbiAgICBvcGVuSGFuZGxlciAmJiB0aGlzLm9uT3BlbihvcGVuSGFuZGxlcik7XG5cbiAgICBzZWxlY3RIYW5kbGVyICYmIHRoaXMub25TZWxlY3Qoc2VsZWN0SGFuZGxlcik7XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICBjb25zdCB7IG9uTW92ZSwgb25PcGVuLCBvblNlbGVjdCB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIG1vdmVIYW5kbGVyID0gb25Nb3ZlLCAvLy9cbiAgICAgICAgICBvcGVuSGFuZGxlciA9IG9uT3BlbiwgLy8vXG4gICAgICAgICAgc2VsZWN0SGFuZGxlciA9IG9uU2VsZWN0OyAvLy9cblxuICAgIHRoaXMubW91bnRlZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vZmZEcm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuXG4gICAgdGhpcy5vZmZEcmFnT3Zlcih0aGlzLmRyYWdPdmVySGFuZGxlcik7XG5cbiAgICBtb3ZlSGFuZGxlciAmJiB0aGlzLm9mZk1vdmUobW92ZUhhbmRsZXIpO1xuXG4gICAgb3BlbkhhbmRsZXIgJiYgdGhpcy5vZmZPcGVuKG9wZW5IYW5kbGVyKTtcblxuICAgIHNlbGVjdEhhbmRsZXIgJiYgdGhpcy5vZmZTZWxlY3Qoc2VsZWN0SGFuZGxlcik7XG4gIH1cblxuICBjaGlsZEVsZW1lbnRzKCkge1xuICBcdGNvbnN0IGV4cGxvcmVyID0gdGhpcztcblxuICBcdHJldHVybiAoXG5cbiAgXHRcdDxFbnRyaWVzTGlzdCBleHBsb3Jlcj17ZXhwbG9yZXJ9IHRvcG1vc3QgLz5cblxuXHRcdCk7XG5cdH1cblxuICBwYXJlbnRDb250ZXh0KCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKSxcbiAgICAgICAgICByZXRyaWV2ZUZpbGVQYXRocyA9IHRoaXMucmV0cmlldmVGaWxlUGF0aHMuYmluZCh0aGlzKSxcbiAgICAgICAgICByZXRyaWV2ZURpcmVjdG9yeVBhdGhzID0gdGhpcy5yZXRyaWV2ZURpcmVjdG9yeVBhdGhzLmJpbmQodGhpcyk7XG5cbiAgICByZXR1cm4gKHtcbiAgICAgIC4uLmNvbnRleHQsXG4gICAgICByZXRyaWV2ZUZpbGVQYXRocyxcbiAgICAgIHJldHJpZXZlRGlyZWN0b3J5UGF0aHNcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gIFx0dGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cdH1cblxuXHRzdGF0aWMgRW50cmllc0xpc3QgPSBFbnRyaWVzTGlzdDtcblxuICBzdGF0aWMgRmlsZU5hbWVEcmFnRW50cnlJdGVtID0gRmlsZU5hbWVEcmFnRW50cnlJdGVtO1xuXG4gIHN0YXRpYyBGaWxlTmFtZU1hcmtlckVudHJ5SXRlbSA9IEZpbGVOYW1lTWFya2VyRW50cnlJdGVtO1xuXG4gIHN0YXRpYyBEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSA9IERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtO1xuXG4gIHN0YXRpYyBEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtID0gRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbTtcblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwib25Nb3ZlXCIsXG4gICAgXCJvbk9wZW5cIixcbiAgICBcIm9uU2VsZWN0XCIsXG4gICAgXCJyZWZlcmVuY2VcIixcbiAgICBcImlnbm9yZWRSZWZlcmVuY2VzXCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImV4cGxvcmVyXCJcbiAgfTtcblxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgbW91bnRlZCA9IGZhbHNlLFxuICAgICAgICAgIGV4cGxvcmVyID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIG1vdW50ZWQpO1xuXG4gICAgcmV0dXJuIGV4cGxvcmVyO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oRXhwbG9yZXIucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRXhwbG9yZXIucHJvdG90eXBlLCBldmVudE1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShFeHBsb3JlcilgXG4gIFxuICBwYWRkaW5nOiAke2V4cGxvcmVyUGFkZGluZ307IFxuICBcbmA7XG4iXSwibmFtZXMiOlsiRXhwbG9yZXIiLCJzZWxlY3RvciIsIm1vdW50ZWQiLCJkcm9wSGFuZGxlciIsImRyYWdFbGVtZW50IiwiYWJvcnRlZCIsImVsZW1lbnQiLCJkb25lIiwiZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtIiwiRHJhZ0VudHJ5SXRlbSIsIm1hcmtlckVudHJ5SXRlbSIsInJldHJpZXZlTWFya2VyRW50cnlJdGVtIiwibWFya2VyRW50cnlJdGVtRXhwbG9yZXIiLCJnZXRFeHBsb3JlciIsInJlbW92ZU1hcmtlciIsImRyYWdFbnRyeUl0ZW0iLCJkcm9wRHJhZ0VudHJ5SXRlbSIsImRyYWdPdmVySGFuZGxlciIsImRyYWdFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQiLCJpc0V4cGxvcmVySWdub3JlZCIsImRyYWdFbnRyeUl0ZW1OYW1lIiwiZ2V0TmFtZSIsIm1hcmtlckVudHJ5SXRlbVBhdGgiLCJnZXRQYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1UeXBlIiwiZ2V0VHlwZSIsImFkZE1hcmtlciIsImlzTW91bnRlZCIsImV4cGxvcmVyIiwiZ2V0UmVmZXJlbmNlIiwicHJvcGVydGllcyIsInJlZmVyZW5jZSIsImdldEVudHJpZXNMaXN0IiwiRW50cmllc0xpc3QiLCJjb25zdHJ1Y3RvciIsImlzRGlyZWN0b3J5RW1wdHkiLCJkaXJlY3RvcnlQYXRoIiwiZGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0iLCJyZXRyaWV2ZURpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIiwiZGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW1FbXB0eSIsImlzRW1wdHkiLCJkaXJlY3RvcnlFbXB0eSIsImlnbm9yZWRSZWZlcmVuY2VzIiwiZ2V0SWdub3JlZFJlZmVyZW5jZXMiLCJpZ25vcmVkUmVmZXJlbmNlc0luY2x1ZGVzUmVmZXJlbmNlIiwiaW5jbHVkZXMiLCJleHBsb3Jlcklnbm9yZWQiLCJnZXRGaWxlTmFtZURyYWdFbnRyeUl0ZW0iLCJGaWxlTmFtZURyYWdFbnRyeUl0ZW0iLCJnZXRGaWxlTmFtZU1hcmtlckVudHJ5SXRlbSIsIkZpbGVOYW1lTWFya2VyRW50cnlJdGVtIiwiZ2V0RGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0iLCJEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSIsImdldERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIiwicmV0cmlldmVQYXRocyIsInR5cGUiLCJkcmFnRW50cnlJdGVtcyIsInJldHJpZXZlRHJhZ0VudHJ5SXRlbXMiLCJwYXRocyIsInJlZHVjZSIsImRyYWdFbnRyeUl0ZW1QYXRoIiwicGF0aCIsInB1c2giLCJyZXRyaWV2ZUZpbGVQYXRocyIsIkZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUiLCJmaWxlUGF0aHMiLCJyZXRyaWV2ZURpcmVjdG9yeVBhdGhzIiwiRElSRUNUT1JZX05BTUVfRFJBR19FTlRSWV9UWVBFIiwiZGlyZWN0b3J5UGF0aHMiLCJvcGVuRmlsZU5hbWVEcmFnRW50cnlJdGVtIiwiZmlsZU5hbWVEcmFnRW50cnlJdGVtIiwiZmlsZU5hbWVEcmFnRW50cnlJdGVtUGF0aCIsImZpbGVQYXRoIiwiY2FsbE9wZW5IYW5kbGVycyIsInNlbGVjdERyYWdFbnRyeUl0ZW0iLCJzZWxlY3RlZCIsImlzU2VsZWN0ZWQiLCJkZXNlbGVjdCIsImRlc2VsZWN0QWxsUGF0aHMiLCJzZWxlY3RQYXRoIiwiY2FsbFNlbGVjdEhhbmRsZXJzIiwic291cmNlRW50cnlQYXRoIiwic291cmNlRW50cnlQYXRoRnJvbURyYWdFbnRyeUl0ZW1QYXRoIiwidGFyZ2V0RW50cnlQYXRoIiwidGFyZ2V0RW50cnlQYXRoRnJvbU1hcmtlckVudHJ5SXRlbVBhdGgiLCJwYXRoTWFwcyIsImdldFBhdGhNYXBzIiwibW92ZURyYWdFbnRyeUl0ZW1zIiwiY2FsbE1vdmVIYW5kbGVyc0FzeW5jIiwiZm9yRWFjaCIsInBhdGhNYXAiLCJyZW1vdmVEcmFnRW50cnlJdGVtIiwiYWRkRHJhZ0VudHJ5SXRlbSIsImVudHJ5RGlyZWN0b3J5IiwicmVtb3ZlRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0iLCJyZW1vdmVGaWxlTmFtZURyYWdFbnRyeUl0ZW0iLCJyZW1vdmVGaWxlUGF0aCIsInJlbW92ZURpcmVjdG9yeVBhdGgiLCJhZGREaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSIsImFkZEZpbGVOYW1lRHJhZ0VudHJ5SXRlbSIsImFkZEZpbGVQYXRoIiwiY29sbGFwc2VkIiwiYWRkRGlyZWN0b3J5UGF0aCIsImRpZE1vdW50Iiwib25Nb3ZlIiwib25PcGVuIiwib25TZWxlY3QiLCJtb3ZlSGFuZGxlciIsIm9wZW5IYW5kbGVyIiwic2VsZWN0SGFuZGxlciIsImVuYWJsZURyb3AiLCJvbkRyb3AiLCJvbkRyYWdPdmVyIiwid2lsbFVubW91bnQiLCJkaXNhYmxlRHJvcCIsIm9mZkRyb3AiLCJvZmZEcmFnT3ZlciIsIm9mZk1vdmUiLCJvZmZPcGVuIiwib2ZmU2VsZWN0IiwiY2hpbGRFbGVtZW50cyIsInRvcG1vc3QiLCJwYXJlbnRDb250ZXh0IiwiY29udGV4dCIsImdldENvbnRleHQiLCJiaW5kIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJmcm9tQ2xhc3MiLCJDbGFzcyIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImRyb3BNaXhpbnMiLCJldmVudE1peGlucyIsIndpdGhTdHlsZSIsImV4cGxvcmVyUGFkZGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbWFBOzs7ZUFBQTs7O2tFQWphc0I7b0JBRUU7K0JBQ0c7MERBRUg7NERBQ0E7eURBQ0U7NkRBQ1E7OERBQ0U7a0VBQ0c7bUVBQ0U7c0JBRVQ7MEJBQzBDO3VCQUNtQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0YsSUFBQSxBQUFNQSx5QkE2WUgsQUE3WUg7Y0FBTUE7OEJBQUFBO2FBQUFBLFNBQ1FDLFFBQVEsRUFBRUMsT0FBTzs4QkFEekJGOztrQ0FFSUM7UUFTUkUsK0NBQUFBLGVBQWMsU0FBQ0MsYUFBYUMsU0FBU0MsU0FBU0MsTUFBUztZQUNyRCxJQUFNQywyQkFBNEJKLEFBQVcsWUFBWEEsYUFBdUJLLGFBQWE7WUFFdEUsSUFBSSxDQUFDRCwwQkFBMEI7Z0JBQzdCRDtnQkFFQTtZQUNGLENBQUM7WUFFRCxJQUFNRyxrQkFBa0IsTUFBS0MsdUJBQXVCLElBQzlDQywwQkFBMEJGLGdCQUFnQkcsV0FBVztZQUUzRCxJQUFJUixTQUFTO2dCQUNYTyx3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
|
package/lib/index.js
CHANGED
|
@@ -18,9 +18,12 @@ _export(exports, {
|
|
|
18
18
|
eventTypes: function() {
|
|
19
19
|
return _eventTypes.default;
|
|
20
20
|
},
|
|
21
|
-
|
|
21
|
+
NameInput: function() {
|
|
22
22
|
return _name.default;
|
|
23
23
|
},
|
|
24
|
+
NameButton: function() {
|
|
25
|
+
return _name1.default;
|
|
26
|
+
},
|
|
24
27
|
EntriesList: function() {
|
|
25
28
|
return _entries.default;
|
|
26
29
|
},
|
|
@@ -64,7 +67,8 @@ _export(exports, {
|
|
|
64
67
|
var _explorer = /*#__PURE__*/ _interopRequireDefault(require("./explorer"));
|
|
65
68
|
var _rubbishBin = /*#__PURE__*/ _interopRequireDefault(require("./rubbishBin"));
|
|
66
69
|
var _eventTypes = /*#__PURE__*/ _interopRequireDefault(require("./eventTypes"));
|
|
67
|
-
var _name = /*#__PURE__*/ _interopRequireDefault(require("./
|
|
70
|
+
var _name = /*#__PURE__*/ _interopRequireDefault(require("./input/name"));
|
|
71
|
+
var _name1 = /*#__PURE__*/ _interopRequireDefault(require("./button/name"));
|
|
68
72
|
var _entries = /*#__PURE__*/ _interopRequireDefault(require("./list/entries"));
|
|
69
73
|
var _toggle = /*#__PURE__*/ _interopRequireDefault(require("./button/toggle"));
|
|
70
74
|
var _fileName = /*#__PURE__*/ _interopRequireDefault(require("./item/entry/drag/fileName"));
|
|
@@ -84,4 +88,4 @@ function _interopRequireDefault(obj) {
|
|
|
84
88
|
};
|
|
85
89
|
}
|
|
86
90
|
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBFeHBsb3JlciB9IGZyb20gXCIuL2V4cGxvcmVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFJ1YmJpc2hCaW4gfSBmcm9tIFwiLi9ydWJiaXNoQmluXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgZXZlbnRUeXBlcyB9IGZyb20gXCIuL2V2ZW50VHlwZXNcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOYW1lSW5wdXQgfSBmcm9tIFwiLi9pbnB1dC9uYW1lXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5hbWVCdXR0b24gfSBmcm9tIFwiLi9idXR0b24vbmFtZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBFbnRyaWVzTGlzdCB9IGZyb20gXCIuL2xpc3QvZW50cmllc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBUb2dnbGVCdXR0b24gfSBmcm9tIFwiLi9idXR0b24vdG9nZ2xlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZpbGVOYW1lRHJhZ0VudHJ5SXRlbSB9IGZyb20gXCIuL2l0ZW0vZW50cnkvZHJhZy9maWxlTmFtZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGaWxlTmFtZU1hcmtlckVudHJ5SXRlbSB9IGZyb20gXCIuL2l0ZW0vZW50cnkvbWFya2VyL2ZpbGVOYW1lXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIH0gZnJvbSBcIi4vaXRlbS9lbnRyeS9kcmFnL2RpcmVjdG9yeU5hbWVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSB9IGZyb20gXCIuL2l0ZW0vZW50cnkvbWFya2VyL2RpcmVjdG9yeU5hbWVcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZXJTVkcgfSBmcm9tIFwiLi9zdmcvbWFya2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZpbGVOYW1lU1ZHIH0gZnJvbSBcIi4vc3ZnL2ZpbGVOYW1lXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFVwVG9nZ2xlU1ZHIH0gZnJvbSBcIi4vc3ZnL3RvZ2dsZS91cFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBEb3duVG9nZ2xlU1ZHIH0gZnJvbSBcIi4vc3ZnL3RvZ2dsZS9kb3duXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERpcmVjdG9yeU5hbWVTVkcgfSBmcm9tIFwiLi9zdmcvZGlyZWN0b3J5TmFtZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBPcGVuUnViYmlzaEJpblNWRyB9IGZyb20gXCIuL3N2Zy9ydWJiaXNoQmluL29wZW5cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2xvc2VkUnViYmlzaEJpblNWRyB9IGZyb20gXCIuL3N2Zy9ydWJiaXNoQmluL2Nsb3NlZFwiO1xuIl0sIm5hbWVzIjpbIkV4cGxvcmVyIiwiUnViYmlzaEJpbiIsImV2ZW50VHlwZXMiLCJOYW1lSW5wdXQiLCJOYW1lQnV0dG9uIiwiRW50cmllc0xpc3QiLCJUb2dnbGVCdXR0b24iLCJGaWxlTmFtZURyYWdFbnRyeUl0ZW0iLCJGaWxlTmFtZU1hcmtlckVudHJ5SXRlbSIsIkRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIiwiRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSIsIk1hcmtlclNWRyIsIkZpbGVOYW1lU1ZHIiwiVXBUb2dnbGVTVkciLCJEb3duVG9nZ2xlU1ZHIiwiRGlyZWN0b3J5TmFtZVNWRyIsIk9wZW5SdWJiaXNoQmluU1ZHIiwiQ2xvc2VkUnViYmlzaEJpblNWRyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRW9CQSxRQUFRO2VBQVJBLGlCQUFROztJQUNSQyxVQUFVO2VBQVZBLG1CQUFVOztJQUVWQyxVQUFVO2VBQVZBLG1CQUFVOztJQUVWQyxTQUFTO2VBQVRBLGFBQVM7O0lBQ1RDLFVBQVU7ZUFBVkEsY0FBVTs7SUFDVkMsV0FBVztlQUFYQSxnQkFBVzs7SUFDWEMsWUFBWTtlQUFaQSxlQUFZOztJQUNaQyxxQkFBcUI7ZUFBckJBLGlCQUFxQjs7SUFDckJDLHVCQUF1QjtlQUF2QkEsa0JBQXVCOztJQUN2QkMsMEJBQTBCO2VBQTFCQSxzQkFBMEI7O0lBQzFCQyw0QkFBNEI7ZUFBNUJBLHVCQUE0Qjs7SUFFNUJDLFNBQVM7ZUFBVEEsZUFBUzs7SUFDVEMsV0FBVztlQUFYQSxrQkFBVzs7SUFDWEMsV0FBVztlQUFYQSxXQUFXOztJQUNYQyxhQUFhO2VBQWJBLGFBQWE7O0lBQ2JDLGdCQUFnQjtlQUFoQkEsdUJBQWdCOztJQUNoQkMsaUJBQWlCO2VBQWpCQSxhQUFpQjs7SUFDakJDLG1CQUFtQjtlQUFuQkEsZUFBbUI7Ozs2REFwQkg7K0RBQ0U7K0RBRUE7eURBRUQ7MERBQ0M7NERBQ0M7MkRBQ0M7NkRBQ1M7OERBQ0U7a0VBQ0c7bUVBQ0U7MkRBRW5COzhEQUNFO3VEQUNBO3lEQUNFO21FQUNHO3lEQUNDOzJEQUNFIn0=
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _easyWithStyle = /*#__PURE__*/ _interopRequireDefault(require("easy-with-style"));
|
|
12
|
+
var _easy = require("easy");
|
|
13
|
+
var _constants = require("../constants");
|
|
14
|
+
var _keyCodes = require("../keyCodes");
|
|
15
|
+
function _assertThisInitialized(self) {
|
|
16
|
+
if (self === void 0) {
|
|
17
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
18
|
+
}
|
|
19
|
+
return self;
|
|
20
|
+
}
|
|
21
|
+
function _classCallCheck(instance, Constructor) {
|
|
22
|
+
if (!(instance instanceof Constructor)) {
|
|
23
|
+
throw new TypeError("Cannot call a class as a function");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function isNativeReflectConstruct() {
|
|
27
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
28
|
+
if (Reflect.construct.sham) return false;
|
|
29
|
+
if (typeof Proxy === "function") return true;
|
|
30
|
+
try {
|
|
31
|
+
Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));
|
|
32
|
+
return true;
|
|
33
|
+
} catch (e) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function _construct(Parent, args, Class) {
|
|
38
|
+
if (isNativeReflectConstruct()) {
|
|
39
|
+
_construct = Reflect.construct;
|
|
40
|
+
} else {
|
|
41
|
+
_construct = function _construct(Parent, args, Class) {
|
|
42
|
+
var a = [
|
|
43
|
+
null
|
|
44
|
+
];
|
|
45
|
+
a.push.apply(a, args);
|
|
46
|
+
var Constructor = Function.bind.apply(Parent, a);
|
|
47
|
+
var instance = new Constructor();
|
|
48
|
+
if (Class) _setPrototypeOf(instance, Class.prototype);
|
|
49
|
+
return instance;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return _construct.apply(null, arguments);
|
|
53
|
+
}
|
|
54
|
+
function _defineProperties(target, props) {
|
|
55
|
+
for(var i = 0; i < props.length; i++){
|
|
56
|
+
var descriptor = props[i];
|
|
57
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
58
|
+
descriptor.configurable = true;
|
|
59
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
60
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
64
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
65
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
66
|
+
return Constructor;
|
|
67
|
+
}
|
|
68
|
+
function _defineProperty(obj, key, value) {
|
|
69
|
+
if (key in obj) {
|
|
70
|
+
Object.defineProperty(obj, key, {
|
|
71
|
+
value: value,
|
|
72
|
+
enumerable: true,
|
|
73
|
+
configurable: true,
|
|
74
|
+
writable: true
|
|
75
|
+
});
|
|
76
|
+
} else {
|
|
77
|
+
obj[key] = value;
|
|
78
|
+
}
|
|
79
|
+
return obj;
|
|
80
|
+
}
|
|
81
|
+
function _get(target, property, receiver) {
|
|
82
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
83
|
+
_get = Reflect.get;
|
|
84
|
+
} else {
|
|
85
|
+
_get = function _get(target, property, receiver) {
|
|
86
|
+
var base = _superPropBase(target, property);
|
|
87
|
+
if (!base) return;
|
|
88
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
89
|
+
if (desc.get) {
|
|
90
|
+
return desc.get.call(receiver);
|
|
91
|
+
}
|
|
92
|
+
return desc.value;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return _get(target, property, receiver || target);
|
|
96
|
+
}
|
|
97
|
+
function _getPrototypeOf(o) {
|
|
98
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
99
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
100
|
+
};
|
|
101
|
+
return _getPrototypeOf(o);
|
|
102
|
+
}
|
|
103
|
+
function _inherits(subClass, superClass) {
|
|
104
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
105
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
106
|
+
}
|
|
107
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
108
|
+
constructor: {
|
|
109
|
+
value: subClass,
|
|
110
|
+
writable: true,
|
|
111
|
+
configurable: true
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
115
|
+
}
|
|
116
|
+
function _interopRequireDefault(obj) {
|
|
117
|
+
return obj && obj.__esModule ? obj : {
|
|
118
|
+
default: obj
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
function _isNativeFunction(fn) {
|
|
122
|
+
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
123
|
+
}
|
|
124
|
+
function _possibleConstructorReturn(self, call) {
|
|
125
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
126
|
+
return call;
|
|
127
|
+
}
|
|
128
|
+
return _assertThisInitialized(self);
|
|
129
|
+
}
|
|
130
|
+
function _setPrototypeOf(o, p) {
|
|
131
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
132
|
+
o.__proto__ = p;
|
|
133
|
+
return o;
|
|
134
|
+
};
|
|
135
|
+
return _setPrototypeOf(o, p);
|
|
136
|
+
}
|
|
137
|
+
function _superPropBase(object, property) {
|
|
138
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
139
|
+
object = _getPrototypeOf(object);
|
|
140
|
+
if (object === null) break;
|
|
141
|
+
}
|
|
142
|
+
return object;
|
|
143
|
+
}
|
|
144
|
+
function _taggedTemplateLiteral(strings, raw) {
|
|
145
|
+
if (!raw) {
|
|
146
|
+
raw = strings.slice(0);
|
|
147
|
+
}
|
|
148
|
+
return Object.freeze(Object.defineProperties(strings, {
|
|
149
|
+
raw: {
|
|
150
|
+
value: Object.freeze(raw)
|
|
151
|
+
}
|
|
152
|
+
}));
|
|
153
|
+
}
|
|
154
|
+
var _typeof = function(obj) {
|
|
155
|
+
"@swc/helpers - typeof";
|
|
156
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
157
|
+
};
|
|
158
|
+
function _wrapNativeSuper(Class) {
|
|
159
|
+
var _cache = typeof Map === "function" ? new Map() : undefined;
|
|
160
|
+
_wrapNativeSuper = function _wrapNativeSuper(Class) {
|
|
161
|
+
if (Class === null || !_isNativeFunction(Class)) return Class;
|
|
162
|
+
if (typeof Class !== "function") {
|
|
163
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
164
|
+
}
|
|
165
|
+
if (typeof _cache !== "undefined") {
|
|
166
|
+
if (_cache.has(Class)) return _cache.get(Class);
|
|
167
|
+
_cache.set(Class, Wrapper);
|
|
168
|
+
}
|
|
169
|
+
function Wrapper() {
|
|
170
|
+
return _construct(Class, arguments, _getPrototypeOf(this).constructor);
|
|
171
|
+
}
|
|
172
|
+
Wrapper.prototype = Object.create(Class.prototype, {
|
|
173
|
+
constructor: {
|
|
174
|
+
value: Wrapper,
|
|
175
|
+
enumerable: false,
|
|
176
|
+
writable: true,
|
|
177
|
+
configurable: true
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
return _setPrototypeOf(Wrapper, Class);
|
|
181
|
+
};
|
|
182
|
+
return _wrapNativeSuper(Class);
|
|
183
|
+
}
|
|
184
|
+
function _isNativeReflectConstruct() {
|
|
185
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
186
|
+
if (Reflect.construct.sham) return false;
|
|
187
|
+
if (typeof Proxy === "function") return true;
|
|
188
|
+
try {
|
|
189
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
190
|
+
return true;
|
|
191
|
+
} catch (e) {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
function _createSuper(Derived) {
|
|
196
|
+
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
197
|
+
return function _createSuperInternal() {
|
|
198
|
+
var Super = _getPrototypeOf(Derived), result;
|
|
199
|
+
if (hasNativeReflectConstruct) {
|
|
200
|
+
var NewTarget = _getPrototypeOf(this).constructor;
|
|
201
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
202
|
+
} else {
|
|
203
|
+
result = Super.apply(this, arguments);
|
|
204
|
+
}
|
|
205
|
+
return _possibleConstructorReturn(this, result);
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function _templateObject() {
|
|
209
|
+
var data = _taggedTemplateLiteral([
|
|
210
|
+
"\n \n display: inline-block;\n \n"
|
|
211
|
+
]);
|
|
212
|
+
_templateObject = function _templateObject() {
|
|
213
|
+
return data;
|
|
214
|
+
};
|
|
215
|
+
return data;
|
|
216
|
+
}
|
|
217
|
+
var NameInput = /*#__PURE__*/ function(Element) {
|
|
218
|
+
_inherits(NameInput, Element);
|
|
219
|
+
var _super = _createSuper(NameInput);
|
|
220
|
+
function NameInput() {
|
|
221
|
+
_classCallCheck(this, NameInput);
|
|
222
|
+
var _this;
|
|
223
|
+
_this = _super.apply(this, arguments);
|
|
224
|
+
_defineProperty(_assertThisInitialized(_this), "keyDownHandler", function(event, element) {
|
|
225
|
+
var keyCode = event.keyCode;
|
|
226
|
+
if (keyCode === _keyCodes.ENTER_KEY_CODE) {
|
|
227
|
+
var onChange = _this.properties.onChange, changeHandler = onChange, html = _this.html(), name = html; ///
|
|
228
|
+
changeHandler(name);
|
|
229
|
+
event.preventDefault();
|
|
230
|
+
}
|
|
231
|
+
if (keyCode === _keyCodes.ESCAPE_KEY_CODE) {
|
|
232
|
+
var onCancel = _this.properties.onCancel, cancelHandler = onCancel; ///
|
|
233
|
+
cancelHandler();
|
|
234
|
+
event.preventDefault();
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
return _this;
|
|
238
|
+
}
|
|
239
|
+
_createClass(NameInput, [
|
|
240
|
+
{
|
|
241
|
+
key: "setName",
|
|
242
|
+
value: function setName(name) {
|
|
243
|
+
var html = name; ///
|
|
244
|
+
this.html(html);
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
key: "show",
|
|
249
|
+
value: function show() {
|
|
250
|
+
var display = _constants.INLINE_BLOCK;
|
|
251
|
+
this.display(display);
|
|
252
|
+
this.focus();
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
key: "hide",
|
|
257
|
+
value: function hide() {
|
|
258
|
+
_get(_getPrototypeOf(NameInput.prototype), "hide", this).call(this);
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
key: "didMount",
|
|
263
|
+
value: function didMount() {
|
|
264
|
+
this.onKeyDown(this.keyDownHandler);
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
key: "willUnmount",
|
|
269
|
+
value: function willUnmount() {
|
|
270
|
+
this.offKeyDown(this.keyDownHandler);
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
key: "parentContext",
|
|
275
|
+
value: function parentContext() {
|
|
276
|
+
var showNameInput = this.show.bind(this), hideNameInput = this.hide.bind(this), setNameInputName = this.setName.bind(this); ///
|
|
277
|
+
return {
|
|
278
|
+
showNameInput: showNameInput,
|
|
279
|
+
hideNameInput: hideNameInput,
|
|
280
|
+
setNameInputName: setNameInputName
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
]);
|
|
285
|
+
return NameInput;
|
|
286
|
+
}(_wrapNativeSuper(_easy.Element));
|
|
287
|
+
_defineProperty(NameInput, "tagName", "span") ///
|
|
288
|
+
;
|
|
289
|
+
_defineProperty(NameInput, "ignoredProperties", [
|
|
290
|
+
"onChange",
|
|
291
|
+
"onCancel"
|
|
292
|
+
]);
|
|
293
|
+
_defineProperty(NameInput, "defaultProperties", {
|
|
294
|
+
role: "textbox",
|
|
295
|
+
className: "name",
|
|
296
|
+
contentEditable: "true"
|
|
297
|
+
});
|
|
298
|
+
var _default = (0, _easyWithStyle.default)(NameInput)(_templateObject());
|
|
299
|
+
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dC9uYW1lLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IElOTElORV9CTE9DSyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVOVEVSX0tFWV9DT0RFLCBFU0NBUEVfS0VZX0NPREUgfSBmcm9tIFwiLi4va2V5Q29kZXNcIjtcblxuY2xhc3MgTmFtZUlucHV0IGV4dGVuZHMgRWxlbWVudCB7XG4gIGtleURvd25IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBrZXlDb2RlIH0gPSBldmVudDtcblxuICAgIGlmIChrZXlDb2RlID09PSBFTlRFUl9LRVlfQ09ERSkge1xuICAgICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgY2hhbmdlSGFuZGxlciA9IG9uQ2hhbmdlLCAvLy9cbiAgICAgICAgICAgIGh0bWwgPSB0aGlzLmh0bWwoKSxcbiAgICAgICAgICAgIG5hbWUgPSBodG1sOyAgLy8vXG5cbiAgICAgIGNoYW5nZUhhbmRsZXIobmFtZSk7XG5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgaWYgKGtleUNvZGUgPT09IEVTQ0FQRV9LRVlfQ09ERSkge1xuICAgICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgY2FuY2VsSGFuZGxlciA9IG9uQ2FuY2VsOyAvLy9cblxuICAgICAgY2FuY2VsSGFuZGxlcigpO1xuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHNldE5hbWUobmFtZSkge1xuICAgIGNvbnN0IGh0bWwgPSBuYW1lOyAgLy8vXG5cbiAgICB0aGlzLmh0bWwoaHRtbCk7XG4gIH1cblxuICBzaG93KCkge1xuICAgIGNvbnN0IGRpc3BsYXkgPSBJTkxJTkVfQkxPQ0s7XG5cbiAgICB0aGlzLmRpc3BsYXkoZGlzcGxheSk7XG5cbiAgICB0aGlzLmZvY3VzKCk7XG4gIH1cblxuICBoaWRlKCkge1xuICAgIHN1cGVyLmhpZGUoKTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIHRoaXMub25LZXlEb3duKHRoaXMua2V5RG93bkhhbmRsZXIpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5vZmZLZXlEb3duKHRoaXMua2V5RG93bkhhbmRsZXIpO1xuICB9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBzaG93TmFtZUlucHV0ID0gdGhpcy5zaG93LmJpbmQodGhpcyksIC8vL1xuICAgICAgICAgIGhpZGVOYW1lSW5wdXQgPSB0aGlzLmhpZGUuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgc2V0TmFtZUlucHV0TmFtZSA9IHRoaXMuc2V0TmFtZS5iaW5kKHRoaXMpOyAvLy9cblxuICAgIHJldHVybiAoe1xuICAgICAgc2hvd05hbWVJbnB1dCxcbiAgICAgIGhpZGVOYW1lSW5wdXQsXG4gICAgICBzZXROYW1lSW5wdXROYW1lXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwic3BhblwiOyAgLy8vXG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwib25DaGFuZ2VcIixcbiAgICBcIm9uQ2FuY2VsXCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgcm9sZTogXCJ0ZXh0Ym94XCIsXG4gICAgY2xhc3NOYW1lOiBcIm5hbWVcIixcbiAgICBjb250ZW50RWRpdGFibGU6IFwidHJ1ZVwiXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShOYW1lSW5wdXQpYFxuICBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBcbmA7XG4iXSwibmFtZXMiOlsiTmFtZUlucHV0Iiwia2V5RG93bkhhbmRsZXIiLCJldmVudCIsImVsZW1lbnQiLCJrZXlDb2RlIiwiRU5URVJfS0VZX0NPREUiLCJvbkNoYW5nZSIsInByb3BlcnRpZXMiLCJjaGFuZ2VIYW5kbGVyIiwiaHRtbCIsIm5hbWUiLCJwcmV2ZW50RGVmYXVsdCIsIkVTQ0FQRV9LRVlfQ09ERSIsIm9uQ2FuY2VsIiwiY2FuY2VsSGFuZGxlciIsInNldE5hbWUiLCJzaG93IiwiZGlzcGxheSIsIklOTElORV9CTE9DSyIsImZvY3VzIiwiaGlkZSIsImRpZE1vdW50Iiwib25LZXlEb3duIiwid2lsbFVubW91bnQiLCJvZmZLZXlEb3duIiwicGFyZW50Q29udGV4dCIsInNob3dOYW1lSW5wdXQiLCJiaW5kIiwiaGlkZU5hbWVJbnB1dCIsInNldE5hbWVJbnB1dE5hbWUiLCJFbGVtZW50IiwidGFnTmFtZSIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJyb2xlIiwiY2xhc3NOYW1lIiwiY29udGVudEVkaXRhYmxlIiwid2l0aFN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxRkE7OztlQUFBOzs7a0VBbkZzQjtvQkFFRTt5QkFDSzt3QkFDbUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWhELElBQUEsQUFBTUEsMEJBNkVILEFBN0VIO2NBQU1BOzhCQUFBQTthQUFBQTs4QkFBQUE7OztRQUNKQywrQ0FBQUEsa0JBQWlCLFNBQUNDLE9BQU9DLFNBQVk7WUFDbkMsSUFBTSxBQUFFQyxVQUFZRixNQUFaRTtZQUVSLElBQUlBLFlBQVlDLHdCQUFjLEVBQUU7Z0JBQzlCLElBQU0sQUFBRUMsV0FBYSxNQUFLQyxVQUFVLENBQTVCRCxVQUNGRSxnQkFBZ0JGLFVBQ2hCRyxPQUFPLE1BQUtBLElBQUksSUFDaEJDLE9BQU9ELE1BQU8sR0FBRztnQkFFdkJELGNBQWNFO2dCQUVkUixNQUFNUyxjQUFjO1lBQ3RCLENBQUM7WUFFRCxJQUFJUCxZQUFZUSx5QkFBZSxFQUFFO2dCQUMvQixJQUFNLEFBQUVDLFdBQWEsTUFBS04sVUFBVSxDQUE1Qk0sVUFDRkMsZ0JBQWdCRCxVQUFVLEdBQUc7Z0JBRW5DQztnQkFFQVosTUFBTVMsY0FBYztZQUN0QixDQUFDO1FBQ0g7OztpQkF2QklYOztZQXlCSmUsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFMLElBQUksRUFBRTtnQkFDWixJQUFNRCxPQUFPQyxNQUFPLEdBQUc7Z0JBRXZCLElBQUksQ0FBQ0QsSUFBSSxDQUFDQTtZQUNaOzs7WUFFQU8sS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU87Z0JBQ0wsSUFBTUMsVUFBVUMsdUJBQVk7Z0JBRTVCLElBQUksQ0FBQ0QsT0FBTyxDQUFDQTtnQkFFYixJQUFJLENBQUNFLEtBQUs7WUFDWjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPO2dCQUNMLHFCQXhDRXBCLHNCQXdDSW9CLFFBQU4sSUFBSztZQUNQOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQ1QsSUFBSSxDQUFDQyxTQUFTLENBQUMsSUFBSSxDQUFDckIsY0FBYztZQUNwQzs7O1lBRUFzQixLQUFBQTttQkFBQUEsU0FBQUEsY0FBYztnQkFDWixJQUFJLENBQUNDLFVBQVUsQ0FBQyxJQUFJLENBQUN2QixjQUFjO1lBQ3JDOzs7WUFFQXdCLEtBQUFBO21CQUFBQSxTQUFBQSxnQkFBZ0I7Z0JBQ2QsSUFBTUMsZ0JBQWdCLElBQUksQ0FBQ1YsSUFBSSxDQUFDVyxJQUFJLENBQUMsSUFBSSxHQUNuQ0MsZ0JBQWdCLElBQUksQ0FBQ1IsSUFBSSxDQUFDTyxJQUFJLENBQUMsSUFBSSxHQUNuQ0UsbUJBQW1CLElBQUksQ0FBQ2QsT0FBTyxDQUFDWSxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUc7Z0JBRXJELE9BQVE7b0JBQ05ELGVBQUFBO29CQUNBRSxlQUFBQTtvQkFDQUMsa0JBQUFBO2dCQUNGO1lBQ0Y7OztXQTdESTdCO21CQUFrQjhCLGFBQU87QUErRDdCLGdCQS9ESTlCLFdBK0RHK0IsV0FBVSxRQUFTLEdBQUc7O0FBRTdCLGdCQWpFSS9CLFdBaUVHZ0MscUJBQW9CO0lBQ3pCO0lBQ0E7Q0FDRDtBQUVELGdCQXRFSWhDLFdBc0VHaUMscUJBQW9CO0lBQ3pCQyxNQUFNO0lBQ05DLFdBQVc7SUFDWEMsaUJBQWlCO0FBQ25CO0lBR0YsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ3JDIn0=
|