Socket
Socket
Sign inDemoInstall

@interactjs/modifiers

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/modifiers - npm Package Compare versions

Comparing version 1.4.0-alpha.27 to 1.4.0-alpha.28

11

base.d.ts

@@ -16,6 +16,2 @@ import { Scope } from '@interactjs/core/scope';

}
interface Options {
drag?: Interact.DraggableOptions;
modifiers?: any[];
}
}

@@ -35,3 +31,3 @@ declare function install(scope: Scope): void;

};
coords: import("../types").Point;
coords: import("../types/types").Point;
changed: boolean;

@@ -44,3 +40,3 @@ };

};
coords: import("../types").Point;
coords: import("../types/types").Point;
changed: boolean;

@@ -59,3 +55,3 @@ };

declare function shouldDo(options: any, preEnd?: boolean, requireEndOnly?: boolean, phase?: string): any;
declare function makeModifier(module: any, name: any): {
declare function makeModifier(module: any, name?: string): {
(options: any): {

@@ -69,2 +65,3 @@ options: any;

};
name: string;
};

@@ -71,0 +68,0 @@ _defaults: any;

@@ -6,3 +6,3 @@ import extend from '@interactjs/utils/extend';

scope.modifiers = {};
interactions.signals.on('new', (interaction) => {
interactions.signals.on('new', ({ interaction }) => {
interaction.modifiers = {

@@ -119,3 +119,3 @@ startOffset: { left: 0, right: 0, top: 0, bottom: 0 },

for (let index = 0; index < modifierList.length; index++) {
const { options, methods } = modifierList[index];
const { options, methods, name } = modifierList[index];
if (options && options.enabled === false) {

@@ -128,2 +128,3 @@ continue;

index,
name,
};

@@ -268,3 +269,3 @@ states.push(state);

}
return { options, methods };
return { options, methods, name };
};

@@ -293,2 +294,2 @@ if (typeof name === 'string') {

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUF3QjdDLFNBQVMsT0FBTyxDQUFFLEtBQVk7SUFDNUIsTUFBTSxFQUNKLFlBQVksR0FDYixHQUFHLEtBQUssQ0FBQTtJQUVULEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDdkMsS0FBSyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFFcEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDN0MsV0FBVyxDQUFDLFNBQVMsR0FBRztZQUN0QixXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQ3JELE9BQU8sRUFBTSxFQUFFO1lBQ2YsTUFBTSxFQUFLLElBQUk7WUFDZixNQUFNLEVBQU8sSUFBSTtTQUNsQixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3JELEtBQUssQ0FBQyxHQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDdkUsQ0FBQyxDQUFDLENBQUE7SUFFRixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUMvQyxVQUFVLENBQUMsR0FBVSxDQUFDLENBQUE7UUFDdEIsS0FBSyxDQUFDLEdBQVUsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1B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TSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtLQUN2RDtJQUVELEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDbkYsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQU0sS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzdCLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDN0IsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQTtLQUM5QjtBQUNILENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRTtJQUM1RCxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLFNBQVMsQ0FBQTtJQUU3RCxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDckYsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUMzQixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzNCLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDN0IsU0FBUyxDQUFDLE1BQU0sQ0FBQyxD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QUFDLENBQUE7UUFFbEIsOEJBQThCO1FBQzlCLFFBQVEsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFBO1FBQzdCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFBO0tBQzVCO0lBRUQsT0FBTyxRQUFRLENBQUE7QUFDakIsQ0FBQztBQUVELGVBQWU7SUFDYixPQUFPO0lBQ1AsUUFBUTtJQUNSLE1BQU07SUFDTixhQUFhO0lBQ2IsS0FBSztJQUNMLFVBQVU7SUFDVixTQUFTO0lBQ1QsSUFBSTtJQUNKLFFBQVE7SUFDUixlQUFlO0lBQ2YsYUFBYTtJQUNiLFlBQVk7Q0FDYixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NvcGUgfSBmcm9tICdAaW50ZXJhY3Rqcy9jb3JlL3Njb3BlJ1xuaW1wb3J0IGV4dGVuZCBmcm9tICdAaW50ZXJhY3Rqcy91dGlscy9leHRlbmQnXG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL3Njb3BlJyB7XG4gIGludGVyZmFjZSBTY29wZSB7XG4gICAgbW9kaWZpZXJzPzogYW55XG4gIH1cbn1cblxuZGVjbGFyZSBtb2R1bGUgJ0BpbnRlcmFjdGpzL2NvcmUvSW50ZXJhY3Rpb24nIHtcbiAgaW50ZXJmYWNlIEludGVyYWN0aW9uIHtcbiAgICBtb2RpZmllcnM/OiBhbnlcbiAgfVxufVxuXG5kZWNsYXJlIG1vZHVsZSAnQGludGVyYWN0anMvY29yZS9kZWZhdWx0T3B0aW9ucycge1xuICBpbnRlcmZhY2UgUGVyQWN0aW9uRGVmYXVsdHMge1xuICAgIG1vZGlmaWVycz86IGFueVtdXG4gIH1cbiAgaW50ZXJmYWNlIE9wdGlvbnMge1xuICAgIGRyYWc/OiBJbnRlcmFjdC5EcmFnZ2FibGVPcHRpb25zXG4gICAgbW9kaWZpZXJzPzogYW55W11cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnN0YWxsIChzY29wZTogU2NvcGUpIHtcbiAgY29uc3Qge1xuICAgIGludGVyYWN0aW9ucyxcbiAgfSA9IHNjb3BlXG5cbiAgc2NvcGUuZGVmYXVsdHMucGVyQWN0aW9uLm1vZGlmaWVycyA9IFtdXG4gIHNjb3BlLm1vZGlmaWVycyA9IHt9XG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ25ldycsIChpbnRlcmFjdGlvbikgPT4ge1xuICAgIGludGVyYWN0aW9uLm1vZGlmaWVycyA9IHtcbiAgICAgIHN0YXJ0T2Zmc2V0OiB7IGxlZnQ6IDAsIHJpZ2h0OiAwLCB0b3A6IDAsIGJvdHRvbTogMCB9LFxuICAgICAgb2Zmc2V0cyAgICA6IHt9LFxuICAgICAgc3RhdGVzICAgOiBudWxsLFxuICAgICAgcmVzdWx0ICAgICA6IG51bGwsXG4gICAgfVxuICB9KVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLXN0YXJ0JywgKGFyZykgPT4ge1xuICAgIHN0YXJ0KGFyZyBhcyBhbnksIGFyZy5pbnRlcmFjdGlvbi5jb29yZHMuc3RhcnQucGFnZSwgc2NvcGUubW9kaWZpZXJzKVxuICB9KVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdhY3Rpb24tcmVzdW1lJywgKGFyZykgPT4ge1xuICAgIGJlZm9yZU1vdmUoYXJnIGFzIGFueSlcbiAgICBzdGFydChhcmcgYXMgYW55LCBhcmcuaW50ZXJhY3Rpb24uY29vcmRzLmN1ci5wYWdlLCBzY29wZS5tb2RpZmllcnMpXG4gIH0pXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2JlZm9yZS1hY3Rpb24tbW92ZScsIGJlZm9yZU1vdmUpXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLWVuZCcsIGJlZm9yZUVuZClcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYmVmb3JlLWFjdGlvbi1zdGFydCcsIHNldENvb3JkcylcbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2JlZm9yZS1hY3Rpb24tbW92ZScsIHNldENvb3JkcylcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYWZ0ZXItYWN0aW9uLXN0YXJ0JywgcmVzdG9yZUNvb3JkcyBhcyBhbnkpXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdhZnRlci1hY3Rpb24tbW92ZScsIHJlc3RvcmVDb29yZHMgYXMgYW55KVxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignc3RvcCcsIHN0b3ApXG59XG5cbmZ1bmN0aW9uIHN0YXJ0QWxsIChhcmcpIHtcbiAgZm9yIChjb25zdCBzdGF0ZSBvZiBhcmcuc3RhdGVzKSB7XG4gICAgaWYgKHN0YXRlLm1ldGhvZHMuc3RhcnQpIHtcbiAgICAgIGFyZy5zdGF0ZSA9IHN0YXRlXG4gICAgICBzdGF0ZS5tZXRob2RzLnN0YXJ0KGFyZylcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UmVjdE9mZnNldCAocmVjdCwgY29vcmRzKSB7XG4gIHJldHVybiByZWN0XG4gICAgPyB7XG4gICAgICBsZWZ0ICA6IGNvb3Jkcy54IC0gcmVjdC5sZWZ0LFxuICAgICAgdG9wICAgOiBjb29yZHMueSAtIHJlY3QudG9wLFxuICAgICAgcmlnaHQgOiByZWN0LnJpZ2h0ICAtIGNvb3Jkcy54LFxuICAgICAgYm90dG9tOiByZWN0LmJvdHRvbSAtIGNvb3Jkcy55LFxuICAgIH1cbiAgICA6IHtcbiAgICAgIGxlZnQgIDogMCxcbiAgICAgIHRvcCAgIDogMCxcbiAgICAgIHJpZ2h0IDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0IChcbiAgeyBpbnRlcmFjdGlvbiwgcGhhc2UgfTogSW50ZXJhY3QuU2lnbmFsQXJnLFxuICBwYWdlQ29vcmRzOiBJbnRlcmFjdC5Qb2ludCxcbiAgcmVnaXN0ZXJlZE1vZGlmaWVycyxcbikge1xuICBjb25zdCB7IHRhcmdldDogaW50ZXJhY3RhYmxlLCBlbGVtZW50IH0gPSBpbnRlcmFjdGlvblxuICBjb25zdCBtb2RpZmllckxpc3QgPSBnZXRNb2RpZmllckxpc3QoaW50ZXJhY3Rpb24sIHJlZ2lzdGVyZWRNb2RpZmllcnMpXG4gIGNvbnN0IHN0YXRlcyA9IHByZXBhcmVTdGF0ZXMobW9kaWZpZXJMaXN0KVxuXG4gIGNvbnN0IHJlY3QgPSBleHRlbmQoe30sIGludGVyYWN0YWJsZS5nZXRSZWN0KGVsZW1lbnQpKSBhcyAgSW50ZXJhY3QuUmVjdCAmIEludGVyYWN0LlJlY3QyXG5cbiAgaWYgKCEoJ3dpZHRoJyAgaW4gcmVjdCkpIHsgcmVjdC53aWR0aCAgPSByZWN0LnJpZ2h0ICAtIHJlY3QubGVmdCB9XG4gIGlmICghKCdoZWlnaHQnIGluIHJlY3QpKSB7IHJlY3QuaGVpZ2h0ID0gcmVjdC5ib3R0b20gLSByZWN0LnRvcCAgfVxuXG4gIGNvbnN0IHN0YXJ0T2Zmc2V0ID0gZ2V0UmVjdE9mZnNldChyZWN0LCBwYWdlQ29vcmRzKVxuXG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGFydE9mZnNldCA9IHN0YXJ0T2Zmc2V0XG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGFydERlbHRhID0geyB4OiAwLCB5OiAwIH1cblxuICBjb25zdCBhcmc6IFBhcnRpYWw8SW50ZXJhY3QuU2lnbmFsQXJnPiA9IHtcbiAgICBpbnRlcmFjdGlvbixcbiAgICBpbnRlcmFjdGFibGUsXG4gICAgZWxlbWVudCxcbiAgICBwYWdlQ29vcmRzLFxuICAgIHBoYXNlLFxuICAgIHJlY3QsXG4gICAgc3RhcnRPZmZzZXQsXG4gICAgc3RhdGVzLFxuICAgIHByZUVuZDogZmFsc2UsXG4gICAgcmVxdWlyZUVuZE9ubHk6IGZhbHNlLFxuICB9XG5cbiAgaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXRlcyA9IHN0YXRlc1xuICBpbnRlcmFjdGlvbi5tb2RpZmllcnMucmVzdWx0ID0gbnVsbFxuICBzdGFydEFsbChhcmcpXG5cbiAgYXJnLnBhZ2VDb29yZHMgPSBleHRlbmQoe30sIGludGVyYWN0aW9uLmNvb3Jkcy5zdGFydC5wYWdlKVxuXG4gIGNvbnN0IHJlc3VsdCA9IGludGVyYWN0aW9uLm1vZGlmaWVycy5yZXN1bHQgPSBzZXRBbGwoYXJnKVxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gc2V0QWxsIChhcmc6IFBhcnRpYWw8SW50ZXJhY3QuU2lnbmFsQXJnPikge1xuICBjb25zdCB7IGludGVyYWN0aW9uLCBwaGFzZSwgcHJlRW5kLCByZXF1aXJlRW5kT25seSwgcmVjdCwgc2tpcE1vZGlmaWVycyB9ID0gYXJnXG5cbiAgY29uc3Qgc3RhdGVzID0gc2tpcE1vZGlmaWVyc1xuICAgID8gYXJnLnN0YXRlcy5zbGljZShpbnRlcmFjdGlvbi5tb2RpZmllcnMuc2tpcClcbiAgICA6IGFyZy5zdGF0ZXNcblxuICBhcmcuY29vcmRzID0gZXh0ZW5kKHt9LCBhcmcucGFnZUNvb3JkcylcbiAgYXJnLnJlY3QgPSBleHRlbmQoe30sIHJlY3QpXG5cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIGRlbHRhOiB7IHg6IDAsIHk6IDAgfSxcbiAgICBjb29yZHM6IGFyZy5jb29yZHMsXG4gICAgY2hhbmdlZDogdHJ1ZSxcbiAgfVxuXG4gIGZvciAoY29uc3Qgc3RhdGUgb2Ygc3RhdGVzKSB7XG4gICAgY29uc3QgeyBvcHRpb25zIH0gPSBzdGF0ZVxuXG4gICAgaWYgKCFzdGF0ZS5tZXRob2RzLnNldCB8fFxuICAgICAgIXNob3VsZERvKG9wdGlvbnMsIHByZUVuZCwgcmVxdWlyZUVuZE9ubHksIHBoYXNlKSkgeyBjb250aW51ZSB9XG5cbiAgICBhcmcuc3RhdGUgPSBzdGF0ZVxuICAgIHN0YXRlLm1ldGhvZHMuc2V0KGFyZylcbiAgfVxuXG4gIHJlc3VsdC5kZWx0YS54ID0gYXJnLmNvb3Jkcy54IC0gYXJnLnBhZ2VDb29yZHMueFxuICByZXN1bHQuZGVsdGEueSA9IGFyZy5jb29yZHMueSAtIGFyZy5wYWdlQ29vcmRzLnlcblxuICBjb25zdCBwcmV2Q29vcmRzID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnJlc3VsdFxuICAgID8gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnJlc3VsdC5jb29yZHNcbiAgICA6IGludGVyYWN0aW9uLmNvb3Jkcy5wcmV2LnBhZ2VcblxuICByZXN1bHQuY2hhbmdlZCA9IChcbiAgICBwcmV2Q29vcmRzLnggIT09IHJlc3VsdC5jb29yZHMueCB8fFxuICAgIHByZXZDb29yZHMueSAhPT0gcmVzdWx0LmNvb3Jkcy55KVxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gcHJlcGFyZVN0YXRlcyAobW9kaWZpZXJMaXN0KSB7XG4gIGNvbnN0IHN0YXRlcyA9IFtdXG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1vZGlmaWVyTGlzdC5sZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCB7IG9wdGlvbnMsIG1ldGhvZHMgfSA9IG1vZGlmaWVyTGlzdFtpbmRleF1cblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuZW5hYmxlZCA9PT0gZmFsc2UpIHsgY29udGludWUgfVxuXG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICBvcHRpb25zLFxuICAgICAgbWV0aG9kcyxcbiAgICAgIGluZGV4LFxuICAgIH1cblxuICAgIHN0YXRlcy5wdXNoKHN0YXRlKVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlc1xufVxuXG5mdW5jdGlvbiBiZWZvcmVNb3ZlICh7IGludGVyYWN0aW9uLCBwaGFzZSwgcHJlRW5kLCBza2lwTW9kaWZpZXJzIH0pOiB2b2lkIHwgZmFsc2Uge1xuICBjb25zdCB7IHRhcmdldDogaW50ZXJhY3RhYmxlLCBlbGVtZW50IH0gPSBpbnRlcmFjdGlvblxuICBjb25zdCBtb2RpZmllclJlc3VsdCA9IHNldEFsbChcbiAgICB7XG4gICAgICBpbnRlcmFjdGlvbixcbiAgICAgIGludGVyYWN0YWJsZSxcbiAgICAgIGVsZW1lbnQsXG4gICAgICBwcmVFbmQsXG4gICAgICBwaGFzZSxcbiAgICAgIHBhZ2VDb29yZHM6IGludGVyYWN0aW9uLmNvb3Jkcy5jdXIucGFnZSxcbiAgICAgIHJlY3Q6IGludGVyYWN0YWJsZS5nZXRSZWN0KGVsZW1lbnQpLFxuICAgICAgc3RhdGVzOiBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhdGVzLFxuICAgICAgcmVxdWlyZUVuZE9ubHk6IGZhbHNlLFxuICAgICAgc2tpcE1vZGlmaWVycyxcbiAgICB9KVxuXG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5yZXN1bHQgPSBtb2RpZmllclJlc3VsdFxuXG4gIC8vIGRvbid0IGZpcmUgYW4gYWN0aW9uIG1vdmUgaWYgYSBtb2RpZmllciB3b3VsZCBrZWVwIHRoZSBldmVudCBpbiB0aGUgc2FtZVxuICAvLyBjb3JkaW5hdGVzIGFzIGJlZm9yZVxuICBpZiAoIW1vZGlmaWVyUmVzdWx0LmNoYW5nZWQgJiYgaW50ZXJhY3Rpb24uaW50ZXJhY3RpbmcoKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmZ1bmN0aW9uIGJlZm9yZUVuZCAoYXJnKTogdm9pZCB8IGZhbHNlIHtcbiAgY29uc3QgeyBpbnRlcmFjdGlvbiwgZXZlbnQsIG5vUHJlRW5kIH0gPSBhcmdcbiAgY29uc3Qgc3RhdGVzID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXRlc1xuXG4gIGlmIChub1ByZUVuZCB8fCAhc3RhdGVzIHx8ICFzdGF0ZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBsZXQgZGlkUHJlRW5kID0gZmFsc2VcblxuICBmb3IgKGNvbnN0IHN0YXRlIG9mIHN0YXRlcykge1xuICAgIGFyZy5zdGF0ZSA9IHN0YXRlXG4gICAgY29uc3QgeyBvcHRpb25zLCBtZXRob2RzIH0gPSBzdGF0ZVxuXG4gICAgY29uc3QgZW5kUmVzdWx0ID0gbWV0aG9kcy5iZWZvcmVFbmQgJiYgbWV0aG9kcy5iZWZvcmVFbmQoYXJnKVxuXG4gICAgaWYgKGVuZFJlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIC8vIGlmIHRoZSBlbmRPbmx5IG9wdGlvbiBpcyB0cnVlIGZvciBhbnkgbW9kaWZpZXJcbiAgICBpZiAoIWRpZFByZUVuZCAmJiBzaG91bGREbyhvcHRpb25zLCB0cnVlLCB0cnVlKSkge1xuICAgICAgLy8gZmlyZSBhIG1vdmUgZXZlbnQgYXQgdGhlIG1vZGlmaWVkIGNvb3JkaW5hdGVzXG4gICAgICBpbnRlcmFjdGlvbi5tb3ZlKHsgZXZlbnQsIHByZUVuZDogdHJ1ZSB9KVxuICAgICAgZGlkUHJlRW5kID0gdHJ1ZVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wIChhcmcpIHtcbiAgY29uc3QgeyBpbnRlcmFjdGlvbiB9ID0gYXJnXG4gIGNvbnN0IHN0YXRlcyA9IGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXNcblxuICBpZiAoIXN0YXRlcyB8fCAhc3RhdGVzLmxlbmd0aCkge1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgbW9kaWZpZXJBcmcgPSBleHRlbmQoe1xuICAgIHN0YXRlcyxcbiAgICBpbnRlcmFjdGFibGU6IGludGVyYWN0aW9uLnRhcmdldCxcbiAgICBlbGVtZW50OiBpbnRlcmFjdGlvbi5lbGVtZW50LFxuICB9LCBhcmcpXG5cbiAgcmVzdG9yZUNvb3JkcyhhcmcpXG5cbiAgZm9yIChjb25zdCBzdGF0ZSBvZiBzdGF0ZXMpIHtcbiAgICBtb2RpZmllckFyZy5zdGF0ZSA9IHN0YXRlXG5cbiAgICBpZiAoc3RhdGUubWV0aG9kcy5zdG9wKSB7IHN0YXRlLm1ldGhvZHMuc3RvcChtb2RpZmllckFyZykgfVxuICB9XG5cbiAgYXJnLmludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXMgPSBudWxsXG59XG5cbmZ1bmN0aW9uIHNldENvb3JkcyAoYXJnKSB7XG4gIGNvbnN0IHsgaW50ZXJhY3Rpb24sIHBoYXNlIH0gPSBhcmdcbiAgY29uc3QgY3VyQ29vcmRzID0gYXJnLmN1ckNvb3JkcyB8fCBpbnRlcmFjdGlvbi5jb29yZHMuY3VyXG4gIGNvbnN0IHN0YXJ0Q29vcmRzID0gYXJnLnN0YXJ0Q29vcmRzIHx8IGludGVyYWN0aW9uLmNvb3Jkcy5zdGFydFxuICBjb25zdCB7IHJlc3VsdCwgc3RhcnREZWx0YSB9ID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzXG4gIGNvbnN0IGN1ckRlbHRhID0gcmVzdWx0LmRlbHRhXG5cbiAgaWYgKHBoYXNlID09PSAnc3RhcnQnKSB7XG4gICAgZXh0ZW5kKGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGFydERlbHRhLCByZXN1bHQuZGVsdGEpXG4gIH1cblxuICBmb3IgKGNvbnN0IFtjb29yZHNTZXQsIGRlbHRhXSBvZiBbW3N0YXJ0Q29vcmRzLCBzdGFydERlbHRhXSwgW2N1ckNvb3JkcywgY3VyRGVsdGFdXSkge1xuICAgIGNvb3Jkc1NldC5wYWdlLnggICArPSBkZWx0YS54XG4gICAgY29vcmRzU2V0LnBhZ2UueSAgICs9IGRlbHRhLnlcbiAgICBjb29yZHNTZXQuY2xpZW50LnggKz0gZGVsdGEueFxuICAgIGNvb3Jkc1NldC5jbGllbnQueSArPSBkZWx0YS55XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzdG9yZUNvb3JkcyAoeyBpbnRlcmFjdGlvbjogeyBjb29yZHMsIG1vZGlmaWVycyB9IH0pIHtcbiAgY29uc3QgeyBzdGFydERlbHRhLCByZXN1bHQ6IHsgZGVsdGE6IGN1ckRlbHRhIH0gfSA9IG1vZGlmaWVyc1xuXG4gIGZvciAoY29uc3QgW2Nvb3Jkc1NldCwgZGVsdGFdIG9mIFtbY29vcmRzLnN0YXJ0LCBzdGFydERlbHRhXSwgW2Nvb3Jkcy5jdXIsIGN1ckRlbHRhXV0pIHtcbiAgICBjb29yZHNTZXQucGFnZS54IC09IGRlbHRhLnhcbiAgICBjb29yZHNTZXQucGFnZS55IC09IGRlbHRhLnlcbiAgICBjb29yZHNTZXQuY2xpZW50LnggLT0gZGVsdGEueFxuICAgIGNvb3Jkc1NldC5jbGllbnQueSAtPSBkZWx0YS55XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TW9kaWZpZXJMaXN0IChpbnRlcmFjdGlvbiwgcmVnaXN0ZXJlZE1vZGlmaWVycykge1xuICBjb25zdCBhY3Rpb25PcHRpb25zID0gaW50ZXJhY3Rpb24udGFyZ2V0Lm9wdGlvbnNbaW50ZXJhY3Rpb24ucHJlcGFyZWQubmFtZV1cbiAgY29uc3QgYWN0aW9uTW9kaWZpZXJzID0gYWN0aW9uT3B0aW9ucy5tb2RpZmllcnNcblxuICBpZiAoYWN0aW9uTW9kaWZpZXJzICYmIGFjdGlvbk1vZGlmaWVycy5sZW5ndGgpIHtcbiAgICByZXR1cm4gYWN0aW9uTW9kaWZpZXJzLm1hcCgobW9kaWZpZXIpID0+IHtcbiAgICAgIGlmICghbW9kaWZpZXIubWV0aG9kcyAmJiBtb2RpZmllci50eXBlKSB7XG4gICAgICAgIHJldHVybiByZWdpc3RlcmVkTW9kaWZpZXJzW21vZGlmaWVyLnR5cGVdKG1vZGlmaWVyKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbW9kaWZpZXJcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIFsnc25hcCcsICdzbmFwU2l6ZScsICdzbmFwRWRnZXMnLCAncmVzdHJpY3QnLCAncmVzdHJpY3RFZGdlcycsICdyZXN0cmljdFNpemUnXVxuICAgIC5tYXAoKHR5cGUpID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSBhY3Rpb25PcHRpb25zW3R5cGVdXG5cbiAgICAgIHJldHVybiBvcHRpb25zICYmIG9wdGlvbnMuZW5hYmxlZCAmJiB7XG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIG1ldGhvZHM6IG9wdGlvbnMuX21ldGhvZHMsXG4gICAgICB9XG4gICAgfSlcbiAgICAuZmlsdGVyKChtKSA9PiAhIW0pXG59XG5cbmZ1bmN0aW9uIHNob3VsZERvIChvcHRpb25zLCBwcmVFbmQ/OiBib29sZWFuLCByZXF1aXJlRW5kT25seT86IGJvb2xlYW4sIHBoYXNlPzogc3RyaW5nKSB7XG4gIHJldHVybiBvcHRpb25zXG4gICAgPyBvcHRpb25zLmVuYWJsZWQgIT09IGZhbHNlICYmXG4gICAgICAocHJlRW5kIHx8ICFvcHRpb25zLmVuZE9ubHkpICYmXG4gICAgICAoIXJlcXVpcmVFbmRPbmx5IHx8IG9wdGlvbnMuZW5kT25seSkgJiZcbiAgICAgIChvcHRpb25zLnNldFN0YXJ0IHx8IHBoYXNlICE9PSAnc3RhcnQnKVxuICAgIDogIXJlcXVpcmVFbmRPbmx5XG59XG5cbmZ1bmN0aW9uIG1ha2VNb2RpZmllciAobW9kdWxlLCBuYW1lKSB7XG4gIGNvbnN0IHsgZGVmYXVsdHMgfSA9IG1vZHVsZVxuICBjb25zdCBtZXRob2RzID0ge1xuICAgIHN0YXJ0OiBtb2R1bGUuc3RhcnQsXG4gICAgc2V0OiBtb2R1bGUuc2V0LFxuICAgIGJlZm9yZUVuZDogbW9kdWxlLmJlZm9yZUVuZCxcbiAgICBzdG9wOiBtb2R1bGUuc3RvcCxcbiAgfVxuXG4gIGNvbnN0IG1vZGlmaWVyID0gKG9wdGlvbnMpID0+IHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fVxuXG4gICAgLy8gYWRkIG1pc3NpbmcgZGVmYXVsdHMgdG8gb3B0aW9uc1xuICAgIG9wdGlvbnMuZW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlZCAhPT0gZmFsc2VcblxuICAgIGZvciAoY29uc3QgcHJvcCBpbiBkZWZhdWx0cykge1xuICAgICAgaWYgKCEocHJvcCBpbiBvcHRpb25zKSkge1xuICAgICAgICBvcHRpb25zW3Byb3BdID0gZGVmYXVsdHNbcHJvcF1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBvcHRpb25zLCBtZXRob2RzIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoXG4gICAgICBtb2RpZmllcixcbiAgICAgICduYW1lJyxcbiAgICAgIHsgdmFsdWU6IG5hbWUgfSlcblxuICAgIC8vIGZvciBiYWNrd3JhZHMgY29tcGF0aWJpbGl0eVxuICAgIG1vZGlmaWVyLl9kZWZhdWx0cyA9IGRlZmF1bHRzXG4gICAgbW9kaWZpZXIuX21ldGhvZHMgPSBtZXRob2RzXG4gIH1cblxuICByZXR1cm4gbW9kaWZpZXJcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBpbnN0YWxsLFxuICBzdGFydEFsbCxcbiAgc2V0QWxsLFxuICBwcmVwYXJlU3RhdGVzLFxuICBzdGFydCxcbiAgYmVmb3JlTW92ZSxcbiAgYmVmb3JlRW5kLFxuICBzdG9wLFxuICBzaG91bGREbyxcbiAgZ2V0TW9kaWZpZXJMaXN0LFxuICBnZXRSZWN0T2Zmc2V0LFxuICBtYWtlTW9kaWZpZXIsXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFvQjdDLFNBQVMsT0FBTyxDQUFFLEtBQVk7SUFDNUIsTUFBTSxFQUNKLFlBQVksR0FDYixHQUFHLEtBQUssQ0FBQTtJQUVULEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDdkMsS0FBSyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFFcEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1FBQ2pELFdBQVcsQ0FBQyxTQUFTLEdBQUc7WUFDdEIsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRTtZQUNyRCxPQUFPLEVBQU0sRUFBRTtZQUNmLE1BQU0sRUFBSyxJQUFJO1lBQ2YsTUFBTSxFQUFPLElBQUk7U0FDbEIsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNyRCxLQUFLLENBQUMsR0FBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZFLENBQUMsQ0FBQyxDQUFBO0lBRUYsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDL0MsVUFBVSxDQUFDLEdBQVUsQ0FBQyxDQUFBO1FBQ3RCLEtBQUssQ0FBQyxHQUFVLEVBQUUsR0FBRyxDQUFDLFdB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QUNSLE1BQU0sRUFDTixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBRWxCLDhCQUE4QjtRQUM5QixRQUFRLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQTtRQUM3QixRQUFRLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtLQUM1QjtJQUVELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUM7QUFFRCxlQUFlO0lBQ2IsT0FBTztJQUNQLFFBQVE7SUFDUixNQUFNO0lBQ04sYUFBYTtJQUNiLEtBQUs7SUFDTCxVQUFVO0lBQ1YsU0FBUztJQUNULElBQUk7SUFDSixRQUFRO0lBQ1IsZUFBZTtJQUNmLGFBQWE7SUFDYixZQUFZO0NBQ2IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjb3BlIH0gZnJvbSAnQGludGVyYWN0anMvY29yZS9zY29wZSdcbmltcG9ydCBleHRlbmQgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvZXh0ZW5kJ1xuXG5kZWNsYXJlIG1vZHVsZSAnQGludGVyYWN0anMvY29yZS9zY29wZScge1xuICBpbnRlcmZhY2UgU2NvcGUge1xuICAgIG1vZGlmaWVycz86IGFueVxuICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL0ludGVyYWN0aW9uJyB7XG4gIGludGVyZmFjZSBJbnRlcmFjdGlvbiB7XG4gICAgbW9kaWZpZXJzPzogYW55XG4gIH1cbn1cblxuZGVjbGFyZSBtb2R1bGUgJ0BpbnRlcmFjdGpzL2NvcmUvZGVmYXVsdE9wdGlvbnMnIHtcbiAgaW50ZXJmYWNlIFBlckFjdGlvbkRlZmF1bHRzIHtcbiAgICBtb2RpZmllcnM/OiBhbnlbXVxuICB9XG59XG5cbmZ1bmN0aW9uIGluc3RhbGwgKHNjb3BlOiBTY29wZSkge1xuICBjb25zdCB7XG4gICAgaW50ZXJhY3Rpb25zLFxuICB9ID0gc2NvcGVcblxuICBzY29wZS5kZWZhdWx0cy5wZXJBY3Rpb24ubW9kaWZpZXJzID0gW11cbiAgc2NvcGUubW9kaWZpZXJzID0ge31cblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignbmV3JywgKHsgaW50ZXJhY3Rpb24gfSkgPT4ge1xuICAgIGludGVyYWN0aW9uLm1vZGlmaWVycyA9IHtcbiAgICAgIHN0YXJ0T2Zmc2V0OiB7IGxlZnQ6IDAsIHJpZ2h0OiAwLCB0b3A6IDAsIGJvdHRvbTogMCB9LFxuICAgICAgb2Zmc2V0cyAgICA6IHt9LFxuICAgICAgc3RhdGVzICAgOiBudWxsLFxuICAgICAgcmVzdWx0ICAgICA6IG51bGwsXG4gICAgfVxuICB9KVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLXN0YXJ0JywgKGFyZykgPT4ge1xuICAgIHN0YXJ0KGFyZyBhcyBhbnksIGFyZy5pbnRlcmFjdGlvbi5jb29yZHMuc3RhcnQucGFnZSwgc2NvcGUubW9kaWZpZXJzKVxuICB9KVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdhY3Rpb24tcmVzdW1lJywgKGFyZykgPT4ge1xuICAgIGJlZm9yZU1vdmUoYXJnIGFzIGFueSlcbiAgICBzdGFydChhcmcgYXMgYW55LCBhcmcuaW50ZXJhY3Rpb24uY29vcmRzLmN1ci5wYWdlLCBzY29wZS5tb2RpZmllcnMpXG4gIH0pXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2JlZm9yZS1hY3Rpb24tbW92ZScsIGJlZm9yZU1vdmUpXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLWVuZCcsIGJlZm9yZUVuZClcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYmVmb3JlLWFjdGlvbi1zdGFydCcsIHNldENvb3JkcylcbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2JlZm9yZS1hY3Rpb24tbW92ZScsIHNldENvb3JkcylcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYWZ0ZXItYWN0aW9uLXN0YXJ0JywgcmVzdG9yZUNvb3JkcyBhcyBhbnkpXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdhZnRlci1hY3Rpb24tbW92ZScsIHJlc3RvcmVDb29yZHMgYXMgYW55KVxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignc3RvcCcsIHN0b3ApXG59XG5cbmZ1bmN0aW9uIHN0YXJ0QWxsIChhcmcpIHtcbiAgZm9yIChjb25zdCBzdGF0ZSBvZiBhcmcuc3RhdGVzKSB7XG4gICAgaWYgKHN0YXRlLm1ldGhvZHMuc3RhcnQpIHtcbiAgICAgIGFyZy5zdGF0ZSA9IHN0YXRlXG4gICAgICBzdGF0ZS5tZXRob2RzLnN0YXJ0KGFyZylcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UmVjdE9mZnNldCAocmVjdCwgY29vcmRzKSB7XG4gIHJldHVybiByZWN0XG4gICAgPyB7XG4gICAgICBsZWZ0ICA6IGNvb3Jkcy54IC0gcmVjdC5sZWZ0LFxuICAgICAgdG9wICAgOiBjb29yZHMueSAtIHJlY3QudG9wLFxuICAgICAgcmlnaHQgOiByZWN0LnJpZ2h0ICAtIGNvb3Jkcy54LFxuICAgICAgYm90dG9tOiByZWN0LmJvdHRvbSAtIGNvb3Jkcy55LFxuICAgIH1cbiAgICA6IHtcbiAgICAgIGxlZnQgIDogMCxcbiAgICAgIHRvcCAgIDogMCxcbiAgICAgIHJpZ2h0IDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0IChcbiAgeyBpbnRlcmFjdGlvbiwgcGhhc2UgfTogSW50ZXJhY3QuU2lnbmFsQXJnLFxuICBwYWdlQ29vcmRzOiBJbnRlcmFjdC5Qb2ludCxcbiAgcmVnaXN0ZXJlZE1vZGlmaWVycyxcbikge1xuICBjb25zdCB7IHRhcmdldDogaW50ZXJhY3RhYmxlLCBlbGVtZW50IH0gPSBpbnRlcmFjdGlvblxuICBjb25zdCBtb2RpZmllckxpc3QgPSBnZXRNb2RpZmllckxpc3QoaW50ZXJhY3Rpb24sIHJlZ2lzdGVyZWRNb2RpZmllcnMpXG4gIGNvbnN0IHN0YXRlcyA9IHByZXBhcmVTdGF0ZXMobW9kaWZpZXJMaXN0KVxuXG4gIGNvbnN0IHJlY3QgPSBleHRlbmQoe30sIGludGVyYWN0YWJsZS5nZXRSZWN0KGVsZW1lbnQpKSBhcyAgSW50ZXJhY3QuUmVjdCAmIEludGVyYWN0LlJlY3QyXG5cbiAgaWYgKCEoJ3dpZHRoJyAgaW4gcmVjdCkpIHsgcmVjdC53aWR0aCAgPSByZWN0LnJpZ2h0ICAtIHJlY3QubGVmdCB9XG4gIGlmICghKCdoZWlnaHQnIGluIHJlY3QpKSB7IHJlY3QuaGVpZ2h0ID0gcmVjdC5ib3R0b20gLSByZWN0LnRvcCAgfVxuXG4gIGNvbnN0IHN0YXJ0T2Zmc2V0ID0gZ2V0UmVjdE9mZnNldChyZWN0LCBwYWdlQ29vcmRzKVxuXG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGFydE9mZnNldCA9IHN0YXJ0T2Zmc2V0XG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGFydERlbHRhID0geyB4OiAwLCB5OiAwIH1cblxuICBjb25zdCBhcmc6IFBhcnRpYWw8SW50ZXJhY3QuU2lnbmFsQXJnPiA9IHtcbiAgICBpbnRlcmFjdGlvbixcbiAgICBpbnRlcmFjdGFibGUsXG4gICAgZWxlbWVudCxcbiAgICBwYWdlQ29vcmRzLFxuICAgIHBoYXNlLFxuICAgIHJlY3QsXG4gICAgc3RhcnRPZmZzZXQsXG4gICAgc3RhdGVzLFxuICAgIHByZUVuZDogZmFsc2UsXG4gICAgcmVxdWlyZUVuZE9ubHk6IGZhbHNlLFxuICB9XG5cbiAgaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXRlcyA9IHN0YXRlc1xuICBpbnRlcmFjdGlvbi5tb2RpZmllcnMucmVzdWx0ID0gbnVsbFxuICBzdGFydEFsbChhcmcpXG5cbiAgYXJnLnBhZ2VDb29yZHMgPSBleHRlbmQoe30sIGludGVyYWN0aW9uLmNvb3Jkcy5zdGFydC5wYWdlKVxuXG4gIGNvbnN0IHJlc3VsdCA9IGludGVyYWN0aW9uLm1vZGlmaWVycy5yZXN1bHQgPSBzZXRBbGwoYXJnKVxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gc2V0QWxsIChhcmc6IFBhcnRpYWw8SW50ZXJhY3QuU2lnbmFsQXJnPikge1xuICBjb25zdCB7IGludGVyYWN0aW9uLCBwaGFzZSwgcHJlRW5kLCByZXF1aXJlRW5kT25seSwgcmVjdCwgc2tpcE1vZGlmaWVycyB9ID0gYXJnXG5cbiAgY29uc3Qgc3RhdGVzID0gc2tpcE1vZGlmaWVyc1xuICAgID8gYXJnLnN0YXRlcy5zbGljZShpbnRlcmFjdGlvbi5tb2RpZmllcnMuc2tpcClcbiAgICA6IGFyZy5zdGF0ZXNcblxuICBhcmcuY29vcmRzID0gZXh0ZW5kKHt9LCBhcmcucGFnZUNvb3JkcylcbiAgYXJnLnJlY3QgPSBleHRlbmQoe30sIHJlY3QpXG5cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIGRlbHRhOiB7IHg6IDAsIHk6IDAgfSxcbiAgICBjb29yZHM6IGFyZy5jb29yZHMsXG4gICAgY2hhbmdlZDogdHJ1ZSxcbiAgfVxuXG4gIGZvciAoY29uc3Qgc3RhdGUgb2Ygc3RhdGVzKSB7XG4gICAgY29uc3QgeyBvcHRpb25zIH0gPSBzdGF0ZVxuXG4gICAgaWYgKCFzdGF0ZS5tZXRob2RzLnNldCB8fFxuICAgICAgIXNob3VsZERvKG9wdGlvbnMsIHByZUVuZCwgcmVxdWlyZUVuZE9ubHksIHBoYXNlKSkgeyBjb250aW51ZSB9XG5cbiAgICBhcmcuc3RhdGUgPSBzdGF0ZVxuICAgIHN0YXRlLm1ldGhvZHMuc2V0KGFyZylcbiAgfVxuXG4gIHJlc3VsdC5kZWx0YS54ID0gYXJnLmNvb3Jkcy54IC0gYXJnLnBhZ2VDb29yZHMueFxuICByZXN1bHQuZGVsdGEueSA9IGFyZy5jb29yZHMueSAtIGFyZy5wYWdlQ29vcmRzLnlcblxuICBjb25zdCBwcmV2Q29vcmRzID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnJlc3VsdFxuICAgID8gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnJlc3VsdC5jb29yZHNcbiAgICA6IGludGVyYWN0aW9uLmNvb3Jkcy5wcmV2LnBhZ2VcblxuICByZXN1bHQuY2hhbmdlZCA9IChcbiAgICBwcmV2Q29vcmRzLnggIT09IHJlc3VsdC5jb29yZHMueCB8fFxuICAgIHByZXZDb29yZHMueSAhPT0gcmVzdWx0LmNvb3Jkcy55KVxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gcHJlcGFyZVN0YXRlcyAobW9kaWZpZXJMaXN0KSB7XG4gIGNvbnN0IHN0YXRlcyA9IFtdXG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1vZGlmaWVyTGlzdC5sZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCB7IG9wdGlvbnMsIG1ldGhvZHMsIG5hbWUgfSA9IG1vZGlmaWVyTGlzdFtpbmRleF1cblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuZW5hYmxlZCA9PT0gZmFsc2UpIHsgY29udGludWUgfVxuXG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICBvcHRpb25zLFxuICAgICAgbWV0aG9kcyxcbiAgICAgIGluZGV4LFxuICAgICAgbmFtZSxcbiAgICB9XG5cbiAgICBzdGF0ZXMucHVzaChzdGF0ZSlcbiAgfVxuXG4gIHJldHVybiBzdGF0ZXNcbn1cblxuZnVuY3Rpb24gYmVmb3JlTW92ZSAoeyBpbnRlcmFjdGlvbiwgcGhhc2UsIHByZUVuZCwgc2tpcE1vZGlmaWVycyB9KTogdm9pZCB8IGZhbHNlIHtcbiAgY29uc3QgeyB0YXJnZXQ6IGludGVyYWN0YWJsZSwgZWxlbWVudCB9ID0gaW50ZXJhY3Rpb25cbiAgY29uc3QgbW9kaWZpZXJSZXN1bHQgPSBzZXRBbGwoXG4gICAge1xuICAgICAgaW50ZXJhY3Rpb24sXG4gICAgICBpbnRlcmFjdGFibGUsXG4gICAgICBlbGVtZW50LFxuICAgICAgcHJlRW5kLFxuICAgICAgcGhhc2UsXG4gICAgICBwYWdlQ29vcmRzOiBpbnRlcmFjdGlvbi5jb29yZHMuY3VyLnBhZ2UsXG4gICAgICByZWN0OiBpbnRlcmFjdGFibGUuZ2V0UmVjdChlbGVtZW50KSxcbiAgICAgIHN0YXRlczogaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXRlcyxcbiAgICAgIHJlcXVpcmVFbmRPbmx5OiBmYWxzZSxcbiAgICAgIHNraXBNb2RpZmllcnMsXG4gICAgfSlcblxuICBpbnRlcmFjdGlvbi5tb2RpZmllcnMucmVzdWx0ID0gbW9kaWZpZXJSZXN1bHRcblxuICAvLyBkb24ndCBmaXJlIGFuIGFjdGlvbiBtb3ZlIGlmIGEgbW9kaWZpZXIgd291bGQga2VlcCB0aGUgZXZlbnQgaW4gdGhlIHNhbWVcbiAgLy8gY29yZGluYXRlcyBhcyBiZWZvcmVcbiAgaWYgKCFtb2RpZmllclJlc3VsdC5jaGFuZ2VkICYmIGludGVyYWN0aW9uLmludGVyYWN0aW5nKCkpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5mdW5jdGlvbiBiZWZvcmVFbmQgKGFyZyk6IHZvaWQgfCBmYWxzZSB7XG4gIGNvbnN0IHsgaW50ZXJhY3Rpb24sIGV2ZW50LCBub1ByZUVuZCB9ID0gYXJnXG4gIGNvbnN0IHN0YXRlcyA9IGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXNcblxuICBpZiAobm9QcmVFbmQgfHwgIXN0YXRlcyB8fCAhc3RhdGVzLmxlbmd0aCkge1xuICAgIHJldHVyblxuICB9XG5cbiAgbGV0IGRpZFByZUVuZCA9IGZhbHNlXG5cbiAgZm9yIChjb25zdCBzdGF0ZSBvZiBzdGF0ZXMpIHtcbiAgICBhcmcuc3RhdGUgPSBzdGF0ZVxuICAgIGNvbnN0IHsgb3B0aW9ucywgbWV0aG9kcyB9ID0gc3RhdGVcblxuICAgIGNvbnN0IGVuZFJlc3VsdCA9IG1ldGhvZHMuYmVmb3JlRW5kICYmIG1ldGhvZHMuYmVmb3JlRW5kKGFyZylcblxuICAgIGlmIChlbmRSZXN1bHQgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICAvLyBpZiB0aGUgZW5kT25seSBvcHRpb24gaXMgdHJ1ZSBmb3IgYW55IG1vZGlmaWVyXG4gICAgaWYgKCFkaWRQcmVFbmQgJiYgc2hvdWxkRG8ob3B0aW9ucywgdHJ1ZSwgdHJ1ZSkpIHtcbiAgICAgIC8vIGZpcmUgYSBtb3ZlIGV2ZW50IGF0IHRoZSBtb2RpZmllZCBjb29yZGluYXRlc1xuICAgICAgaW50ZXJhY3Rpb24ubW92ZSh7IGV2ZW50LCBwcmVFbmQ6IHRydWUgfSlcbiAgICAgIGRpZFByZUVuZCA9IHRydWVcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RvcCAoYXJnKSB7XG4gIGNvbnN0IHsgaW50ZXJhY3Rpb24gfSA9IGFyZ1xuICBjb25zdCBzdGF0ZXMgPSBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhdGVzXG5cbiAgaWYgKCFzdGF0ZXMgfHwgIXN0YXRlcy5sZW5ndGgpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IG1vZGlmaWVyQXJnID0gZXh0ZW5kKHtcbiAgICBzdGF0ZXMsXG4gICAgaW50ZXJhY3RhYmxlOiBpbnRlcmFjdGlvbi50YXJnZXQsXG4gICAgZWxlbWVudDogaW50ZXJhY3Rpb24uZWxlbWVudCxcbiAgfSwgYXJnKVxuXG4gIHJlc3RvcmVDb29yZHMoYXJnKVxuXG4gIGZvciAoY29uc3Qgc3RhdGUgb2Ygc3RhdGVzKSB7XG4gICAgbW9kaWZpZXJBcmcuc3RhdGUgPSBzdGF0ZVxuXG4gICAgaWYgKHN0YXRlLm1ldGhvZHMuc3RvcCkgeyBzdGF0ZS5tZXRob2RzLnN0b3AobW9kaWZpZXJBcmcpIH1cbiAgfVxuXG4gIGFyZy5pbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhdGVzID0gbnVsbFxufVxuXG5mdW5jdGlvbiBzZXRDb29yZHMgKGFyZykge1xuICBjb25zdCB7IGludGVyYWN0aW9uLCBwaGFzZSB9ID0gYXJnXG4gIGNvbnN0IGN1ckNvb3JkcyA9IGFyZy5jdXJDb29yZHMgfHwgaW50ZXJhY3Rpb24uY29vcmRzLmN1clxuICBjb25zdCBzdGFydENvb3JkcyA9IGFyZy5zdGFydENvb3JkcyB8fCBpbnRlcmFjdGlvbi5jb29yZHMuc3RhcnRcbiAgY29uc3QgeyByZXN1bHQsIHN0YXJ0RGVsdGEgfSA9IGludGVyYWN0aW9uLm1vZGlmaWVyc1xuICBjb25zdCBjdXJEZWx0YSA9IHJlc3VsdC5kZWx0YVxuXG4gIGlmIChwaGFzZSA9PT0gJ3N0YXJ0Jykge1xuICAgIGV4dGVuZChpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhcnREZWx0YSwgcmVzdWx0LmRlbHRhKVxuICB9XG5cbiAgZm9yIChjb25zdCBbY29vcmRzU2V0LCBkZWx0YV0gb2YgW1tzdGFydENvb3Jkcywgc3RhcnREZWx0YV0sIFtjdXJDb29yZHMsIGN1ckRlbHRhXV0pIHtcbiAgICBjb29yZHNTZXQucGFnZS54ICAgKz0gZGVsdGEueFxuICAgIGNvb3Jkc1NldC5wYWdlLnkgICArPSBkZWx0YS55XG4gICAgY29vcmRzU2V0LmNsaWVudC54ICs9IGRlbHRhLnhcbiAgICBjb29yZHNTZXQuY2xpZW50LnkgKz0gZGVsdGEueVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlc3RvcmVDb29yZHMgKHsgaW50ZXJhY3Rpb246IHsgY29vcmRzLCBtb2RpZmllcnMgfSB9KSB7XG4gIGNvbnN0IHsgc3RhcnREZWx0YSwgcmVzdWx0OiB7IGRlbHRhOiBjdXJEZWx0YSB9IH0gPSBtb2RpZmllcnNcblxuICBmb3IgKGNvbnN0IFtjb29yZHNTZXQsIGRlbHRhXSBvZiBbW2Nvb3Jkcy5zdGFydCwgc3RhcnREZWx0YV0sIFtjb29yZHMuY3VyLCBjdXJEZWx0YV1dKSB7XG4gICAgY29vcmRzU2V0LnBhZ2UueCAtPSBkZWx0YS54XG4gICAgY29vcmRzU2V0LnBhZ2UueSAtPSBkZWx0YS55XG4gICAgY29vcmRzU2V0LmNsaWVudC54IC09IGRlbHRhLnhcbiAgICBjb29yZHNTZXQuY2xpZW50LnkgLT0gZGVsdGEueVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldE1vZGlmaWVyTGlzdCAoaW50ZXJhY3Rpb24sIHJlZ2lzdGVyZWRNb2RpZmllcnMpIHtcbiAgY29uc3QgYWN0aW9uT3B0aW9ucyA9IGludGVyYWN0aW9uLnRhcmdldC5vcHRpb25zW2ludGVyYWN0aW9uLnByZXBhcmVkLm5hbWVdXG4gIGNvbnN0IGFjdGlvbk1vZGlmaWVycyA9IGFjdGlvbk9wdGlvbnMubW9kaWZpZXJzXG5cbiAgaWYgKGFjdGlvbk1vZGlmaWVycyAmJiBhY3Rpb25Nb2RpZmllcnMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGFjdGlvbk1vZGlmaWVycy5tYXAoKG1vZGlmaWVyKSA9PiB7XG4gICAgICBpZiAoIW1vZGlmaWVyLm1ldGhvZHMgJiYgbW9kaWZpZXIudHlwZSkge1xuICAgICAgICByZXR1cm4gcmVnaXN0ZXJlZE1vZGlmaWVyc1ttb2RpZmllci50eXBlXShtb2RpZmllcilcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1vZGlmaWVyXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBbJ3NuYXAnLCAnc25hcFNpemUnLCAnc25hcEVkZ2VzJywgJ3Jlc3RyaWN0JywgJ3Jlc3RyaWN0RWRnZXMnLCAncmVzdHJpY3RTaXplJ11cbiAgICAubWFwKCh0eXBlKSA9PiB7XG4gICAgICBjb25zdCBvcHRpb25zID0gYWN0aW9uT3B0aW9uc1t0eXBlXVxuXG4gICAgICByZXR1cm4gb3B0aW9ucyAmJiBvcHRpb25zLmVuYWJsZWQgJiYge1xuICAgICAgICBvcHRpb25zLFxuICAgICAgICBtZXRob2RzOiBvcHRpb25zLl9tZXRob2RzLFxuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcigobSkgPT4gISFtKVxufVxuXG5mdW5jdGlvbiBzaG91bGREbyAob3B0aW9ucywgcHJlRW5kPzogYm9vbGVhbiwgcmVxdWlyZUVuZE9ubHk/OiBib29sZWFuLCBwaGFzZT86IHN0cmluZykge1xuICByZXR1cm4gb3B0aW9uc1xuICAgID8gb3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZSAmJlxuICAgICAgKHByZUVuZCB8fCAhb3B0aW9ucy5lbmRPbmx5KSAmJlxuICAgICAgKCFyZXF1aXJlRW5kT25seSB8fCBvcHRpb25zLmVuZE9ubHkpICYmXG4gICAgICAob3B0aW9ucy5zZXRTdGFydCB8fCBwaGFzZSAhPT0gJ3N0YXJ0JylcbiAgICA6ICFyZXF1aXJlRW5kT25seVxufVxuXG5mdW5jdGlvbiBtYWtlTW9kaWZpZXIgKG1vZHVsZSwgbmFtZT86IHN0cmluZykge1xuICBjb25zdCB7IGRlZmF1bHRzIH0gPSBtb2R1bGVcbiAgY29uc3QgbWV0aG9kcyA9IHtcbiAgICBzdGFydDogbW9kdWxlLnN0YXJ0LFxuICAgIHNldDogbW9kdWxlLnNldCxcbiAgICBiZWZvcmVFbmQ6IG1vZHVsZS5iZWZvcmVFbmQsXG4gICAgc3RvcDogbW9kdWxlLnN0b3AsXG4gIH1cblxuICBjb25zdCBtb2RpZmllciA9IChvcHRpb25zKSA9PiB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge31cblxuICAgIC8vIGFkZCBtaXNzaW5nIGRlZmF1bHRzIHRvIG9wdGlvbnNcbiAgICBvcHRpb25zLmVuYWJsZWQgPSBvcHRpb25zLmVuYWJsZWQgIT09IGZhbHNlXG5cbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZGVmYXVsdHMpIHtcbiAgICAgIGlmICghKHByb3AgaW4gb3B0aW9ucykpIHtcbiAgICAgICAgb3B0aW9uc1twcm9wXSA9IGRlZmF1bHRzW3Byb3BdXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgb3B0aW9ucywgbWV0aG9kcywgbmFtZSB9XG4gIH1cblxuICBpZiAodHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFxuICAgICAgbW9kaWZpZXIsXG4gICAgICAnbmFtZScsXG4gICAgICB7IHZhbHVlOiBuYW1lIH0pXG5cbiAgICAvLyBmb3IgYmFja3dyYWRzIGNvbXBhdGliaWxpdHlcbiAgICBtb2RpZmllci5fZGVmYXVsdHMgPSBkZWZhdWx0c1xuICAgIG1vZGlmaWVyLl9tZXRob2RzID0gbWV0aG9kc1xuICB9XG5cbiAgcmV0dXJuIG1vZGlmaWVyXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaW5zdGFsbCxcbiAgc3RhcnRBbGwsXG4gIHNldEFsbCxcbiAgcHJlcGFyZVN0YXRlcyxcbiAgc3RhcnQsXG4gIGJlZm9yZU1vdmUsXG4gIGJlZm9yZUVuZCxcbiAgc3RvcCxcbiAgc2hvdWxkRG8sXG4gIGdldE1vZGlmaWVyTGlzdCxcbiAgZ2V0UmVjdE9mZnNldCxcbiAgbWFrZU1vZGlmaWVyLFxufVxuIl19

@@ -10,2 +10,3 @@ export declare const snap: {

};
name: string;
};

@@ -29,2 +30,3 @@ _defaults: any;

};
name: string;
};

@@ -48,2 +50,3 @@ _defaults: any;

};
name: string;
};

@@ -67,2 +70,3 @@ _defaults: any;

};
name: string;
};

