Socket
Socket
Sign inDemoInstall

@interactjs/utils

Package Overview
Dependencies
Maintainers
2
Versions
136
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@interactjs/utils - npm Package Compare versions

Comparing version 1.4.14 to 1.5.0

2

package.json
{
"name": "@interactjs/utils",
"version": "1.4.14",
"version": "1.5.0",
"publishConfig": {

@@ -5,0 +5,0 @@ "access": "public"

@@ -60,2 +60,3 @@ import pointerExtend from './pointerExtend';

readonly pointerType: any;
readonly buttons: any;
} & Touch & MouseEvent) | ({

@@ -74,2 +75,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & Touch & PointerEvent) | ({

@@ -88,2 +90,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & Touch & TouchEvent) | ({

@@ -102,2 +105,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & Touch & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({

@@ -116,2 +120,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & MouseEvent) | ({

@@ -130,2 +135,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & MouseEvent & PointerEvent) | ({

@@ -144,2 +150,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & MouseEvent & TouchEvent) | ({

@@ -158,2 +165,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & MouseEvent & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({

@@ -172,2 +180,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & PointerEvent & MouseEvent) | ({

@@ -186,2 +195,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & PointerEvent) | ({

@@ -200,2 +210,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & PointerEvent & TouchEvent) | ({

@@ -214,2 +225,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & PointerEvent & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({

@@ -228,2 +240,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any> & MouseEvent) | ({

@@ -242,2 +255,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any> & PointerEvent) | ({

@@ -256,2 +270,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any> & TouchEvent) | ({

@@ -270,2 +285,3 @@ coords: MockCoords;

readonly pointerType: any;
readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any>);

@@ -282,2 +298,3 @@ };

pointerType?: string;
buttons?: number;
}

@@ -208,2 +208,3 @@ import browser from './browser';

get pointerType() { return this.coords.pointerType; },
get buttons() { return this.coords.buttons; },
};

@@ -214,2 +215,2 @@ return event;

export default pointerUtils;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlclV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicG9pbnRlclV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLFdBQVcsQ0FBQTtBQUMvQixPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUE7QUFDOUIsT0FBTyxLQUFLLFFBQVEsTUFBTSxZQUFZLENBQUE7QUFDdEMsT0FBTyxLQUFLLE1BQU0sU0FBUyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFCLE9BQU8sYUFBYSxNQUFNLGlCQUFpQixDQUFBO0FBRTNDLE1BQU0sWUFBWSxHQUFHO0lBQ25CLFVBQVUsQ0FBRSxJQUFJLEVBQUUsR0FBRztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFBO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBRXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFFNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxjQUFjLENBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHO1FBQ2xDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFNLElBQUks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QUFDLENBQUEsQ0FBQyxDQUFDO1lBQzFDLElBQUksT0FBTyxLQUFNLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztZQUM5QyxJQUFJLE9BQU8sS0FBTSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUM7WUFDOUMsSUFBSSxTQUFTLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUM7WUFDakQsSUFBSSxNQUFNLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7WUFDM0MsSUFBSSxJQUFJLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUM7WUFDdkMsSUFBSSxXQUFXLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUM7U0FDdEQsQ0FBQTtRQUVELE9BQU8sS0FBd0UsQ0FBQTtJQUNqRixDQUFDO0NBQ0YsQ0FBQTtBQUVELGVBQWUsWUFBWSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJyb3dzZXIgZnJvbSAnLi9icm93c2VyJ1xuaW1wb3J0IGRvbSBmcm9tICcuL2RvbU9iamVjdHMnXG5pbXBvcnQgKiBhcyBkb21VdGlscyBmcm9tICcuL2RvbVV0aWxzJ1xuaW1wb3J0IGh5cG90IGZyb20gJy4vaHlwb3QnXG5pbXBvcnQgKiBhcyBpcyBmcm9tICcuL2lzJ1xuaW1wb3J0IHBvaW50ZXJFeHRlbmQgZnJvbSAnLi9wb2ludGVyRXh0ZW5kJ1xuXG5jb25zdCBwb2ludGVyVXRpbHMgPSB7XG4gIGNvcHlDb29yZHMgKGRlc3QsIHNyYykge1xuICAgIGRlc3QucGFnZSA9IGRlc3QucGFnZSB8fCB7fVxuICAgIGRlc3QucGFnZS54ID0gc3JjLnBhZ2UueFxuICAgIGRlc3QucGFnZS55ID0gc3JjLnBhZ2UueVxuXG4gICAgZGVzdC5jbGllbnQgPSBkZXN0LmNsaWVudCB8fCB7fVxuICAgIGRlc3QuY2xpZW50LnggPSBzcmMuY2xpZW50LnhcbiAgICBkZXN0LmNsaWVudC55ID0gc3JjLmNsaWVudC55XG5cbiAgICBkZXN0LnRpbWVTdGFtcCA9IHNyYy50aW1lU3RhbXBcbiAgfSxcblxuICBzZXRDb29yZERlbHRhcyAodGFyZ2V0T2JqLCBwcmV2LCBjdXIpIHtcbiAgICB0YXJnZXRPYmoucGFnZS54ICAgID0gY3VyLnBhZ2UueCAgICAtIHByZXYucGFnZS54XG4gICAgdGFyZ2V0T2JqLnBhZ2UueSAgICA9IGN1ci5wYWdlLnkgICAgLSBwcmV2LnBhZ2UueVxuICAgIHRhcmdldE9iai5jbGllbnQueCAgPSBjdXIuY2xpZW50LnggIC0gcHJldi5jbGllbnQueFxuICAgIHRhcmdldE9iai5jbGllbnQueSAgPSBjdXIuY2xpZW50LnkgIC0gcHJldi5jbGllbnQueVxuICAgIHRhcmdldE9iai50aW1lU3RhbXAgPSBjdXIudGltZVN0YW1wIC0gcHJldi50aW1lU3RhbXBcbiAgfSxcblxuICBzZXRDb29yZFZlbG9jaXR5ICh0YXJnZXRPYmosIGRlbHRhKSB7XG4gICAgY29uc3QgZHQgPSBNYXRoLm1heChkZWx0YS50aW1lU3RhbXAgLyAxMDAwLCAwLjAwMSlcblxuICAgIHRhcmdldE9iai5wYWdlLnggICA9IGRlbHRhLnBhZ2UueCAvIGR0XG4gICAgdGFyZ2V0T2JqLnBhZ2UueSAgID0gZGVsdGEucGFnZS55IC8gZHRcbiAgICB0YXJnZXRPYmouY2xpZW50LnggPSBkZWx0YS5jbGllbnQueCAvIGR0XG4gICAgdGFyZ2V0T2JqLmNsaWVudC55ID0gZGVsdGEuY2xpZW50LnkgLyBkdFxuICAgIHRhcmdldE9iai50aW1lU3RhbXAgPSBkdFxuICB9LFxuXG4gIGlzTmF0aXZlUG9pbnRlciAgKHBvaW50ZXIpIHtcbiAgICByZXR1cm4gKHBvaW50ZXIgaW5zdGFuY2VvZiBkb20uRXZlbnQgfHwgcG9pbnRlciBpbnN0YW5jZW9mIGRvbS5Ub3VjaClcbiAgfSxcblxuICAvLyBHZXQgc3BlY2lmaWVkIFgvWSBjb29yZHMgZm9yIG1vdXNlIG9yIGV2ZW50LnRvdWNoZXNbMF1cbiAgZ2V0WFkgKHR5cGUsIHBvaW50ZXIsIHh5KSB7XG4gICAgeHkgPSB4eSB8fCB7fVxuICAgIHR5cGUgPSB0eXBlIHx8ICdwYWdlJ1xuXG4gICAgeHkueCA9IHBvaW50ZXJbdHlwZSArICdYJ11cbiAgICB4eS55ID0gcG9pbnRlclt0eXBlICsgJ1knXVxuXG4gICAgcmV0dXJuIHh5XG4gIH0sXG5cbiAgZ2V0UGFnZVhZIChwb2ludGVyOiBJbnRlcmFjdC5Qb2ludGVyVHlwZSB8IEludGVyYWN0LkludGVyYWN0RXZlbnQsIHBhZ2U/OiBJbnRlcmFjdC5Qb2ludCkge1xuICAgIHBhZ2UgPSBwYWdlIHx8IHsgeDogMCwgeTogMCB9XG5cbiAgICAvLyBPcGVyYSBNb2JpbGUgaGFuZGxlcyB0aGUgdmlld3BvcnQgYW5kIHNjcm9sbGluZyBvZGRseVxuICAgIGlmIChicm93c2VyLmlzT3BlcmFNb2JpbGUgJiYgcG9pbnRlclV0aWxzLmlzTmF0aXZlUG9pbnRlcihwb2ludGVyKSkge1xuICAgICAgcG9pbnRlclV0aWxzLmdldFhZKCdzY3JlZW4nLCBwb2ludGVyLCBwYWdlKVxuXG4gICAgICBwYWdlLnggKz0gd2luZG93LnNjcm9sbFhcbiAgICAgIHBhZ2UueSArPSB3aW5kb3cuc2Nyb2xsWVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHBvaW50ZXJVdGlscy5nZXRYWSgncGFnZScsIHBvaW50ZXIsIHBhZ2UpXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhZ2VcbiAgfSxcblxuICBnZXRDbGllbnRYWSAocG9pbnRlciwgY2xpZW50KSB7XG4gICAgY2xpZW50ID0gY2xpZW50IHx8IHt9XG5cbiAgICBpZiAoYnJvd3Nlci5pc09wZXJhTW9iaWxlICYmIHBvaW50ZXJVdGlscy5pc05hdGl2ZVBvaW50ZXIocG9pbnRlcikpIHtcbiAgICAgIC8vIE9wZXJhIE1vYmlsZSBoYW5kbGVzIHRoZSB2aWV3cG9ydCBhbmQgc2Nyb2xsaW5nIG9kZGx5XG4gICAgICBwb2ludGVyVXRpbHMuZ2V0WFkoJ3NjcmVlbicsIHBvaW50ZXIsIGNsaWVudClcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBwb2ludGVyVXRpbHMuZ2V0WFkoJ2NsaWVudCcsIHBvaW50ZXIsIGNsaWVudClcbiAgICB9XG5cbiAgICByZXR1cm4gY2xpZW50XG4gIH0sXG5cbiAgZ2V0UG9pbnRlcklkIChwb2ludGVyKSB7XG4gICAgcmV0dXJuIGlzLm51bWJlcihwb2ludGVyLnBvaW50ZXJJZCkgPyBwb2ludGVyLnBvaW50ZXJJZCA6IHBvaW50ZXIuaWRlbnRpZmllclxuICB9LFxuXG4gIHNldENvb3JkcyAodGFyZ2V0T2JqLCBwb2ludGVyczogYW55W10sIHRpbWVTdGFtcDogbnVtYmVyKSB7XG4gICAgY29uc3QgcG9pbnRlciA9IChwb2ludGVycy5sZW5ndGggPiAxXG4gICAgICA/IHBvaW50ZXJVdGlscy5wb2ludGVyQXZlcmFnZShwb2ludGVycylcbiAgICAgIDogcG9pbnRlcnNbMF0pXG5cbiAgICBjb25zdCB0bXBYWSA9IHt9IGFzIHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfVxuXG4gICAgcG9pbnRlclV0aWxzLmdldFBhZ2VYWShwb2ludGVyLCB0bXBYWSlcbiAgICB0YXJnZXRPYmoucGFnZS54ID0gdG1wWFkueFxuICAgIHRhcmdldE9iai5wYWdlLnkgPSB0bXBYWS55XG5cbiAgICBwb2ludGVyVXRpbHMuZ2V0Q2xpZW50WFkocG9pbnRlciwgdG1wWFkpXG4gICAgdGFyZ2V0T2JqLmNsaWVudC54ID0gdG1wWFkueFxuICAgIHRhcmdldE9iai5jbGllbnQueSA9IHRtcFhZLnlcblxuICAgIHRhcmdldE9iai50aW1lU3RhbXAgPSB0aW1lU3RhbXBcbiAgfSxcblxuICBwb2ludGVyRXh0ZW5kLFxuXG4gIGdldFRvdWNoUGFpciAoZXZlbnQpIHtcbiAgICBjb25zdCB0b3VjaGVzID0gW11cblxuICAgIC8vIGFycmF5IG9mIHRvdWNoZXMgaXMgc3VwcGxpZWRcbiAgICBpZiAoaXMuYXJyYXkoZXZlbnQpKSB7XG4gICAgICB0b3VjaGVzWzBdID0gZXZlbnRbMF1cbiAgICAgIHRvdWNoZXNbMV0gPSBldmVudFsxXVxuICAgIH1cbiAgICAvLyBhbiBldmVudFxuICAgIGVsc2Uge1xuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICd0b3VjaGVuZCcpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRvdWNoZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgdG91Y2hlc1swXSA9IGV2ZW50LnRvdWNoZXNbMF1cbiAgICAgICAgICB0b3VjaGVzWzFdID0gZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChldmVudC50b3VjaGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRvdWNoZXNbMF0gPSBldmVudC5jaGFuZ2VkVG91Y2hlc1swXVxuICAgICAgICAgIHRvdWNoZXNbMV0gPSBldmVudC5jaGFuZ2VkVG91Y2hlc1sxXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdG91Y2hlc1swXSA9IGV2ZW50LnRvdWNoZXNbMF1cbiAgICAgICAgdG91Y2hlc1sxXSA9IGV2ZW50LnRvdWNoZXNbMV1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdG91Y2hlc1xuICB9LFxuXG4gIHBvaW50ZXJBdmVyYWdlIChwb2ludGVyczogUG9pbnRlckV2ZW50W10gfCBFdmVudFtdKSB7XG4gICAgY29uc3QgYXZlcmFnZSA9IHtcbiAgICAgIHBhZ2VYICA6IDAsXG4gICAgICBwYWdlWSAgOiAwLFxuICAgICAgY2xpZW50WDogMCxcbiAgICAgIGNsaWVudFk6IDAsXG4gICAgICBzY3JlZW5YOiAwLFxuICAgICAgc2NyZWVuWTogMCxcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHBvaW50ZXIgb2YgcG9pbnRlcnMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBhdmVyYWdlKSB7XG4gICAgICAgIGF2ZXJhZ2VbcHJvcF0gKz0gcG9pbnRlcltwcm9wXVxuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gYXZlcmFnZSkge1xuICAgICAgYXZlcmFnZVtwcm9wXSAvPSBwb2ludGVycy5sZW5ndGhcbiAgICB9XG5cbiAgICByZXR1cm4gYXZlcmFnZVxuICB9LFxuXG4gIHRvdWNoQkJveCAoZXZlbnQ6IEV2ZW50IHwgQXJyYXk8KEludGVyYWN0LlBvaW50ZXJUeXBlKSB8IFRvdWNoRXZlbnQ+KSB7XG4gICAgaWYgKCEoZXZlbnQgYXMgYW55KS5sZW5ndGggJiZcbiAgICAgICAgISgoZXZlbnQgYXMgVG91Y2hFdmVudCkudG91Y2hlcyAmJlxuICAgICAgICAgIChldmVudCBhcyBUb3VjaEV2ZW50KS50b3VjaGVzLmxlbmd0aCA+IDEpKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IHRvdWNoZXMgPSBwb2ludGVyVXRpbHMuZ2V0VG91Y2hQYWlyKGV2ZW50KVxuICAgIGNvbnN0IG1pblggPSBNYXRoLm1pbih0b3VjaGVzWzBdLnBhZ2VYLCB0b3VjaGVzWzFdLnBhZ2VYKVxuICAgIGNvbnN0IG1pblkgPSBNYXRoLm1pbih0b3VjaGVzWzBdLnBhZ2VZLCB0b3VjaGVzWzFdLnBhZ2VZKVxuICAgIGNvbnN0IG1heFggPSBNYXRoLm1heCh0b3VjaGVzWzBdLnBhZ2VYLCB0b3VjaGVzWzFdLnBhZ2VYKVxuICAgIGNvbnN0IG1heFkgPSBNYXRoLm1heCh0b3VjaGVzWzBdLnBhZ2VZLCB0b3VjaGVzWzFdLnBhZ2VZKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IG1pblgsXG4gICAgICB5OiBtaW5ZLFxuICAgICAgbGVmdDogbWluWCxcbiAgICAgIHRvcDogbWluWSxcbiAgICAgIHJpZ2h0OiBtYXhYLFxuICAgICAgYm90dG9tOiBtYXhZLFxuICAgICAgd2lkdGg6IG1heFggLSBtaW5YLFxuICAgICAgaGVpZ2h0OiBtYXhZIC0gbWluWSxcbiAgICB9XG4gIH0sXG5cbiAgdG91Y2hEaXN0YW5jZSAoZXZlbnQsIGRlbHRhU291cmNlKSB7XG4gICAgY29uc3Qgc291cmNlWCA9IGRlbHRhU291cmNlICsgJ1gnXG4gICAgY29uc3Qgc291cmNlWSA9IGRlbHRhU291cmNlICsgJ1knXG4gICAgY29uc3QgdG91Y2hlcyA9IHBvaW50ZXJVdGlscy5nZXRUb3VjaFBhaXIoZXZlbnQpXG5cbiAgICBjb25zdCBkeCA9IHRvdWNoZXNbMF1bc291cmNlWF0gLSB0b3VjaGVzWzFdW3NvdXJjZVhdXG4gICAgY29uc3QgZHkgPSB0b3VjaGVzWzBdW3NvdXJjZVldIC0gdG91Y2hlc1sxXVtzb3VyY2VZXVxuXG4gICAgcmV0dXJuIGh5cG90KGR4LCBkeSlcbiAgfSxcblxuICB0b3VjaEFuZ2xlIChldmVudCwgZGVsdGFTb3VyY2UpIHtcbiAgICBjb25zdCBzb3VyY2VYID0gZGVsdGFTb3VyY2UgKyAnWCdcbiAgICBjb25zdCBzb3VyY2VZID0gZGVsdGFTb3VyY2UgKyAnWSdcbiAgICBjb25zdCB0b3VjaGVzID0gcG9pbnRlclV0aWxzLmdldFRvdWNoUGFpcihldmVudClcbiAgICBjb25zdCBkeCA9IHRvdWNoZXNbMV1bc291cmNlWF0gLSB0b3VjaGVzWzBdW3NvdXJjZVhdXG4gICAgY29uc3QgZHkgPSB0b3VjaGVzWzFdW3NvdXJjZVldIC0gdG91Y2hlc1swXVtzb3VyY2VZXVxuICAgIGNvbnN0IGFuZ2xlID0gMTgwICogTWF0aC5hdGFuMihkeSwgZHgpIC8gTWF0aC5QSVxuXG4gICAgcmV0dXJuICBhbmdsZVxuICB9LFxuXG4gIGdldFBvaW50ZXJUeXBlIChwb2ludGVyKSB7XG4gICAgcmV0dXJuIGlzLnN0cmluZyhwb2ludGVyLnBvaW50ZXJUeXBlKVxuICAgICAgPyBwb2ludGVyLnBvaW50ZXJUeXBlXG4gICAgICA6IGlzLm51bWJlcihwb2ludGVyLnBvaW50ZXJUeXBlKVxuICAgICAgICA/IFt1bmRlZmluZWQsIHVuZGVmaW5lZCwgJ3RvdWNoJywgJ3BlbicsICdtb3VzZSddW3BvaW50ZXIucG9pbnRlclR5cGVdXG4gICAgICAgIC8vIGlmIHRoZSBQb2ludGVyRXZlbnQgQVBJIGlzbid0IGF2YWlsYWJsZSwgdGhlbiB0aGUgXCJwb2ludGVyXCIgbXVzdFxuICAgICAgICAvLyBiZSBlaXRoZXIgYSBNb3VzZUV2ZW50LCBUb3VjaEV2ZW50LCBvciBUb3VjaCBvYmplY3RcbiAgICAgICAgOiAvdG91Y2gvLnRlc3QocG9pbnRlci50eXBlKSB8fCBwb2ludGVyIGluc3RhbmNlb2YgZG9tLlRvdWNoXG4gICAgICAgICAgPyAndG91Y2gnXG4gICAgICAgICAgOiAnbW91c2UnXG4gIH0sXG5cbiAgLy8gWyBldmVudC50YXJnZXQsIGV2ZW50LmN1cnJlbnRUYXJnZXQgXVxuICBnZXRFdmVudFRhcmdldHMgKGV2ZW50KSB7XG4gICAgY29uc3QgcGF0aCA9IGlzLmZ1bmMoZXZlbnQuY29tcG9zZWRQYXRoKSA/IGV2ZW50LmNvbXBvc2VkUGF0aCgpIDogZXZlbnQucGF0aFxuXG4gICAgcmV0dXJuIFtcbiAgICAgIGRvbVV0aWxzLmdldEFjdHVhbEVsZW1lbnQocGF0aCA/IHBhdGhbMF0gOiBldmVudC50YXJnZXQpLFxuICAgICAgZG9tVXRpbHMuZ2V0QWN0dWFsRWxlbWVudChldmVudC5jdXJyZW50VGFyZ2V0KSxcbiAgICBdXG4gIH0sXG5cbiAgbmV3Q29vcmRzICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZSAgICAgOiB7IHg6IDAsIHk6IDAgfSxcbiAgICAgIGNsaWVudCAgIDogeyB4OiAwLCB5OiAwIH0sXG4gICAgICB0aW1lU3RhbXA6IDAsXG4gICAgfVxuICB9LFxuXG4gIGNvb3Jkc1RvRXZlbnQgKGNvb3JkczogTW9ja0Nvb3Jkcykge1xuICAgIGNvbnN0IGV2ZW50ID0ge1xuICAgICAgY29vcmRzLFxuICAgICAgZ2V0IHBhZ2UgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucGFnZSB9LFxuICAgICAgZ2V0IGNsaWVudCAoKSB7IHJldHVybiB0aGlzLmNvb3Jkcy5jbGllbnQgfSxcbiAgICAgIGdldCB0aW1lU3RhbXAgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMudGltZVN0YW1wIH0sXG4gICAgICBnZXQgcGFnZVggKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucGFnZS54IH0sXG4gICAgICBnZXQgcGFnZVkgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucGFnZS55IH0sXG4gICAgICBnZXQgY2xpZW50WCAoKSB7IHJldHVybiB0aGlzLmNvb3Jkcy5jbGllbnQueCB9LFxuICAgICAgZ2V0IGNsaWVudFkgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMuY2xpZW50LnkgfSxcbiAgICAgIGdldCBwb2ludGVySWQgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucG9pbnRlcklkIH0sXG4gICAgICBnZXQgdGFyZ2V0ICgpIHsgcmV0dXJuIHRoaXMuY29vcmRzLnRhcmdldCB9LFxuICAgICAgZ2V0IHR5cGUgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMudHlwZSB9LFxuICAgICAgZ2V0IHBvaW50ZXJUeXBlICgpIHsgcmV0dXJuIHRoaXMuY29vcmRzLnBvaW50ZXJUeXBlIH0sXG4gICAgfVxuXG4gICAgcmV0dXJuIGV2ZW50IGFzIHR5cGVvZiBldmVudCAmIEludGVyYWN0LlBvaW50ZXJUeXBlICYgSW50ZXJhY3QuUG9pbnRlckV2ZW50VHlwZVxuICB9LFxufVxuXG5leHBvcnQgZGVmYXVsdCBwb2ludGVyVXRpbHNcblxuZXhwb3J0IGludGVyZmFjZSBNb2NrQ29vcmRzIHtcbiAgcGFnZTogSW50ZXJhY3QuUG9pbnRcbiAgY2xpZW50OiBJbnRlcmFjdC5Qb2ludFxuICB0aW1lU3RhbXA/OiBudW1iZXJcbiAgcG9pbnRlcklkPzogYW55XG4gIHRhcmdldD86IGFueVxuICB0eXBlPzogc3RyaW5nXG4gIHBvaW50ZXJUeXBlPzogc3RyaW5nXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlclV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicG9pbnRlclV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLFdBQVcsQ0FBQTtBQUMvQixPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUE7QUFDOUIsT0FBTyxLQUFLLFFBQVEsTUFBTSxZQUFZLENBQUE7QUFDdEMsT0FBTyxLQUFLLE1BQU0sU0FBUyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFCLE9BQU8sYUFBYSxNQUFNLGlCQUFpQixDQUFBO0FBRTNDLE1BQU0sWUFBWSxHQUFHO0lBQ25CLFVBQVUsQ0FBRSxJQUFJLEVBQUUsR0FBRztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFBO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBRXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFFNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxjQUFjLENBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHO1FBQ2xDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFNLElBQUks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QUFDLENBQUEsQ0FBQyxDQUFDO1lBQzFDLElBQUksT0FBTyxLQUFNLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztZQUM5QyxJQUFJLE9BQU8sS0FBTSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUM7WUFDOUMsSUFBSSxTQUFTLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUM7WUFDakQsSUFBSSxNQUFNLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7WUFDM0MsSUFBSSxJQUFJLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUM7WUFDdkMsSUFBSSxXQUFXLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUM7WUFDckQsSUFBSSxPQUFPLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7U0FDOUMsQ0FBQTtRQUVELE9BQU8sS0FBd0UsQ0FBQTtJQUNqRixDQUFDO0NBQ0YsQ0FBQTtBQUVELGVBQWUsWUFBWSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJyb3dzZXIgZnJvbSAnLi9icm93c2VyJ1xuaW1wb3J0IGRvbSBmcm9tICcuL2RvbU9iamVjdHMnXG5pbXBvcnQgKiBhcyBkb21VdGlscyBmcm9tICcuL2RvbVV0aWxzJ1xuaW1wb3J0IGh5cG90IGZyb20gJy4vaHlwb3QnXG5pbXBvcnQgKiBhcyBpcyBmcm9tICcuL2lzJ1xuaW1wb3J0IHBvaW50ZXJFeHRlbmQgZnJvbSAnLi9wb2ludGVyRXh0ZW5kJ1xuXG5jb25zdCBwb2ludGVyVXRpbHMgPSB7XG4gIGNvcHlDb29yZHMgKGRlc3QsIHNyYykge1xuICAgIGRlc3QucGFnZSA9IGRlc3QucGFnZSB8fCB7fVxuICAgIGRlc3QucGFnZS54ID0gc3JjLnBhZ2UueFxuICAgIGRlc3QucGFnZS55ID0gc3JjLnBhZ2UueVxuXG4gICAgZGVzdC5jbGllbnQgPSBkZXN0LmNsaWVudCB8fCB7fVxuICAgIGRlc3QuY2xpZW50LnggPSBzcmMuY2xpZW50LnhcbiAgICBkZXN0LmNsaWVudC55ID0gc3JjLmNsaWVudC55XG5cbiAgICBkZXN0LnRpbWVTdGFtcCA9IHNyYy50aW1lU3RhbXBcbiAgfSxcblxuICBzZXRDb29yZERlbHRhcyAodGFyZ2V0T2JqLCBwcmV2LCBjdXIpIHtcbiAgICB0YXJnZXRPYmoucGFnZS54ICAgID0gY3VyLnBhZ2UueCAgICAtIHByZXYucGFnZS54XG4gICAgdGFyZ2V0T2JqLnBhZ2UueSAgICA9IGN1ci5wYWdlLnkgICAgLSBwcmV2LnBhZ2UueVxuICAgIHRhcmdldE9iai5jbGllbnQueCAgPSBjdXIuY2xpZW50LnggIC0gcHJldi5jbGllbnQueFxuICAgIHRhcmdldE9iai5jbGllbnQueSAgPSBjdXIuY2xpZW50LnkgIC0gcHJldi5jbGllbnQueVxuICAgIHRhcmdldE9iai50aW1lU3RhbXAgPSBjdXIudGltZVN0YW1wIC0gcHJldi50aW1lU3RhbXBcbiAgfSxcblxuICBzZXRDb29yZFZlbG9jaXR5ICh0YXJnZXRPYmosIGRlbHRhKSB7XG4gICAgY29uc3QgZHQgPSBNYXRoLm1heChkZWx0YS50aW1lU3RhbXAgLyAxMDAwLCAwLjAwMSlcblxuICAgIHRhcmdldE9iai5wYWdlLnggICA9IGRlbHRhLnBhZ2UueCAvIGR0XG4gICAgdGFyZ2V0T2JqLnBhZ2UueSAgID0gZGVsdGEucGFnZS55IC8gZHRcbiAgICB0YXJnZXRPYmouY2xpZW50LnggPSBkZWx0YS5jbGllbnQueCAvIGR0XG4gICAgdGFyZ2V0T2JqLmNsaWVudC55ID0gZGVsdGEuY2xpZW50LnkgLyBkdFxuICAgIHRhcmdldE9iai50aW1lU3RhbXAgPSBkdFxuICB9LFxuXG4gIGlzTmF0aXZlUG9pbnRlciAgKHBvaW50ZXIpIHtcbiAgICByZXR1cm4gKHBvaW50ZXIgaW5zdGFuY2VvZiBkb20uRXZlbnQgfHwgcG9pbnRlciBpbnN0YW5jZW9mIGRvbS5Ub3VjaClcbiAgfSxcblxuICAvLyBHZXQgc3BlY2lmaWVkIFgvWSBjb29yZHMgZm9yIG1vdXNlIG9yIGV2ZW50LnRvdWNoZXNbMF1cbiAgZ2V0WFkgKHR5cGUsIHBvaW50ZXIsIHh5KSB7XG4gICAgeHkgPSB4eSB8fCB7fVxuICAgIHR5cGUgPSB0eXBlIHx8ICdwYWdlJ1xuXG4gICAgeHkueCA9IHBvaW50ZXJbdHlwZSArICdYJ11cbiAgICB4eS55ID0gcG9pbnRlclt0eXBlICsgJ1knXVxuXG4gICAgcmV0dXJuIHh5XG4gIH0sXG5cbiAgZ2V0UGFnZVhZIChwb2ludGVyOiBJbnRlcmFjdC5Qb2ludGVyVHlwZSB8IEludGVyYWN0LkludGVyYWN0RXZlbnQsIHBhZ2U/OiBJbnRlcmFjdC5Qb2ludCkge1xuICAgIHBhZ2UgPSBwYWdlIHx8IHsgeDogMCwgeTogMCB9XG5cbiAgICAvLyBPcGVyYSBNb2JpbGUgaGFuZGxlcyB0aGUgdmlld3BvcnQgYW5kIHNjcm9sbGluZyBvZGRseVxuICAgIGlmIChicm93c2VyLmlzT3BlcmFNb2JpbGUgJiYgcG9pbnRlclV0aWxzLmlzTmF0aXZlUG9pbnRlcihwb2ludGVyKSkge1xuICAgICAgcG9pbnRlclV0aWxzLmdldFhZKCdzY3JlZW4nLCBwb2ludGVyLCBwYWdlKVxuXG4gICAgICBwYWdlLnggKz0gd2luZG93LnNjcm9sbFhcbiAgICAgIHBhZ2UueSArPSB3aW5kb3cuc2Nyb2xsWVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHBvaW50ZXJVdGlscy5nZXRYWSgncGFnZScsIHBvaW50ZXIsIHBhZ2UpXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhZ2VcbiAgfSxcblxuICBnZXRDbGllbnRYWSAocG9pbnRlciwgY2xpZW50KSB7XG4gICAgY2xpZW50ID0gY2xpZW50IHx8IHt9XG5cbiAgICBpZiAoYnJvd3Nlci5pc09wZXJhTW9iaWxlICYmIHBvaW50ZXJVdGlscy5pc05hdGl2ZVBvaW50ZXIocG9pbnRlcikpIHtcbiAgICAgIC8vIE9wZXJhIE1vYmlsZSBoYW5kbGVzIHRoZSB2aWV3cG9ydCBhbmQgc2Nyb2xsaW5nIG9kZGx5XG4gICAgICBwb2ludGVyVXRpbHMuZ2V0WFkoJ3NjcmVlbicsIHBvaW50ZXIsIGNsaWVudClcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBwb2ludGVyVXRpbHMuZ2V0WFkoJ2NsaWVudCcsIHBvaW50ZXIsIGNsaWVudClcbiAgICB9XG5cbiAgICByZXR1cm4gY2xpZW50XG4gIH0sXG5cbiAgZ2V0UG9pbnRlcklkIChwb2ludGVyKSB7XG4gICAgcmV0dXJuIGlzLm51bWJlcihwb2ludGVyLnBvaW50ZXJJZCkgPyBwb2ludGVyLnBvaW50ZXJJZCA6IHBvaW50ZXIuaWRlbnRpZmllclxuICB9LFxuXG4gIHNldENvb3JkcyAodGFyZ2V0T2JqLCBwb2ludGVyczogYW55W10sIHRpbWVTdGFtcDogbnVtYmVyKSB7XG4gICAgY29uc3QgcG9pbnRlciA9IChwb2ludGVycy5sZW5ndGggPiAxXG4gICAgICA/IHBvaW50ZXJVdGlscy5wb2ludGVyQXZlcmFnZShwb2ludGVycylcbiAgICAgIDogcG9pbnRlcnNbMF0pXG5cbiAgICBjb25zdCB0bXBYWSA9IHt9IGFzIHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfVxuXG4gICAgcG9pbnRlclV0aWxzLmdldFBhZ2VYWShwb2ludGVyLCB0bXBYWSlcbiAgICB0YXJnZXRPYmoucGFnZS54ID0gdG1wWFkueFxuICAgIHRhcmdldE9iai5wYWdlLnkgPSB0bXBYWS55XG5cbiAgICBwb2ludGVyVXRpbHMuZ2V0Q2xpZW50WFkocG9pbnRlciwgdG1wWFkpXG4gICAgdGFyZ2V0T2JqLmNsaWVudC54ID0gdG1wWFkueFxuICAgIHRhcmdldE9iai5jbGllbnQueSA9IHRtcFhZLnlcblxuICAgIHRhcmdldE9iai50aW1lU3RhbXAgPSB0aW1lU3RhbXBcbiAgfSxcblxuICBwb2ludGVyRXh0ZW5kLFxuXG4gIGdldFRvdWNoUGFpciAoZXZlbnQpIHtcbiAgICBjb25zdCB0b3VjaGVzID0gW11cblxuICAgIC8vIGFycmF5IG9mIHRvdWNoZXMgaXMgc3VwcGxpZWRcbiAgICBpZiAoaXMuYXJyYXkoZXZlbnQpKSB7XG4gICAgICB0b3VjaGVzWzBdID0gZXZlbnRbMF1cbiAgICAgIHRvdWNoZXNbMV0gPSBldmVudFsxXVxuICAgIH1cbiAgICAvLyBhbiBldmVudFxuICAgIGVsc2Uge1xuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICd0b3VjaGVuZCcpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRvdWNoZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgdG91Y2hlc1swXSA9IGV2ZW50LnRvdWNoZXNbMF1cbiAgICAgICAgICB0b3VjaGVzWzFdID0gZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChldmVudC50b3VjaGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRvdWNoZXNbMF0gPSBldmVudC5jaGFuZ2VkVG91Y2hlc1swXVxuICAgICAgICAgIHRvdWNoZXNbMV0gPSBldmVudC5jaGFuZ2VkVG91Y2hlc1sxXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdG91Y2hlc1swXSA9IGV2ZW50LnRvdWNoZXNbMF1cbiAgICAgICAgdG91Y2hlc1sxXSA9IGV2ZW50LnRvdWNoZXNbMV1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdG91Y2hlc1xuICB9LFxuXG4gIHBvaW50ZXJBdmVyYWdlIChwb2ludGVyczogUG9pbnRlckV2ZW50W10gfCBFdmVudFtdKSB7XG4gICAgY29uc3QgYXZlcmFnZSA9IHtcbiAgICAgIHBhZ2VYICA6IDAsXG4gICAgICBwYWdlWSAgOiAwLFxuICAgICAgY2xpZW50WDogMCxcbiAgICAgIGNsaWVudFk6IDAsXG4gICAgICBzY3JlZW5YOiAwLFxuICAgICAgc2NyZWVuWTogMCxcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHBvaW50ZXIgb2YgcG9pbnRlcnMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBhdmVyYWdlKSB7XG4gICAgICAgIGF2ZXJhZ2VbcHJvcF0gKz0gcG9pbnRlcltwcm9wXVxuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gYXZlcmFnZSkge1xuICAgICAgYXZlcmFnZVtwcm9wXSAvPSBwb2ludGVycy5sZW5ndGhcbiAgICB9XG5cbiAgICByZXR1cm4gYXZlcmFnZVxuICB9LFxuXG4gIHRvdWNoQkJveCAoZXZlbnQ6IEV2ZW50IHwgQXJyYXk8KEludGVyYWN0LlBvaW50ZXJUeXBlKSB8IFRvdWNoRXZlbnQ+KSB7XG4gICAgaWYgKCEoZXZlbnQgYXMgYW55KS5sZW5ndGggJiZcbiAgICAgICAgISgoZXZlbnQgYXMgVG91Y2hFdmVudCkudG91Y2hlcyAmJlxuICAgICAgICAgIChldmVudCBhcyBUb3VjaEV2ZW50KS50b3VjaGVzLmxlbmd0aCA+IDEpKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IHRvdWNoZXMgPSBwb2ludGVyVXRpbHMuZ2V0VG91Y2hQYWlyKGV2ZW50KVxuICAgIGNvbnN0IG1pblggPSBNYXRoLm1pbih0b3VjaGVzWzBdLnBhZ2VYLCB0b3VjaGVzWzFdLnBhZ2VYKVxuICAgIGNvbnN0IG1pblkgPSBNYXRoLm1pbih0b3VjaGVzWzBdLnBhZ2VZLCB0b3VjaGVzWzFdLnBhZ2VZKVxuICAgIGNvbnN0IG1heFggPSBNYXRoLm1heCh0b3VjaGVzWzBdLnBhZ2VYLCB0b3VjaGVzWzFdLnBhZ2VYKVxuICAgIGNvbnN0IG1heFkgPSBNYXRoLm1heCh0b3VjaGVzWzBdLnBhZ2VZLCB0b3VjaGVzWzFdLnBhZ2VZKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IG1pblgsXG4gICAgICB5OiBtaW5ZLFxuICAgICAgbGVmdDogbWluWCxcbiAgICAgIHRvcDogbWluWSxcbiAgICAgIHJpZ2h0OiBtYXhYLFxuICAgICAgYm90dG9tOiBtYXhZLFxuICAgICAgd2lkdGg6IG1heFggLSBtaW5YLFxuICAgICAgaGVpZ2h0OiBtYXhZIC0gbWluWSxcbiAgICB9XG4gIH0sXG5cbiAgdG91Y2hEaXN0YW5jZSAoZXZlbnQsIGRlbHRhU291cmNlKSB7XG4gICAgY29uc3Qgc291cmNlWCA9IGRlbHRhU291cmNlICsgJ1gnXG4gICAgY29uc3Qgc291cmNlWSA9IGRlbHRhU291cmNlICsgJ1knXG4gICAgY29uc3QgdG91Y2hlcyA9IHBvaW50ZXJVdGlscy5nZXRUb3VjaFBhaXIoZXZlbnQpXG5cbiAgICBjb25zdCBkeCA9IHRvdWNoZXNbMF1bc291cmNlWF0gLSB0b3VjaGVzWzFdW3NvdXJjZVhdXG4gICAgY29uc3QgZHkgPSB0b3VjaGVzWzBdW3NvdXJjZVldIC0gdG91Y2hlc1sxXVtzb3VyY2VZXVxuXG4gICAgcmV0dXJuIGh5cG90KGR4LCBkeSlcbiAgfSxcblxuICB0b3VjaEFuZ2xlIChldmVudCwgZGVsdGFTb3VyY2UpIHtcbiAgICBjb25zdCBzb3VyY2VYID0gZGVsdGFTb3VyY2UgKyAnWCdcbiAgICBjb25zdCBzb3VyY2VZID0gZGVsdGFTb3VyY2UgKyAnWSdcbiAgICBjb25zdCB0b3VjaGVzID0gcG9pbnRlclV0aWxzLmdldFRvdWNoUGFpcihldmVudClcbiAgICBjb25zdCBkeCA9IHRvdWNoZXNbMV1bc291cmNlWF0gLSB0b3VjaGVzWzBdW3NvdXJjZVhdXG4gICAgY29uc3QgZHkgPSB0b3VjaGVzWzFdW3NvdXJjZVldIC0gdG91Y2hlc1swXVtzb3VyY2VZXVxuICAgIGNvbnN0IGFuZ2xlID0gMTgwICogTWF0aC5hdGFuMihkeSwgZHgpIC8gTWF0aC5QSVxuXG4gICAgcmV0dXJuICBhbmdsZVxuICB9LFxuXG4gIGdldFBvaW50ZXJUeXBlIChwb2ludGVyKSB7XG4gICAgcmV0dXJuIGlzLnN0cmluZyhwb2ludGVyLnBvaW50ZXJUeXBlKVxuICAgICAgPyBwb2ludGVyLnBvaW50ZXJUeXBlXG4gICAgICA6IGlzLm51bWJlcihwb2ludGVyLnBvaW50ZXJUeXBlKVxuICAgICAgICA/IFt1bmRlZmluZWQsIHVuZGVmaW5lZCwgJ3RvdWNoJywgJ3BlbicsICdtb3VzZSddW3BvaW50ZXIucG9pbnRlclR5cGVdXG4gICAgICAgIC8vIGlmIHRoZSBQb2ludGVyRXZlbnQgQVBJIGlzbid0IGF2YWlsYWJsZSwgdGhlbiB0aGUgXCJwb2ludGVyXCIgbXVzdFxuICAgICAgICAvLyBiZSBlaXRoZXIgYSBNb3VzZUV2ZW50LCBUb3VjaEV2ZW50LCBvciBUb3VjaCBvYmplY3RcbiAgICAgICAgOiAvdG91Y2gvLnRlc3QocG9pbnRlci50eXBlKSB8fCBwb2ludGVyIGluc3RhbmNlb2YgZG9tLlRvdWNoXG4gICAgICAgICAgPyAndG91Y2gnXG4gICAgICAgICAgOiAnbW91c2UnXG4gIH0sXG5cbiAgLy8gWyBldmVudC50YXJnZXQsIGV2ZW50LmN1cnJlbnRUYXJnZXQgXVxuICBnZXRFdmVudFRhcmdldHMgKGV2ZW50KSB7XG4gICAgY29uc3QgcGF0aCA9IGlzLmZ1bmMoZXZlbnQuY29tcG9zZWRQYXRoKSA/IGV2ZW50LmNvbXBvc2VkUGF0aCgpIDogZXZlbnQucGF0aFxuXG4gICAgcmV0dXJuIFtcbiAgICAgIGRvbVV0aWxzLmdldEFjdHVhbEVsZW1lbnQocGF0aCA/IHBhdGhbMF0gOiBldmVudC50YXJnZXQpLFxuICAgICAgZG9tVXRpbHMuZ2V0QWN0dWFsRWxlbWVudChldmVudC5jdXJyZW50VGFyZ2V0KSxcbiAgICBdXG4gIH0sXG5cbiAgbmV3Q29vcmRzICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZSAgICAgOiB7IHg6IDAsIHk6IDAgfSxcbiAgICAgIGNsaWVudCAgIDogeyB4OiAwLCB5OiAwIH0sXG4gICAgICB0aW1lU3RhbXA6IDAsXG4gICAgfVxuICB9LFxuXG4gIGNvb3Jkc1RvRXZlbnQgKGNvb3JkczogTW9ja0Nvb3Jkcykge1xuICAgIGNvbnN0IGV2ZW50ID0ge1xuICAgICAgY29vcmRzLFxuICAgICAgZ2V0IHBhZ2UgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucGFnZSB9LFxuICAgICAgZ2V0IGNsaWVudCAoKSB7IHJldHVybiB0aGlzLmNvb3Jkcy5jbGllbnQgfSxcbiAgICAgIGdldCB0aW1lU3RhbXAgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMudGltZVN0YW1wIH0sXG4gICAgICBnZXQgcGFnZVggKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucGFnZS54IH0sXG4gICAgICBnZXQgcGFnZVkgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucGFnZS55IH0sXG4gICAgICBnZXQgY2xpZW50WCAoKSB7IHJldHVybiB0aGlzLmNvb3Jkcy5jbGllbnQueCB9LFxuICAgICAgZ2V0IGNsaWVudFkgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMuY2xpZW50LnkgfSxcbiAgICAgIGdldCBwb2ludGVySWQgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucG9pbnRlcklkIH0sXG4gICAgICBnZXQgdGFyZ2V0ICgpIHsgcmV0dXJuIHRoaXMuY29vcmRzLnRhcmdldCB9LFxuICAgICAgZ2V0IHR5cGUgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMudHlwZSB9LFxuICAgICAgZ2V0IHBvaW50ZXJUeXBlICgpIHsgcmV0dXJuIHRoaXMuY29vcmRzLnBvaW50ZXJUeXBlIH0sXG4gICAgICBnZXQgYnV0dG9ucyAoKSB7IHJldHVybiB0aGlzLmNvb3Jkcy5idXR0b25zIH0sXG4gICAgfVxuXG4gICAgcmV0dXJuIGV2ZW50IGFzIHR5cGVvZiBldmVudCAmIEludGVyYWN0LlBvaW50ZXJUeXBlICYgSW50ZXJhY3QuUG9pbnRlckV2ZW50VHlwZVxuICB9LFxufVxuXG5leHBvcnQgZGVmYXVsdCBwb2ludGVyVXRpbHNcblxuZXhwb3J0IGludGVyZmFjZSBNb2NrQ29vcmRzIHtcbiAgcGFnZTogSW50ZXJhY3QuUG9pbnRcbiAgY2xpZW50OiBJbnRlcmFjdC5Qb2ludFxuICB0aW1lU3RhbXA/OiBudW1iZXJcbiAgcG9pbnRlcklkPzogYW55XG4gIHRhcmdldD86IGFueVxuICB0eXBlPzogc3RyaW5nXG4gIHBvaW50ZXJUeXBlPzogc3RyaW5nXG4gIGJ1dHRvbnM/OiBudW1iZXJcbn1cbiJdfQ==
export declare function getStringOptionResult(value: any, interactable: any, element: any): any;
export declare function resolveRectLike(value: any, interactable?: any, element?: any, functionArgs?: any): any;
export declare function resolveRectLike<T extends any[] = []>(value: Interact.RectResolvable<T>, interactable?: any, element?: any, functionArgs?: T): import("../types/types").Rect;
export declare function rectToXY(rect: any): {

@@ -4,0 +4,0 @@ x: any;

@@ -17,4 +17,4 @@ import { closest, getElementRect, parentNode } from './domUtils';

}
if (is.func(value)) {
value = value.apply(null, functionArgs);
else if (is.func(value)) {
value = value(...functionArgs);
}

@@ -59,2 +59,2 @@ if (is.element(value)) {

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2hFLE9BQU8sTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUM3QixPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUxQixNQUFNLFVBQVUscUJBQXFCLENBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPO0lBQ2pFLElBQUksS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUFFLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0tBQUU7SUFFdEQsSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1FBQUUsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0tBQUU7SUFFOUQsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ2hDLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFFLEtBQUssRUFBRSxZQUFhLEVBQUUsT0FBUSxFQUFFLFlBQWE7SUFDNUUsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3BCLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0tBQzVEO0lBRUQsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2xCLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQTtLQUN4QztJQUVELElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNyQixLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFBO0tBQzlCO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBRSxJQUFJO0lBQzVCLE9BQVEsSUFBSSxJQUFJO1FBQ2QsQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJO1FBQ25DLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRztLQUNuQyxDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUUsSUFBSTtJQUM5QixJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLEVBQUU7UUFDOUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFFdkIsSUFBSSxDQUFDLElBQUksR0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUksSUFBSSxDQUFDLEtBQUssSUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0tBQ3ZEO0lBRUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBRSxJQUFJO0lBQzlCLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBRTtRQUN6QyxJQUFJLEdBQUcsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsQ0FBQyxHQUFRLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFBO1FBQzVCLElBQUksQ0FBQyxDQUFDLEdBQVEsSUFBSSxDQUFDLEdBQUcsSUFBSyxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBSSxJQUFJLENBQUMsS0FBSyxJQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDcEQ7SUFFRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFFRCxlQUFlO0lBQ2IscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixRQUFRO0lBQ1IsVUFBVTtJQUNWLFVBQVU7Q0FDWCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xvc2VzdCwgZ2V0RWxlbWVudFJlY3QsIHBhcmVudE5vZGUgfSBmcm9tICcuL2RvbVV0aWxzJ1xuaW1wb3J0IGV4dGVuZCBmcm9tICcuL2V4dGVuZCdcbmltcG9ydCAqIGFzIGlzIGZyb20gJy4vaXMnXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdHJpbmdPcHRpb25SZXN1bHQgKHZhbHVlLCBpbnRlcmFjdGFibGUsIGVsZW1lbnQpIHtcbiAgaWYgKHZhbHVlID09PSAncGFyZW50JykgeyByZXR1cm4gcGFyZW50Tm9kZShlbGVtZW50KSB9XG5cbiAgaWYgKHZhbHVlID09PSAnc2VsZicpIHsgcmV0dXJuIGludGVyYWN0YWJsZS5nZXRSZWN0KGVsZW1lbnQpIH1cblxuICByZXR1cm4gY2xvc2VzdChlbGVtZW50LCB2YWx1ZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVSZWN0TGlrZSAodmFsdWUsIGludGVyYWN0YWJsZT8sIGVsZW1lbnQ/LCBmdW5jdGlvbkFyZ3M/KSB7XG4gIGlmIChpcy5zdHJpbmcodmFsdWUpKSB7XG4gICAgdmFsdWUgPSBnZXRTdHJpbmdPcHRpb25SZXN1bHQodmFsdWUsIGludGVyYWN0YWJsZSwgZWxlbWVudClcbiAgfVxuXG4gIGlmIChpcy5mdW5jKHZhbHVlKSkge1xuICAgIHZhbHVlID0gdmFsdWUuYXBwbHkobnVsbCwgZnVuY3Rpb25BcmdzKVxuICB9XG5cbiAgaWYgKGlzLmVsZW1lbnQodmFsdWUpKSB7XG4gICAgdmFsdWUgPSBnZXRFbGVtZW50UmVjdCh2YWx1ZSlcbiAgfVxuXG4gIHJldHVybiB2YWx1ZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVjdFRvWFkgKHJlY3QpIHtcbiAgcmV0dXJuICByZWN0ICYmIHtcbiAgICB4OiAneCcgaW4gcmVjdCA/IHJlY3QueCA6IHJlY3QubGVmdCxcbiAgICB5OiAneScgaW4gcmVjdCA/IHJlY3QueSA6IHJlY3QudG9wLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB4eXdoVG9UbGJyIChyZWN0KSB7XG4gIGlmIChyZWN0ICYmICEoJ2xlZnQnIGluIHJlY3QgJiYgJ3RvcCcgaW4gcmVjdCkpIHtcbiAgICByZWN0ID0gZXh0ZW5kKHt9LCByZWN0KVxuXG4gICAgcmVjdC5sZWZ0ICAgPSByZWN0LnggfHwgMFxuICAgIHJlY3QudG9wICAgID0gcmVjdC55IHx8IDBcbiAgICByZWN0LnJpZ2h0ICA9IHJlY3QucmlnaHQgICB8fCAocmVjdC5sZWZ0ICsgcmVjdC53aWR0aClcbiAgICByZWN0LmJvdHRvbSA9IHJlY3QuYm90dG9tICB8fCAocmVjdC50b3AgKyByZWN0LmhlaWdodClcbiAgfVxuXG4gIHJldHVybiByZWN0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0bGJyVG9YeXdoIChyZWN0KSB7XG4gIGlmIChyZWN0ICYmICEoJ3gnIGluIHJlY3QgJiYgJ3knIGluIHJlY3QpKSB7XG4gICAgcmVjdCA9IGV4dGVuZCh7fSwgcmVjdClcblxuICAgIHJlY3QueCAgICAgID0gcmVjdC5sZWZ0IHx8IDBcbiAgICByZWN0LnkgICAgICA9IHJlY3QudG9wICB8fCAwXG4gICAgcmVjdC53aWR0aCAgPSByZWN0LndpZHRoICB8fCAocmVjdC5yaWdodCAgLSByZWN0LngpXG4gICAgcmVjdC5oZWlnaHQgPSByZWN0LmhlaWdodCB8fCAocmVjdC5ib3R0b20gLSByZWN0LnkpXG4gIH1cblxuICByZXR1cm4gcmVjdFxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldFN0cmluZ09wdGlvblJlc3VsdCxcbiAgcmVzb2x2ZVJlY3RMaWtlLFxuICByZWN0VG9YWSxcbiAgeHl3aFRvVGxicixcbiAgdGxiclRvWHl3aCxcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2hFLE9BQU8sTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUM3QixPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUxQixNQUFNLFVBQVUscUJBQXFCLENBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPO0lBQ2pFLElBQUksS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUFFLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0tBQUU7SUFFdEQsSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1FBQUUsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0tBQUU7SUFFOUQsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ2hDLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUF3QixLQUFpQyxFQUFFLFlBQWEsRUFBRSxPQUFRLEVBQUUsWUFBZ0I7SUFDakksSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3BCLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0tBQzVEO1NBQ0ksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3ZCLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQTtLQUMvQjtJQUVELElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNyQixLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFBO0tBQzlCO0lBRUQsT0FBTyxLQUFzQixDQUFBO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFFLElBQUk7SUFDNUIsT0FBUSxJQUFJLElBQUk7UUFDZCxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7UUFDbkMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHO0tBQ25DLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBRSxJQUFJO0lBQzlCLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRTtRQUM5QyxJQUFJLEdBQUcsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsSUFBSSxHQUFLLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBSSxJQUFJLENBQUMsS0FBSyxJQUFNLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7S0FDdkQ7SUFFRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFFLElBQUk7SUFDOUIsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFO1FBQ3pDLElBQUksR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBRXZCLElBQUksQ0FBQyxDQUFDLEdBQVEsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLENBQUMsR0FBUSxJQUFJLENBQUMsR0FBRyxJQUFLLENBQUMsQ0FBQTtRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxLQUFLLElBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUNwRDtJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVELGVBQWU7SUFDYixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLFFBQVE7SUFDUixVQUFVO0lBQ1YsVUFBVTtDQUNYLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbG9zZXN0LCBnZXRFbGVtZW50UmVjdCwgcGFyZW50Tm9kZSB9IGZyb20gJy4vZG9tVXRpbHMnXG5pbXBvcnQgZXh0ZW5kIGZyb20gJy4vZXh0ZW5kJ1xuaW1wb3J0ICogYXMgaXMgZnJvbSAnLi9pcydcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0cmluZ09wdGlvblJlc3VsdCAodmFsdWUsIGludGVyYWN0YWJsZSwgZWxlbWVudCkge1xuICBpZiAodmFsdWUgPT09ICdwYXJlbnQnKSB7IHJldHVybiBwYXJlbnROb2RlKGVsZW1lbnQpIH1cblxuICBpZiAodmFsdWUgPT09ICdzZWxmJykgeyByZXR1cm4gaW50ZXJhY3RhYmxlLmdldFJlY3QoZWxlbWVudCkgfVxuXG4gIHJldHVybiBjbG9zZXN0KGVsZW1lbnQsIHZhbHVlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVJlY3RMaWtlPFQgZXh0ZW5kcyBhbnlbXSA9IFtdPiAodmFsdWU6IEludGVyYWN0LlJlY3RSZXNvbHZhYmxlPFQ+LCBpbnRlcmFjdGFibGU/LCBlbGVtZW50PywgZnVuY3Rpb25BcmdzPzogVCkge1xuICBpZiAoaXMuc3RyaW5nKHZhbHVlKSkge1xuICAgIHZhbHVlID0gZ2V0U3RyaW5nT3B0aW9uUmVzdWx0KHZhbHVlLCBpbnRlcmFjdGFibGUsIGVsZW1lbnQpXG4gIH1cbiAgZWxzZSBpZiAoaXMuZnVuYyh2YWx1ZSkpIHtcbiAgICB2YWx1ZSA9IHZhbHVlKC4uLmZ1bmN0aW9uQXJncylcbiAgfVxuXG4gIGlmIChpcy5lbGVtZW50KHZhbHVlKSkge1xuICAgIHZhbHVlID0gZ2V0RWxlbWVudFJlY3QodmFsdWUpXG4gIH1cblxuICByZXR1cm4gdmFsdWUgYXMgSW50ZXJhY3QuUmVjdFxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVjdFRvWFkgKHJlY3QpIHtcbiAgcmV0dXJuICByZWN0ICYmIHtcbiAgICB4OiAneCcgaW4gcmVjdCA/IHJlY3QueCA6IHJlY3QubGVmdCxcbiAgICB5OiAneScgaW4gcmVjdCA/IHJlY3QueSA6IHJlY3QudG9wLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB4eXdoVG9UbGJyIChyZWN0KSB7XG4gIGlmIChyZWN0ICYmICEoJ2xlZnQnIGluIHJlY3QgJiYgJ3RvcCcgaW4gcmVjdCkpIHtcbiAgICByZWN0ID0gZXh0ZW5kKHt9LCByZWN0KVxuXG4gICAgcmVjdC5sZWZ0ICAgPSByZWN0LnggfHwgMFxuICAgIHJlY3QudG9wICAgID0gcmVjdC55IHx8IDBcbiAgICByZWN0LnJpZ2h0ICA9IHJlY3QucmlnaHQgICB8fCAocmVjdC5sZWZ0ICsgcmVjdC53aWR0aClcbiAgICByZWN0LmJvdHRvbSA9IHJlY3QuYm90dG9tICB8fCAocmVjdC50b3AgKyByZWN0LmhlaWdodClcbiAgfVxuXG4gIHJldHVybiByZWN0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0bGJyVG9YeXdoIChyZWN0KSB7XG4gIGlmIChyZWN0ICYmICEoJ3gnIGluIHJlY3QgJiYgJ3knIGluIHJlY3QpKSB7XG4gICAgcmVjdCA9IGV4dGVuZCh7fSwgcmVjdClcblxuICAgIHJlY3QueCAgICAgID0gcmVjdC5sZWZ0IHx8IDBcbiAgICByZWN0LnkgICAgICA9IHJlY3QudG9wICB8fCAwXG4gICAgcmVjdC53aWR0aCAgPSByZWN0LndpZHRoICB8fCAocmVjdC5yaWdodCAgLSByZWN0LngpXG4gICAgcmVjdC5oZWlnaHQgPSByZWN0LmhlaWdodCB8fCAocmVjdC5ib3R0b20gLSByZWN0LnkpXG4gIH1cblxuICByZXR1cm4gcmVjdFxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldFN0cmluZ09wdGlvblJlc3VsdCxcbiAgcmVzb2x2ZVJlY3RMaWtlLFxuICByZWN0VG9YWSxcbiAgeHl3aFRvVGxicixcbiAgdGxiclRvWHl3aCxcbn1cbiJdfQ==
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc