fantasy-ngzorro 2.1.19 → 2.1.21
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/README.md +1 -1
- package/bundles/fantasy-ngzorro.umd.js +251 -66
- package/bundles/fantasy-ngzorro.umd.js.map +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js +2 -2
- package/bundles/fantasy-ngzorro.umd.min.js.map +1 -1
- package/esm2015/hd-table/hd-table-cell.pipe.js +26 -5
- package/esm2015/hd-table/hd-table.component.js +155 -22
- package/esm2015/hd-table/hd-table.module.js +3 -1
- package/esm5/hd-table/hd-table-cell.pipe.js +26 -5
- package/esm5/hd-table/hd-table.component.js +186 -22
- package/esm5/hd-table/hd-table.module.js +3 -1
- package/fantasy-ngzorro.metadata.json +1 -1
- package/fesm2015/fantasy-ngzorro.js +217 -62
- package/fesm2015/fantasy-ngzorro.js.map +1 -1
- package/fesm5/fantasy-ngzorro.js +248 -62
- package/fesm5/fantasy-ngzorro.js.map +1 -1
- package/hd-table/hd-table-cell.pipe.d.ts +1 -0
- package/hd-table/hd-table.component.d.ts +12 -0
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
|
9
9
|
import { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';
|
|
10
10
|
import { NzResizableModule } from 'ng-zorro-antd/resizable';
|
|
11
11
|
import { NzTableModule } from 'ng-zorro-antd/table';
|
|
12
|
+
import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
|
|
12
13
|
import { NzTreeModule } from 'ng-zorro-antd/tree';
|
|
13
14
|
import { HdButtonGroupModule } from '../hd-button-group/hd-button-group.module';
|
|
14
15
|
import { HdButtonModule } from '../hd-button/hd-button.module';
|
|
@@ -28,6 +29,7 @@ HdTableModule.decorators = [
|
|
|
28
29
|
HdStatusModule,
|
|
29
30
|
HdButtonModule,
|
|
30
31
|
HdButtonGroupModule,
|
|
32
|
+
NzToolTipModule,
|
|
31
33
|
NzPopconfirmModule,
|
|
32
34
|
NzResizableModule,
|
|
33
35
|
NzDropDownModule,
|
|
@@ -40,4 +42,4 @@ HdTableModule.decorators = [
|
|
|
40
42
|
schemas: [NO_ERRORS_SCHEMA]
|
|
41
43
|
},] }
|
|
42
44
|
];
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZmFudGFzeS1uZ3pvcnJvLyIsInNvdXJjZXMiOlsiaGQtdGFibGUvaGQtdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBcUJ4RCxNQUFNLE9BQU8sYUFBYTs7O1lBcEJ6QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixhQUFhO29CQUNiLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxtQkFBbUI7b0JBQ25CLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsWUFBWTtvQkFDWixZQUFZO2lCQUNiO2dCQUNELFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztnQkFDakQsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUMzQixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzthQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSwgTk9fRVJST1JTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnpEcm9wRG93bk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZHJvcGRvd24nO1xuaW1wb3J0IHsgTnpJY29uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pY29uJztcbmltcG9ydCB7IE56UG9wY29uZmlybU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcG9wY29uZmlybSc7XG5pbXBvcnQgeyBOelJlc2l6YWJsZU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcmVzaXphYmxlJztcbmltcG9ydCB7IE56VGFibGVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RhYmxlJztcbmltcG9ydCB7IE56VG9vbFRpcE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdG9vbHRpcCc7XG5pbXBvcnQgeyBOelRyZWVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RyZWUnO1xuaW1wb3J0IHsgSGRCdXR0b25Hcm91cE1vZHVsZSB9IGZyb20gJy4uL2hkLWJ1dHRvbi1ncm91cC9oZC1idXR0b24tZ3JvdXAubW9kdWxlJztcbmltcG9ydCB7IEhkQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vaGQtYnV0dG9uL2hkLWJ1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgSGRTcGFjZU1vZHVsZSB9IGZyb20gJy4uL2hkLXNwYWNlL2hkLXNwYWNlLm1vZHVsZSc7XG5pbXBvcnQgeyBIZFN0YXR1c01vZHVsZSB9IGZyb20gJy4uL2hkLXN0YXR1cy9oZC1zdGF0dXMubW9kdWxlJztcbmltcG9ydCB7IENvbW1vblNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jb21tb24tc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEhkVGFibGVDZWxsUGlwZSB9IGZyb20gJy4vaGQtdGFibGUtY2VsbC5waXBlJztcbmltcG9ydCB7IEhkVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2hkLXRhYmxlLmNvbXBvbmVudCc7XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE56VGFibGVNb2R1bGUsXG4gICAgSGRTcGFjZU1vZHVsZSxcbiAgICBIZFN0YXR1c01vZHVsZSxcbiAgICBIZEJ1dHRvbk1vZHVsZSxcbiAgICBIZEJ1dHRvbkdyb3VwTW9kdWxlLFxuICAgIE56VG9vbFRpcE1vZHVsZSxcbiAgICBOelBvcGNvbmZpcm1Nb2R1bGUsXG4gICAgTnpSZXNpemFibGVNb2R1bGUsXG4gICAgTnpEcm9wRG93bk1vZHVsZSxcbiAgICBOelRyZWVNb2R1bGUsXG4gICAgTnpJY29uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW0hkVGFibGVDb21wb25lbnQsIEhkVGFibGVDZWxsUGlwZV0sXG4gIHByb3ZpZGVyczogW0NvbW1vblNlc3Npb25TZXJ2aWNlXSxcbiAgZXhwb3J0czogW0hkVGFibGVDb21wb25lbnRdLFxuICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgSGRUYWJsZU1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Pipe } from "@angular/core";
|
|
6
|
+
import { ColWidth } from "../model/colWidth";
|
|
6
7
|
/**
|
|
7
8
|
* @record
|
|
8
9
|
*/
|
|
@@ -14,6 +15,8 @@ if (false) {
|
|
|
14
15
|
HdTableCellView.prototype.title;
|
|
15
16
|
/** @type {?} */
|
|
16
17
|
HdTableCellView.prototype.isEmpty;
|
|
18
|
+
/** @type {?} */
|
|
19
|
+
HdTableCellView.prototype.overflow;
|
|
17
20
|
}
|
|
18
21
|
var HdTableCellPipe = /** @class */ (function () {
|
|
19
22
|
function HdTableCellPipe() {
|
|
@@ -30,7 +33,7 @@ var HdTableCellPipe = /** @class */ (function () {
|
|
|
30
33
|
*/
|
|
31
34
|
function (data, col) {
|
|
32
35
|
if (!data || !col) {
|
|
33
|
-
return { display: "<空>", title: null, isEmpty: true };
|
|
36
|
+
return { display: "<空>", title: null, isEmpty: true, overflow: false };
|
|
34
37
|
}
|
|
35
38
|
/** @type {?} */
|
|
36
39
|
var raw = getHdTableCellRaw(data, col);
|
|
@@ -39,15 +42,20 @@ var HdTableCellPipe = /** @class */ (function () {
|
|
|
39
42
|
/** @type {?} */
|
|
40
43
|
var display = isEmpty ? "<空>" : raw;
|
|
41
44
|
/** @type {?} */
|
|
45
|
+
var maxWidth = col.width || ColWidth.fixColWidth;
|
|
46
|
+
/** @type {?} */
|
|
47
|
+
var overflow = false;
|
|
48
|
+
/** @type {?} */
|
|
42
49
|
var title = null;
|
|
43
|
-
if (!isEmpty
|
|
50
|
+
if (!isEmpty) {
|
|
44
51
|
/** @type {?} */
|
|
45
52
|
var str = String(raw);
|
|
46
|
-
|
|
53
|
+
overflow = estimateTextWidth(str) >= maxWidth;
|
|
54
|
+
if (overflow) {
|
|
47
55
|
title = str;
|
|
48
56
|
}
|
|
49
57
|
}
|
|
50
|
-
return { display: display, title: title, isEmpty: isEmpty };
|
|
58
|
+
return { display: display, title: title, isEmpty: isEmpty, overflow: overflow };
|
|
51
59
|
};
|
|
52
60
|
HdTableCellPipe.decorators = [
|
|
53
61
|
{ type: Pipe, args: [{ name: "hdTableCell", pure: true },] }
|
|
@@ -55,6 +63,19 @@ var HdTableCellPipe = /** @class */ (function () {
|
|
|
55
63
|
return HdTableCellPipe;
|
|
56
64
|
}());
|
|
57
65
|
export { HdTableCellPipe };
|
|
66
|
+
/**
|
|
67
|
+
* 估算文本像素宽度(中文约 14px,英文约 8px)
|
|
68
|
+
* @param {?} str
|
|
69
|
+
* @return {?}
|
|
70
|
+
*/
|
|
71
|
+
function estimateTextWidth(str) {
|
|
72
|
+
/** @type {?} */
|
|
73
|
+
var width = 15;
|
|
74
|
+
for (var i = 0; i < str.length; i++) {
|
|
75
|
+
width += str.charCodeAt(i) > 255 ? 14 : 8;
|
|
76
|
+
}
|
|
77
|
+
return width;
|
|
78
|
+
}
|
|
58
79
|
/**
|
|
59
80
|
* @param {?} data
|
|
60
81
|
* @param {?} col
|
|
@@ -74,4 +95,4 @@ function getHdTableCellRaw(data, col) {
|
|
|
74
95
|
}
|
|
75
96
|
return undefined;
|
|
76
97
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUtY2VsbC5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZmFudGFzeS1uZ3pvcnJvLyIsInNvdXJjZXMiOlsiaGQtdGFibGUvaGQtdGFibGUtY2VsbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFHN0MscUNBS0M7OztJQUpDLGtDQUF5Qjs7SUFDekIsZ0NBQXFCOztJQUNyQixrQ0FBaUI7O0lBQ2pCLG1DQUFrQjs7QUFHcEI7SUFBQTtJQXFCQSxDQUFDOzs7Ozs7SUFuQkMsbUNBQVM7Ozs7O0lBQVQsVUFBVSxJQUFTLEVBQUUsR0FBa0I7UUFDckMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNqQixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ3hFOztZQUNLLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDOztZQUNsQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDOztZQUM3QixPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUc7O1lBQy9CLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxXQUFXOztZQUM5QyxRQUFRLEdBQUcsS0FBSzs7WUFDaEIsS0FBSyxHQUFrQixJQUFJO1FBQy9CLElBQUksQ0FBQyxPQUFPLEVBQUU7O2dCQUNOLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUM7WUFDOUMsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osS0FBSyxHQUFHLEdBQUcsQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEVBQUUsT0FBTyxTQUFBLEVBQUUsS0FBSyxPQUFBLEVBQUUsT0FBTyxTQUFBLEVBQUUsUUFBUSxVQUFBLEVBQUUsQ0FBQztJQUMvQyxDQUFDOztnQkFwQkYsSUFBSSxTQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFOztJQXFCekMsc0JBQUM7Q0FBQSxBQXJCRCxJQXFCQztTQXBCWSxlQUFlOzs7Ozs7QUF1QjVCLFNBQVMsaUJBQWlCLENBQUMsR0FBVzs7UUFDaEMsS0FBSyxHQUFHLEVBQUU7SUFDZCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNuQyxLQUFLLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzNDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDOzs7Ozs7QUFFRCxTQUFTLGlCQUFpQixDQUFDLElBQVMsRUFBRSxHQUFrQjtJQUN0RCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7UUFDZCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7O1FBQ0ssSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJO0lBQ3JCLElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFFO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ25CO0lBQ0QsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDbkI7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb2xXaWR0aCB9IGZyb20gXCIuLi9tb2RlbC9jb2xXaWR0aFwiO1xuaW1wb3J0IHsgSGRUYWJsZUNvbHVtbiB9IGZyb20gXCIuL2hkLXRhYmxlLnNlcnZpY2VcIjtcblxuZXhwb3J0IGludGVyZmFjZSBIZFRhYmxlQ2VsbFZpZXcge1xuICBkaXNwbGF5OiBzdHJpbmcgfCBudW1iZXI7XG4gIHRpdGxlOiBzdHJpbmcgfCBudWxsO1xuICBpc0VtcHR5OiBib29sZWFuO1xuICBvdmVyZmxvdzogYm9vbGVhbjtcbn1cblxuQFBpcGUoeyBuYW1lOiBcImhkVGFibGVDZWxsXCIsIHB1cmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBIZFRhYmxlQ2VsbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGRhdGE6IGFueSwgY29sOiBIZFRhYmxlQ29sdW1uKTogSGRUYWJsZUNlbGxWaWV3IHtcbiAgICBpZiAoIWRhdGEgfHwgIWNvbCkge1xuICAgICAgcmV0dXJuIHsgZGlzcGxheTogXCI856m6PlwiLCB0aXRsZTogbnVsbCwgaXNFbXB0eTogdHJ1ZSwgb3ZlcmZsb3c6IGZhbHNlIH07XG4gICAgfVxuICAgIGNvbnN0IHJhdyA9IGdldEhkVGFibGVDZWxsUmF3KGRhdGEsIGNvbCk7XG4gICAgY29uc3QgaXNFbXB0eSA9ICEocmF3IHx8IHJhdyA9PT0gMCk7XG4gICAgY29uc3QgZGlzcGxheSA9IGlzRW1wdHkgPyBcIjznqbo+XCIgOiByYXc7XG4gICAgY29uc3QgbWF4V2lkdGggPSBjb2wud2lkdGggfHwgQ29sV2lkdGguZml4Q29sV2lkdGg7XG4gICAgbGV0IG92ZXJmbG93ID0gZmFsc2U7XG4gICAgbGV0IHRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBpZiAoIWlzRW1wdHkpIHtcbiAgICAgIGNvbnN0IHN0ciA9IFN0cmluZyhyYXcpO1xuICAgICAgb3ZlcmZsb3cgPSBlc3RpbWF0ZVRleHRXaWR0aChzdHIpID49IG1heFdpZHRoO1xuICAgICAgaWYgKG92ZXJmbG93KSB7XG4gICAgICAgIHRpdGxlID0gc3RyO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBkaXNwbGF5LCB0aXRsZSwgaXNFbXB0eSwgb3ZlcmZsb3cgfTtcbiAgfVxufVxuXG4vKiog5Lyw566X5paH5pys5YOP57Sg5a695bqm77yI5Lit5paH57qmIDE0cHjvvIzoi7HmlofnuqYgOHB477yJICovXG5mdW5jdGlvbiBlc3RpbWF0ZVRleHRXaWR0aChzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gIGxldCB3aWR0aCA9IDE1O1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIHdpZHRoICs9IHN0ci5jaGFyQ29kZUF0KGkpID4gMjU1ID8gMTQgOiA4O1xuICB9XG4gIHJldHVybiB3aWR0aDtcbn1cblxuZnVuY3Rpb24gZ2V0SGRUYWJsZUNlbGxSYXcoZGF0YTogYW55LCBjb2w6IEhkVGFibGVDb2x1bW4pOiBhbnkge1xuICBpZiAoY29sLnJlbmRlcikge1xuICAgIHJldHVybiBjb2wucmVuZGVyKGRhdGEpO1xuICB9XG4gIGNvbnN0IG5hbWUgPSBjb2wubmFtZTtcbiAgaWYgKHR5cGVvZiBuYW1lID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gbmFtZShkYXRhKTtcbiAgfVxuICBpZiAodHlwZW9mIG5hbWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gZGF0YVtuYW1lXTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
|