@@ -86,2 +90,3 @@ _defaults: any;

};
name: string;
};

@@ -105,2 +110,3 @@ _defaults: any;

};
name: string;
};

@@ -107,0 +113,0 @@ _defaults: any;

{
"name": "@interactjs/modifiers",
"version": "1.4.0-alpha.27+sha.12b8f8f",
"version": "1.4.0-alpha.28+sha.e624c4d",
"peerDependencies": {
"@interactjs/core": "1.4.0-alpha.27+sha.12b8f8f",
"@interactjs/utils": "1.4.0-alpha.27+sha.12b8f8f"
"@interactjs/core": "1.4.0-alpha.28+sha.e624c4d",
"@interactjs/utils": "1.4.0-alpha.28+sha.e624c4d"
},
"devDependencies": {
"@interactjs/_dev": "1.4.0-alpha.27+sha.12b8f8f",
"@interactjs/core": "1.4.0-alpha.27+sha.12b8f8f",
"@interactjs/utils": "1.4.0-alpha.27+sha.12b8f8f"
"@interactjs/_dev": "1.4.0-alpha.28+sha.e624c4d",
"@interactjs/core": "1.4.0-alpha.28+sha.e624c4d",
"@interactjs/utils": "1.4.0-alpha.28+sha.e624c4d"
},

@@ -13,0 +13,0 @@ "publishConfig": {

import Interaction from '@interactjs/core/Interaction';
declare module '@interactjs/core/Interaction' {
interface Action {
linkedEdges?: {
[key: string]: boolean;
};
}
}
declare function start({ interaction, state }: {

@@ -31,3 +24,3 @@ interaction: Interaction;

};
getRestrictionRect: (value: any, interaction: any, coords?: import("../../types").Point) => any;
getRestrictionRect: (value: any, interaction: any, coords?: import("../../types/types").Point) => any;
start: typeof start;

@@ -34,0 +27,0 @@ set: typeof set;

@@ -35,3 +35,3 @@ // This module adds the options.resize.restrictEdges setting which sets min and

const { offset, options } = state;
const edges = interaction.prepared.linkedEdges || interaction.prepared.edges;
const edges = interaction.prepared._linkedEdges || interaction.prepared.edges;
if (!edges) {

@@ -80,2 +80,2 @@ return;

export default restrictEdges;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlZGdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrRUFBK0U7QUFDL0UsNkVBQTZFO0FBQzdFLEVBQUU7QUFDRiw0QkFBNEI7QUFDNUIsc0NBQXNDO0FBQ3RDLHFCQUFxQjtBQUNyQiwrREFBK0Q7QUFDL0QsK0RBQStEO0FBQy9ELE9BQU87QUFDUCxNQUFNO0FBR04sT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFDN0MsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFDOUMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFBO0FBUWhDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLFFBQVEsQ0FBQTtBQUN2QyxNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0FBQ3hGLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUE7QUFFeEYsU0FBUyxLQUFLLENBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUE0QztJQUM5RSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFBO0lBQ3pCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFBO0lBQ3JELElBQUksTUFBTSxDQUFBO0lBRVYsSUFBSSxPQUFPLEVBQUU7UUFDWCxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVqRyxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtLQUN4QztJQUVELE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQTtJQUVqQyxLQUFLLENBQUMsTUFBTSxHQUFHO1FBQ2IsR0FBRyxFQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUc7UUFDbEMsSUFBSSxFQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLElBQUk7UUFDbkMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU07UUFDckMsS0FBSyxFQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEtBQUs7S0FDckMsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLEdBQUcsQ0FBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUl6QztJQUNDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFBO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFBO0lBRTVFLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFNO0tBQ1A7SUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQy9CLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN4RSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFeEUsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN2QixPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBRXZCLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQU0sTUFBTSxDQUFDLEdBQUcsRUFBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsR0FBTSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7S0FDL0Y7U0FDSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDckIsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtLQUNsRztJQUNELElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtRQUNkLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUssTUFBTSxDQUFDLElBQUksRUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksR0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDaEc7U0FDSSxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7UUFDcEIsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxHQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtLQUNqRztBQUNILENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBRSxJQUFJLEVBQUUsUUFBUTtJQUM5QixLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDckQsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDNUI7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVELE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE9BQU87SUFDUCxPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLEtBQUs7SUFDTCxHQUFHO0lBQ0gsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLEtBQUs7UUFDZCxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUk7S0FDYjtDQUNGLENBQUE7QUFFRCxlQUFlLGFBQWEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgbW9kdWxlIGFkZHMgdGhlIG9wdGlvbnMucmVzaXplLnJlc3RyaWN0RWRnZXMgc2V0dGluZyB3aGljaCBzZXRzIG1pbiBhbmRcbi8vIG1heCBmb3IgdGhlIHRvcCwgbGVmdCwgYm90dG9tIGFuZCByaWdodCBlZGdlcyBvZiB0aGUgdGFyZ2V0IGJlaW5nIHJlc2l6ZWQuXG4vL1xuLy8gaW50ZXJhY3QodGFyZ2V0KS5yZXNpemUoe1xuLy8gICBlZGdlczogeyB0b3A6IHRydWUsIGxlZnQ6IHRydWUgfSxcbi8vICAgcmVzdHJpY3RFZGdlczoge1xuLy8gICAgIGlubmVyOiB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIHJpZ2h0OiA0MDAsIGJvdHRvbTogNDAwIH0sXG4vLyAgICAgb3V0ZXI6IHsgdG9wOiAgIDAsIGxlZnQ6ICAgMCwgcmlnaHQ6IDYwMCwgYm90dG9tOiA2MDAgfSxcbi8vICAgfSxcbi8vIH0pO1xuXG5pbXBvcnQgSW50ZXJhY3Rpb24gZnJvbSAnQGludGVyYWN0anMvY29yZS9JbnRlcmFjdGlvbidcbmltcG9ydCBleHRlbmQgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvZXh0ZW5kJ1xuaW1wb3J0IHJlY3RVdGlscyBmcm9tICdAaW50ZXJhY3Rqcy91dGlscy9yZWN0J1xuaW1wb3J0IHJlc3RyaWN0IGZyb20gJy4vcG9pbnRlcidcblxuZGVjbGFyZSBtb2R1bGUgJ0BpbnRlcmFjdGpzL2NvcmUvSW50ZXJhY3Rpb24nIHtcbiAgaW50ZXJmYWNlIEFjdGlvbiB7XG4gICAgbGlua2VkRWRnZXM/OiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfVxuICB9XG59XG5cbmNvbnN0IHsgZ2V0UmVzdHJpY3Rpb25SZWN0IH0gPSByZXN0cmljdFxuY29uc3Qgbm9Jbm5lciA9IHsgdG9wOiArSW5maW5pdHksIGxlZnQ6ICtJbmZpbml0eSwgYm90dG9tOiAtSW5maW5pdHksIHJpZ2h0OiAtSW5maW5pdHkgfVxuY29uc3Qgbm9PdXRlciA9IHsgdG9wOiAtSW5maW5pdHksIGxlZnQ6IC1JbmZpbml0eSwgYm90dG9tOiArSW5maW5pdHksIHJpZ2h0OiArSW5maW5pdHkgfVxuXG5mdW5jdGlvbiBzdGFydCAoeyBpbnRlcmFjdGlvbiwgc3RhdGUgfTogeyBpbnRlcmFjdGlvbjogSW50ZXJhY3Rpb24sIHN0YXRlOiBhbnkgfSkge1xuICBjb25zdCB7IG9wdGlvbnMgfSA9IHN0YXRlXG4gIGNvbnN0IHN0YXJ0T2Zmc2V0ID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXJ0T2Zmc2V0XG4gIGxldCBvZmZzZXRcblxuICBpZiAob3B0aW9ucykge1xuICAgIGNvbnN0IG9mZnNldFJlY3QgPSBnZXRSZXN0cmljdGlvblJlY3Qob3B0aW9ucy5vZmZzZXQsIGludGVyYWN0aW9uLCBpbnRlcmFjdGlvbi5jb29yZHMuc3RhcnQucGFnZSlcblxuICAgIG9mZnNldCA9IHJlY3RVdGlscy5yZWN0VG9YWShvZmZzZXRSZWN0KVxuICB9XG5cbiAgb2Zmc2V0ID0gb2Zmc2V0IHx8IHsgeDogMCwgeTogMCB9XG5cbiAgc3RhdGUub2Zmc2V0ID0ge1xuICAgIHRvcDogICAgb2Zmc2V0LnkgKyBzdGFydE9mZnNldC50b3AsXG4gICAgbGVmdDogICBvZmZzZXQueCArIHN0YXJ0T2Zmc2V0LmxlZnQsXG4gICAgYm90dG9tOiBvZmZzZXQueSAtIHN0YXJ0T2Zmc2V0LmJvdHRvbSxcbiAgICByaWdodDogIG9mZnNldC54IC0gc3RhcnRPZmZzZXQucmlnaHQsXG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0ICh7IGNvb3JkcywgaW50ZXJhY3Rpb24sIHN0YXRlIH06IHtcbiAgY29vcmRzOiBJbnRlcmFjdC5Qb2ludCxcbiAgaW50ZXJhY3Rpb246IEludGVyYWN0aW9uLFxuICBzdGF0ZTogYW55XG59KSB7XG4gIGNvbnN0IHsgb2Zmc2V0LCBvcHRpb25zIH0gPSBzdGF0ZVxuICBjb25zdCBlZGdlcyA9IGludGVyYWN0aW9uLnByZXBhcmVkLmxpbmtlZEVkZ2VzIHx8IGludGVyYWN0aW9uLnByZXBhcmVkLmVkZ2VzXG5cbiAgaWYgKCFlZGdlcykge1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgcGFnZSA9IGV4dGVuZCh7fSwgY29vcmRzKVxuICBjb25zdCBpbm5lciA9IGdldFJlc3RyaWN0aW9uUmVjdChvcHRpb25zLmlubmVyLCBpbnRlcmFjdGlvbiwgcGFnZSkgfHwge31cbiAgY29uc3Qgb3V0ZXIgPSBnZXRSZXN0cmljdGlvblJlY3Qob3B0aW9ucy5vdXRlciwgaW50ZXJhY3Rpb24sIHBhZ2UpIHx8IHt9XG5cbiAgZml4UmVjdChpbm5lciwgbm9Jbm5lcilcbiAgZml4UmVjdChvdXRlciwgbm9PdXRlcilcblxuICBpZiAoZWRnZXMudG9wKSB7XG4gICAgY29vcmRzLnkgPSBNYXRoLm1pbihNYXRoLm1heChvdXRlci50b3AgICAgKyBvZmZzZXQudG9wLCAgICBwYWdlLnkpLCBpbm5lci50b3AgICAgKyBvZmZzZXQudG9wKVxuICB9XG4gIGVsc2UgaWYgKGVkZ2VzLmJvdHRvbSkge1xuICAgIGNvb3Jkcy55ID0gTWF0aC5tYXgoTWF0aC5taW4ob3V0ZXIuYm90dG9tICsgb2Zmc2V0LmJvdHRvbSwgcGFnZS55KSwgaW5uZXIuYm90dG9tICsgb2Zmc2V0LmJvdHRvbSlcbiAgfVxuICBpZiAoZWRnZXMubGVmdCkge1xuICAgIGNvb3Jkcy54ID0gTWF0aC5taW4oTWF0aC5tYXgob3V0ZXIubGVmdCAgICsgb2Zmc2V0LmxlZnQsICAgcGFnZS54KSwgaW5uZXIubGVmdCAgICsgb2Zmc2V0LmxlZnQpXG4gIH1cbiAgZWxzZSBpZiAoZWRnZXMucmlnaHQpIHtcbiAgICBjb29yZHMueCA9IE1hdGgubWF4KE1hdGgubWluKG91dGVyLnJpZ2h0ICArIG9mZnNldC5yaWdodCwgIHBhZ2UueCksIGlubmVyLnJpZ2h0ICArIG9mZnNldC5yaWdodClcbiAgfVxufVxuXG5mdW5jdGlvbiBmaXhSZWN0IChyZWN0LCBkZWZhdWx0cykge1xuICBmb3IgKGNvbnN0IGVkZ2Ugb2YgWyd0b3AnLCAnbGVmdCcsICdib3R0b20nLCAncmlnaHQnXSkge1xuICAgIGlmICghKGVkZ2UgaW4gcmVjdCkpIHtcbiAgICAgIHJlY3RbZWRnZV0gPSBkZWZhdWx0c1tlZGdlXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWN0XG59XG5cbmNvbnN0IHJlc3RyaWN0RWRnZXMgPSB7XG4gIG5vSW5uZXIsXG4gIG5vT3V0ZXIsXG4gIGdldFJlc3RyaWN0aW9uUmVjdCxcbiAgc3RhcnQsXG4gIHNldCxcbiAgZGVmYXVsdHM6IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBpbm5lcjogbnVsbCxcbiAgICBvdXRlcjogbnVsbCxcbiAgICBvZmZzZXQ6IG51bGwsXG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IHJlc3RyaWN0RWRnZXNcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlZGdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrRUFBK0U7QUFDL0UsNkVBQTZFO0FBQzdFLEVBQUU7QUFDRiw0QkFBNEI7QUFDNUIsc0NBQXNDO0FBQ3RDLHFCQUFxQjtBQUNyQiwrREFBK0Q7QUFDL0QsK0RBQStEO0FBQy9ELE9BQU87QUFDUCxNQUFNO0FBR04sT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFDN0MsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFDOUMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFBO0FBRWhDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLFFBQVEsQ0FBQTtBQUN2QyxNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0FBQ3hGLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUE7QUFFeEYsU0FBUyxLQUFLLENBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUE0QztJQUM5RSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFBO0lBQ3pCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFBO0lBQ3JELElBQUksTUFBTSxDQUFBO0lBRVYsSUFBSSxPQUFPLEVBQUU7UUFDWCxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVqRyxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtLQUN4QztJQUVELE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQTtJQUVqQyxLQUFLLENBQUMsTUFBTSxHQUFHO1FBQ2IsR0FBRyxFQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUc7UUFDbEMsSUFBSSxFQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLElBQUk7UUFDbkMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU07UUFDckMsS0FBSyxFQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEtBQUs7S0FDckMsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLEdBQUcsQ0FBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUl6QztJQUNDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFBO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFBO0lBRTdFLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFNO0tBQ1A7SUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQy9CLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN4RSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFeEUsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN2QixPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBRXZCLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQU0sTUFBTSxDQUFDLEdBQUcsRUFBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsR0FBTSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7S0FDL0Y7U0FDSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDckIsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtLQUNsRztJQUNELElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtRQUNkLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUssTUFBTSxDQUFDLElBQUksRUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksR0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDaEc7U0FDSSxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7UUFDcEIsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxHQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtLQUNqRztBQUNILENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBRSxJQUFJLEVBQUUsUUFBUTtJQUM5QixLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDckQsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDNUI7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVELE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE9BQU87SUFDUCxPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLEtBQUs7SUFDTCxHQUFHO0lBQ0gsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLEtBQUs7UUFDZCxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUk7S0FDYjtDQUNGLENBQUE7QUFFRCxlQUFlLGFBQWEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgbW9kdWxlIGFkZHMgdGhlIG9wdGlvbnMucmVzaXplLnJlc3RyaWN0RWRnZXMgc2V0dGluZyB3aGljaCBzZXRzIG1pbiBhbmRcbi8vIG1heCBmb3IgdGhlIHRvcCwgbGVmdCwgYm90dG9tIGFuZCByaWdodCBlZGdlcyBvZiB0aGUgdGFyZ2V0IGJlaW5nIHJlc2l6ZWQuXG4vL1xuLy8gaW50ZXJhY3QodGFyZ2V0KS5yZXNpemUoe1xuLy8gICBlZGdlczogeyB0b3A6IHRydWUsIGxlZnQ6IHRydWUgfSxcbi8vICAgcmVzdHJpY3RFZGdlczoge1xuLy8gICAgIGlubmVyOiB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIHJpZ2h0OiA0MDAsIGJvdHRvbTogNDAwIH0sXG4vLyAgICAgb3V0ZXI6IHsgdG9wOiAgIDAsIGxlZnQ6ICAgMCwgcmlnaHQ6IDYwMCwgYm90dG9tOiA2MDAgfSxcbi8vICAgfSxcbi8vIH0pO1xuXG5pbXBvcnQgSW50ZXJhY3Rpb24gZnJvbSAnQGludGVyYWN0anMvY29yZS9JbnRlcmFjdGlvbidcbmltcG9ydCBleHRlbmQgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvZXh0ZW5kJ1xuaW1wb3J0IHJlY3RVdGlscyBmcm9tICdAaW50ZXJhY3Rqcy91dGlscy9yZWN0J1xuaW1wb3J0IHJlc3RyaWN0IGZyb20gJy4vcG9pbnRlcidcblxuY29uc3QgeyBnZXRSZXN0cmljdGlvblJlY3QgfSA9IHJlc3RyaWN0XG5jb25zdCBub0lubmVyID0geyB0b3A6ICtJbmZpbml0eSwgbGVmdDogK0luZmluaXR5LCBib3R0b206IC1JbmZpbml0eSwgcmlnaHQ6IC1JbmZpbml0eSB9XG5jb25zdCBub091dGVyID0geyB0b3A6IC1JbmZpbml0eSwgbGVmdDogLUluZmluaXR5LCBib3R0b206ICtJbmZpbml0eSwgcmlnaHQ6ICtJbmZpbml0eSB9XG5cbmZ1bmN0aW9uIHN0YXJ0ICh7IGludGVyYWN0aW9uLCBzdGF0ZSB9OiB7IGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiwgc3RhdGU6IGFueSB9KSB7XG4gIGNvbnN0IHsgb3B0aW9ucyB9ID0gc3RhdGVcbiAgY29uc3Qgc3RhcnRPZmZzZXQgPSBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhcnRPZmZzZXRcbiAgbGV0IG9mZnNldFxuXG4gIGlmIChvcHRpb25zKSB7XG4gICAgY29uc3Qgb2Zmc2V0UmVjdCA9IGdldFJlc3RyaWN0aW9uUmVjdChvcHRpb25zLm9mZnNldCwgaW50ZXJhY3Rpb24sIGludGVyYWN0aW9uLmNvb3Jkcy5zdGFydC5wYWdlKVxuXG4gICAgb2Zmc2V0ID0gcmVjdFV0aWxzLnJlY3RUb1hZKG9mZnNldFJlY3QpXG4gIH1cblxuICBvZmZzZXQgPSBvZmZzZXQgfHwgeyB4OiAwLCB5OiAwIH1cblxuICBzdGF0ZS5vZmZzZXQgPSB7XG4gICAgdG9wOiAgICBvZmZzZXQueSArIHN0YXJ0T2Zmc2V0LnRvcCxcbiAgICBsZWZ0OiAgIG9mZnNldC54ICsgc3RhcnRPZmZzZXQubGVmdCxcbiAgICBib3R0b206IG9mZnNldC55IC0gc3RhcnRPZmZzZXQuYm90dG9tLFxuICAgIHJpZ2h0OiAgb2Zmc2V0LnggLSBzdGFydE9mZnNldC5yaWdodCxcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXQgKHsgY29vcmRzLCBpbnRlcmFjdGlvbiwgc3RhdGUgfToge1xuICBjb29yZHM6IEludGVyYWN0LlBvaW50LFxuICBpbnRlcmFjdGlvbjogSW50ZXJhY3Rpb24sXG4gIHN0YXRlOiBhbnlcbn0pIHtcbiAgY29uc3QgeyBvZmZzZXQsIG9wdGlvbnMgfSA9IHN0YXRlXG4gIGNvbnN0IGVkZ2VzID0gaW50ZXJhY3Rpb24ucHJlcGFyZWQuX2xpbmtlZEVkZ2VzIHx8IGludGVyYWN0aW9uLnByZXBhcmVkLmVkZ2VzXG5cbiAgaWYgKCFlZGdlcykge1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgcGFnZSA9IGV4dGVuZCh7fSwgY29vcmRzKVxuICBjb25zdCBpbm5lciA9IGdldFJlc3RyaWN0aW9uUmVjdChvcHRpb25zLmlubmVyLCBpbnRlcmFjdGlvbiwgcGFnZSkgfHwge31cbiAgY29uc3Qgb3V0ZXIgPSBnZXRSZXN0cmljdGlvblJlY3Qob3B0aW9ucy5vdXRlciwgaW50ZXJhY3Rpb24sIHBhZ2UpIHx8IHt9XG5cbiAgZml4UmVjdChpbm5lciwgbm9Jbm5lcilcbiAgZml4UmVjdChvdXRlciwgbm9PdXRlcilcblxuICBpZiAoZWRnZXMudG9wKSB7XG4gICAgY29vcmRzLnkgPSBNYXRoLm1pbihNYXRoLm1heChvdXRlci50b3AgICAgKyBvZmZzZXQudG9wLCAgICBwYWdlLnkpLCBpbm5lci50b3AgICAgKyBvZmZzZXQudG9wKVxuICB9XG4gIGVsc2UgaWYgKGVkZ2VzLmJvdHRvbSkge1xuICAgIGNvb3Jkcy55ID0gTWF0aC5tYXgoTWF0aC5taW4ob3V0ZXIuYm90dG9tICsgb2Zmc2V0LmJvdHRvbSwgcGFnZS55KSwgaW5uZXIuYm90dG9tICsgb2Zmc2V0LmJvdHRvbSlcbiAgfVxuICBpZiAoZWRnZXMubGVmdCkge1xuICAgIGNvb3Jkcy54ID0gTWF0aC5taW4oTWF0aC5tYXgob3V0ZXIubGVmdCAgICsgb2Zmc2V0LmxlZnQsICAgcGFnZS54KSwgaW5uZXIubGVmdCAgICsgb2Zmc2V0LmxlZnQpXG4gIH1cbiAgZWxzZSBpZiAoZWRnZXMucmlnaHQpIHtcbiAgICBjb29yZHMueCA9IE1hdGgubWF4KE1hdGgubWluKG91dGVyLnJpZ2h0ICArIG9mZnNldC5yaWdodCwgIHBhZ2UueCksIGlubmVyLnJpZ2h0ICArIG9mZnNldC5yaWdodClcbiAgfVxufVxuXG5mdW5jdGlvbiBmaXhSZWN0IChyZWN0LCBkZWZhdWx0cykge1xuICBmb3IgKGNvbnN0IGVkZ2Ugb2YgWyd0b3AnLCAnbGVmdCcsICdib3R0b20nLCAncmlnaHQnXSkge1xuICAgIGlmICghKGVkZ2UgaW4gcmVjdCkpIHtcbiAgICAgIHJlY3RbZWRnZV0gPSBkZWZhdWx0c1tlZGdlXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWN0XG59XG5cbmNvbnN0IHJlc3RyaWN0RWRnZXMgPSB7XG4gIG5vSW5uZXIsXG4gIG5vT3V0ZXIsXG4gIGdldFJlc3RyaWN0aW9uUmVjdCxcbiAgc3RhcnQsXG4gIHNldCxcbiAgZGVmYXVsdHM6IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBpbm5lcjogbnVsbCxcbiAgICBvdXRlcjogbnVsbCxcbiAgICBvZmZzZXQ6IG51bGwsXG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IHJlc3RyaWN0RWRnZXNcbiJdfQ==
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