testcafe 1.18.3 → 1.18.4
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/CHANGELOG.md +13 -0
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/automations/click/create-mouse-click-strategy.js +59 -0
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/shared-adapter-initializer.js +15 -1
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/utils/dom-utils.js +94 -3
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/utils/position-utils.js +38 -7
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/utils/style-utils.js +8 -15
- package/lib/client/automation/index.js +1699 -1380
- package/lib/client/automation/index.min.js +1 -1
- package/lib/client/core/index.js +33 -4
- package/lib/client/core/index.min.js +1 -1
- package/lib/client/core/scroll/index.js +2 -2
- package/lib/client/core/utils/shared/position.js +2 -2
- package/lib/client/driver/index.js +143 -94
- package/lib/client/driver/index.min.js +1 -1
- package/lib/client/proxyless/index.js +5 -3
- package/lib/shared/actions/action-executor.js +4 -4
- package/lib/shared/actions/automations/click/index.js +53 -0
- package/lib/shared/actions/automations/click/mouse-click-strategy-base.js +21 -0
- package/lib/shared/actions/automations/move.js +4 -4
- package/lib/shared/actions/automations/visible-element-automation.js +162 -0
- package/lib/shared/actions/get-element.js +68 -0
- package/lib/shared/actions/utils/is-window-iframe.js +8 -0
- package/lib/shared/actions/utils/offsets.js +33 -0
- package/lib/shared/actions/utils/screen-point-to-client.js +15 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.18.4
|
|
4
|
+
|
|
5
|
+
### What’s Changed
|
|
6
|
+
|
|
7
|
+
* TestCafe does not display reporter output during initialization ([#6842](https://github.com/DevExpress/testcafe/issues/6842))
|
|
8
|
+
|
|
9
|
+
* TestCafe uses outdated automation scripts after cache expiration ([testcafe-hammerhead#2738](https://github.com/DevExpress/testcafe-hammerhead/issues/2738), [PR](https://github.com/DevExpress/testcafe-hammerhead/issues/2739) by @rr13k)
|
|
10
|
+
|
|
11
|
+
* The `Node.append` method causes the `Illegal invocation` error (PR [testcafe-hammerhead#2730](https://github.com/DevExpress/testcafe-hammerhead/pull/2730) by @danieltroger)
|
|
12
|
+
|
|
13
|
+
* Scripts in SVG documents cause the `Illegal invocation` error ([testcafe-hammerhead#2735](https://github.com/DevExpress/testcafe-hammerhead/issues/2735
|
|
14
|
+
))
|
|
15
|
+
|
|
3
16
|
## v1.18.3 (2022-01-25)
|
|
4
17
|
|
|
5
18
|
### Bug Fixes
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const mouse_click_strategy_base_1 = require("../../../../../../../../shared/actions/automations/click/mouse-click-strategy-base");
|
|
23
|
+
const clientsManager = __importStar(require("../../clients-manager"));
|
|
24
|
+
const BUTTON = 'left';
|
|
25
|
+
const CLICK_COUNT = 1;
|
|
26
|
+
class CDPMouseClickStategy extends mouse_click_strategy_base_1.MouseClickStrategyBase {
|
|
27
|
+
constructor() {
|
|
28
|
+
super();
|
|
29
|
+
}
|
|
30
|
+
async mousedown(options) {
|
|
31
|
+
var _a, _b, _c, _d;
|
|
32
|
+
const { Input } = clientsManager.getClient();
|
|
33
|
+
await Input.dispatchMouseEvent({
|
|
34
|
+
type: 'mousePressed',
|
|
35
|
+
x: (_b = (_a = options.point) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : -1,
|
|
36
|
+
y: (_d = (_c = options.point) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : -1,
|
|
37
|
+
button: BUTTON,
|
|
38
|
+
clickCount: CLICK_COUNT,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async mouseup(element, options) {
|
|
42
|
+
var _a, _b, _c, _d;
|
|
43
|
+
const { Input } = clientsManager.getClient();
|
|
44
|
+
await Input.dispatchMouseEvent({
|
|
45
|
+
type: 'mouseReleased',
|
|
46
|
+
x: (_b = (_a = options.point) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : -1,
|
|
47
|
+
y: (_d = (_c = options.point) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : -1,
|
|
48
|
+
button: BUTTON,
|
|
49
|
+
clickCount: CLICK_COUNT,
|
|
50
|
+
});
|
|
51
|
+
return options;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function createMouseClickStrategy() {
|
|
55
|
+
return new CDPMouseClickStategy();
|
|
56
|
+
}
|
|
57
|
+
exports.default = createMouseClickStrategy;
|
|
58
|
+
module.exports = exports.default;
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdXNlLWNsaWNrLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Jyb3dzZXIvcHJvdmlkZXIvYnVpbHQtaW4vZGVkaWNhdGVkL2Nocm9tZS9jZHAtY2xpZW50L2F1dG9tYXRpb25zL2NsaWNrL2NyZWF0ZS1tb3VzZS1jbGljay1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxrSUFBNEg7QUFDNUgsc0VBQXdEO0FBRXhELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUN0QixNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFFdEIsTUFBTSxvQkFBd0IsU0FBUSxrREFBeUI7SUFDM0Q7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFFLE9BQTBCOztRQUM5QyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRTdDLE1BQU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDO1lBQzNCLElBQUksRUFBUSxjQUFjO1lBQzFCLENBQUMsY0FBVyxPQUFPLENBQUMsS0FBSywwQ0FBRSxDQUFDLG1DQUFJLENBQUMsQ0FBQztZQUNsQyxDQUFDLGNBQVcsT0FBTyxDQUFDLEtBQUssMENBQUUsQ0FBQyxtQ0FBSSxDQUFDLENBQUM7WUFDbEMsTUFBTSxFQUFNLE1BQU07WUFDbEIsVUFBVSxFQUFFLFdBQVc7U0FDMUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUUsT0FBVSxFQUFFLE9BQTBCOztRQUN4RCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRTdDLE1BQU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDO1lBQzNCLElBQUksRUFBUSxlQUFlO1lBQzNCLENBQUMsY0FBVyxPQUFPLENBQUMsS0FBSywwQ0FBRSxDQUFDLG1DQUFJLENBQUMsQ0FBQztZQUNsQyxDQUFDLGNBQVcsT0FBTyxDQUFDLEtBQUssMENBQUUsQ0FBQyxtQ0FBSSxDQUFDLENBQUM7WUFDbEMsTUFBTSxFQUFNLE1BQU07WUFDbEIsVUFBVSxFQUFFLFdBQVc7U0FDMUIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztDQUNKO0FBRUQsU0FBd0Isd0JBQXdCO0lBQzVDLE9BQU8sSUFBSSxvQkFBb0IsRUFBSyxDQUFDO0FBQ3pDLENBQUM7QUFGRCwyQ0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vdXNlRXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2hhcmVkL2FjdGlvbnMvYXV0b21hdGlvbnMvdmlzaWJsZS1lbGVtZW50LWF1dG9tYXRpb24nO1xuaW1wb3J0IHsgTW91c2VDbGlja1N0cmF0ZWd5QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9hY3Rpb25zL2F1dG9tYXRpb25zL2NsaWNrL21vdXNlLWNsaWNrLXN0cmF0ZWd5LWJhc2UnO1xuaW1wb3J0ICogYXMgY2xpZW50c01hbmFnZXIgZnJvbSAnLi4vLi4vY2xpZW50cy1tYW5hZ2VyJztcblxuY29uc3QgQlVUVE9OID0gJ2xlZnQnO1xuY29uc3QgQ0xJQ0tfQ09VTlQgPSAxO1xuXG5jbGFzcyBDRFBNb3VzZUNsaWNrU3RhdGVneTxFPiBleHRlbmRzIE1vdXNlQ2xpY2tTdHJhdGVneUJhc2U8RT4ge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIG1vdXNlZG93biAob3B0aW9uczogTW91c2VFdmVudEFyZ3M8RT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgeyBJbnB1dCB9ID0gY2xpZW50c01hbmFnZXIuZ2V0Q2xpZW50KCk7XG5cbiAgICAgICAgYXdhaXQgSW5wdXQuZGlzcGF0Y2hNb3VzZUV2ZW50KHtcbiAgICAgICAgICAgIHR5cGU6ICAgICAgICdtb3VzZVByZXNzZWQnLFxuICAgICAgICAgICAgeDogICAgICAgICAgb3B0aW9ucy5wb2ludD8ueCA/PyAtMSxcbiAgICAgICAgICAgIHk6ICAgICAgICAgIG9wdGlvbnMucG9pbnQ/LnkgPz8gLTEsXG4gICAgICAgICAgICBidXR0b246ICAgICBCVVRUT04sXG4gICAgICAgICAgICBjbGlja0NvdW50OiBDTElDS19DT1VOVCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIG1vdXNldXAgKGVsZW1lbnQ6IEUsIG9wdGlvbnM6IE1vdXNlRXZlbnRBcmdzPEU+KTogUHJvbWlzZTxNb3VzZUV2ZW50QXJnczxFPj4ge1xuICAgICAgICBjb25zdCB7IElucHV0IH0gPSBjbGllbnRzTWFuYWdlci5nZXRDbGllbnQoKTtcblxuICAgICAgICBhd2FpdCBJbnB1dC5kaXNwYXRjaE1vdXNlRXZlbnQoe1xuICAgICAgICAgICAgdHlwZTogICAgICAgJ21vdXNlUmVsZWFzZWQnLFxuICAgICAgICAgICAgeDogICAgICAgICAgb3B0aW9ucy5wb2ludD8ueCA/PyAtMSxcbiAgICAgICAgICAgIHk6ICAgICAgICAgIG9wdGlvbnMucG9pbnQ/LnkgPz8gLTEsXG4gICAgICAgICAgICBidXR0b246ICAgICBCVVRUT04sXG4gICAgICAgICAgICBjbGlja0NvdW50OiBDTElDS19DT1VOVCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVNb3VzZUNsaWNrU3RyYXRlZ3k8RT4gKCk6IE1vdXNlQ2xpY2tTdHJhdGVneUJhc2U8RT4ge1xuICAgIHJldHVybiBuZXcgQ0RQTW91c2VDbGlja1N0YXRlZ3k8RT4oKTtcbn1cbiJdfQ==
|
package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/shared-adapter-initializer.js
CHANGED
|
@@ -30,6 +30,7 @@ const positionUtils = __importStar(require("./utils/position-utils"));
|
|
|
30
30
|
const styleUtils = __importStar(require("./utils/style-utils"));
|
|
31
31
|
const eventUtils = __importStar(require("./utils/event-utils"));
|
|
32
32
|
const create_event_sequence_1 = __importDefault(require("./utils/create-event-sequence"));
|
|
33
|
+
const create_mouse_click_strategy_1 = __importDefault(require("./automations/click/create-mouse-click-strategy"));
|
|
33
34
|
adapter_1.initializeAdapter({
|
|
34
35
|
PromiseCtor: Promise,
|
|
35
36
|
nativeMethods: {
|
|
@@ -76,6 +77,11 @@ adapter_1.initializeAdapter({
|
|
|
76
77
|
featureDetection: {
|
|
77
78
|
isTouchDevice: false,
|
|
78
79
|
},
|
|
80
|
+
utils: {
|
|
81
|
+
extend(target, ...args) {
|
|
82
|
+
return Object.assign(target, ...args);
|
|
83
|
+
},
|
|
84
|
+
},
|
|
79
85
|
createEventSequence: create_event_sequence_1.default,
|
|
80
86
|
sendRequestToFrame: () => { },
|
|
81
87
|
getElementExceptUI: positionUtils.getElementFromPoint,
|
|
@@ -83,5 +89,13 @@ adapter_1.initializeAdapter({
|
|
|
83
89
|
position: positionUtils,
|
|
84
90
|
style: styleUtils,
|
|
85
91
|
event: eventUtils,
|
|
92
|
+
ensureMouseEventAfterScroll: () => Promise.resolve(),
|
|
93
|
+
automations: {
|
|
94
|
+
click: {
|
|
95
|
+
createMouseClickStrategy: create_mouse_click_strategy_1.default,
|
|
96
|
+
},
|
|
97
|
+
_ensureWindowAndCursorForLegacyTests() {
|
|
98
|
+
},
|
|
99
|
+
},
|
|
86
100
|
});
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWFkYXB0ZXItaW5pdGlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2NkcC1jbGllbnQvc2hhcmVkLWFkYXB0ZXItaW5pdGlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNEVBQW1EO0FBR25ELHVEQUE4QztBQUM5Qyw4REFBcUU7QUFHckUsNERBQThDO0FBQzlDLHNFQUF3RDtBQUN4RCxnRUFBa0Q7QUFDbEQsZ0VBQWtEO0FBQ2xELDBGQUFnRTtBQUNoRSxrSEFBdUY7QUFHdkYsMkJBQWlCLENBQUM7SUFDZCxXQUFXLEVBQUUsT0FBTztJQUVwQixhQUFhLEVBQUU7UUFDWCxVQUFVO1FBQ1YsWUFBWTtRQUNaLFlBQVksRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU87UUFDckMsV0FBVyxFQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTTtRQUNwQyxVQUFVLEVBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLO1FBQ25DLFdBQVcsRUFBRyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU07UUFDcEMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1FBQzNCLFVBQVUsRUFBSSxNQUFNLENBQUMsSUFBSTtRQUN6QixPQUFPLEVBQU8sSUFBSSxDQUFDLEdBQUc7S0FDekI7SUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQWMsRUFBRSxJQUFtQixFQUFFLEVBQUU7UUFDbEQsSUFBSSxPQUFPLEdBQUcsMkJBQWdCLENBQUMsT0FBa0MsQ0FBQztRQUNsRSxJQUFJLE1BQU0sR0FBSSxJQUFzQixDQUFDO1FBQ3JDLElBQUksTUFBTSxHQUFJLEtBQUssQ0FBc0MsQ0FBQztRQUUxRCxHQUFHO1lBQ0MsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLDJCQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO2dCQUNyRixhQUFhLEVBQVEsSUFBSTtnQkFDekIsWUFBWSxFQUFTLElBQUk7Z0JBQ3pCLGtCQUFrQixFQUFHLDJCQUFnQixDQUFDLG1CQUFtQixFQUFFO2dCQUMzRCxTQUFTLEVBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3BGLG1CQUFtQixFQUFFOztrQkFFbkI7YUFDTCxDQUFDLENBQUM7WUFFSCxJQUFJLGdCQUFnQjtnQkFDaEIsTUFBTSxnQkFBZ0IsQ0FBQztZQUUzQixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsS0FBOEIsQ0FBQztZQUU5RCxJQUFJLE9BQU8sSUFBSSxPQUFPLEtBQUssT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDdkMsUUFBUTtnQkFDUiw2Q0FBNkM7Z0JBQzdDLE9BQU8sR0FBUSxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUM5QixNQUFNLEdBQVMsTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLEdBQUksWUFBWSxDQUFDLGtCQUFrQixDQUFDO2dCQUN6RCxNQUFNLEdBQVMsWUFBWSxDQUFDLGVBQWUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUM7YUFDdkM7U0FFSixRQUNNLE9BQU8sSUFBSSxPQUFPLEtBQUssT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUU5QyxPQUFPLE1BQWlCLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFFM0IsZ0JBQWdCLEVBQUU7UUFDZCxhQUFhLEVBQUUsS0FBSztLQUN2QjtJQUVELEtBQUssRUFBRTtRQUNILE1BQU0sQ0FBRSxNQUEyQixFQUFFLEdBQUcsSUFBSTtZQUN4QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztLQUNKO0lBRUQsbUJBQW1CLEVBQW5CLCtCQUFtQjtJQUVuQixrQkFBa0IsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0lBRTdCLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxtQkFBbUI7SUFDckQsR0FBRyxFQUFpQixRQUFRO0lBQzVCLFFBQVEsRUFBWSxhQUFhO0lBQ2pDLEtBQUssRUFBZSxVQUFVO0lBQzlCLEtBQUssRUFBZSxVQUFVO0lBRTlCLDJCQUEyQixFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7SUFFcEQsV0FBVyxFQUFFO1FBQ1QsS0FBSyxFQUFFO1lBQ0gsd0JBQXdCLEVBQXhCLHFDQUF3QjtTQUMzQjtRQUVELG9DQUFvQztRQUNwQyxDQUFDO0tBQ0o7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXhlY3V0aW9uQ29udGV4dCBmcm9tICcuL2V4ZWN1dGlvbi1jb250ZXh0JztcbmltcG9ydCB7IFNlcnZlck5vZGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFNjcm9sbE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi90ZXN0LXJ1bi9jb21tYW5kcy9vcHRpb25zJztcbmltcG9ydCB7IGdldENsaWVudCB9IGZyb20gJy4vY2xpZW50cy1tYW5hZ2VyJztcbmltcG9ydCB7IGluaXRpYWxpemVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vc2hhcmVkL2FkYXB0ZXInO1xuaW1wb3J0IHsgTGVmdFRvcFZhbHVlcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy92YWx1ZXMvYXhpcy12YWx1ZXMnO1xuaW1wb3J0IHsgU2Nyb2xsUmVzdWx0UHJveHlsZXNzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vY2xpZW50L2NvcmUvc2Nyb2xsJztcbmltcG9ydCAqIGFzIGRvbVV0aWxzIGZyb20gJy4vdXRpbHMvZG9tLXV0aWxzJztcbmltcG9ydCAqIGFzIHBvc2l0aW9uVXRpbHMgZnJvbSAnLi91dGlscy9wb3NpdGlvbi11dGlscyc7XG5pbXBvcnQgKiBhcyBzdHlsZVV0aWxzIGZyb20gJy4vdXRpbHMvc3R5bGUtdXRpbHMnO1xuaW1wb3J0ICogYXMgZXZlbnRVdGlscyBmcm9tICcuL3V0aWxzL2V2ZW50LXV0aWxzJztcbmltcG9ydCBjcmVhdGVFdmVudFNlcXVlbmNlIGZyb20gJy4vdXRpbHMvY3JlYXRlLWV2ZW50LXNlcXVlbmNlJztcbmltcG9ydCBjcmVhdGVNb3VzZUNsaWNrU3RyYXRlZ3kgZnJvbSAnLi9hdXRvbWF0aW9ucy9jbGljay9jcmVhdGUtbW91c2UtY2xpY2stc3RyYXRlZ3knO1xuXG5cbmluaXRpYWxpemVBZGFwdGVyKHtcbiAgICBQcm9taXNlQ3RvcjogUHJvbWlzZSxcblxuICAgIG5hdGl2ZU1ldGhvZHM6IHtcbiAgICAgICAgc2V0VGltZW91dCxcbiAgICAgICAgY2xlYXJUaW1lb3V0LFxuICAgICAgICBhcnJheUluZGV4T2Y6IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLFxuICAgICAgICBhcnJheVNwbGljZTogIEFycmF5LnByb3RvdHlwZS5zcGxpY2UsXG4gICAgICAgIGFycmF5U2xpY2U6ICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLFxuICAgICAgICBhcnJheUZpbHRlcjogIEFycmF5LnByb3RvdHlwZS5maWx0ZXIsXG4gICAgICAgIG9iamVjdEFzc2lnbjogT2JqZWN0LmFzc2lnbixcbiAgICAgICAgb2JqZWN0S2V5czogICBPYmplY3Qua2V5cyxcbiAgICAgICAgZGF0ZU5vdzogICAgICBEYXRlLm5vdyxcbiAgICB9LFxuXG4gICAgc2Nyb2xsOiBhc3luYyAoZWw6IFNlcnZlck5vZGUsIG9wdHM6IFNjcm9sbE9wdGlvbnMpID0+IHtcbiAgICAgICAgbGV0IGN1cnJDeHQgPSBFeGVjdXRpb25Db250ZXh0LmN1cnJlbnQgYXMgRXhlY3V0aW9uQ29udGV4dCB8IG51bGw7XG4gICAgICAgIGxldCByZXN1bHQgID0gbnVsbCBhcyBib29sZWFuIHwgbnVsbDtcbiAgICAgICAgbGV0IG1hcmdpbiAgPSB2b2lkIDAgYXMgdW5kZWZpbmVkIHwgTGVmdFRvcFZhbHVlczxudW1iZXI+O1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIGNvbnN0IHsgZXhjZXB0aW9uRGV0YWlscywgcmVzdWx0OiByZXN1bHRPYmogfSA9IGF3YWl0IGdldENsaWVudCgpLlJ1bnRpbWUuY2FsbEZ1bmN0aW9uT24oe1xuICAgICAgICAgICAgICAgIHJldHVybkJ5VmFsdWU6ICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgYXdhaXRQcm9taXNlOiAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICBleGVjdXRpb25Db250ZXh0SWQ6ICBFeGVjdXRpb25Db250ZXh0LmdldEN1cnJlbnRDb250ZXh0SWQoKSxcbiAgICAgICAgICAgICAgICBhcmd1bWVudHM6ICAgICAgICAgICBbeyBvYmplY3RJZDogZWwub2JqZWN0SWQgfSwgeyB2YWx1ZTogb3B0cyB9LCB7IHZhbHVlOiBtYXJnaW4gfV0sXG4gICAgICAgICAgICAgICAgZnVuY3Rpb25EZWNsYXJhdGlvbjogYGZ1bmN0aW9uIChlbCwgb3B0cykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93W1wiJXByb3h5bGVzcyVcIl0uc2Nyb2xsKGVsLCBvcHRzKTtcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoZXhjZXB0aW9uRGV0YWlscylcbiAgICAgICAgICAgICAgICB0aHJvdyBleGNlcHRpb25EZXRhaWxzO1xuXG4gICAgICAgICAgICBjb25zdCBzY3JvbGxSZXN1bHQgPSByZXN1bHRPYmoudmFsdWUgYXMgU2Nyb2xsUmVzdWx0UHJveHlsZXNzO1xuXG4gICAgICAgICAgICBpZiAoY3VyckN4dCAmJiBjdXJyQ3h0ICE9PSBjdXJyQ3h0LnBhcmVudCkge1xuICAgICAgICAgICAgICAgIC8vIFRPRE86XG4gICAgICAgICAgICAgICAgLy9lbCAgICAgICAgICAgPSBmaW5kSWZyYW1lQnlXaW5kb3coY3VyckN4dCk7XG4gICAgICAgICAgICAgICAgY3VyckN4dCAgICAgID0gY3VyckN4dC5wYXJlbnQ7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICAgICAgID0gcmVzdWx0ID8/IHNjcm9sbFJlc3VsdC5zY3JvbGxXYXNQZXJmb3JtZWQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luICAgICAgID0gc2Nyb2xsUmVzdWx0Lm1heFNjcm9sbE1hcmdpbjtcbiAgICAgICAgICAgICAgICBvcHRzLm9mZnNldFggPSBzY3JvbGxSZXN1bHQub2Zmc2V0WDtcbiAgICAgICAgICAgICAgICBvcHRzLm9mZnNldFkgPSBzY3JvbGxSZXN1bHQub2Zmc2V0WTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIHdoaWxlIChjdXJyQ3h0ICYmIGN1cnJDeHQgIT09IGN1cnJDeHQucGFyZW50KTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0IGFzIGJvb2xlYW47XG4gICAgfSxcblxuICAgIGJyb3dzZXI6IHsgaXNDaHJvbWU6IHRydWUgfSxcblxuICAgIGZlYXR1cmVEZXRlY3Rpb246IHtcbiAgICAgICAgaXNUb3VjaERldmljZTogZmFsc2UsXG4gICAgfSxcblxuICAgIHV0aWxzOiB7XG4gICAgICAgIGV4dGVuZCAodGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCAuLi5hcmdzKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih0YXJnZXQsIC4uLmFyZ3MpO1xuICAgICAgICB9LFxuICAgIH0sXG5cbiAgICBjcmVhdGVFdmVudFNlcXVlbmNlLFxuXG4gICAgc2VuZFJlcXVlc3RUb0ZyYW1lOiAoKSA9PiB7IH0sXG5cbiAgICBnZXRFbGVtZW50RXhjZXB0VUk6IHBvc2l0aW9uVXRpbHMuZ2V0RWxlbWVudEZyb21Qb2ludCxcbiAgICBkb206ICAgICAgICAgICAgICAgIGRvbVV0aWxzLFxuICAgIHBvc2l0aW9uOiAgICAgICAgICAgcG9zaXRpb25VdGlscyxcbiAgICBzdHlsZTogICAgICAgICAgICAgIHN0eWxlVXRpbHMsXG4gICAgZXZlbnQ6ICAgICAgICAgICAgICBldmVudFV0aWxzLFxuXG4gICAgZW5zdXJlTW91c2VFdmVudEFmdGVyU2Nyb2xsOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoKSxcblxuICAgIGF1dG9tYXRpb25zOiB7XG4gICAgICAgIGNsaWNrOiB7XG4gICAgICAgICAgICBjcmVhdGVNb3VzZUNsaWNrU3RyYXRlZ3ksXG4gICAgICAgIH0sXG5cbiAgICAgICAgX2Vuc3VyZVdpbmRvd0FuZEN1cnNvckZvckxlZ2FjeVRlc3RzICgpIHtcbiAgICAgICAgfSxcbiAgICB9LFxufSk7XG4iXX0=
|
|
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.isIframeWindow = exports.isDocumentElement = exports.getDocumentElement = exports.isNodeEqual = exports.isDomElement = exports.getScrollingElement = exports.isBodyElement = exports.isHtmlElement = exports.findIframeByWindow = exports.getIFrameByIndex = exports.getIframeByElement = void 0;
|
|
25
|
+
exports.getParents = exports.getParentNode = exports.getImgMapName = exports.containsElement = exports.getNodeText = exports.closest = exports.isIframeWindow = exports.isDocumentElement = exports.getDocumentElement = exports.isNodeEqual = exports.isDomElement = exports.getScrollingElement = exports.isImgElement = exports.isBodyElement = exports.isHtmlElement = exports.getTagName = exports.findIframeByWindow = exports.getIFrameByIndex = exports.getIframeByElement = void 0;
|
|
26
26
|
const execution_context_1 = __importDefault(require("../execution-context"));
|
|
27
27
|
const index_1 = require("./index");
|
|
28
28
|
const clientsManager = __importStar(require("../clients-manager"));
|
|
@@ -82,6 +82,10 @@ async function findIframeByWindow(context) {
|
|
|
82
82
|
return null;
|
|
83
83
|
}
|
|
84
84
|
exports.findIframeByWindow = findIframeByWindow;
|
|
85
|
+
function getTagName(node) {
|
|
86
|
+
return node.nodeName.toLowerCase();
|
|
87
|
+
}
|
|
88
|
+
exports.getTagName = getTagName;
|
|
85
89
|
function hasTagName(node, tagName) {
|
|
86
90
|
return node.nodeName.toLowerCase() === tagName.toLowerCase();
|
|
87
91
|
}
|
|
@@ -93,6 +97,10 @@ function isBodyElement(node) {
|
|
|
93
97
|
return hasTagName(node, 'body');
|
|
94
98
|
}
|
|
95
99
|
exports.isBodyElement = isBodyElement;
|
|
100
|
+
function isImgElement(node) {
|
|
101
|
+
return hasTagName(node, 'img');
|
|
102
|
+
}
|
|
103
|
+
exports.isImgElement = isImgElement;
|
|
96
104
|
async function getScrollingElement(node) {
|
|
97
105
|
const client = clientsManager.getClient();
|
|
98
106
|
const args = {
|
|
@@ -126,7 +134,7 @@ async function getDocumentElement(win) {
|
|
|
126
134
|
});
|
|
127
135
|
if (exceptionDetails)
|
|
128
136
|
throw exceptionDetails;
|
|
129
|
-
return index_1.describeNode(DOM, resultObj.
|
|
137
|
+
return index_1.describeNode(DOM, resultObj.objectId);
|
|
130
138
|
}
|
|
131
139
|
exports.getDocumentElement = getDocumentElement;
|
|
132
140
|
async function isDocumentElement(el) {
|
|
@@ -138,4 +146,87 @@ async function isIframeWindow() {
|
|
|
138
146
|
return false;
|
|
139
147
|
}
|
|
140
148
|
exports.isIframeWindow = isIframeWindow;
|
|
141
|
-
|
|
149
|
+
async function closest(el, selector) {
|
|
150
|
+
const { Runtime, DOM } = clientsManager.getClient();
|
|
151
|
+
const { exceptionDetails, result: resultObj } = await Runtime.callFunctionOn({
|
|
152
|
+
arguments: [{ objectId: el.objectId }, { value: selector }],
|
|
153
|
+
functionDeclaration: `function (el, selector) {
|
|
154
|
+
debugger;
|
|
155
|
+
return window["%proxyless%"].nativeMethods.closest.call(el, selector);
|
|
156
|
+
}`,
|
|
157
|
+
executionContextId: execution_context_1.default.getCurrentContextId(),
|
|
158
|
+
});
|
|
159
|
+
if (exceptionDetails)
|
|
160
|
+
throw exceptionDetails;
|
|
161
|
+
return resultObj.value ? index_1.describeNode(DOM, resultObj.value.objectId) : null;
|
|
162
|
+
}
|
|
163
|
+
exports.closest = closest;
|
|
164
|
+
async function getNodeText(el) {
|
|
165
|
+
const { Runtime } = clientsManager.getClient();
|
|
166
|
+
const { exceptionDetails, result: resultObj } = await Runtime.callFunctionOn({
|
|
167
|
+
arguments: [{ objectId: el.objectId }],
|
|
168
|
+
functionDeclaration: `function (el) {
|
|
169
|
+
return window["%proxyless%"].nativeMethods.nodeTextContentGetter.call(el);
|
|
170
|
+
}`,
|
|
171
|
+
executionContextId: execution_context_1.default.getCurrentContextId(),
|
|
172
|
+
});
|
|
173
|
+
if (exceptionDetails)
|
|
174
|
+
throw exceptionDetails;
|
|
175
|
+
return resultObj.value;
|
|
176
|
+
}
|
|
177
|
+
exports.getNodeText = getNodeText;
|
|
178
|
+
async function containsElement(el1, el2) {
|
|
179
|
+
const { Runtime } = clientsManager.getClient();
|
|
180
|
+
const { exceptionDetails, result: resultObj } = await Runtime.callFunctionOn({
|
|
181
|
+
arguments: [{ objectId: el1.objectId }, { objectId: el2.objectId }],
|
|
182
|
+
functionDeclaration: `function (el1, el2) {
|
|
183
|
+
do {
|
|
184
|
+
if (el2.parentNode === el1)
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
while(el2 = el2.parentNode);
|
|
188
|
+
return false;
|
|
189
|
+
}`,
|
|
190
|
+
executionContextId: execution_context_1.default.getCurrentContextId(),
|
|
191
|
+
});
|
|
192
|
+
if (exceptionDetails)
|
|
193
|
+
throw exceptionDetails;
|
|
194
|
+
return resultObj.value;
|
|
195
|
+
}
|
|
196
|
+
exports.containsElement = containsElement;
|
|
197
|
+
function getImgMapName(el) {
|
|
198
|
+
if (!el.attributes)
|
|
199
|
+
return '';
|
|
200
|
+
const useMapIndex = el.attributes.indexOf('usemap');
|
|
201
|
+
if (useMapIndex === -1)
|
|
202
|
+
return '';
|
|
203
|
+
return el.attributes[useMapIndex + 1].substring(1);
|
|
204
|
+
}
|
|
205
|
+
exports.getImgMapName = getImgMapName;
|
|
206
|
+
async function getParentNode({ objectId }) {
|
|
207
|
+
const { Runtime, DOM } = clientsManager.getClient();
|
|
208
|
+
const parent = await Runtime.callFunctionOn({
|
|
209
|
+
functionDeclaration: `function () {
|
|
210
|
+
const el = this.assignedSlot || this;
|
|
211
|
+
|
|
212
|
+
return this.parentNode || el.host;
|
|
213
|
+
}`,
|
|
214
|
+
objectId,
|
|
215
|
+
});
|
|
216
|
+
if (parent.result.value !== null && parent.result.objectId)
|
|
217
|
+
return index_1.describeNode(DOM, parent.result.objectId || '');
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
exports.getParentNode = getParentNode;
|
|
221
|
+
async function getParents(el) {
|
|
222
|
+
// TODO: check this method
|
|
223
|
+
const result = [];
|
|
224
|
+
let parent = await getParentNode(el);
|
|
225
|
+
while (parent) {
|
|
226
|
+
result.push(parent);
|
|
227
|
+
parent = await getParentNode(parent);
|
|
228
|
+
}
|
|
229
|
+
return result;
|
|
230
|
+
}
|
|
231
|
+
exports.getParents = getParents;
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Jyb3dzZXIvcHJvdmlkZXIvYnVpbHQtaW4vZGVkaWNhdGVkL2Nocm9tZS9jZHAtY2xpZW50L3V0aWxzL2RvbS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkVBQW9EO0FBQ3BELG1DQUF1QztBQUN2QyxtRUFBcUQ7QUFHOUMsS0FBSyxVQUFVLGtCQUFrQixDQUFFLEVBQUUsUUFBUSxFQUFjO0lBQzlELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRXBELE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUN2QyxtQkFBbUIsRUFBRTs7VUFFbkI7UUFDRixRQUFRO0tBQ1gsQ0FBQyxDQUFDO0lBRUgsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxJQUFJO1FBQzNCLE9BQU8sb0JBQVksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7SUFFMUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQWRELGdEQWNDO0FBRU0sS0FBSyxVQUFVLGdCQUFnQixDQUFFLFFBQTRCLEVBQUUsS0FBYTtJQUMvRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUVwRCxNQUFNLEtBQUssR0FBRyxNQUFNLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDdkMsbUJBQW1CLEVBQUU7O2NBRWY7UUFDTixRQUFRLEVBQUcsUUFBUTtRQUNuQixTQUFTLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztLQUNoQyxDQUFDLENBQUM7SUFFSCxNQUFNLGFB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QUFDaEIsQ0FBQztBQWhCRCxzQ0FnQkM7QUFFTSxLQUFLLFVBQVUsVUFBVSxDQUFFLEVBQWM7SUFDNUMsMEJBQTBCO0lBQzFCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUVsQixJQUFJLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVyQyxPQUFPLE1BQU0sRUFBRTtRQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFcEIsTUFBTSxHQUFHLE1BQU0sYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ3hDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQWJELGdDQWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3RvY29sIGZyb20gJ2RldnRvb2xzLXByb3RvY29sL3R5cGVzL3Byb3RvY29sJztcbmltcG9ydCBFeGVjdXRpb25Db250ZXh0IGZyb20gJy4uL2V4ZWN1dGlvbi1jb250ZXh0JztcbmltcG9ydCB7IGRlc2NyaWJlTm9kZSB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0ICogYXMgY2xpZW50c01hbmFnZXIgZnJvbSAnLi4vY2xpZW50cy1tYW5hZ2VyJztcbmltcG9ydCB7IFNlcnZlck5vZGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRJZnJhbWVCeUVsZW1lbnQgKHsgb2JqZWN0SWQgfTogU2VydmVyTm9kZSk6IFByb21pc2U8U2VydmVyTm9kZSB8IG51bGw+IHtcbiAgICBjb25zdCB7IFJ1bnRpbWUsIERPTSB9ID0gY2xpZW50c01hbmFnZXIuZ2V0Q2xpZW50KCk7XG5cbiAgICBjb25zdCBmcmFtZSA9IGF3YWl0IFJ1bnRpbWUuY2FsbEZ1bmN0aW9uT24oe1xuICAgICAgICBmdW5jdGlvbkRlY2xhcmF0aW9uOiBgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5mcmFtZUVsZW1lbnRcbiAgICAgICAgfWAsXG4gICAgICAgIG9iamVjdElkLFxuICAgIH0pO1xuXG4gICAgaWYgKGZyYW1lLnJlc3VsdC52YWx1ZSAhPT0gbnVsbClcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlTm9kZShET00sIGZyYW1lLnJlc3VsdC5vYmplY3RJZCB8fCAnJyk7XG5cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElGcmFtZUJ5SW5kZXggKG9iamVjdElkOiBzdHJpbmcgfCB1bmRlZmluZWQsIGluZGV4OiBudW1iZXIpOiBQcm9taXNlPFNlcnZlck5vZGUgfCBudWxsPiB7XG4gICAgY29uc3QgeyBSdW50aW1lLCBET00gfSA9IGNsaWVudHNNYW5hZ2VyLmdldENsaWVudCgpO1xuXG4gICAgY29uc3QgZnJhbWUgPSBhd2FpdCBSdW50aW1lLmNhbGxGdW5jdGlvbk9uKHtcbiAgICAgICAgZnVuY3Rpb25EZWNsYXJhdGlvbjogYGZ1bmN0aW9uIChpbmRleCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW2luZGV4XTtcbiAgICAgICAgICAgIH1gLFxuICAgICAgICBvYmplY3RJZDogIG9iamVjdElkLFxuICAgICAgICBhcmd1bWVudHM6IFt7IHZhbHVlOiBpbmRleCB9XSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGZyYW1lT2JqZWN0SWQgPSBmcmFtZS5yZXN1bHQub2JqZWN0SWQ7XG5cbiAgICBpZiAoZnJhbWVPYmplY3RJZClcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlTm9kZShET00sIGZyYW1lT2JqZWN0SWQpO1xuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmaW5kSWZyYW1lQnlXaW5kb3cgKGNvbnRleHQ6IEV4ZWN1dGlvbkNvbnRleHQpOiBQcm9taXNlPFNlcnZlck5vZGUgfCBudWxsPiB7XG4gICAgY29uc3QgeyBSdW50aW1lIH0gPSBjbGllbnRzTWFuYWdlci5nZXRDbGllbnQoKTtcblxuICAgIGNvbnN0IGV4cHJlc3Npb24gPSBgXG4gICAgICAgIChmdW5jdGlvbiBmaW5kSWZyYW1lcyhwYXJlbnREb2N1bWVudCwgcmVzdWx0ID0gW10pIHtcbiAgICAgICAgICAgIGlmICghcGFyZW50RG9jdW1lbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICBcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gcGFyZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaWZyYW1lJyk7XG4gICAgICAgIFxuICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGNoaWxkLCAuLi5maW5kSWZyYW1lcyhjaGlsZC5jb250ZW50RG9jdW1lbnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KShkb2N1bWVudCk7XG4gICBgO1xuXG4gICAgY29uc3QgZnJhbWVzID0gYXdhaXQgUnVudGltZS5ldmFsdWF0ZSh7IGV4cHJlc3Npb24gfSk7XG4gICAgbGV0IGluZGV4ICAgID0gMDtcbiAgICBsZXQgZnJhbWUgICAgPSBhd2FpdCBnZXRJRnJhbWVCeUluZGV4KGZyYW1lcy5yZXN1bHQub2JqZWN0SWQsIGluZGV4KTtcblxuICAgIHdoaWxlIChmcmFtZSkge1xuICAgICAgICBpZiAoY29udGV4dC5mcmFtZUlkID09PSBmcmFtZS5mcmFtZUlkKVxuICAgICAgICAgICAgcmV0dXJuIGZyYW1lO1xuXG4gICAgICAgIGluZGV4Kys7XG5cbiAgICAgICAgZnJhbWUgPSBhd2FpdCBnZXRJRnJhbWVCeUluZGV4KGZyYW1lcy5yZXN1bHQub2JqZWN0SWQsIGluZGV4KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRhZ05hbWUgKG5vZGU6IFNlcnZlck5vZGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBub2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG59XG5cbmZ1bmN0aW9uIGhhc1RhZ05hbWUgKG5vZGU6IFNlcnZlck5vZGUsIHRhZ05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBub2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IHRhZ05hbWUudG9Mb3dlckNhc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSHRtbEVsZW1lbnQgKG5vZGU6IFNlcnZlck5vZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzVGFnTmFtZShub2RlLCAnaHRtbCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCb2R5RWxlbWVudCAobm9kZTogU2VydmVyTm9kZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNUYWdOYW1lKG5vZGUsICdib2R5Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ltZ0VsZW1lbnQgKG5vZGU6IFNlcnZlck5vZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzVGFnTmFtZShub2RlLCAnaW1nJyk7XG59XG5cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFNjcm9sbGluZ0VsZW1lbnQgKG5vZGU/OiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxTZXJ2ZXJOb2RlPiB7XG4gICAgY29uc3QgY2xpZW50ID0gY2xpZW50c01hbmFnZXIuZ2V0Q2xpZW50KCk7XG5cbiAgICBjb25zdCBhcmdzOiBQcm90b2NvbC5SdW50aW1lLkNhbGxGdW5jdGlvbk9uUmVxdWVzdCA9IHtcbiAgICAgICAgZnVuY3Rpb25EZWNsYXJhdGlvbjogYGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGRvYyA9IHRoaXMgIT09IHdpbmRvdyA/IHRoaXMub3duZXJEb2N1bWVudCA6IGRvY3VtZW50O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICByZXR1cm4gZG9jLnNjcm9sbGluZ0VsZW1lbnQ7XG4gICAgICAgIH1gLFxuICAgIH07XG5cbiAgICBpZiAobm9kZSlcbiAgICAgICAgYXJncy5vYmplY3RJZCA9IG5vZGUub2JqZWN0SWQ7XG4gICAgZWxzZVxuICAgICAgICBhcmdzLmV4ZWN1dGlvbkNvbnRleHRJZCA9IEV4ZWN1dGlvbkNvbnRleHQudG9wLmN0eElkO1xuXG4gICAgY29uc3QgeyByZXN1bHQgfSA9IGF3YWl0IGNsaWVudC5SdW50aW1lLmNhbGxGdW5jdGlvbk9uKGFyZ3MpO1xuXG4gICAgcmV0dXJuIGRlc2NyaWJlTm9kZShjbGllbnQuRE9NLCByZXN1bHQub2JqZWN0SWQgfHwgJycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEb21FbGVtZW50IChub2RlOiBTZXJ2ZXJOb2RlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5vZGUubm9kZVR5cGUgPT09IDE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVFcXVhbCAoZWwxOiBTZXJ2ZXJOb2RlLCBlbDI6IFNlcnZlck5vZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWwxLmJhY2tlbmROb2RlSWQgPT09IGVsMi5iYWNrZW5kTm9kZUlkO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RG9jdW1lbnRFbGVtZW50ICh3aW46IEV4ZWN1dGlvbkNvbnRleHQpOiBQcm9taXNlPFNlcnZlck5vZGU+IHtcbiAgICBjb25zdCB7IFJ1bnRpbWUsIERPTSB9ID0gY2xpZW50c01hbmFnZXIuZ2V0Q2xpZW50KCk7XG5cbiAgICBjb25zdCB7IGV4Y2VwdGlvbkRldGFpbHMsIHJlc3VsdDogcmVzdWx0T2JqIH0gPSBhd2FpdCBSdW50aW1lLmV2YWx1YXRlKHtcbiAgICAgICAgZXhwcmVzc2lvbjogJ2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCcsXG4gICAgICAgIGNvbnRleHRJZDogIHdpbi5jdHhJZCxcbiAgICB9KTtcblxuICAgIGlmIChleGNlcHRpb25EZXRhaWxzKVxuICAgICAgICB0aHJvdyBleGNlcHRpb25EZXRhaWxzO1xuXG4gICAgcmV0dXJuIGRlc2NyaWJlTm9kZShET00sIHJlc3VsdE9iai5vYmplY3RJZCBhcyBzdHJpbmcpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaXNEb2N1bWVudEVsZW1lbnQgKGVsOiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZG9jRWwgPSBhd2FpdCBnZXREb2N1bWVudEVsZW1lbnQoRXhlY3V0aW9uQ29udGV4dC5jdXJyZW50KTtcblxuICAgIHJldHVybiBpc05vZGVFcXVhbChlbCwgZG9jRWwpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaXNJZnJhbWVXaW5kb3cgKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNsb3Nlc3QgKGVsOiBTZXJ2ZXJOb2RlLCBzZWxlY3Rvcjogc3RyaW5nKTogUHJvbWlzZTxTZXJ2ZXJOb2RlIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgUnVudGltZSwgRE9NIH0gPSBjbGllbnRzTWFuYWdlci5nZXRDbGllbnQoKTtcblxuICAgIGNvbnN0IHsgZXhjZXB0aW9uRGV0YWlscywgcmVzdWx0OiByZXN1bHRPYmogfSA9IGF3YWl0IFJ1bnRpbWUuY2FsbEZ1bmN0aW9uT24oe1xuICAgICAgICBhcmd1bWVudHM6ICAgICAgICAgICBbeyBvYmplY3RJZDogZWwub2JqZWN0SWQgfSwgeyB2YWx1ZTogc2VsZWN0b3IgfV0sXG4gICAgICAgIGZ1bmN0aW9uRGVjbGFyYXRpb246IGBmdW5jdGlvbiAoZWwsIHNlbGVjdG9yKSB7XG4gICAgICAgICAgICBkZWJ1Z2dlcjtcbiAgICAgICAgICAgIHJldHVybiB3aW5kb3dbXCIlcHJveHlsZXNzJVwiXS5uYXRpdmVNZXRob2RzLmNsb3Nlc3QuY2FsbChlbCwgc2VsZWN0b3IpO1xuICAgICAgICB9YCxcbiAgICAgICAgZXhlY3V0aW9uQ29udGV4dElkOiBFeGVjdXRpb25Db250ZXh0LmdldEN1cnJlbnRDb250ZXh0SWQoKSxcbiAgICB9KTtcblxuICAgIGlmIChleGNlcHRpb25EZXRhaWxzKVxuICAgICAgICB0aHJvdyBleGNlcHRpb25EZXRhaWxzO1xuXG4gICAgcmV0dXJuIHJlc3VsdE9iai52YWx1ZSA/IGRlc2NyaWJlTm9kZShET00sIHJlc3VsdE9iai52YWx1ZS5vYmplY3RJZCkgOiBudWxsO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Tm9kZVRleHQgKGVsOiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCB7IFJ1bnRpbWUgfSA9IGNsaWVudHNNYW5hZ2VyLmdldENsaWVudCgpO1xuXG4gICAgY29uc3QgeyBleGNlcHRpb25EZXRhaWxzLCByZXN1bHQ6IHJlc3VsdE9iaiB9ID0gYXdhaXQgUnVudGltZS5jYWxsRnVuY3Rpb25Pbih7XG4gICAgICAgIGFyZ3VtZW50czogICAgICAgICAgIFt7IG9iamVjdElkOiBlbC5vYmplY3RJZCB9XSxcbiAgICAgICAgZnVuY3Rpb25EZWNsYXJhdGlvbjogYGZ1bmN0aW9uIChlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHdpbmRvd1tcIiVwcm94eWxlc3MlXCJdLm5hdGl2ZU1ldGhvZHMubm9kZVRleHRDb250ZW50R2V0dGVyLmNhbGwoZWwpO1xuICAgICAgICB9YCxcbiAgICAgICAgZXhlY3V0aW9uQ29udGV4dElkOiBFeGVjdXRpb25Db250ZXh0LmdldEN1cnJlbnRDb250ZXh0SWQoKSxcbiAgICB9KTtcblxuICAgIGlmIChleGNlcHRpb25EZXRhaWxzKVxuICAgICAgICB0aHJvdyBleGNlcHRpb25EZXRhaWxzO1xuXG4gICAgcmV0dXJuIHJlc3VsdE9iai52YWx1ZTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbnRhaW5zRWxlbWVudCAoZWwxOiBTZXJ2ZXJOb2RlLCBlbDI6IFNlcnZlck5vZGUpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IFJ1bnRpbWUgfSA9IGNsaWVudHNNYW5hZ2VyLmdldENsaWVudCgpO1xuXG4gICAgY29uc3QgeyBleGNlcHRpb25EZXRhaWxzLCByZXN1bHQ6IHJlc3VsdE9iaiB9ID0gYXdhaXQgUnVudGltZS5jYWxsRnVuY3Rpb25Pbih7XG4gICAgICAgIGFyZ3VtZW50czogICAgICAgICAgIFt7IG9iamVjdElkOiBlbDEub2JqZWN0SWQgfSwgeyBvYmplY3RJZDogZWwyLm9iamVjdElkIH1dLFxuICAgICAgICBmdW5jdGlvbkRlY2xhcmF0aW9uOiBgZnVuY3Rpb24gKGVsMSwgZWwyKSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgaWYgKGVsMi5wYXJlbnROb2RlID09PSBlbDEpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2hpbGUoZWwyID0gZWwyLnBhcmVudE5vZGUpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9YCxcbiAgICAgICAgZXhlY3V0aW9uQ29udGV4dElkOiBFeGVjdXRpb25Db250ZXh0LmdldEN1cnJlbnRDb250ZXh0SWQoKSxcbiAgICB9KTtcblxuICAgIGlmIChleGNlcHRpb25EZXRhaWxzKVxuICAgICAgICB0aHJvdyBleGNlcHRpb25EZXRhaWxzO1xuXG4gICAgcmV0dXJuIHJlc3VsdE9iai52YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEltZ01hcE5hbWUgKGVsOiBTZXJ2ZXJOb2RlKTogc3RyaW5nIHtcbiAgICBpZiAoIWVsLmF0dHJpYnV0ZXMpXG4gICAgICAgIHJldHVybiAnJztcblxuICAgIGNvbnN0IHVzZU1hcEluZGV4ID0gZWwuYXR0cmlidXRlcy5pbmRleE9mKCd1c2VtYXAnKTtcblxuICAgIGlmICh1c2VNYXBJbmRleCA9PT0gLTEpXG4gICAgICAgIHJldHVybiAnJztcblxuICAgIHJldHVybiBlbC5hdHRyaWJ1dGVzW3VzZU1hcEluZGV4ICsgMV0uc3Vic3RyaW5nKDEpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UGFyZW50Tm9kZSAoeyBvYmplY3RJZCB9OiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxTZXJ2ZXJOb2RlIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgUnVudGltZSwgRE9NIH0gPSBjbGllbnRzTWFuYWdlci5nZXRDbGllbnQoKTtcblxuICAgIGNvbnN0IHBhcmVudCA9IGF3YWl0IFJ1bnRpbWUuY2FsbEZ1bmN0aW9uT24oe1xuICAgICAgICBmdW5jdGlvbkRlY2xhcmF0aW9uOiBgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY29uc3QgZWwgPSB0aGlzLmFzc2lnbmVkU2xvdCB8fCB0aGlzO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnROb2RlIHx8IGVsLmhvc3Q7XG4gICAgICAgIH1gLFxuICAgICAgICBvYmplY3RJZCxcbiAgICB9KTtcblxuICAgIGlmIChwYXJlbnQucmVzdWx0LnZhbHVlICE9PSBudWxsICYmIHBhcmVudC5yZXN1bHQub2JqZWN0SWQpXG4gICAgICAgIHJldHVybiBkZXNjcmliZU5vZGUoRE9NLCBwYXJlbnQucmVzdWx0Lm9iamVjdElkIHx8ICcnKTtcblxuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UGFyZW50cyAoZWw6IFNlcnZlck5vZGUpOiBQcm9taXNlPFNlcnZlck5vZGVbXT4ge1xuICAgIC8vIFRPRE86IGNoZWNrIHRoaXMgbWV0aG9kXG4gICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICBsZXQgcGFyZW50ID0gYXdhaXQgZ2V0UGFyZW50Tm9kZShlbCk7XG5cbiAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHBhcmVudCk7XG5cbiAgICAgICAgcGFyZW50ID0gYXdhaXQgZ2V0UGFyZW50Tm9kZShwYXJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
|
@@ -22,11 +22,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.getWindowPosition = exports.getElementFromPoint = exports.getIframePointRelativeToParentFrame = exports.getIframeClientCoordinates = exports.containsOffset = exports.getOffsetPosition = exports.getClientPosition = void 0;
|
|
25
|
+
exports.offsetToClientCoords = exports.getWindowPosition = exports.getClientDimensions = exports.getElementRectangle = exports.getElementFromPoint = exports.getIframePointRelativeToParentFrame = exports.getIframeClientCoordinates = exports.containsOffset = exports.getOffsetPosition = exports.getClientPosition = void 0;
|
|
26
26
|
const axis_values_1 = __importDefault(require("../../../../../../../shared/utils/values/axis-values"));
|
|
27
27
|
const boundary_values_1 = __importDefault(require("../../../../../../../shared/utils/values/boundary-values"));
|
|
28
28
|
const dom_utils_1 = require("./dom-utils");
|
|
29
29
|
const clientsManager = __importStar(require("../clients-manager"));
|
|
30
|
+
const _1 = require("./");
|
|
30
31
|
const style_utils_1 = require("./style-utils");
|
|
31
32
|
async function getClientPosition(node) {
|
|
32
33
|
const boxModel = await style_utils_1.getBoxModel(node);
|
|
@@ -34,13 +35,13 @@ async function getClientPosition(node) {
|
|
|
34
35
|
}
|
|
35
36
|
exports.getClientPosition = getClientPosition;
|
|
36
37
|
async function getOffsetPosition(node) {
|
|
37
|
-
const dimensions = await
|
|
38
|
+
const dimensions = await getClientDimensions(node);
|
|
38
39
|
const { left, top } = await style_utils_1.getDocumentScroll(node);
|
|
39
40
|
return { left: dimensions.left + left, top: dimensions.top + top };
|
|
40
41
|
}
|
|
41
42
|
exports.getOffsetPosition = getOffsetPosition;
|
|
42
43
|
async function containsOffset(node, offsetX, offsetY) {
|
|
43
|
-
const dimensions = await
|
|
44
|
+
const dimensions = await getClientDimensions(node);
|
|
44
45
|
const properties = await style_utils_1.getProperties(node, 'scrollWidth', 'scrollHeight');
|
|
45
46
|
const width = Math.max(Number(properties.scrollWidth), dimensions.width);
|
|
46
47
|
const height = Math.max(Number(properties.scrollHeight), dimensions.height);
|
|
@@ -51,7 +52,7 @@ async function containsOffset(node, offsetX, offsetY) {
|
|
|
51
52
|
}
|
|
52
53
|
exports.containsOffset = containsOffset;
|
|
53
54
|
async function getIframeClientCoordinates(node) {
|
|
54
|
-
const dimensions = await
|
|
55
|
+
const dimensions = await getClientDimensions(node);
|
|
55
56
|
const [left, top, right, bottom] = [
|
|
56
57
|
dimensions.left + dimensions.border.left + dimensions.paddings.left,
|
|
57
58
|
dimensions.top + dimensions.border.top + dimensions.paddings.left,
|
|
@@ -65,7 +66,7 @@ async function getIframePointRelativeToParentFrame(iframePoint, context) {
|
|
|
65
66
|
const iframe = await dom_utils_1.findIframeByWindow(context);
|
|
66
67
|
if (!iframe)
|
|
67
68
|
return null;
|
|
68
|
-
const dimensions = await
|
|
69
|
+
const dimensions = await getClientDimensions(iframe);
|
|
69
70
|
const paddings = await style_utils_1.getElementPadding(iframe);
|
|
70
71
|
const left = dimensions.left + dimensions.border.left + paddings.left + iframePoint.x;
|
|
71
72
|
const top = dimensions.top + dimensions.border.top + paddings.top + iframePoint.y;
|
|
@@ -76,7 +77,9 @@ async function getElementFromPoint(point) {
|
|
|
76
77
|
const { DOM } = clientsManager.getClient();
|
|
77
78
|
try {
|
|
78
79
|
const { backendNodeId } = await DOM.getNodeForLocation({ x: point.x, y: point.y });
|
|
79
|
-
|
|
80
|
+
const result = await DOM.resolveNode({ backendNodeId });
|
|
81
|
+
if (result === null || result === void 0 ? void 0 : result.object.objectId)
|
|
82
|
+
return _1.describeNode(DOM, result.object.objectId.toString());
|
|
80
83
|
}
|
|
81
84
|
catch (_a) {
|
|
82
85
|
// NOTE: TODO: for some reason this methods throws error for correct `point` values
|
|
@@ -85,6 +88,29 @@ async function getElementFromPoint(point) {
|
|
|
85
88
|
return null;
|
|
86
89
|
}
|
|
87
90
|
exports.getElementFromPoint = getElementFromPoint;
|
|
91
|
+
async function getElementRectangle(node) {
|
|
92
|
+
const dimensions = await style_utils_1.getElementDimensions(node);
|
|
93
|
+
return {
|
|
94
|
+
height: dimensions.height,
|
|
95
|
+
left: dimensions.left,
|
|
96
|
+
top: dimensions.top,
|
|
97
|
+
width: dimensions.width,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
exports.getElementRectangle = getElementRectangle;
|
|
101
|
+
async function getClientDimensions(node) {
|
|
102
|
+
const elementDimensions = await style_utils_1.getElementDimensions(node);
|
|
103
|
+
const parentFrame = await dom_utils_1.getIframeByElement(node);
|
|
104
|
+
if (parentFrame) {
|
|
105
|
+
const frameBoxModel = await style_utils_1.getBoxModel(parentFrame);
|
|
106
|
+
elementDimensions.left -= frameBoxModel.content[0];
|
|
107
|
+
elementDimensions.top -= frameBoxModel.content[1];
|
|
108
|
+
elementDimensions.bottom -= frameBoxModel.content[1];
|
|
109
|
+
elementDimensions.right -= frameBoxModel.content[0];
|
|
110
|
+
}
|
|
111
|
+
return elementDimensions;
|
|
112
|
+
}
|
|
113
|
+
exports.getClientDimensions = getClientDimensions;
|
|
88
114
|
async function getWindowPosition() {
|
|
89
115
|
const { Runtime } = clientsManager.getClient();
|
|
90
116
|
const args = {
|
|
@@ -98,4 +124,9 @@ async function getWindowPosition() {
|
|
|
98
124
|
return result.value;
|
|
99
125
|
}
|
|
100
126
|
exports.getWindowPosition = getWindowPosition;
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2NkcC1jbGllbnQvdXRpbHMvcG9zaXRpb24tdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHVHQUFpSDtBQUNqSCwrR0FBOEc7QUFDOUcsMkNBQWlEO0FBQ2pELG1FQUFxRDtBQUdyRCwrQ0FNdUI7QUFFaEIsS0FBSyxVQUFVLGlCQUFpQixDQUFFLElBQWdCO0lBQ3JELE1BQU0sUUFBUSxHQUFHLE1BQU0seUJBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV6QyxPQUFPLElBQUkscUJBQVUsQ0FBUyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBSkQsOENBSUM7QUFFTSxLQUFLLFVBQVUsaUJBQWlCLENBQUUsSUFBZ0I7SUFDckQsTUFBTSxVQUFVLEdBQU0sTUFBTSxpQ0FBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sK0JBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEQsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN2RSxDQUFDO0FBTEQsOENBS0M7QUFFTSxLQUFLLFVBQVUsY0FBYyxDQUFFLElBQWdCLEVBQUUsT0FBZSxFQUFFLE9BQWU7SUFDcEYsTUFBTSxVQUFVLEdBQUcsTUFBTSxpQ0FBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxNQUFNLFVBQVUs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QUVNLEtBQUssVUFBVSxtQkFBbUIsQ0FBRSxLQUE2QjtJQUNwRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRTNDLElBQUk7UUFDQSxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsTUFBTSxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbkYsT0FBTyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztLQUM3QztJQUNELFdBQU07UUFDRixtRkFBbUY7UUFDbkYsMENBQTBDO0tBQzdDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQWRELGtEQWNDO0FBRU0sS0FBSyxVQUFVLGlCQUFpQjtJQUNuQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRS9DLE1BQU0sSUFBSSxHQUFxQztRQUMzQyxVQUFVLEVBQUU7OztXQUdUO1FBQ0gsYUFBYSxFQUFFLElBQUk7S0FDdEIsQ0FBQztJQUVGLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQ3hCLENBQUM7QUFkRCw4Q0FjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm90b2NvbCBmcm9tICdkZXZ0b29scy1wcm90b2NvbC90eXBlcy9wcm90b2NvbCc7XG5pbXBvcnQgRXhlY3V0aW9uQ29udGV4dCBmcm9tICcuLi9leGVjdXRpb24tY29udGV4dCc7XG5pbXBvcnQgQXhpc1ZhbHVlcywgeyBBeGlzVmFsdWVzRGF0YSwgTGVmdFRvcFZhbHVlcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy92YWx1ZXMvYXhpcy12YWx1ZXMnO1xuaW1wb3J0IEJvdW5kYXJ5VmFsdWVzLCB7IEJvdW5kYXJ5VmFsdWVzRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy92YWx1ZXMvYm91bmRhcnktdmFsdWVzJztcbmltcG9ydCB7IGZpbmRJZnJhbWVCeVdpbmRvdyB9IGZyb20gJy4vZG9tLXV0aWxzJztcbmltcG9ydCAqIGFzIGNsaWVudHNNYW5hZ2VyIGZyb20gJy4uL2NsaWVudHMtbWFuYWdlcic7XG5pbXBvcnQgeyBTZXJ2ZXJOb2RlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQge1xuICAgIGdldEJveE1vZGVsLFxuICAgIGdldENsaWVudERpbWVuc2lvbnMsXG4gICAgZ2V0RG9jdW1lbnRTY3JvbGwsXG4gICAgZ2V0RWxlbWVudFBhZGRpbmcsXG4gICAgZ2V0UHJvcGVydGllcyxcbn0gZnJvbSAnLi9zdHlsZS11dGlscyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRDbGllbnRQb3NpdGlvbiAobm9kZTogU2VydmVyTm9kZSk6IFByb21pc2U8QXhpc1ZhbHVlczxudW1iZXI+PiB7XG4gICAgY29uc3QgYm94TW9kZWwgPSBhd2FpdCBnZXRCb3hNb2RlbChub2RlKTtcblxuICAgIHJldHVybiBuZXcgQXhpc1ZhbHVlczxudW1iZXI+KGJveE1vZGVsLmJvcmRlclswXSwgYm94TW9kZWwuYm9yZGVyWzFdKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE9mZnNldFBvc2l0aW9uIChub2RlOiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxMZWZ0VG9wVmFsdWVzPG51bWJlcj4+IHtcbiAgICBjb25zdCBkaW1lbnNpb25zICAgID0gYXdhaXQgZ2V0Q2xpZW50RGltZW5zaW9ucyhub2RlKTtcbiAgICBjb25zdCB7IGxlZnQsIHRvcCB9ID0gYXdhaXQgZ2V0RG9jdW1lbnRTY3JvbGwobm9kZSk7XG5cbiAgICByZXR1cm4geyBsZWZ0OiBkaW1lbnNpb25zLmxlZnQgKyBsZWZ0LCB0b3A6IGRpbWVuc2lvbnMudG9wICsgdG9wIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb250YWluc09mZnNldCAobm9kZTogU2VydmVyTm9kZSwgb2Zmc2V0WDogbnVtYmVyLCBvZmZzZXRZOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkaW1lbnNpb25zID0gYXdhaXQgZ2V0Q2xpZW50RGltZW5zaW9ucyhub2RlKTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgZ2V0UHJvcGVydGllcyhub2RlLCAnc2Nyb2xsV2lkdGgnLCAnc2Nyb2xsSGVpZ2h0Jyk7XG5cbiAgICBjb25zdCB3aWR0aCAgPSBNYXRoLm1heChOdW1iZXIocHJvcGVydGllcy5zY3JvbGxXaWR0aCksIGRpbWVuc2lvbnMud2lkdGgpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGgubWF4KE51bWJlcihwcm9wZXJ0aWVzLnNjcm9sbEhlaWdodCksIGRpbWVuc2lvbnMuaGVpZ2h0KTtcbiAgICBjb25zdCBtYXhYICAgPSBkaW1lbnNpb25zLnNjcm9sbGJhci5yaWdodCArIGRpbWVuc2lvbnMuYm9yZGVyLmxlZnQgKyBkaW1lbnNpb25zLmJvcmRlci5yaWdodCArIHdpZHRoO1xuICAgIGNvbnN0IG1heFkgICA9IGRpbWVuc2lvbnMuc2Nyb2xsYmFyLmJvdHRvbSArIGRpbWVuc2lvbnMuYm9yZGVyLnRvcCArIGRpbWVuc2lvbnMuYm9yZGVyLmJvdHRvbSArIGhlaWdodDtcblxuICAgIHJldHVybiAodHlwZW9mIG9mZnNldFggPT09ICd1bmRlZmluZWQnIHx8IG9mZnNldFggPj0gMCAmJiBtYXhYID49IG9mZnNldFgpICYmXG4gICAgICAgICh0eXBlb2Ygb2Zmc2V0WSA9PT0gJ3VuZGVmaW5lZCcgfHwgb2Zmc2V0WSA+PSAwICYmIG1heFkgPj0gb2Zmc2V0WSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRJZnJhbWVDbGllbnRDb29yZGluYXRlcyAobm9kZTogU2VydmVyTm9kZSk6IFByb21pc2U8Qm91bmRhcnlWYWx1ZXNEYXRhPiB7XG4gICAgY29uc3QgZGltZW5zaW9ucyA9IGF3YWl0IGdldENsaWVudERpbWVuc2lvbnMobm9kZSk7XG5cbiAgICBjb25zdCBbIGxlZnQsIHRvcCwgcmlnaHQsIGJvdHRvbSBdID0gW1xuICAgICAgICBkaW1lbnNpb25zLmxlZnQgKyBkaW1lbnNpb25zLmJvcmRlci5sZWZ0ICsgZGltZW5zaW9ucy5wYWRkaW5ncy5sZWZ0LFxuICAgICAgICBkaW1lbnNpb25zLnRvcCArIGRpbWVuc2lvbnMuYm9yZGVyLnRvcCArIGRpbWVuc2lvbnMucGFkZGluZ3MubGVmdCxcbiAgICAgICAgZGltZW5zaW9ucy5yaWdodCAtIGRpbWVuc2lvbnMuYm9yZGVyLnJpZ2h0IC0gZGltZW5zaW9ucy5wYWRkaW5ncy5yaWdodCxcbiAgICAgICAgZGltZW5zaW9ucy5ib3R0b20gLSBkaW1lbnNpb25zLmJvcmRlci5ib3R0b20gLSBkaW1lbnNpb25zLnBhZGRpbmdzLmJvdHRvbSxcbiAgICBdO1xuXG4gICAgcmV0dXJuIG5ldyBCb3VuZGFyeVZhbHVlcyh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0SWZyYW1lUG9pbnRSZWxhdGl2ZVRvUGFyZW50RnJhbWUgKGlmcmFtZVBvaW50OiBBeGlzVmFsdWVzPG51bWJlcj4sIGNvbnRleHQ6IEV4ZWN1dGlvbkNvbnRleHQpOiBQcm9taXNlPEF4aXNWYWx1ZXM8bnVtYmVyPiB8IG51bGw+IHtcbiAgICBjb25zdCBpZnJhbWUgPSBhd2FpdCBmaW5kSWZyYW1lQnlXaW5kb3coY29udGV4dCk7XG5cbiAgICBpZiAoIWlmcmFtZSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBkaW1lbnNpb25zID0gYXdhaXQgZ2V0Q2xpZW50RGltZW5zaW9ucyhpZnJhbWUpO1xuICAgIGNvbnN0IHBhZGRpbmdzICAgPSBhd2FpdCBnZXRFbGVtZW50UGFkZGluZyhpZnJhbWUpO1xuXG4gICAgY29uc3QgbGVmdCA9IGRpbWVuc2lvbnMubGVmdCArIGRpbWVuc2lvbnMuYm9yZGVyLmxlZnQgKyBwYWRkaW5ncy5sZWZ0ICsgaWZyYW1lUG9pbnQueDtcbiAgICBjb25zdCB0b3AgID0gZGltZW5zaW9ucy50b3AgKyBkaW1lbnNpb25zLmJvcmRlci50b3AgKyBwYWRkaW5ncy50b3AgKyBpZnJhbWVQb2ludC55O1xuXG4gICAgcmV0dXJuIG5ldyBBeGlzVmFsdWVzPG51bWJlcj4obGVmdCwgdG9wKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEVsZW1lbnRGcm9tUG9pbnQgKHBvaW50OiBBeGlzVmFsdWVzRGF0YTxudW1iZXI+KTogUHJvbWlzZTxQcm90b2NvbC5ET00uUmVzb2x2ZU5vZGVSZXNwb25zZSB8IG51bGw+IHtcbiAgICBjb25zdCB7IERPTSB9ID0gY2xpZW50c01hbmFnZXIuZ2V0Q2xpZW50KCk7XG5cbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGJhY2tlbmROb2RlSWQgfSA9IGF3YWl0IERPTS5nZXROb2RlRm9yTG9jYXRpb24oeyB4OiBwb2ludC54LCB5OiBwb2ludC55IH0pO1xuXG4gICAgICAgIHJldHVybiBET00ucmVzb2x2ZU5vZGUoeyBiYWNrZW5kTm9kZUlkIH0pO1xuICAgIH1cbiAgICBjYXRjaCB7XG4gICAgICAgIC8vIE5PVEU6IFRPRE86IGZvciBzb21lIHJlYXNvbiB0aGlzIG1ldGhvZHMgdGhyb3dzIGVycm9yIGZvciBjb3JyZWN0IGBwb2ludGAgdmFsdWVzXG4gICAgICAgIC8vIGFsd2F5cyB0aHJvd3MgZXJyb3IgZm9yIG5lZ2F0aXZlIHZhbHVlc1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0V2luZG93UG9zaXRpb24gKCk6IFByb21pc2U8QXhpc1ZhbHVlczxudW1iZXI+PiB7XG4gICAgY29uc3QgeyBSdW50aW1lIH0gPSBjbGllbnRzTWFuYWdlci5nZXRDbGllbnQoKTtcblxuICAgIGNvbnN0IGFyZ3M6IFByb3RvY29sLlJ1bnRpbWUuRXZhbHVhdGVSZXF1ZXN0ID0ge1xuICAgICAgICBleHByZXNzaW9uOiBgKHtcbiAgICAgICAgICAgIHg6IHdpbmRvdy5zY3JlZW5MZWZ0IHx8IHdpbmRvdy5zY3JlZW5YLFxuICAgICAgICAgICAgeTogd2luZG93LnNjcmVlblRvcCB8fCB3aW5kb3cuc2NyZWVuWVxuICAgICAgICB9KWAsXG4gICAgICAgIHJldHVybkJ5VmFsdWU6IHRydWUsXG4gICAgfTtcblxuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSBhd2FpdCBSdW50aW1lLmV2YWx1YXRlKGFyZ3MpO1xuXG4gICAgcmV0dXJuIHJlc3VsdC52YWx1ZTtcbn1cbiJdfQ==
|
|
127
|
+
// TODO: implement
|
|
128
|
+
async function offsetToClientCoords(point) {
|
|
129
|
+
return point;
|
|
130
|
+
}
|
|
131
|
+
exports.offsetToClientCoords = offsetToClientCoords;
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2NkcC1jbGllbnQvdXRpbHMvcG9zaXRpb24tdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHVHQUFpSDtBQUNqSCwrR0FBOEc7QUFDOUcsMkNBQXFFO0FBQ3JFLG1FQUFxRDtBQUVyRCx5QkFBa0M7QUFFbEMsK0NBTXVCO0FBS2hCLEtBQUssVUFBVSxpQkFBaUIsQ0FBRSxJQUFnQjtJQUNyRCxNQUFNLFFBQVEsR0FBRyxNQUFNLHlCQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekMsT0FBTyxJQUFJLHFCQUFVLENBQVMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUpELDhDQUlDO0FBRU0sS0FBSyxVQUFVLGlCQUFpQixDQUFFLElBQWdCO0lBQ3JELE1BQU0sVUFBVSxHQUFNLE1BQU0sbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLCtCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDdkUsQ0FBQztBQUxELDhDQUtDO0FBRU0sS0FBSyxVQUFVLGNBQWMsQ0FBRSxJQUFnQixFQUFFLE9BQWdCLEVBQUUsT0FBZ0I7SUFDdEYsTUFBTSxVQUFVLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJ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VyxHQUFTLE1BQU0sOEJBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekQsSUFBSSxXQUFXLEVBQUU7UUFDYixNQUFNLGFBQWEsR0FBRyxNQUFNLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFckQsaUJBQWlCLENBQUMsSUFBSSxJQUFNLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsaUJBQWlCLENBQUMsR0FBRyxJQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsaUJBQWlCLENBQUMsTUFBTSxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsaUJBQWlCLENBQUMsS0FBSyxJQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDeEQ7SUFFRCxPQUFPLGlCQUFpQixDQUFDO0FBQzdCLENBQUM7QUFkRCxrREFjQztBQUVNLEtBQUssVUFBVSxpQkFBaUI7SUFDbkMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUUvQyxNQUFNLElBQUksR0FBcUM7UUFDM0MsVUFBVSxFQUFFOzs7V0FHVDtRQUNILGFBQWEsRUFBRSxJQUFJO0tBQ3RCLENBQUM7SUFFRixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztBQUN4QixDQUFDO0FBZEQsOENBY0M7QUFFRCxrQkFBa0I7QUFDWCxLQUFLLFVBQVUsb0JBQW9CLENBQUUsS0FBeUI7SUFDakUsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQUZELG9EQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3RvY29sIGZyb20gJ2RldnRvb2xzLXByb3RvY29sL3R5cGVzL3Byb3RvY29sJztcbmltcG9ydCBFeGVjdXRpb25Db250ZXh0IGZyb20gJy4uL2V4ZWN1dGlvbi1jb250ZXh0JztcbmltcG9ydCBBeGlzVmFsdWVzLCB7IEF4aXNWYWx1ZXNEYXRhLCBMZWZ0VG9wVmFsdWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3ZhbHVlcy9heGlzLXZhbHVlcyc7XG5pbXBvcnQgQm91bmRhcnlWYWx1ZXMsIHsgQm91bmRhcnlWYWx1ZXNEYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3ZhbHVlcy9ib3VuZGFyeS12YWx1ZXMnO1xuaW1wb3J0IHsgZmluZElmcmFtZUJ5V2luZG93LCBnZXRJZnJhbWVCeUVsZW1lbnQgfSBmcm9tICcuL2RvbS11dGlscyc7XG5pbXBvcnQgKiBhcyBjbGllbnRzTWFuYWdlciBmcm9tICcuLi9jbGllbnRzLW1hbmFnZXInO1xuaW1wb3J0IHsgUG9zaXRpb25EaW1lbnNpb25zLCBTZXJ2ZXJOb2RlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZGVzY3JpYmVOb2RlIH0gZnJvbSAnLi8nO1xuXG5pbXBvcnQge1xuICAgIGdldEJveE1vZGVsLFxuICAgIGdldERvY3VtZW50U2Nyb2xsLFxuICAgIGdldEVsZW1lbnRQYWRkaW5nLFxuICAgIGdldEVsZW1lbnREaW1lbnNpb25zLFxuICAgIGdldFByb3BlcnRpZXMsXG59IGZyb20gJy4vc3R5bGUtdXRpbHMnO1xuXG5pbXBvcnQgeyBFbGVtZW50UmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vY2xpZW50L2NvcmUvdXRpbHMvc2hhcmVkL3R5cGVzJztcblxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q2xpZW50UG9zaXRpb24gKG5vZGU6IFNlcnZlck5vZGUpOiBQcm9taXNlPEF4aXNWYWx1ZXM8bnVtYmVyPj4ge1xuICAgIGNvbnN0IGJveE1vZGVsID0gYXdhaXQgZ2V0Qm94TW9kZWwobm9kZSk7XG5cbiAgICByZXR1cm4gbmV3IEF4aXNWYWx1ZXM8bnVtYmVyPihib3hNb2RlbC5ib3JkZXJbMF0sIGJveE1vZGVsLmJvcmRlclsxXSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRPZmZzZXRQb3NpdGlvbiAobm9kZTogU2VydmVyTm9kZSk6IFByb21pc2U8TGVmdFRvcFZhbHVlczxudW1iZXI+PiB7XG4gICAgY29uc3QgZGltZW5zaW9ucyAgICA9IGF3YWl0IGdldENsaWVudERpbWVuc2lvbnMobm9kZSk7XG4gICAgY29uc3QgeyBsZWZ0LCB0b3AgfSA9IGF3YWl0IGdldERvY3VtZW50U2Nyb2xsKG5vZGUpO1xuXG4gICAgcmV0dXJuIHsgbGVmdDogZGltZW5zaW9ucy5sZWZ0ICsgbGVmdCwgdG9wOiBkaW1lbnNpb25zLnRvcCArIHRvcCB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29udGFpbnNPZmZzZXQgKG5vZGU6IFNlcnZlck5vZGUsIG9mZnNldFg/OiBudW1iZXIsIG9mZnNldFk/OiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkaW1lbnNpb25zID0gYXdhaXQgZ2V0Q2xpZW50RGltZW5zaW9ucyhub2RlKTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgZ2V0UHJvcGVydGllcyhub2RlLCAnc2Nyb2xsV2lkdGgnLCAnc2Nyb2xsSGVpZ2h0Jyk7XG5cbiAgICBjb25zdCB3aWR0aCAgPSBNYXRoLm1heChOdW1iZXIocHJvcGVydGllcy5zY3JvbGxXaWR0aCksIGRpbWVuc2lvbnMud2lkdGgpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGgubWF4KE51bWJlcihwcm9wZXJ0aWVzLnNjcm9sbEhlaWdodCksIGRpbWVuc2lvbnMuaGVpZ2h0KTtcbiAgICBjb25zdCBtYXhYICAgPSBkaW1lbnNpb25zLnNjcm9sbGJhci5yaWdodCArIGRpbWVuc2lvbnMuYm9yZGVyLmxlZnQgKyBkaW1lbnNpb25zLmJvcmRlci5yaWdodCArIHdpZHRoO1xuICAgIGNvbnN0IG1heFkgICA9IGRpbWVuc2lvbnMuc2Nyb2xsYmFyLmJvdHRvbSArIGRpbWVuc2lvbnMuYm9yZGVyLnRvcCArIGRpbWVuc2lvbnMuYm9yZGVyLmJvdHRvbSArIGhlaWdodDtcblxuICAgIHJldHVybiAodHlwZW9mIG9mZnNldFggPT09ICd1bmRlZmluZWQnIHx8IG9mZnNldFggPj0gMCAmJiBtYXhYID49IG9mZnNldFgpICYmXG4gICAgICAgICh0eXBlb2Ygb2Zmc2V0WSA9PT0gJ3VuZGVmaW5lZCcgfHwgb2Zmc2V0WSA+PSAwICYmIG1heFkgPj0gb2Zmc2V0WSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRJZnJhbWVDbGllbnRDb29yZGluYXRlcyAobm9kZTogU2VydmVyTm9kZSk6IFByb21pc2U8Qm91bmRhcnlWYWx1ZXNEYXRhPiB7XG4gICAgY29uc3QgZGltZW5zaW9ucyA9IGF3YWl0IGdldENsaWVudERpbWVuc2lvbnMobm9kZSk7XG5cbiAgICBjb25zdCBbIGxlZnQsIHRvcCwgcmlnaHQsIGJvdHRvbSBdID0gW1xuICAgICAgICBkaW1lbnNpb25zLmxlZnQgKyBkaW1lbnNpb25zLmJvcmRlci5sZWZ0ICsgZGltZW5zaW9ucy5wYWRkaW5ncy5sZWZ0LFxuICAgICAgICBkaW1lbnNpb25zLnRvcCArIGRpbWVuc2lvbnMuYm9yZGVyLnRvcCArIGRpbWVuc2lvbnMucGFkZGluZ3MubGVmdCxcbiAgICAgICAgZGltZW5zaW9ucy5yaWdodCAtIGRpbWVuc2lvbnMuYm9yZGVyLnJpZ2h0IC0gZGltZW5zaW9ucy5wYWRkaW5ncy5yaWdodCxcbiAgICAgICAgZGltZW5zaW9ucy5ib3R0b20gLSBkaW1lbnNpb25zLmJvcmRlci5ib3R0b20gLSBkaW1lbnNpb25zLnBhZGRpbmdzLmJvdHRvbSxcbiAgICBdO1xuXG4gICAgcmV0dXJuIG5ldyBCb3VuZGFyeVZhbHVlcyh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0SWZyYW1lUG9pbnRSZWxhdGl2ZVRvUGFyZW50RnJhbWUgKGlmcmFtZVBvaW50OiBBeGlzVmFsdWVzPG51bWJlcj4sIGNvbnRleHQ6IEV4ZWN1dGlvbkNvbnRleHQpOiBQcm9taXNlPEF4aXNWYWx1ZXM8bnVtYmVyPiB8IG51bGw+IHtcbiAgICBjb25zdCBpZnJhbWUgPSBhd2FpdCBmaW5kSWZyYW1lQnlXaW5kb3coY29udGV4dCk7XG5cbiAgICBpZiAoIWlmcmFtZSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBkaW1lbnNpb25zID0gYXdhaXQgZ2V0Q2xpZW50RGltZW5zaW9ucyhpZnJhbWUpO1xuICAgIGNvbnN0IHBhZGRpbmdzICAgPSBhd2FpdCBnZXRFbGVtZW50UGFkZGluZyhpZnJhbWUpO1xuXG4gICAgY29uc3QgbGVmdCA9IGRpbWVuc2lvbnMubGVmdCArIGRpbWVuc2lvbnMuYm9yZGVyLmxlZnQgKyBwYWRkaW5ncy5sZWZ0ICsgaWZyYW1lUG9pbnQueDtcbiAgICBjb25zdCB0b3AgID0gZGltZW5zaW9ucy50b3AgKyBkaW1lbnNpb25zLmJvcmRlci50b3AgKyBwYWRkaW5ncy50b3AgKyBpZnJhbWVQb2ludC55O1xuXG4gICAgcmV0dXJuIG5ldyBBeGlzVmFsdWVzPG51bWJlcj4obGVmdCwgdG9wKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEVsZW1lbnRGcm9tUG9pbnQgKHBvaW50OiBBeGlzVmFsdWVzRGF0YTxudW1iZXI+KTogUHJvbWlzZTxTZXJ2ZXJOb2RlIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgRE9NIH0gPSBjbGllbnRzTWFuYWdlci5nZXRDbGllbnQoKTtcblxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgYmFja2VuZE5vZGVJZCB9ID0gYXdhaXQgRE9NLmdldE5vZGVGb3JMb2NhdGlvbih7IHg6IHBvaW50LngsIHk6IHBvaW50LnkgfSk7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgRE9NLnJlc29sdmVOb2RlKHsgYmFja2VuZE5vZGVJZCB9KTtcblxuICAgICAgICBpZiAocmVzdWx0Py5vYmplY3Qub2JqZWN0SWQpXG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVOb2RlKERPTSwgcmVzdWx0Lm9iamVjdC5vYmplY3RJZC50b1N0cmluZygpKTtcbiAgICB9XG4gICAgY2F0Y2gge1xuICAgICAgICAvLyBOT1RFOiBUT0RPOiBmb3Igc29tZSByZWFzb24gdGhpcyBtZXRob2RzIHRocm93cyBlcnJvciBmb3IgY29ycmVjdCBgcG9pbnRgIHZhbHVlc1xuICAgICAgICAvLyBhbHdheXMgdGhyb3dzIGVycm9yIGZvciBuZWdhdGl2ZSB2YWx1ZXNcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEVsZW1lbnRSZWN0YW5nbGUgKG5vZGU6IFNlcnZlck5vZGUpOiBQcm9taXNlPEVsZW1lbnRSZWN0YW5nbGU+IHtcbiAgICBjb25zdCBkaW1lbnNpb25zID0gYXdhaXQgZ2V0RWxlbWVudERpbWVuc2lvbnMobm9kZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBoZWlnaHQ6IGRpbWVuc2lvbnMuaGVpZ2h0LFxuICAgICAgICBsZWZ0OiAgIGRpbWVuc2lvbnMubGVmdCxcbiAgICAgICAgdG9wOiAgICBkaW1lbnNpb25zLnRvcCxcbiAgICAgICAgd2lkdGg6ICBkaW1lbnNpb25zLndpZHRoLFxuICAgIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRDbGllbnREaW1lbnNpb25zIChub2RlOiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxQb3NpdGlvbkRpbWVuc2lvbnM+IHtcbiAgICBjb25zdCBlbGVtZW50RGltZW5zaW9ucyA9IGF3YWl0IGdldEVsZW1lbnREaW1lbnNpb25zKG5vZGUpO1xuICAgIGNvbnN0IHBhcmVudEZyYW1lICAgICAgID0gYXdhaXQgZ2V0SWZyYW1lQnlFbGVtZW50KG5vZGUpO1xuXG4gICAgaWYgKHBhcmVudEZyYW1lKSB7XG4gICAgICAgIGNvbnN0IGZyYW1lQm94TW9kZWwgPSBhd2FpdCBnZXRCb3hNb2RlbChwYXJlbnRGcmFtZSk7XG5cbiAgICAgICAgZWxlbWVudERpbWVuc2lvbnMubGVmdCAgIC09IGZyYW1lQm94TW9kZWwuY29udGVudFswXTtcbiAgICAgICAgZWxlbWVudERpbWVuc2lvbnMudG9wICAgIC09IGZyYW1lQm94TW9kZWwuY29udGVudFsxXTtcbiAgICAgICAgZWxlbWVudERpbWVuc2lvbnMuYm90dG9tIC09IGZyYW1lQm94TW9kZWwuY29udGVudFsxXTtcbiAgICAgICAgZWxlbWVudERpbWVuc2lvbnMucmlnaHQgIC09IGZyYW1lQm94TW9kZWwuY29udGVudFswXTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudERpbWVuc2lvbnM7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRXaW5kb3dQb3NpdGlvbiAoKTogUHJvbWlzZTxBeGlzVmFsdWVzPG51bWJlcj4+IHtcbiAgICBjb25zdCB7IFJ1bnRpbWUgfSA9IGNsaWVudHNNYW5hZ2VyLmdldENsaWVudCgpO1xuXG4gICAgY29uc3QgYXJnczogUHJvdG9jb2wuUnVudGltZS5FdmFsdWF0ZVJlcXVlc3QgPSB7XG4gICAgICAgIGV4cHJlc3Npb246IGAoe1xuICAgICAgICAgICAgeDogd2luZG93LnNjcmVlbkxlZnQgfHwgd2luZG93LnNjcmVlblgsXG4gICAgICAgICAgICB5OiB3aW5kb3cuc2NyZWVuVG9wIHx8IHdpbmRvdy5zY3JlZW5ZXG4gICAgICAgIH0pYCxcbiAgICAgICAgcmV0dXJuQnlWYWx1ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgY29uc3QgeyByZXN1bHQgfSA9IGF3YWl0IFJ1bnRpbWUuZXZhbHVhdGUoYXJncyk7XG5cbiAgICByZXR1cm4gcmVzdWx0LnZhbHVlO1xufVxuXG4vLyBUT0RPOiBpbXBsZW1lbnRcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvZmZzZXRUb0NsaWVudENvb3JkcyAocG9pbnQ6IEF4aXNWYWx1ZXM8bnVtYmVyPik6IFByb21pc2U8QXhpc1ZhbHVlczxudW1iZXI+PiB7XG4gICAgcmV0dXJuIHBvaW50O1xufVxuIl19
|
|
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.getDocumentScroll = exports.getWindowDimensions = exports.getElementScroll = exports.getElementPadding = exports.getBordersWidth = exports.
|
|
25
|
+
exports.getDocumentScroll = exports.getWindowDimensions = exports.hasScroll = exports.getElementScroll = exports.getElementPadding = exports.getBordersWidth = exports.getElementDimensions = exports.getBoxModel = exports.getScroll = exports.getProperties = exports.getStyleProperties = void 0;
|
|
26
26
|
const boundary_values_1 = __importDefault(require("../../../../../../../shared/utils/values/boundary-values"));
|
|
27
27
|
const dom_utils_1 = require("./dom-utils");
|
|
28
28
|
const clientsManager = __importStar(require("../clients-manager"));
|
|
@@ -108,19 +108,7 @@ async function getElementDimensions(node) {
|
|
|
108
108
|
width,
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
|
-
|
|
112
|
-
const elementDimensions = await getElementDimensions(node);
|
|
113
|
-
const parentFrame = await dom_utils_1.getIframeByElement(node);
|
|
114
|
-
if (parentFrame) {
|
|
115
|
-
const frameBoxModel = await getBoxModel(parentFrame);
|
|
116
|
-
elementDimensions.left -= frameBoxModel.content[0];
|
|
117
|
-
elementDimensions.top -= frameBoxModel.content[1];
|
|
118
|
-
elementDimensions.bottom -= frameBoxModel.content[1];
|
|
119
|
-
elementDimensions.right -= frameBoxModel.content[0];
|
|
120
|
-
}
|
|
121
|
-
return elementDimensions;
|
|
122
|
-
}
|
|
123
|
-
exports.getClientDimensions = getClientDimensions;
|
|
111
|
+
exports.getElementDimensions = getElementDimensions;
|
|
124
112
|
async function getBordersWidth(node) {
|
|
125
113
|
const dimensions = await getElementDimensions(node);
|
|
126
114
|
return dimensions.border;
|
|
@@ -134,6 +122,11 @@ async function getElementScroll(node) {
|
|
|
134
122
|
return getScroll(node);
|
|
135
123
|
}
|
|
136
124
|
exports.getElementScroll = getElementScroll;
|
|
125
|
+
async function hasScroll(node) {
|
|
126
|
+
const scroll = await getElementScroll(node);
|
|
127
|
+
return scroll.left > 0 || scroll.top > 0;
|
|
128
|
+
}
|
|
129
|
+
exports.hasScroll = hasScroll;
|
|
137
130
|
async function getWindowDimensions(executionContext) {
|
|
138
131
|
const { Runtime } = clientsManager.getClient();
|
|
139
132
|
const args = {
|
|
@@ -155,4 +148,4 @@ async function getDocumentScroll(node) {
|
|
|
155
148
|
return getElementScroll(document);
|
|
156
149
|
}
|
|
157
150
|
exports.getDocumentScroll = getDocumentScroll;
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2NkcC1jbGllbnQvdXRpbHMvc3R5bGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtHQUE4RztBQUc5RywyQ0FBc0U7QUFFdEUsbUVBQXFEO0FBR3JELEtBQUssVUFBVSxVQUFVLENBQUUsSUFBZ0I7SUFDdkMsTUFBTSxNQUFNLEdBQU8sY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzlDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sS0FBSyxHQUFRLE1BQU0sa0JBQWtCLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFdEgsTUFBTSxLQUFLLEdBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckQsTUFBTSxJQUFJLEdBQUssUUFBUSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRCxNQUFNLEdBQUcsR0FBTSxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRWxELE9BQU8sSUFBSSx5QkFBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFTSxLQUFLLFVBQVUsa0JBQWtCLENBQUUsTUFBYyxFQUFFLEdBQUcsS0FBZTtJQUN4RSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRTNDLE1BQU0sVUFBVSxHQUF1QixFQUFHLENBQUM7SUFDM0MsTUFBTSxLQUFLLEdBQTRCLE1BQU0sR0FBRyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUVyRixLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hFLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUNoQixVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFFUCxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDO0FBWkQsZ0RBWUM7QUFFTSxLQUFLLFVBQVUsYUFBYSxDQUFFLElBQWdCLEVBQUUsR0FBRyxLQUFlO0lBQ3JFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7SUFFL0MsTUFBTSxVQUFVLEdBQXVCLEVBQUcsQ0FBQztJQUMzQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQXVCLE1BQU0sT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV6RSxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFOztRQUNoQixVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFHLFFBQVEsQ0FBQyxLQUFLLDBDQUFFLEtBQUssQ0FBQztJQUN0RCxDQUFDLENBQUMsQ0FBQztJQUVQLE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUM7QUFaRCxzQ0FZQztBQUVNLEtBQUssVUFBVSxTQUFTLENBQUUsSUFBZ0I7SUFDN0MsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLGFBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRXZGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztBQUNoRSxDQUFDO0FBSkQsOEJBSUM7QUFFTSxLQUFLLFVBQVUsV0FBVyxDQUFFLElBQWdCO0lBQy9DLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBSSxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQztBQUMxQixDQUFDO0FBTEQsa0NBS0M7QUFFRCxLQUFLLFVBQVUsb0JBQW9CLENBQUUsSUFBZ0I7SUFDakQscUZBQXFGO0lBQ3JGLG9EQUFvRDtJQUNwRCxNQUFNLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUcsQ0FBQyxDQUFDO0lBRXRELE1BQU0sUUFBUSxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFLLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXhDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBRTdELE1BQU0sSUFBSSxHQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckMsTUFBTSxHQUFHLEdBQU0sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDNUIsTUFBTSxLQUFLLEdBQUksSUFBSSxHQUFHLEtBQUssQ0FBQztJQUU1QixNQUFNLE9BQU8sR0FBRztRQUNaLEdBQUcsRUFBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM5QixLQUFLLEVBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksRUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztLQUNqQyxDQUFDO0lBRUYsTUFBTSxTQUFTLEdBQUc7UUFDZCxLQUFLLEVBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDNUQsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO0tBQ2hFLENBQUM7SUFFRixPQUFPO1FBQ0gsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNO1FBQ04sTUFBTTtRQUNOLElBQUk7UUFDSixLQUFLO1FBQ0wsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxHQUFHLEVBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsU0FBUztRQUNULFFBQVE7UUFDUixHQUFHO1FBQ0gsS0FBSztLQUNSLENBQUM7QUFDTixDQUFDO0FBRU0sS0FBSyxVQUFVLG1CQUFtQixDQUFFLElBQWdCO0lBQ3ZELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxNQUFNLFdBQVcsR0FBUyxNQUFNLDhCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpELElBQUksV0FBVyxFQUFFO1FBQ2IsTUFBTSxhQUFhLEdBQUcsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFckQsaUJBQWlCLENBQUMsSUFBSSxJQUFNLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsaUJBQWlCLENBQUMsR0FBRyxJQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsaUJBQWlCLENBQUMsTUFBTSxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsaUJBQWlCLENBQUMsS0FBSyxJQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDeEQ7SUFFRCxPQUFPLGlCQUFpQixDQUFDO0FBQzdCLENBQUM7QUFkRCxrREFjQztBQUVNLEtBQUssVUFBVSxlQUFlLENBQUUsSUFBZ0I7SUFDbkQsTUFBTSxVQUFVLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUM7QUFDN0IsQ0FBQztBQUpELDBDQUlDO0FBRU0sS0FBSyxVQUFVLGlCQUFpQixDQUFFLElBQWdCO0lBQ3JELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFGRCw4Q0FFQztBQUVNLEtBQUssVUFBVSxnQkFBZ0IsQ0FBRSxJQUFnQjtJQUNwRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRkQsNENBRUM7QUFFTSxLQUFLLFVBQVUsbUJBQW1CLENBQUUsZ0JBQW1DO0lBQzFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7SUFFL0MsTUFBTSxJQUFJLEdBQXFDO1FBQzNDLFVBQVUsRUFBRTs7O1dBR1Q7UUFDSCxhQUFhLEVBQUUsSUFBSTtLQUN0QixDQUFDO0lBRUYsSUFBSSxnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFFNUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFVLE1BQU0sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFFdkMsT0FBTyxJQUFJLHlCQUFjLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQWxCRCxrREFrQkM7QUFFTSxLQUFLLFVBQVUsaUJBQWlCLENBQUUsSUFBZ0I7SUFDckQsTUFBTSxRQUFRLEdBQUcsTUFBTSwrQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqRCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFKRCw4Q0FJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExlZnRUb3BWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGFyZWQvdXRpbHMvdmFsdWVzL2F4aXMtdmFsdWVzJztcbmltcG9ydCBCb3VuZGFyeVZhbHVlcywgeyBCb3VuZGFyeVZhbHVlc0RhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGFyZWQvdXRpbHMvdmFsdWVzL2JvdW5kYXJ5LXZhbHVlcyc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi9pbnRlcmZhY2VzJztcbmltcG9ydCBQcm90b2NvbCBmcm9tICdkZXZ0b29scy1wcm90b2NvbC90eXBlcy9wcm90b2NvbCc7XG5pbXBvcnQgeyBnZXRTY3JvbGxpbmdFbGVtZW50LCBnZXRJZnJhbWVCeUVsZW1lbnQgfSBmcm9tICcuL2RvbS11dGlscyc7XG5pbXBvcnQgRXhlY3V0aW9uQ29udGV4dCBmcm9tICcuLi9leGVjdXRpb24tY29udGV4dCc7XG5pbXBvcnQgKiBhcyBjbGllbnRzTWFuYWdlciBmcm9tICcuLi9jbGllbnRzLW1hbmFnZXInO1xuaW1wb3J0IHsgU2VydmVyTm9kZSwgUG9zaXRpb25EaW1lbnNpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5hc3luYyBmdW5jdGlvbiBnZXRQYWRkaW5nIChub2RlOiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxCb3VuZGFyeVZhbHVlc0RhdGE+IHtcbiAgICBjb25zdCBjbGllbnQgICAgID0gY2xpZW50c01hbmFnZXIuZ2V0Q2xpZW50KCk7XG4gICAgY29uc3QgeyBub2RlSWQgfSA9IGF3YWl0IGNsaWVudC5ET00ucmVxdWVzdE5vZGUobm9kZSk7XG4gICAgY29uc3Qgc3R5bGUgICAgICA9IGF3YWl0IGdldFN0eWxlUHJvcGVydGllcyhub2RlSWQsICdwYWRkaW5nLXJpZ2h0JywgJ3BhZGRpbmctYm90dG9tJywgJ3BhZGRpbmctbGVmdCcsICdwYWRkaW5nLXRvcCcpO1xuXG4gICAgY29uc3QgcmlnaHQgID0gcGFyc2VJbnQoc3R5bGVbJ3BhZGRpbmctcmlnaHQnXSwgMTApO1xuICAgIGNvbnN0IGJvdHRvbSA9IHBhcnNlSW50KHN0eWxlWydwYWRkaW5nLWJvdHRvbSddLCAxMCk7XG4gICAgY29uc3QgbGVmdCAgID0gcGFyc2VJbnQoc3R5bGVbJ3BhZGRpbmctbGVmdCddLCAxMCk7XG4gICAgY29uc3QgdG9wICAgID0gcGFyc2VJbnQoc3R5bGVbJ3BhZGRpbmctdG9wJ10sIDEwKTtcblxuICAgIHJldHVybiBuZXcgQm91bmRhcnlWYWx1ZXModG9wLCByaWdodCwgYm90dG9tLCBsZWZ0KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFN0eWxlUHJvcGVydGllcyAobm9kZUlkOiBudW1iZXIsIC4uLm5hbWVzOiBzdHJpbmdbXSk6IFByb21pc2U8RGljdGlvbmFyeTxzdHJpbmc+PiB7XG4gICAgY29uc3QgeyBDU1MgfSA9IGNsaWVudHNNYW5hZ2VyLmdldENsaWVudCgpO1xuXG4gICAgY29uc3QgcHJvcGVydGllczogRGljdGlvbmFyeTxzdHJpbmc+ID0geyB9O1xuICAgIGNvbnN0IHN0eWxlICAgICAgICAgICAgICAgICAgICAgICAgICA9IGF3YWl0IENTUy5nZXRDb21wdXRlZFN0eWxlRm9yTm9kZSh7IG5vZGVJZCB9KTtcblxuICAgIHN0eWxlLmNvbXB1dGVkU3R5bGUuZmlsdGVyKHByb3BlcnR5ID0+IG5hbWVzLmluY2x1ZGVzKHByb3BlcnR5Lm5hbWUpKVxuICAgICAgICAuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzW3Byb3BlcnR5Lm5hbWVdID0gcHJvcGVydHkudmFsdWU7XG4gICAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb3BlcnRpZXM7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQcm9wZXJ0aWVzIChub2RlOiBTZXJ2ZXJOb2RlLCAuLi5uYW1lczogc3RyaW5nW10pOiBQcm9taXNlPERpY3Rpb25hcnk8c3RyaW5nPj4ge1xuICAgIGNvbnN0IHsgUnVudGltZSB9ID0gY2xpZW50c01hbmFnZXIuZ2V0Q2xpZW50KCk7XG5cbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBEaWN0aW9uYXJ5PHN0cmluZz4gPSB7IH07XG4gICAgY29uc3QgeyByZXN1bHQgfSAgICAgICAgICAgICAgICAgICAgID0gYXdhaXQgUnVudGltZS5nZXRQcm9wZXJ0aWVzKG5vZGUpO1xuXG4gICAgcmVzdWx0LmZpbHRlcihwcm9wZXJ0eSA9PiBuYW1lcy5pbmNsdWRlcyhwcm9wZXJ0eS5uYW1lKSlcbiAgICAgICAgLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgICAgICAgcHJvcGVydGllc1twcm9wZXJ0eS5uYW1lXSA9IHByb3BlcnR5LnZhbHVlPy52YWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICByZXR1cm4gcHJvcGVydGllcztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFNjcm9sbCAobm9kZTogU2VydmVyTm9kZSk6IFByb21pc2U8TGVmdFRvcFZhbHVlczxudW1iZXI+PiB7XG4gICAgY29uc3QgeyBzY3JvbGxMZWZ0LCBzY3JvbGxUb3AgfSA9IGF3YWl0IGdldFByb3BlcnRpZXMobm9kZSwgJ3Njcm9sbExlZnQnLCAnc2Nyb2xsVG9wJyk7XG5cbiAgICByZXR1cm4geyBsZWZ0OiBOdW1iZXIoc2Nyb2xsTGVmdCksIHRvcDogTnVtYmVyKHNjcm9sbFRvcCkgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJveE1vZGVsIChub2RlOiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxQcm90b2NvbC5ET00uQm94TW9kZWw+IHtcbiAgICBjb25zdCB7IERPTSB9ICA9IGNsaWVudHNNYW5hZ2VyLmdldENsaWVudCgpO1xuICAgIGNvbnN0IGJveE1vZGVsID0gYXdhaXQgRE9NLmdldEJveE1vZGVsKHsgb2JqZWN0SWQ6IG5vZGUub2JqZWN0SWQgfSk7XG5cbiAgICByZXR1cm4gYm94TW9kZWwubW9kZWw7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEVsZW1lbnREaW1lbnNpb25zIChub2RlOiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxQb3NpdGlvbkRpbWVuc2lvbnM+IHtcbiAgICAvLyBOT1RFOiBmb3Igc29tZSByZWFzb24gdGhpcyBtZXRob2QgY2FsbCBpcyByZXF1aXJlZCBmb3IgQ1NTLmdldENvbXB1dGVkU3R5bGVGb3JOb2RlXG4gICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMgbGluZSBhZnRlciB0aGUgcHJvYmxlbSBpcyBjbGVhclxuICAgIGF3YWl0IGNsaWVudHNNYW5hZ2VyLmdldENsaWVudCgpLkRPTS5nZXREb2N1bWVudCh7IH0pO1xuXG4gICAgY29uc3QgYm94TW9kZWwgPSBhd2FpdCBnZXRCb3hNb2RlbChub2RlKTtcbiAgICBjb25zdCBzY3JvbGwgICA9IGF3YWl0IGdldFNjcm9sbChub2RlKTtcbiAgICBjb25zdCBwYWRkaW5ncyA9IGF3YWl0IGdldFBhZGRpbmcobm9kZSk7XG5cbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQsIGJvcmRlciwgcGFkZGluZywgY29udGVudCB9ID0gYm94TW9kZWw7XG5cbiAgICBjb25zdCBsZWZ0ICAgPSBNYXRoLnJvdW5kKGJvcmRlclswXSk7XG4gICAgY29uc3QgdG9wICAgID0gYm9yZGVyWzFdO1xuICAgIGNvbnN0IGJvdHRvbSA9IHRvcCArIGhlaWdodDtcbiAgICBjb25zdCByaWdodCAgPSBsZWZ0ICsgd2lkdGg7XG5cbiAgICBjb25zdCBib3JkZXJzID0ge1xuICAgICAgICB0b3A6ICAgIHBhZGRpbmdbMV0gLSBib3JkZXJbMV0sXG4gICAgICAgIHJpZ2h0OiAgYm9yZGVyWzRdIC0gcGFkZGluZ1s0XSxcbiAgICAgICAgYm90dG9tOiBib3JkZXJbNV0gLSBwYWRkaW5nWzVdLFxuICAgICAgICBsZWZ0OiAgIHBhZGRpbmdbMF0gLSBib3JkZXJbMF0sXG4gICAgfTtcblxuICAgIGNvbnN0IHNjcm9sbGJhciA9IHtcbiAgICAgICAgcmlnaHQ6ICBNYXRoLnJvdW5kKHBhZGRpbmdbMl0gLSBjb250ZW50WzJdIC0gcGFkZGluZ3MucmlnaHQpLFxuICAgICAgICBib3R0b206IE1hdGgucm91bmQocGFkZGluZ1s3XSAtIGNvbnRlbnRbN10gLSBwYWRkaW5ncy5ib3R0b20pLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBib3JkZXI6IGJvcmRlcnMsXG4gICAgICAgIGJvdHRvbSxcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICBsZWZ0LFxuICAgICAgICByaWdodCxcbiAgICAgICAgc2Nyb2xsOiB7XG4gICAgICAgICAgICBsZWZ0OiBNYXRoLnJvdW5kKE51bWJlcihzY3JvbGwubGVmdCkpLFxuICAgICAgICAgICAgdG9wOiAgTWF0aC5yb3VuZChOdW1iZXIoc2Nyb2xsLnRvcCkpLFxuICAgICAgICB9LFxuICAgICAgICBzY3JvbGxiYXIsXG4gICAgICAgIHBhZGRpbmdzLFxuICAgICAgICB0b3AsXG4gICAgICAgIHdpZHRoLFxuICAgIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRDbGllbnREaW1lbnNpb25zIChub2RlOiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxQb3NpdGlvbkRpbWVuc2lvbnM+IHtcbiAgICBjb25zdCBlbGVtZW50RGltZW5zaW9ucyA9IGF3YWl0IGdldEVsZW1lbnREaW1lbnNpb25zKG5vZGUpO1xuICAgIGNvbnN0IHBhcmVudEZyYW1lICAgICAgID0gYXdhaXQgZ2V0SWZyYW1lQnlFbGVtZW50KG5vZGUpO1xuXG4gICAgaWYgKHBhcmVudEZyYW1lKSB7XG4gICAgICAgIGNvbnN0IGZyYW1lQm94TW9kZWwgPSBhd2FpdCBnZXRCb3hNb2RlbChwYXJlbnRGcmFtZSk7XG5cbiAgICAgICAgZWxlbWVudERpbWVuc2lvbnMubGVmdCAgIC09IGZyYW1lQm94TW9kZWwuY29udGVudFswXTtcbiAgICAgICAgZWxlbWVudERpbWVuc2lvbnMudG9wICAgIC09IGZyYW1lQm94TW9kZWwuY29udGVudFsxXTtcbiAgICAgICAgZWxlbWVudERpbWVuc2lvbnMuYm90dG9tIC09IGZyYW1lQm94TW9kZWwuY29udGVudFsxXTtcbiAgICAgICAgZWxlbWVudERpbWVuc2lvbnMucmlnaHQgIC09IGZyYW1lQm94TW9kZWwuY29udGVudFswXTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudERpbWVuc2lvbnM7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCb3JkZXJzV2lkdGggKG5vZGU6IFNlcnZlck5vZGUpOiBQcm9taXNlPEJvdW5kYXJ5VmFsdWVzRGF0YT4ge1xuICAgIGNvbnN0IGRpbWVuc2lvbnMgPSBhd2FpdCBnZXRFbGVtZW50RGltZW5zaW9ucyhub2RlKTtcblxuICAgIHJldHVybiBkaW1lbnNpb25zLmJvcmRlcjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEVsZW1lbnRQYWRkaW5nIChub2RlOiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxCb3VuZGFyeVZhbHVlc0RhdGE+IHtcbiAgICByZXR1cm4gZ2V0UGFkZGluZyhub2RlKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEVsZW1lbnRTY3JvbGwgKG5vZGU6IFNlcnZlck5vZGUpOiBQcm9taXNlPExlZnRUb3BWYWx1ZXM8bnVtYmVyPj4ge1xuICAgIHJldHVybiBnZXRTY3JvbGwobm9kZSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRXaW5kb3dEaW1lbnNpb25zIChleGVjdXRpb25Db250ZXh0PzogRXhlY3V0aW9uQ29udGV4dCk6IFByb21pc2U8Qm91bmRhcnlWYWx1ZXM+IHtcbiAgICBjb25zdCB7IFJ1bnRpbWUgfSA9IGNsaWVudHNNYW5hZ2VyLmdldENsaWVudCgpO1xuXG4gICAgY29uc3QgYXJnczogUHJvdG9jb2wuUnVudGltZS5FdmFsdWF0ZVJlcXVlc3QgPSB7XG4gICAgICAgIGV4cHJlc3Npb246IGAoe1xuICAgICAgICAgICAgd2lkdGg6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodFxuICAgICAgICB9KWAsXG4gICAgICAgIHJldHVybkJ5VmFsdWU6IHRydWUsXG4gICAgfTtcblxuICAgIGlmIChleGVjdXRpb25Db250ZXh0KVxuICAgICAgICBhcmdzLmNvbnRleHRJZCA9IGV4ZWN1dGlvbkNvbnRleHQuY3R4SWQ7XG5cbiAgICBjb25zdCB7IHJlc3VsdCB9ICAgICAgICA9IGF3YWl0IFJ1bnRpbWUuZXZhbHVhdGUoYXJncyk7XG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSByZXN1bHQudmFsdWU7XG5cbiAgICByZXR1cm4gbmV3IEJvdW5kYXJ5VmFsdWVzKDAsIHdpZHRoLCBoZWlnaHQsIDApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RG9jdW1lbnRTY3JvbGwgKG5vZGU6IFNlcnZlck5vZGUpOiBQcm9taXNlPExlZnRUb3BWYWx1ZXM8bnVtYmVyPj4ge1xuICAgIGNvbnN0IGRvY3VtZW50ID0gYXdhaXQgZ2V0U2Nyb2xsaW5nRWxlbWVudChub2RlKTtcblxuICAgIHJldHVybiBnZXRFbGVtZW50U2Nyb2xsKGRvY3VtZW50KTtcbn1cbiJdfQ==
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2NkcC1jbGllbnQvdXRpbHMvc3R5bGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtHQUE4RztBQUc5RywyQ0FBa0Q7QUFFbEQsbUVBQXFEO0FBR3JELEtBQUssVUFBVSxVQUFVLENBQUUsSUFBZ0I7SUFDdkMsTUFBTSxNQUFNLEdBQU8sY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzlDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sS0FBSyxHQUFRLE1BQU0sa0JBQWtCLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFdEgsTUFBTSxLQUFLLEdBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckQsTUFBTSxJQUFJLEdBQUssUUFBUSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRCxNQUFNLEdBQUcsR0FBTSxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRWxELE9BQU8sSUFBSSx5QkFBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFTSxLQUFLLFVBQVUsa0JBQWtC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QU0sQ0FBQyxLQUFLLENBQUM7SUFFdkMsT0FBTyxJQUFJLHlCQUFjLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQWxCRCxrREFrQkM7QUFFTSxLQUFLLFVBQVUsaUJBQWlCLENBQUUsSUFBZ0I7SUFDckQsTUFBTSxRQUFRLEdBQUcsTUFBTSwrQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqRCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFKRCw4Q0FJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExlZnRUb3BWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGFyZWQvdXRpbHMvdmFsdWVzL2F4aXMtdmFsdWVzJztcbmltcG9ydCBCb3VuZGFyeVZhbHVlcywgeyBCb3VuZGFyeVZhbHVlc0RhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGFyZWQvdXRpbHMvdmFsdWVzL2JvdW5kYXJ5LXZhbHVlcyc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi9pbnRlcmZhY2VzJztcbmltcG9ydCBQcm90b2NvbCBmcm9tICdkZXZ0b29scy1wcm90b2NvbC90eXBlcy9wcm90b2NvbCc7XG5pbXBvcnQgeyBnZXRTY3JvbGxpbmdFbGVtZW50IH0gZnJvbSAnLi9kb20tdXRpbHMnO1xuaW1wb3J0IEV4ZWN1dGlvbkNvbnRleHQgZnJvbSAnLi4vZXhlY3V0aW9uLWNvbnRleHQnO1xuaW1wb3J0ICogYXMgY2xpZW50c01hbmFnZXIgZnJvbSAnLi4vY2xpZW50cy1tYW5hZ2VyJztcbmltcG9ydCB7IFNlcnZlck5vZGUsIFBvc2l0aW9uRGltZW5zaW9ucyB9IGZyb20gJy4uL3R5cGVzJztcblxuYXN5bmMgZnVuY3Rpb24gZ2V0UGFkZGluZyAobm9kZTogU2VydmVyTm9kZSk6IFByb21pc2U8Qm91bmRhcnlWYWx1ZXNEYXRhPiB7XG4gICAgY29uc3QgY2xpZW50ICAgICA9IGNsaWVudHNNYW5hZ2VyLmdldENsaWVudCgpO1xuICAgIGNvbnN0IHsgbm9kZUlkIH0gPSBhd2FpdCBjbGllbnQuRE9NLnJlcXVlc3ROb2RlKG5vZGUpO1xuICAgIGNvbnN0IHN0eWxlICAgICAgPSBhd2FpdCBnZXRTdHlsZVByb3BlcnRpZXMobm9kZUlkLCAncGFkZGluZy1yaWdodCcsICdwYWRkaW5nLWJvdHRvbScsICdwYWRkaW5nLWxlZnQnLCAncGFkZGluZy10b3AnKTtcblxuICAgIGNvbnN0IHJpZ2h0ICA9IHBhcnNlSW50KHN0eWxlWydwYWRkaW5nLXJpZ2h0J10sIDEwKTtcbiAgICBjb25zdCBib3R0b20gPSBwYXJzZUludChzdHlsZVsncGFkZGluZy1ib3R0b20nXSwgMTApO1xuICAgIGNvbnN0IGxlZnQgICA9IHBhcnNlSW50KHN0eWxlWydwYWRkaW5nLWxlZnQnXSwgMTApO1xuICAgIGNvbnN0IHRvcCAgICA9IHBhcnNlSW50KHN0eWxlWydwYWRkaW5nLXRvcCddLCAxMCk7XG5cbiAgICByZXR1cm4gbmV3IEJvdW5kYXJ5VmFsdWVzKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTdHlsZVByb3BlcnRpZXMgKG5vZGVJZDogbnVtYmVyLCAuLi5uYW1lczogc3RyaW5nW10pOiBQcm9taXNlPERpY3Rpb25hcnk8c3RyaW5nPj4ge1xuICAgIGNvbnN0IHsgQ1NTIH0gPSBjbGllbnRzTWFuYWdlci5nZXRDbGllbnQoKTtcblxuICAgIGNvbnN0IHByb3BlcnRpZXM6IERpY3Rpb25hcnk8c3RyaW5nPiA9IHsgfTtcbiAgICBjb25zdCBzdHlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgPSBhd2FpdCBDU1MuZ2V0Q29tcHV0ZWRTdHlsZUZvck5vZGUoeyBub2RlSWQgfSk7XG5cbiAgICBzdHlsZS5jb21wdXRlZFN0eWxlLmZpbHRlcihwcm9wZXJ0eSA9PiBuYW1lcy5pbmNsdWRlcyhwcm9wZXJ0eS5uYW1lKSlcbiAgICAgICAgLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgICAgICAgcHJvcGVydGllc1twcm9wZXJ0eS5uYW1lXSA9IHByb3BlcnR5LnZhbHVlO1xuICAgICAgICB9KTtcblxuICAgIHJldHVybiBwcm9wZXJ0aWVzO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHJvcGVydGllcyAobm9kZTogU2VydmVyTm9kZSwgLi4ubmFtZXM6IHN0cmluZ1tdKTogUHJvbWlzZTxEaWN0aW9uYXJ5PHN0cmluZz4+IHtcbiAgICBjb25zdCB7IFJ1bnRpbWUgfSA9IGNsaWVudHNNYW5hZ2VyLmdldENsaWVudCgpO1xuXG4gICAgY29uc3QgcHJvcGVydGllczogRGljdGlvbmFyeTxzdHJpbmc+ID0geyB9O1xuICAgIGNvbnN0IHsgcmVzdWx0IH0gICAgICAgICAgICAgICAgICAgICA9IGF3YWl0IFJ1bnRpbWUuZ2V0UHJvcGVydGllcyhub2RlKTtcblxuICAgIHJlc3VsdC5maWx0ZXIocHJvcGVydHkgPT4gbmFtZXMuaW5jbHVkZXMocHJvcGVydHkubmFtZSkpXG4gICAgICAgIC5mb3JFYWNoKHByb3BlcnR5ID0+IHtcbiAgICAgICAgICAgIHByb3BlcnRpZXNbcHJvcGVydHkubmFtZV0gPSBwcm9wZXJ0eS52YWx1ZT8udmFsdWU7XG4gICAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb3BlcnRpZXM7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTY3JvbGwgKG5vZGU6IFNlcnZlck5vZGUpOiBQcm9taXNlPExlZnRUb3BWYWx1ZXM8bnVtYmVyPj4ge1xuICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsVG9wIH0gPSBhd2FpdCBnZXRQcm9wZXJ0aWVzKG5vZGUsICdzY3JvbGxMZWZ0JywgJ3Njcm9sbFRvcCcpO1xuXG4gICAgcmV0dXJuIHsgbGVmdDogTnVtYmVyKHNjcm9sbExlZnQpLCB0b3A6IE51bWJlcihzY3JvbGxUb3ApIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCb3hNb2RlbCAobm9kZTogU2VydmVyTm9kZSk6IFByb21pc2U8UHJvdG9jb2wuRE9NLkJveE1vZGVsPiB7XG4gICAgY29uc3QgeyBET00gfSAgPSBjbGllbnRzTWFuYWdlci5nZXRDbGllbnQoKTtcbiAgICBjb25zdCBib3hNb2RlbCA9IGF3YWl0IERPTS5nZXRCb3hNb2RlbCh7IG9iamVjdElkOiBub2RlLm9iamVjdElkIH0pO1xuXG4gICAgcmV0dXJuIGJveE1vZGVsLm1vZGVsO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RWxlbWVudERpbWVuc2lvbnMgKG5vZGU6IFNlcnZlck5vZGUpOiBQcm9taXNlPFBvc2l0aW9uRGltZW5zaW9ucz4ge1xuICAgIC8vIE5PVEU6IGZvciBzb21lIHJlYXNvbiB0aGlzIG1ldGhvZCBjYWxsIGlzIHJlcXVpcmVkIGZvciBDU1MuZ2V0Q29tcHV0ZWRTdHlsZUZvck5vZGVcbiAgICAvLyBUT0RPOiByZW1vdmUgdGhpcyBsaW5lIGFmdGVyIHRoZSBwcm9ibGVtIGlzIGNsZWFyXG4gICAgYXdhaXQgY2xpZW50c01hbmFnZXIuZ2V0Q2xpZW50KCkuRE9NLmdldERvY3VtZW50KHsgfSk7XG5cbiAgICBjb25zdCBib3hNb2RlbCA9IGF3YWl0IGdldEJveE1vZGVsKG5vZGUpO1xuICAgIGNvbnN0IHNjcm9sbCAgID0gYXdhaXQgZ2V0U2Nyb2xsKG5vZGUpO1xuICAgIGNvbnN0IHBhZGRpbmdzID0gYXdhaXQgZ2V0UGFkZGluZyhub2RlKTtcblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgYm9yZGVyLCBwYWRkaW5nLCBjb250ZW50IH0gPSBib3hNb2RlbDtcblxuICAgIGNvbnN0IGxlZnQgICA9IE1hdGgucm91bmQoYm9yZGVyWzBdKTtcbiAgICBjb25zdCB0b3AgICAgPSBib3JkZXJbMV07XG4gICAgY29uc3QgYm90dG9tID0gdG9wICsgaGVpZ2h0O1xuICAgIGNvbnN0IHJpZ2h0ICA9IGxlZnQgKyB3aWR0aDtcblxuICAgIGNvbnN0IGJvcmRlcnMgPSB7XG4gICAgICAgIHRvcDogICAgcGFkZGluZ1sxXSAtIGJvcmRlclsxXSxcbiAgICAgICAgcmlnaHQ6ICBib3JkZXJbNF0gLSBwYWRkaW5nWzRdLFxuICAgICAgICBib3R0b206IGJvcmRlcls1XSAtIHBhZGRpbmdbNV0sXG4gICAgICAgIGxlZnQ6ICAgcGFkZGluZ1swXSAtIGJvcmRlclswXSxcbiAgICB9O1xuXG4gICAgY29uc3Qgc2Nyb2xsYmFyID0ge1xuICAgICAgICByaWdodDogIE1hdGgucm91bmQocGFkZGluZ1syXSAtIGNvbnRlbnRbMl0gLSBwYWRkaW5ncy5yaWdodCksXG4gICAgICAgIGJvdHRvbTogTWF0aC5yb3VuZChwYWRkaW5nWzddIC0gY29udGVudFs3XSAtIHBhZGRpbmdzLmJvdHRvbSksXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGJvcmRlcjogYm9yZGVycyxcbiAgICAgICAgYm90dG9tLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHJpZ2h0LFxuICAgICAgICBzY3JvbGw6IHtcbiAgICAgICAgICAgIGxlZnQ6IE1hdGgucm91bmQoTnVtYmVyKHNjcm9sbC5sZWZ0KSksXG4gICAgICAgICAgICB0b3A6ICBNYXRoLnJvdW5kKE51bWJlcihzY3JvbGwudG9wKSksXG4gICAgICAgIH0sXG4gICAgICAgIHNjcm9sbGJhcixcbiAgICAgICAgcGFkZGluZ3MsXG4gICAgICAgIHRvcCxcbiAgICAgICAgd2lkdGgsXG4gICAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJvcmRlcnNXaWR0aCAobm9kZTogU2VydmVyTm9kZSk6IFByb21pc2U8Qm91bmRhcnlWYWx1ZXNEYXRhPiB7XG4gICAgY29uc3QgZGltZW5zaW9ucyA9IGF3YWl0IGdldEVsZW1lbnREaW1lbnNpb25zKG5vZGUpO1xuXG4gICAgcmV0dXJuIGRpbWVuc2lvbnMuYm9yZGVyO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RWxlbWVudFBhZGRpbmcgKG5vZGU6IFNlcnZlck5vZGUpOiBQcm9taXNlPEJvdW5kYXJ5VmFsdWVzRGF0YT4ge1xuICAgIHJldHVybiBnZXRQYWRkaW5nKG5vZGUpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RWxlbWVudFNjcm9sbCAobm9kZTogU2VydmVyTm9kZSk6IFByb21pc2U8TGVmdFRvcFZhbHVlczxudW1iZXI+PiB7XG4gICAgcmV0dXJuIGdldFNjcm9sbChub2RlKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhc1Njcm9sbCAobm9kZTogU2VydmVyTm9kZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHNjcm9sbCA9IGF3YWl0IGdldEVsZW1lbnRTY3JvbGwobm9kZSk7XG5cbiAgICByZXR1cm4gc2Nyb2xsLmxlZnQgPiAwIHx8IHNjcm9sbC50b3AgPiAwO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0V2luZG93RGltZW5zaW9ucyAoZXhlY3V0aW9uQ29udGV4dD86IEV4ZWN1dGlvbkNvbnRleHQpOiBQcm9taXNlPEJvdW5kYXJ5VmFsdWVzPiB7XG4gICAgY29uc3QgeyBSdW50aW1lIH0gPSBjbGllbnRzTWFuYWdlci5nZXRDbGllbnQoKTtcblxuICAgIGNvbnN0IGFyZ3M6IFByb3RvY29sLlJ1bnRpbWUuRXZhbHVhdGVSZXF1ZXN0ID0ge1xuICAgICAgICBleHByZXNzaW9uOiBgKHtcbiAgICAgICAgICAgIHdpZHRoOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHRcbiAgICAgICAgfSlgLFxuICAgICAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgIH07XG5cbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dClcbiAgICAgICAgYXJncy5jb250ZXh0SWQgPSBleGVjdXRpb25Db250ZXh0LmN0eElkO1xuXG4gICAgY29uc3QgeyByZXN1bHQgfSAgICAgICAgPSBhd2FpdCBSdW50aW1lLmV2YWx1YXRlKGFyZ3MpO1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gcmVzdWx0LnZhbHVlO1xuXG4gICAgcmV0dXJuIG5ldyBCb3VuZGFyeVZhbHVlcygwLCB3aWR0aCwgaGVpZ2h0LCAwKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERvY3VtZW50U2Nyb2xsIChub2RlOiBTZXJ2ZXJOb2RlKTogUHJvbWlzZTxMZWZ0VG9wVmFsdWVzPG51bWJlcj4+IHtcbiAgICBjb25zdCBkb2N1bWVudCA9IGF3YWl0IGdldFNjcm9sbGluZ0VsZW1lbnQobm9kZSk7XG5cbiAgICByZXR1cm4gZ2V0RWxlbWVudFNjcm9sbChkb2N1bWVudCk7XG59XG4iXX0=
|