@worktile/theia 2.2.10 → 2.3.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/worktile-theia.umd.js +768 -184
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/constants/default.d.ts +3 -0
- package/constants/node-types.d.ts +4 -0
- package/custom-types.d.ts +3 -1
- package/editor.component.d.ts +3 -1
- package/editor.module.d.ts +26 -24
- package/esm2015/constants/default.js +2 -1
- package/esm2015/constants/node-types.js +6 -1
- package/esm2015/custom-types.js +1 -1
- package/esm2015/editor.component.js +12 -6
- package/esm2015/editor.module.js +6 -3
- package/esm2015/interfaces/editor.js +1 -1
- package/esm2015/interfaces/image.js +1 -1
- package/esm2015/interfaces/valid-children-types.js +2 -1
- package/esm2015/plugins/align/align.editor.js +10 -2
- package/esm2015/plugins/align/options.js +3 -2
- package/esm2015/plugins/common/auto-insert-data..js +2 -18
- package/esm2015/plugins/dnd/component/dnd.component.js +260 -0
- package/esm2015/plugins/dnd/utils/get-current-target.js +19 -0
- package/esm2015/plugins/dnd/utils/get-hover-direction.js +13 -0
- package/esm2015/plugins/dnd/utils/is-valid-drag.js +38 -0
- package/esm2015/plugins/dnd/utils/move-drag-node.js +30 -0
- package/esm2015/plugins/dnd/utils/remove-drop-thumb-line.js +10 -0
- package/esm2015/plugins/image/image.component.js +167 -14
- package/esm2015/plugins/image/image.editor.js +4 -1
- package/esm2015/plugins/quick-insert/components/quick-insert.component.js +13 -2
- package/esm2015/services/context.service.js +5 -1
- package/esm2015/utils/dom.js +39 -1
- package/esm2015/utils/merge-element-options.js +20 -0
- package/fesm2015/worktile-theia.js +719 -153
- package/fesm2015/worktile-theia.js.map +1 -1
- package/interfaces/editor.d.ts +9 -1
- package/interfaces/image.d.ts +7 -1
- package/interfaces/valid-children-types.d.ts +1 -0
- package/package.json +1 -1
- package/plugins/align/align.editor.d.ts +1 -0
- package/plugins/dnd/component/dnd.component.d.ts +42 -0
- package/plugins/dnd/component/dnd.component.scss +61 -0
- package/plugins/dnd/utils/get-current-target.d.ts +2 -0
- package/plugins/dnd/utils/get-hover-direction.d.ts +3 -0
- package/plugins/dnd/utils/is-valid-drag.d.ts +3 -0
- package/plugins/dnd/utils/move-drag-node.d.ts +2 -0
- package/plugins/dnd/utils/remove-drop-thumb-line.d.ts +2 -0
- package/plugins/image/image.component.d.ts +27 -3
- package/plugins/image/image.component.scss +9 -2
- package/plugins/image/image.editor.d.ts +6 -1
- package/plugins/quick-insert/components/quick-insert.component.d.ts +1 -0
- package/plugins/table/components/table.component.scss +1 -0
- package/services/context.service.d.ts +1 -0
- package/styles/editor.scss +4 -0
- package/styles/index.scss +1 -0
- package/styles/typo.scss +44 -0
- package/utils/dom.d.ts +5 -1
- package/utils/merge-element-options.d.ts +2 -0
package/esm2015/utils/dom.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AngularEditor, EDITOR_TO_ELEMENT } from 'slate-angular';
|
|
1
2
|
import { Alignment } from '../constants';
|
|
2
3
|
/** Converts CSS pixel values to numbers, eg "123px" to 123. Returns NaN for non pixel values. */
|
|
3
4
|
export function coercePixelsFromCssValue(cssValue) {
|
|
@@ -44,4 +45,41 @@ export function getElementClassByPrefix(el, prefix) {
|
|
|
44
45
|
});
|
|
45
46
|
return matchClass;
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
+
export function findRelativeElementByPoint(editor, x, y, mode) {
|
|
49
|
+
const editableElement = EDITOR_TO_ELEMENT.get(editor);
|
|
50
|
+
const rectEditable = editableElement.getBoundingClientRect();
|
|
51
|
+
if (x > rectEditable.x && x < rectEditable.x + rectEditable.width) {
|
|
52
|
+
const centerX = rectEditable.x + rectEditable.width / 2;
|
|
53
|
+
let relativeElement = document.elementFromPoint(mode === 'highest' ? centerX : x, y);
|
|
54
|
+
return relativeElement;
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
export function findNodeEntryByPoint(editor, x, y, mode) {
|
|
59
|
+
const editableElement = EDITOR_TO_ELEMENT.get(editor);
|
|
60
|
+
let rootElement = null;
|
|
61
|
+
let relativeElement = findRelativeElementByPoint(editor, x, y, mode);
|
|
62
|
+
// 获取最顶层的DOM
|
|
63
|
+
if (mode === 'highest') {
|
|
64
|
+
while (relativeElement && editableElement.contains(relativeElement)) {
|
|
65
|
+
relativeElement = relativeElement.closest('[data-slate-node="element"]');
|
|
66
|
+
if (relativeElement) {
|
|
67
|
+
rootElement = relativeElement;
|
|
68
|
+
relativeElement = relativeElement.parentElement;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (!mode) {
|
|
73
|
+
if (relativeElement && editableElement.contains(relativeElement)) {
|
|
74
|
+
relativeElement = relativeElement.closest('[data-slate-node="element"]');
|
|
75
|
+
rootElement = relativeElement;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (rootElement) {
|
|
79
|
+
const node = AngularEditor.toSlateNode(editor, rootElement);
|
|
80
|
+
const path = AngularEditor.findPath(editor, node);
|
|
81
|
+
return [node, path];
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2RvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFjLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFFcEQsaUdBQWlHO0FBQ2pHLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxRQUFnQjtJQUNyRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLElBQUksS0FBSyxFQUFFO1FBQ1AsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDM0I7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUFvQjtJQUNoRCxxRkFBcUY7SUFDckYscUNBQXFDO0lBQ3JDLE9BQU8sd0JBQXdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQ2hGLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsT0FBb0I7SUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBMkI7SUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQzlCLE9BQU8sS0FBSyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQTJCO0lBQzFELE9BQU8sSUFBSSxDQUFD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LFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM5RCxlQUFlLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ3pFLFdBQVcsR0FBRyxlQUFlLENBQUM7U0FDakM7S0FDSjtJQUVELElBQUksV0FBVyxFQUFFO1FBQ2IsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFZLENBQUM7UUFDdkUsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN2QjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIE5vZGVFbnRyeSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIERPTUVsZW1lbnQsIEVESVRPUl9UT19FTEVNRU5UIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIE5vZGVMZXZlbCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbi8qKiBDb252ZXJ0cyBDU1MgcGl4ZWwgdmFsdWVzIHRvIG51bWJlcnMsIGVnIFwiMTIzcHhcIiB0byAxMjMuIFJldHVybnMgTmFOIGZvciBub24gcGl4ZWwgdmFsdWVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZVBpeGVsc0Zyb21Dc3NWYWx1ZShjc3NWYWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXRjaCA9IGNzc1ZhbHVlLm1hdGNoKC8oXFxkKylweC8pO1xuICAgIGlmIChtYXRjaCkge1xuICAgICAgICByZXR1cm4gTnVtYmVyKG1hdGNoWzFdKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50V2lkdGgoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAvLyBPcHRpbWl6YXRpb246IENoZWNrIHN0eWxlLndpZHRoIGZpcnN0IGFzIHdlIHByb2JhYmx5IHNldCBpdCBhbHJlYWR5IGJlZm9yZSByZWFkaW5nXG4gICAgLy8gb2Zmc2V0V2lkdGggd2hpY2ggdHJpZ2dlcnMgbGF5b3V0LlxuICAgIHJldHVybiBjb2VyY2VQaXhlbHNGcm9tQ3NzVmFsdWUoZWxlbWVudC5zdHlsZS53aWR0aCkgfHwgZWxlbWVudC5vZmZzZXRXaWR0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRIZWlnaHQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2xzVG90YWxXaWR0aChjb2xzOiBIVE1MVGFibGVDb2xFbGVtZW50W10pIHtcbiAgICByZXR1cm4gY29scy5yZWR1Y2UoKHRvdGFsLCBjb2wpID0+IHtcbiAgICAgICAgcmV0dXJuIHRvdGFsICsgZ2V0RWxlbWVudFdpZHRoKGNvbCk7XG4gICAgfSwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb3dzVG90YWxIZWlnaHQocm93czogSFRNTFRhYmxlUm93RWxlbWVudFtdKSB7XG4gICAgcmV0dXJuIHJvd3MucmVkdWNlKCh0b3RhbCwgcm93KSA9PiB7XG4gICAgICAgIHJldHVybiB0b3RhbCArIGdldEVsZW1lbnRIZWlnaHQocm93KTtcbiAgICB9LCAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUVsZW1lbnRTdHlsZShlbDogSFRNTEVsZW1lbnQsIGVsZW1lbnQ6IEVsZW1lbnQpIHtcbiAgICBpZiAoZWxlbWVudC5hbGlnbikge1xuICAgICAgICBlbC5zdHlsZS50ZXh0QWxpZ24gPSAoZWxlbWVudC5hbGlnbiBhcyBzdHJpbmcpIHx8IEFsaWdubWVudC5sZWZ0O1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnRleHRJbmRlbnQpIHtcbiAgICAgICAgZWwuc3R5bGUudGV4dEluZGVudCA9IGVsZW1lbnQudGV4dEluZGVudCArICdlbSc7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQudmVydGljYWxBbGlnbikge1xuICAgICAgICBlbC5zdHlsZS52ZXJ0aWNhbEFsaWduID0gZWxlbWVudC52ZXJ0aWNhbEFsaWduO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRDbGFzc0J5UHJlZml4KGVsOiBET01FbGVtZW50LCBwcmVmaXg6IHN0cmluZykge1xuICAgIGxldCBtYXRjaENsYXNzID0gbnVsbDtcbiAgICBlbC5jbGFzc0xpc3QuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMocHJlZml4KSkge1xuICAgICAgICAgICAgbWF0Y2hDbGFzcyA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG1hdGNoQ2xhc3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kUmVsYXRpdmVFbGVtZW50QnlQb2ludChlZGl0b3I6IFRoZUVkaXRvciwgeDogbnVtYmVyLCB5OiBudW1iZXIsIG1vZGU/OiBOb2RlTGV2ZWwpIHtcbiAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSBFRElUT1JfVE9fRUxFTUVOVC5nZXQoZWRpdG9yKTtcbiAgICBjb25zdCByZWN0RWRpdGFibGUgPSBlZGl0YWJsZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgaWYgKHggPiByZWN0RWRpdGFibGUueCAmJiB4IDwgcmVjdEVkaXRhYmxlLnggKyByZWN0RWRpdGFibGUud2lkdGgpIHtcbiAgICAgICAgY29uc3QgY2VudGVyWCA9IHJlY3RFZGl0YWJsZS54ICsgcmVjdEVkaXRhYmxlLndpZHRoIC8gMjtcbiAgICAgICAgbGV0IHJlbGF0aXZlRWxlbWVudCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQobW9kZSA9PT0gJ2hpZ2hlc3QnID8gY2VudGVyWCA6IHgsIHkpO1xuICAgICAgICByZXR1cm4gcmVsYXRpdmVFbGVtZW50O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmROb2RlRW50cnlCeVBvaW50KGVkaXRvcjogVGhlRWRpdG9yLCB4OiBudW1iZXIsIHk6IG51bWJlciwgbW9kZT86IE5vZGVMZXZlbCk6IE5vZGVFbnRyeTxFbGVtZW50PiB8IG51bGwge1xuICAgIGNvbnN0IGVkaXRhYmxlRWxlbWVudCA9IEVESVRPUl9UT19FTEVNRU5ULmdldChlZGl0b3IpO1xuICAgIGxldCByb290RWxlbWVudDogRE9NRWxlbWVudCA9IG51bGw7XG4gICAgbGV0IHJlbGF0aXZlRWxlbWVudCA9IGZpbmRSZWxhdGl2ZUVsZW1lbnRCeVBvaW50KGVkaXRvciwgeCwgeSwgbW9kZSk7XG4gICAgLy8g6I635Y+W5pyA6aG25bGC55qERE9NXG4gICAgaWYgKG1vZGUgPT09ICdoaWdoZXN0Jykge1xuICAgICAgICB3aGlsZSAocmVsYXRpdmVFbGVtZW50ICYmIGVkaXRhYmxlRWxlbWVudC5jb250YWlucyhyZWxhdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZWxhdGl2ZUVsZW1lbnQgPSByZWxhdGl2ZUVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtc2xhdGUtbm9kZT1cImVsZW1lbnRcIl0nKTtcbiAgICAgICAgICAgIGlmIChyZWxhdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByb290RWxlbWVudCA9IHJlbGF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICByZWxhdGl2ZUVsZW1lbnQgPSByZWxhdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmICghbW9kZSkge1xuICAgICAgICBpZiAocmVsYXRpdmVFbGVtZW50ICYmIGVkaXRhYmxlRWxlbWVudC5jb250YWlucyhyZWxhdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZWxhdGl2ZUVsZW1lbnQgPSByZWxhdGl2ZUVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtc2xhdGUtbm9kZT1cImVsZW1lbnRcIl0nKTtcbiAgICAgICAgICAgIHJvb3RFbGVtZW50ID0gcmVsYXRpdmVFbGVtZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvb3RFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBBbmd1bGFyRWRpdG9yLnRvU2xhdGVOb2RlKGVkaXRvciwgcm9vdEVsZW1lbnQpIGFzIEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHBhdGggPSBBbmd1bGFyRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgbm9kZSk7XG4gICAgICAgIHJldHVybiBbbm9kZSwgcGF0aF07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DefaultElementOptions } from '../interfaces';
|
|
2
|
+
export const mergeElementOptions = (elementOptions) => {
|
|
3
|
+
elementOptions = elementOptions.filter(item => item.inValidChildrenTypes.length > 0);
|
|
4
|
+
const combinationData = [...DefaultElementOptions, ...elementOptions];
|
|
5
|
+
const dataInfo = {};
|
|
6
|
+
combinationData.forEach(item => {
|
|
7
|
+
const { type, inValidChildrenTypes, isIndivisible, isSecondaryContainer } = item;
|
|
8
|
+
if (!dataInfo[type]) {
|
|
9
|
+
dataInfo[type] = {
|
|
10
|
+
type,
|
|
11
|
+
inValidChildrenTypes,
|
|
12
|
+
isIndivisible,
|
|
13
|
+
isSecondaryContainer
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
dataInfo[type].inValidChildrenTypes = Array.from(new Set([...inValidChildrenTypes, ...dataInfo[type].inValidChildrenTypes]));
|
|
17
|
+
});
|
|
18
|
+
return dataInfo;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtZWxlbWVudC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL21lcmdlLWVsZW1lbnQtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsY0FBb0MsRUFBRSxFQUFFO0lBQ3hFLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRixNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcscUJBQXFCLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQztJQUN0RSxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDcEIsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQixNQUFNLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFDYixJQUFJO2dCQUNKLG9CQUFvQjtnQkFDcEIsYUFBYTtnQkFDYixvQkFBb0I7YUFDdkIsQ0FBQztTQUNMO1FBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLG9CQUFvQixFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pJLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdEVsZW1lbnRPcHRpb25zLCBFbGVtZW50T3B0aW9uc0luZm8gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IG1lcmdlRWxlbWVudE9wdGlvbnMgPSAoZWxlbWVudE9wdGlvbnM6IEVsZW1lbnRPcHRpb25zSW5mb1tdKSA9PiB7XG4gICAgZWxlbWVudE9wdGlvbnMgPSBlbGVtZW50T3B0aW9ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLmluVmFsaWRDaGlsZHJlblR5cGVzLmxlbmd0aCA+IDApO1xuICAgIGNvbnN0IGNvbWJpbmF0aW9uRGF0YSA9IFsuLi5EZWZhdWx0RWxlbWVudE9wdGlvbnMsIC4uLmVsZW1lbnRPcHRpb25zXTtcbiAgICBjb25zdCBkYXRhSW5mbyA9IHt9O1xuICAgIGNvbWJpbmF0aW9uRGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCB7IHR5cGUsIGluVmFsaWRDaGlsZHJlblR5cGVzLCBpc0luZGl2aXNpYmxlLCBpc1NlY29uZGFyeUNvbnRhaW5lciB9ID0gaXRlbTtcbiAgICAgICAgaWYgKCFkYXRhSW5mb1t0eXBlXSkge1xuICAgICAgICAgICAgZGF0YUluZm9bdHlwZV0gPSB7XG4gICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICBpblZhbGlkQ2hpbGRyZW5UeXBlcyxcbiAgICAgICAgICAgICAgICBpc0luZGl2aXNpYmxlLFxuICAgICAgICAgICAgICAgIGlzU2Vjb25kYXJ5Q29udGFpbmVyXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGRhdGFJbmZvW3R5cGVdLmluVmFsaWRDaGlsZHJlblR5cGVzID0gQXJyYXkuZnJvbShuZXcgU2V0KFsuLi5pblZhbGlkQ2hpbGRyZW5UeXBlcywgLi4uZGF0YUluZm9bdHlwZV0uaW5WYWxpZENoaWxkcmVuVHlwZXNdKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGFJbmZvO1xufTtcbiJdfQ==
|