@plait/mind 0.59.0 → 0.62.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/emoji/emoji-base.component.d.ts +11 -0
- package/{base → emoji}/index.d.ts +1 -0
- package/emoji/with-emoji.d.ts +15 -0
- package/esm2022/constants/node-topic-style.mjs +1 -1
- package/esm2022/emoji/emoji-base.component.mjs +21 -0
- package/esm2022/emoji/index.mjs +3 -0
- package/esm2022/emoji/with-emoji.mjs +8 -0
- package/esm2022/generators/node-emojis.generator.mjs +17 -33
- package/esm2022/interfaces/element-data.mjs +1 -1
- package/esm2022/interfaces/options.mjs +1 -1
- package/esm2022/mind-node.component.mjs +13 -14
- package/esm2022/plugins/with-abstract-resize.mjs +1 -3
- package/esm2022/plugins/with-mind-create.mjs +4 -10
- package/esm2022/plugins/with-mind-fragment.mjs +2 -3
- package/esm2022/plugins/with-mind.mjs +3 -2
- package/esm2022/plugins/with-node-dnd.mjs +1 -4
- package/esm2022/plugins/with-node-resize.mjs +1 -1
- package/esm2022/public-api.mjs +2 -2
- package/esm2022/transforms/node.mjs +3 -4
- package/esm2022/utils/clipboard.mjs +25 -11
- package/esm2022/utils/mind.mjs +2 -2
- package/esm2022/utils/node/adjust-node.mjs +1 -10
- package/esm2022/utils/node/common.mjs +2 -6
- package/esm2022/utils/node/create-node.mjs +3 -2
- package/esm2022/utils/node/image.mjs +3 -5
- package/esm2022/utils/space/node-space.mjs +3 -3
- package/fesm2022/plait-mind.mjs +84 -123
- package/fesm2022/plait-mind.mjs.map +1 -1
- package/generators/node-emojis.generator.d.ts +6 -9
- package/interfaces/element-data.d.ts +1 -2
- package/interfaces/options.d.ts +1 -3
- package/mind-node.component.d.ts +1 -2
- package/package.json +1 -1
- package/plugins/with-mind-create.d.ts +1 -1
- package/plugins/with-mind.d.ts +1 -1
- package/public-api.d.ts +1 -1
- package/styles/mixins.scss +4 -4
- package/styles/styles.scss +2 -2
- package/utils/clipboard.d.ts +9 -0
- package/utils/mind.d.ts +1 -1
- package/base/emoji-base.component.d.ts +0 -18
- package/esm2022/base/emoji-base.component.mjs +0 -46
- package/esm2022/base/index.mjs +0 -2
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import { ComponentRef, ViewContainerRef } from '@angular/core';
|
|
2
1
|
import { EmojiData, EmojiItem, MindElement } from '../interfaces';
|
|
3
|
-
import {
|
|
2
|
+
import { PlaitBoard } from '@plait/core';
|
|
4
3
|
import { PlaitMindBoard } from '../plugins/with-mind.board';
|
|
4
|
+
import { EmojiComponentRef, PlaitMindEmojiBoard } from '../emoji/with-emoji';
|
|
5
5
|
declare class EmojiGenerator {
|
|
6
6
|
private board;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
draw(emoji: EmojiItem, element: MindElement<EmojiData>): void;
|
|
11
|
-
get nativeElement(): HTMLElement | null;
|
|
7
|
+
emojiComponentRef: EmojiComponentRef | null;
|
|
8
|
+
constructor(board: PlaitMindEmojiBoard & PlaitBoard);
|
|
9
|
+
draw(container: Element | DocumentFragment, emoji: EmojiItem, element: MindElement<EmojiData>): void;
|
|
12
10
|
destroy(): void;
|
|
13
11
|
}
|
|
14
12
|
export declare class NodeEmojisGenerator {
|
|
15
13
|
private board;
|
|
16
|
-
private viewContainerRef;
|
|
17
14
|
static key: string;
|
|
18
15
|
emojiGenerators: EmojiGenerator[];
|
|
19
16
|
g?: SVGGElement;
|
|
20
|
-
constructor(board: PlaitMindBoard
|
|
17
|
+
constructor(board: PlaitMindBoard);
|
|
21
18
|
drawEmojis(element: MindElement): SVGGElement | undefined;
|
|
22
19
|
destroy(): void;
|
|
23
20
|
}
|
package/interfaces/options.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MindEmojiBaseComponent } from '../base/emoji-base.component';
|
|
1
|
+
import { WithPluginOptions } from '@plait/core';
|
|
3
2
|
export interface WithMindOptions extends WithPluginOptions {
|
|
4
3
|
emojiPadding: number;
|
|
5
4
|
spaceBetweenEmojis: number;
|
|
6
|
-
emojiComponentType?: ComponentType<MindEmojiBaseComponent>;
|
|
7
5
|
}
|
package/mind-node.component.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { PlaitPluginElementContext, OnContextChanged } from '@plait/core';
|
|
2
|
-
import { TextManage } from '@plait/text';
|
|
3
2
|
import { RoughSVG } from 'roughjs/bin/svg';
|
|
4
3
|
import { MindElement } from './interfaces/element';
|
|
5
4
|
import { MindNode } from './interfaces/node';
|
|
@@ -8,7 +7,7 @@ import { NodePlusGenerator } from './generators/node-plus.generator';
|
|
|
8
7
|
import { PlaitMindBoard } from './plugins/with-mind.board';
|
|
9
8
|
import { NodeActiveGenerator } from './generators/node-active.generator';
|
|
10
9
|
import { CollapseGenerator } from './generators/node-collapse.generator';
|
|
11
|
-
import { CommonElementFlavour, ImageGenerator } from '@plait/common';
|
|
10
|
+
import { CommonElementFlavour, ImageGenerator, TextManage } from '@plait/common';
|
|
12
11
|
import { NodeShapeGenerator } from './generators/node-shape.generator';
|
|
13
12
|
import { ImageData } from './interfaces';
|
|
14
13
|
export declare class MindNodeComponent extends CommonElementFlavour<MindElement, PlaitMindBoard> implements OnContextChanged<MindElement, PlaitMindBoard> {
|
package/package.json
CHANGED
package/plugins/with-mind.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { PlaitBoard } from '@plait/core';
|
|
2
|
-
export declare const withMind: (baseBoard: PlaitBoard) => PlaitBoard;
|
|
2
|
+
export declare const withMind: (baseBoard: PlaitBoard) => PlaitBoard & import("../emoji/with-emoji").PlaitMindEmojiBoard;
|
package/public-api.d.ts
CHANGED
|
@@ -7,6 +7,6 @@ export * from './plugins/with-mind-extend';
|
|
|
7
7
|
export * from './constants';
|
|
8
8
|
export * from './queries/index';
|
|
9
9
|
export * from './transforms/index';
|
|
10
|
-
export * from './
|
|
10
|
+
export * from './emoji';
|
|
11
11
|
export * from './plugins/with-mind.board';
|
|
12
12
|
export * from './plugins/with-abstract-resize.board';
|
package/styles/mixins.scss
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@mixin node-color {
|
|
2
2
|
&.theme-default,
|
|
3
3
|
&.theme-soft {
|
|
4
|
-
.plait-
|
|
4
|
+
.plait-text-container {
|
|
5
5
|
color: #333333;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
&.theme-colorful,
|
|
10
10
|
&.theme-retro {
|
|
11
11
|
.root {
|
|
12
|
-
.plait-
|
|
12
|
+
.plait-text-container {
|
|
13
13
|
color: #ffffff;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
|
|
18
18
|
&.theme-dark,
|
|
19
19
|
&.theme-starry {
|
|
20
|
-
.plait-
|
|
20
|
+
.plait-text-container {
|
|
21
21
|
color: #ffffff;
|
|
22
22
|
}
|
|
23
23
|
.root {
|
|
24
|
-
.plait-
|
|
24
|
+
.plait-text-container {
|
|
25
25
|
color: #333333;
|
|
26
26
|
}
|
|
27
27
|
}
|
package/styles/styles.scss
CHANGED
|
@@ -134,14 +134,14 @@ $primary: #4e8afa;
|
|
|
134
134
|
opacity: 0.6;
|
|
135
135
|
// Compact: Safari
|
|
136
136
|
// Opacity property will cause text position warning
|
|
137
|
-
// .plait-
|
|
137
|
+
// .plait-text-container {
|
|
138
138
|
// opacity: 0.6;
|
|
139
139
|
// }
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
.root {
|
|
144
|
-
.plait-
|
|
144
|
+
.plait-text-container {
|
|
145
145
|
font-size: 18px;
|
|
146
146
|
min-height: 25px;
|
|
147
147
|
line-height: 25px;
|
package/utils/clipboard.d.ts
CHANGED
|
@@ -2,6 +2,15 @@ import { PlaitBoard, PlaitElement, Point, WritableClipboardOperationType } from
|
|
|
2
2
|
import { MindElement } from '../interfaces';
|
|
3
3
|
import { Element } from 'slate';
|
|
4
4
|
import { PlaitMindBoard } from '../plugins/with-mind.board';
|
|
5
|
+
import { ParagraphElement } from '@plait/common';
|
|
5
6
|
export declare const buildClipboardData: (board: PlaitBoard, selectedElements: MindElement[], startPoint: Point) => MindElement<import("../interfaces").BaseData>[];
|
|
6
7
|
export declare const insertClipboardData: (board: PlaitMindBoard, elements: PlaitElement[], targetPoint: Point, operationType?: WritableClipboardOperationType) => void;
|
|
7
8
|
export declare const insertClipboardText: (board: PlaitMindBoard, targetParent: PlaitElement, text: string | Element) => void;
|
|
9
|
+
export declare const getTopicSizeByElement: (element: MindElement, parentElement?: MindElement) => {
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const getTopicSize: (isRoot: boolean, isBranch: boolean, topic: ParagraphElement, manualWidth?: number) => {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
};
|
package/utils/mind.d.ts
CHANGED
|
@@ -14,4 +14,4 @@ export declare const divideElementByParent: (elements: MindElement[]) => {
|
|
|
14
14
|
parentElements: MindElement<import("@plait/mind").BaseData>[];
|
|
15
15
|
abstractIncludedGroups: MindElement<import("@plait/mind").BaseData>[][];
|
|
16
16
|
};
|
|
17
|
-
export declare const getDefaultMindElementFontSize: (board: PlaitBoard, element: MindElement) =>
|
|
17
|
+
export declare const getDefaultMindElementFontSize: (board: PlaitBoard, element: MindElement) => 18 | 14;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ElementRef, OnInit } from '@angular/core';
|
|
2
|
-
import { EmojiData, EmojiItem } from '../interfaces/element-data';
|
|
3
|
-
import { PlaitBoard } from '@plait/core';
|
|
4
|
-
import { MindElement } from '../interfaces';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class MindEmojiBaseComponent implements OnInit {
|
|
7
|
-
protected elementRef: ElementRef<HTMLElement>;
|
|
8
|
-
fontSize: number;
|
|
9
|
-
emojiItem: EmojiItem;
|
|
10
|
-
board: PlaitBoard;
|
|
11
|
-
element: MindElement<EmojiData>;
|
|
12
|
-
get nativeElement(): HTMLElement;
|
|
13
|
-
handlePointerDown(): void;
|
|
14
|
-
constructor(elementRef: ElementRef<HTMLElement>);
|
|
15
|
-
ngOnInit(): void;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MindEmojiBaseComponent, never>;
|
|
17
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MindEmojiBaseComponent, never, never, { "fontSize": { "alias": "fontSize"; "required": false; }; "emojiItem": { "alias": "emojiItem"; "required": false; }; "board": { "alias": "board"; "required": false; }; "element": { "alias": "element"; "required": false; }; }, {}, never, never, false, never>;
|
|
18
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
-
import { PlaitPluginKey } from '@plait/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class MindEmojiBaseComponent {
|
|
5
|
-
get nativeElement() {
|
|
6
|
-
return this.elementRef.nativeElement;
|
|
7
|
-
}
|
|
8
|
-
handlePointerDown() {
|
|
9
|
-
const currentOptions = this.board.getPluginOptions(PlaitPluginKey.withSelection);
|
|
10
|
-
this.board.setPluginOptions(PlaitPluginKey.withSelection, {
|
|
11
|
-
isDisabledSelect: true
|
|
12
|
-
});
|
|
13
|
-
setTimeout(() => {
|
|
14
|
-
this.board.setPluginOptions(PlaitPluginKey.withSelection, { ...currentOptions });
|
|
15
|
-
}, 0);
|
|
16
|
-
}
|
|
17
|
-
constructor(elementRef) {
|
|
18
|
-
this.elementRef = elementRef;
|
|
19
|
-
this.fontSize = 14;
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
this.elementRef.nativeElement.style.fontSize = `${this.fontSize}px`;
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MindEmojiBaseComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: MindEmojiBaseComponent, inputs: { fontSize: "fontSize", emojiItem: "emojiItem", board: "board", element: "element" }, host: { listeners: { "pointerdown": "handlePointerDown()" }, classAttribute: "mind-node-emoji" }, ngImport: i0 }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MindEmojiBaseComponent, decorators: [{
|
|
28
|
-
type: Directive,
|
|
29
|
-
args: [{
|
|
30
|
-
host: {
|
|
31
|
-
class: 'mind-node-emoji'
|
|
32
|
-
}
|
|
33
|
-
}]
|
|
34
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fontSize: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], emojiItem: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], board: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], element: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], handlePointerDown: [{
|
|
43
|
-
type: HostListener,
|
|
44
|
-
args: ['pointerdown']
|
|
45
|
-
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamktYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9iYXNlL2Vtb2ppLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEVBQWlDLGNBQWMsRUFBcUIsTUFBTSxhQUFhLENBQUM7O0FBUS9GLE1BQU0sT0FBTyxzQkFBc0I7SUFhL0IsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBR0QsaUJBQWlCO1FBQ2IsTUFBTSxjQUFjLEdBQUksSUFBSSxDQUFDLEtBQTJCLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZHLElBQUksQ0FBQyxLQUEyQixDQUFDLGdCQUFnQixDQUFvQixjQUFjLENBQUMsYUFBYSxFQUFFO1lBQ2hHLGdCQUFnQixFQUFFLElBQUk7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxLQUEyQixDQUFDLGdCQUFnQixDQUFvQixjQUFjLENBQUMsYUFBYSxFQUFFLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQy9ILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxZQUFzQixVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQTFCekQsYUFBUSxHQUFXLEVBQUUsQ0FBQztJQTBCc0MsQ0FBQztJQUU3RCxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQztJQUN4RSxDQUFDOzhHQWhDUSxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDUCxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGlCQUFpQjtxQkFDM0I7aUJBQ0o7K0VBR0csUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQVFOLGlCQUFpQjtzQkFEaEIsWUFBWTt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVtb2ppRGF0YSwgRW1vamlJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50LWRhdGEnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRPcHRpb25zQm9hcmQsIFBsYWl0UGx1Z2luS2V5LCBXaXRoUGx1Z2luT3B0aW9ucyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdtaW5kLW5vZGUtZW1vamknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBNaW5kRW1vamlCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIGZvbnRTaXplOiBudW1iZXIgPSAxNDtcblxuICAgIEBJbnB1dCgpXG4gICAgZW1vamlJdGVtITogRW1vamlJdGVtO1xuXG4gICAgQElucHV0KClcbiAgICBib2FyZCE6IFBsYWl0Qm9hcmQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGVsZW1lbnQhOiBNaW5kRWxlbWVudDxFbW9qaURhdGE+O1xuXG4gICAgZ2V0IG5hdGl2ZUVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdwb2ludGVyZG93bicpXG4gICAgaGFuZGxlUG9pbnRlckRvd24oKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRPcHRpb25zID0gKHRoaXMuYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpLmdldFBsdWdpbk9wdGlvbnMoUGxhaXRQbHVnaW5LZXkud2l0aFNlbGVjdGlvbik7XG4gICAgICAgICh0aGlzLmJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5zZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uLCB7XG4gICAgICAgICAgICBpc0Rpc2FibGVkU2VsZWN0OiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICh0aGlzLmJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5zZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uLCB7IC4uLmN1cnJlbnRPcHRpb25zIH0pO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZm9udFNpemUgPSBgJHt0aGlzLmZvbnRTaXplfXB4YDtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/base/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './emoji-base.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9iYXNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Vtb2ppLWJhc2UuY29tcG9uZW50JztcbiJdfQ==
|