Socket
Socket
Sign inDemoInstall

deso-protocol

Package Overview
Dependencies
Maintainers
3
Versions
225
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

deso-protocol - npm Package Compare versions

Comparing version 1.1.15-beta.0 to 1.1.15-beta.1

2

package.json
{
"name": "deso-protocol",
"version": "1.1.15-beta.0",
"version": "1.1.15-beta.1",
"license": "MIT",

@@ -5,0 +5,0 @@ "description": "Client side typescript/javascript SDK for building web3 applications for the DeSo blockchain.",

@@ -62,3 +62,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

export const getTxWithFeeNanos = (pubKey, metadata, txFields) => {
var _a, _b;
var _a;
const nonce = new TransactionNonce();

@@ -69,4 +69,5 @@ // NOTE: typically we would use the block height returned from a node to build

// TODO: put in real block height buffer.
nonce.expirationBlockHeight =
(_a = txFields === null || txFields === void 0 ? void 0 : txFields.BlockHeight) !== null && _a !== void 0 ? _a : Number.MAX_SAFE_INTEGER + 275;
nonce.expirationBlockHeight = (txFields === null || txFields === void 0 ? void 0 : txFields.BlockHeight)
? txFields.BlockHeight + 275
: Number.MAX_SAFE_INTEGER;
// TODO: cache used partial IDs? Replace with better logic

@@ -92,3 +93,3 @@ // for generating random uint64

});
return computeFee(transaction, (_b = txFields === null || txFields === void 0 ? void 0 : txFields.MinFeeRateNanosPerKB) !== null && _b !== void 0 ? _b : globalConfigOptions.MinFeeRateNanosPerKB);
return computeFee(transaction, (_a = txFields === null || txFields === void 0 ? void 0 : txFields.MinFeeRateNanosPerKB) !== null && _a !== void 0 ? _a : globalConfigOptions.MinFeeRateNanosPerKB);
};

@@ -168,2 +169,2 @@ export const constructBalanceModelTx = (pubKey, metadata, txFields) => __awaiter(void 0, void 0, void 0, function* () {

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFNTCxlQUFlLEdBQ2hCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BELE9BQU8sRUFDTCxXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQU90QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2Qiw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsUUFBUSxHQUNULE1BQU0sWUFBWSxDQUFDO0FBQ3BCLGdGQUFnRjtBQUNoRix3RUFBd0U7QUFDeEUsMEVBQTBFO0FBQzFFLGdGQUFnRjtBQUVoRiw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLCtCQUErQjtBQUMvQixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLGlCQUFpQixFQUFFLEtBQUs7Q0FDekIsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQ2pDLFFBQWdCLEVBQ2hCLE1BQXNDO0FBQ3RDLDJFQUEyRTtBQUMzRSxVQUEwQixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFJNUMsRUFBRTs7SUFDSCxNQUFNLDhCQUE4QixHQUFHLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUI7UUFDdEUsbUJBQW1CLENBQUMsaUJBQWlCLENBQUM7UUFDeEMsT0FBTyxDQUFDLG9CQUFvQjtRQUMxQixDQUFDLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztR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QyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0tBQ3BCO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFnQixFQUFVLEVBQUU7SUFDeEQsT0FBTyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBYSxFQUFXLEVBQUU7SUFDN0QsT0FBTyxDQUNMLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDakQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQ2hDLE1BQWdDLEVBQ3hCLEVBQUU7SUFDVixJQUFJLENBQUMsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxDQUFBO1FBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBVyxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYnl0ZXNUb0hleCB9IGZyb20gJ0Bub2JsZS9oYXNoZXMvdXRpbHMnO1xuaW1wb3J0IHtcbiAgQ29uc3RydWN0ZWRUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBPcHRpb25hbEZlZXNBbmRFeHRyYURhdGEsXG4gIFJlcXVlc3RPcHRpb25zLFxuICBTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBUcmFuc2FjdGlvbkZlZSxcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICcuL2JhY2tlbmQtdHlwZXMnO1xuaW1wb3J0IHsgYXBpLCBjbGVhblVSTCwgZ2V0QXBwU3RhdGUgfSBmcm9tICcuL2RhdGEnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uRXh0cmFEYXRhLFxuICBUcmFuc2FjdGlvbkV4dHJhRGF0YUtWLFxuICBUcmFuc2FjdGlvbk1ldGFkYXRhQWNjZXB0TkZUQmlkLFxuICBUcmFuc2FjdGlvbk1ldGFkYXRhQ3JlYXRlTkZULFxuICBUcmFuc2FjdGlvbk1ldGFkYXRhTkZUQmlkLFxuICBUcmFuc2FjdGlvbk1ldGFkYXRhUmVjb3JkLFxuICBUcmFuc2FjdGlvbk1ldGFkYXRhU3VibWl0UG9zdCxcbiAgVHJhbnNhY3Rpb25NZXRhZGF0YVVwZGF0ZU5GVCxcbiAgVHJhbnNhY3Rpb25Ob25jZSxcbiAgVHJhbnNhY3Rpb25PdXRwdXQsXG4gIFRyYW5zYWN0aW9uVG9Nc2dEZVNvVHhuLFxuICBiczU4UHVibGljS2V5VG9Db21wcmVzc2VkQnl0ZXMsXG4gIGVuY29kZVVURjhUb0J5dGVzLFxuICBpZGVudGl0eSxcbiAgcHVibGljS2V5VG9CYXNlNThDaGVjayxcbiAgc2hhMjU2WDIsXG59IGZyb20gJy4vaWRlbnRpdHknO1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRoaXMgaXMgYWxsIHRoZSBzdHVmZiB3ZSBkb24ndCBleHBvcnQgdG8gY29uc3VtZXJzIG9mIHRoZSBsaWJyYXJ5LiBJZlxuLy8gYW55dGhpbmcgaGVyZSBuZWVkcyB0byBiZSBleHBvcnRlZCwgaXQgc2hvdWxkIGJlIG1vdmVkIHRvIGFub3RoZXIgZmlsZS5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIFRoaXMgY2FuIGJlIG11dGF0ZWQgYnkgdGhlIHVzZXIgb2YgdGhlIGxpYnJhcnkgdmlhIHRoZSBjb25maWd1cmUgZnVuY3Rpb24sXG4vLyBidXQgaXQncyBub3QgZXhwb3J0ZWQgZXhwbGljaXRseS4gV2hhdGV2ZXIgY2hhbmdlcyBhcmUgbWFkZSBleHRlcm5hbGx5IHdpbGxcbi8vIGJlIHJlZmxlY3RlZCBpbiB0aGUgbGlicmFyeS5cbmV4cG9ydCBjb25zdCBnbG9iYWxDb25maWdPcHRpb25zID0ge1xuICBNaW5GZWVSYXRlTmFub3NQZXJLQjogMTUwMCxcbiAgTG9jYWxDb25zdHJ1Y3Rpb246IGZhbHNlLFxufTtcblxuLyoqXG4gKiBXcmFwcyBzaWduaW5nIGFuZCBzdWJtaXQgdG8gaW5jbHVkZSB0aGUgY29uZmlndXJhYmxlIGZlZSwgYW5kIGFkZCBkZWZhdWx0c1xuICogZm9yIG9wdGlvbmFsIHBhcmFtcy5cbiAqXG4gKiBAcGFyYW0gZW5kcG9pbnQgdGhlIGVuZHBvaW50IGZvciBjb25zdHJ1Y3RpbmcgdGhlIHRyYW5zYWN0aW9uXG4gKiBAcGFyYW0gcGFyYW1zIHR4IHNwZWNpZmljIHBhcmFtcyBmb3IgdGhlIGVuZHBvaW50ICsgb3B0aW9uYWwgZmVlcyBhbmQgZXh0cmEgZGF0YVxuICovXG5leHBvcnQgY29uc3QgaGFuZGxlU2lnbkFuZFN1Ym1pdCA9IGFzeW5jIChcbiAgZW5kcG9pbnQ6IHN0cmluZyxcbiAgcGFyYW1zOiBPcHRpb25hbEZlZXNBbmRFeHRyYURhdGEgJiBhbnksXG4gIC8vIHdlIGFsd2F5cyBicm9hZGNhc3QgYnkgZGVmYXVsdCwgYnV0IGNvbnN1bWVycyBjYW4gb3B0aW9uYWxseSBkaXNhYmxlIGl0LlxuICBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyA9IHsgYnJvYWRjYXN0OiB0cnVlIH1cbik6IFByb21pc2U8e1xuICBjb25zdHJ1Y3RlZFRyYW5zYWN0aW9uUmVzcG9uc2U6IENvbnN0cnVjdGVkVHJhbnNhY3Rpb25SZXNwb25zZTtcbiAgc3VibWl0dGVkVHJhbnNhY3Rpb25SZXNwb25zZTogU3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZSB8IG51bGw7XG59PiA9PiB7XG4gIGNvbnN0IGNvbnN0cnVjdGVkVHJhbnNhY3Rpb25SZXNwb25zZSA9IGF3YWl0ICgob3B0aW9ucy5sb2NhbENvbnN0cnVjdGlvbiB8fFxuICAgIGdsb2JhbENvbmZpZ09wdGlvbnMuTG9jYWxDb25zdHJ1Y3Rpb24pICYmXG4gIG9wdGlvbnMuY29uc3RydWN0aW9uRnVuY3Rpb25cbiAgICA/IG9wdGlvbnMuY29uc3RydWN0aW9uRnVuY3Rpb24ocGFyYW1zKVxuICAgIDogYXBpLnBvc3QoXG4gICAgICAgIG9wdGlvbnMubm9kZVVSSSA/IGAke2NsZWFuVVJMKG9wdGlvbnMubm9kZVVSSSwgZW5kcG9pbnQpfWAgOiBlbmRwb2ludCxcbiAgICAgICAge1xuICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICBNaW5GZWVSYXRlTmFub3NQZXJLQjpcbiAgICAgICAgICAgIHBhcmFtcy5NaW5GZWVSYXRlTmFub3NQZXJLQiA/P1xuICAgICAgICAgICAgZ2xvYmFsQ29uZmlnT3B0aW9ucy5NaW5GZWVSYXRlTmFub3NQZXJLQixcbiAgICAgICAgfVxuICAgICAgKSk7XG4gIGlmIChcbiAgICAob3B0aW9ucy5sb2NhbENvbnN0cnVjdGlvbiB8fCBnbG9iYWxDb25maWdPcHRpb25zLkxvY2FsQ29uc3RydWN0aW9uKSAmJlxuICAgIG9wdGlvbnMuY29uc3RydWN0aW9uRnVuY3Rpb25cbiAgKSB7XG4gICAgY29uc29sZS5sb2coY29uc3RydWN0ZWRUcmFuc2FjdGlvblJlc3BvbnNlKTtcbiAgfVxuICBjb25zdCBzdWJtaXR0ZWRUcmFuc2FjdGlvblJlc3BvbnNlID1cbiAgICBvcHRpb25zLmJyb2FkY2FzdCAhPT0gZmFsc2VcbiAgICAgID8gYXdhaXQgaWRlbnRpdHkuc2lnbkFuZFN1Ym1pdChjb25zdHJ1Y3RlZFRyYW5zYWN0aW9uUmVzcG9uc2UpXG4gICAgICA6IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBjb25zdHJ1Y3RlZFRyYW5zYWN0aW9uUmVzcG9uc2UsXG4gICAgc3VibWl0dGVkVHJhbnNhY3Rpb25SZXNwb25zZSxcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhbGFuY2VNb2RlbFRyYW5zYWN0aW9uRmllbGRzID0ge1xuICBPdXRwdXRzPzogVHJhbnNhY3Rpb25PdXRwdXRbXTtcbiAgRXh0cmFEYXRhPzogeyBbazogc3RyaW5nXTogc3RyaW5nIH07XG4gIENvbnNlbnN1c0V4dHJhRGF0YUtWcz86IFRyYW5zYWN0aW9uRXh0cmFEYXRhS1ZbXTtcbiAgTWluRmVlUmF0ZU5hbm9zUGVyS0I/OiBudW1iZXI7XG4gIFRyYW5zYWN0aW9uRmVlcz86IFRyYW5zYWN0aW9uRmVlW10gfCBudWxsO1xuICBCbG9ja0hlaWdodD86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0RXh0cmFEYXRhID0gKFxuICBleHRyYURhdGE/OiB7IFtrOiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgY29uc2Vuc3VzRXh0cmFEYXRhS1ZzPzogVHJhbnNhY3Rpb25FeHRyYURhdGFLVltdXG4pOiBUcmFuc2FjdGlvbkV4dHJhRGF0YSA9PiB7XG4gIGNvbnN0IHNvcnRlZEV4dHJhRGF0YSA9IChjb25zZW5zdXNFeHRyYURhdGFLVnMgfHwgW10pXG4gICAgLmNvbmNhdChcbiAgICAgIE9iamVjdC5lbnRyaWVzKGV4dHJhRGF0YSB8fCB7fSkubWFwKFxuICAgICAgICAoW2ssIHZdKSA9PlxuICAgICAgICAgIG5ldyBUcmFuc2FjdGlvbkV4dHJhRGF0YUtWKGVuY29kZVVURjhUb0J5dGVzKGspLCBlbmNvZGVVVEY4VG9CeXRlcyh2KSlcbiAgICAgIClcbiAgICApXG4gICAgLnNvcnQoKGEsIGIpID0+IGEua2V5LnRvU3RyaW5nKCkubG9jYWxlQ29tcGFyZShiLmtleS50b1N0cmluZygpKSk7XG4gIGNvbnN0IHJlYWxFeHRyYURhdGEgPSBuZXcgVHJhbnNhY3Rpb25FeHRyYURhdGEoKTtcbiAgcmVhbEV4dHJhRGF0YS5rdnMgPSBzb3J0ZWRFeHRyYURhdGE7XG4gIHJldHVybiByZWFsRXh0cmFEYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFR4V2l0aEZlZU5hbm9zID0gKFxuICBwdWJLZXk6IHN0cmluZyxcbiAgbWV0YWRhdGE6IFRyYW5zYWN0aW9uTWV0YWRhdGFSZWNvcmQsXG4gIHR4RmllbGRzPzogQmFsYW5jZU1vZGVsVHJhbnNhY3Rpb25GaWVsZHNcbikgPT4ge1xuICBjb25zdCBub25jZSA9IG5ldyBUcmFuc2FjdGlvbk5vbmNlKCk7XG4gIC8vIE5PVEU6IHR5cGljYWxseSB3ZSB3b3VsZCB1c2UgdGhlIGJsb2NrIGhlaWdodCByZXR1cm5lZCBmcm9tIGEgbm9kZSB0byBidWlsZFxuICAvLyBhIHRyYW5zYWN0aW9uLCBidXQganVzdCBmb3IgY2FsY3VsYXRpbmcgZmVlcyB3ZSBjYW4gdXNlIGEgcHNldWRvIHZhbHVlLCBpblxuICAvLyB0aGlzIGNhc2Ugd2UganVzdCB1c2UgdGhlIG1heCBzYWZlIGludGVnZXIuXG4gIC8vIFRPRE86IHB1dCBpbiByZWFsIGJsb2NrIGhlaWdodCBidWZmZXIuXG4gIG5vbmNlLmV4cGlyYXRpb25CbG9ja0hlaWdodCA9XG4gICAgdHhGaWVsZHM/LkJsb2NrSGVpZ2h0ID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSICsgMjc1O1xuICAvLyBUT0RPOiBjYWNoZSB1c2VkIHBhcnRpYWwgSURzPyBSZXBsYWNlIHdpdGggYmV0dGVyIGxvZ2ljXG4gIC8vIGZvciBnZW5lcmF0aW5nIHJhbmRvbSB1aW50NjRcbiAgbm9uY2UucGFydGlhbElkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMWUxOCk7XG4gIGNvbnN0IHRyYW5zYWN0aW9uRmVlT3V0cHV0cyA9ICh0eEZpZWxkcz8uVHJhbnNhY3Rpb25GZWVzIHx8IFtdKS5tYXAoKHRmKSA9PiB7XG4gICAgY29uc3QgbmV3T3V0cHV0ID0gbmV3IFRyYW5zYWN0aW9uT3V0cHV0KCk7XG4gICAgbmV3T3V0cHV0LnB1YmxpY0tleSA9IGJzNThQdWJsaWNLZXlUb0NvbXByZXNzZWRCeXRlcyhcbiAgICAgIHRmLlB1YmxpY0tleUJhc2U1OENoZWNrXG4gICAgKTtcbiAgICBuZXdPdXRwdXQuYW1vdW50TmFub3MgPSB0Zi5BbW91bnROYW5vcztcbiAgICByZXR1cm4gbmV3T3V0cHV0O1xuICB9KTtcbiAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24oe1xuICAgIHZlcnNpb246IDEsXG4gICAgZmVlTmFub3M6IDAsXG4gICAgbm9uY2UsXG4gICAgbWV0YWRhdGEsXG4gICAgb3V0cHV0czogdHJhbnNhY3Rpb25GZWVPdXRwdXRzLmNvbmNhdCh0eEZpZWxkcz8uT3V0cHV0cyB8fCBbXSksXG4gICAgaW5wdXRzOiBbXSxcbiAgICBleHRyYURhdGE6IGNvbnZlcnRFeHRyYURhdGEoXG4gICAgICB0eEZpZWxkcz8uRXh0cmFEYXRhLFxuICAgICAgdHhGaWVsZHM/LkNvbnNlbnN1c0V4dHJhRGF0YUtWc1xuICAgICksXG4gICAgcHVibGljS2V5OiBiczU4UHVibGljS2V5VG9Db21wcmVzc2VkQnl0ZXMocHViS2V5KSxcbiAgICBzaWduYXR1cmU6IG5ldyBVaW50OEFycmF5KDApLFxuICB9KTtcblxuICByZXR1cm4gY29tcHV0ZUZlZShcbiAgICB0cmFuc2FjdGlvbixcbiAgICB0eEZpZWxkcz8uTWluRmVlUmF0ZU5hbm9zUGVyS0IgPz8gZ2xvYmFsQ29uZmlnT3B0aW9ucy5NaW5GZWVSYXRlTmFub3NQZXJLQlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbnN0cnVjdEJhbGFuY2VNb2RlbFR4ID0gYXN5bmMgKFxuICBwdWJLZXk6IHN0cmluZyxcbiAgbWV0YWRhdGE6IFRyYW5zYWN0aW9uTWV0YWRhdGFSZWNvcmQsXG4gIHR4RmllbGRzPzogQmFsYW5jZU1vZGVsVHJhbnNhY3Rpb25GaWVsZHNcbik6IFByb21pc2U8Q29uc3RydWN0ZWRUcmFuc2FjdGlvblJlc3BvbnNlPiA9PiB7XG4gIC8vIFRPRE86IGNhY2hlIGJsb2NrIGhlaWdodCBzb21ld2hlcmUuXG4gIGNvbnN0IHsgQmxvY2tIZWlnaHQgfSA9IGF3YWl0IGdldEFwcFN0YXRlKCk7XG5cbiAgY29uc3QgdHhuV2l0aEZlZSA9IGdldFR4V2l0aEZlZU5hbm9zKHB1YktleSwgbWV0YWRhdGEsIHtcbiAgICAuLi50eEZpZWxkcyxcbiAgICBCbG9ja0hlaWdodCxcbiAgfSk7XG5cbiAgY29uc3QgdHhuQnl0ZXMgPSB0eG5XaXRoRmVlLnRvQnl0ZXMoKTtcbiAgY29uc3QgVHJhbnNhY3Rpb25IZXggPSBieXRlc1RvSGV4KHR4bkJ5dGVzKTtcblxuICAvLyBUT0RPOiBtYWludGFpbiBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggZXZlcnl0aGluZyByZXR1cm5lZCBpbiB0aGUgY29uc3RydWN0ZWQgdHJhbnNhY3Rpb25cbiAgLy8gcmVzcG9uc2Ugb2JqZWN0IGZvciBlYWNoIHR5cGUuIHRoaXMgd2lsbCBiZSBhIGhlYWRhY2hlIG5vIGRvdWJ0LlxuICBjb25zdCBmZWVzID0gdHhuV2l0aEZlZS5mZWVOYW5vcztcbiAgY29uc3Qgb3V0cHV0U3VtID0gdHhuV2l0aEZlZS5vdXRwdXRzLnJlZHVjZSgoYSwgYikgPT4gYSArIGIuYW1vdW50TmFub3MsIDApO1xuICAvLyBUT0RPOiBzdW0gZXh0cmEgc3BlbmQgZm9yIGNyZWF0b3IgY29pbnMsIGRhbyBjb2luIGxpbWl0IG9yZGVycyAodWdoKSwgY3JlYXRlIE5GVHMsIGNyZWF0ZSBwcm9maWxlXG4gIC8vIE5GVCBidXlzLiBQcm9iYWJseSBub3QgbmVjZXNzYXJpbHksIGJ1dCB3b3VsZCBiZSBiZXN0IHRvIGhhdmUgdGhpcy5cbiAgY29uc3QgdHhuSGFzaCA9IHNoYTI1NlgyKHR4bkJ5dGVzKTtcbiAgY29uc3QgdHhuVHlwZSA9IHR4bldpdGhGZWUuZ2V0VHhuVHlwZVN0cmluZygpO1xuICByZXR1cm4ge1xuICAgIFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblRvTXNnRGVTb1R4bih0eG5XaXRoRmVlKSxcbiAgICBGZWVOYW5vczogZmVlcyxcbiAgICBUcmFuc2FjdGlvbkhleCxcbiAgICBDaGFuZ2VBbW91bnROYW5vczogMCxcbiAgICBUb3RhbElucHV0TmFub3M6IGZlZXMgKyBvdXRwdXRTdW0sXG4gICAgU3BlbmRBbW91bnROYW5vczogZmVlcyArIG91dHB1dFN1bSxcbiAgICBUcmFuc2FjdGlvbklEQmFzZTU4Q2hlY2s6IHB1YmxpY0tleVRvQmFzZTU4Q2hlY2sodHhuSGFzaCksXG4gICAgVHhuSGFzaEhleDogYnl0ZXNUb0hleCh0eG5IYXNoKSxcbiAgICBQb3N0SGFzaEhleDpcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5TdWJtaXRQb3N0ID8gYnl0ZXNUb0hleCh0eG5IYXNoKSA6IHVuZGVmaW5lZCxcbiAgICBUc3RhbXBOYW5vczpcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5TdWJtaXRQb3N0XG4gICAgICAgID8gKG1ldGFkYXRhIGFzIFRyYW5zYWN0aW9uTWV0YWRhdGFTdWJtaXRQb3N0KS50aW1lc3RhbXBOYW5vc1xuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICBORlRQb3N0SGFzaEhleDpcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5DcmVhdGVORlQgfHxcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5VcGRhdGVORlQgfHxcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5ORlRCaWQgfHxcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5BY2NlcHRORlRCaWRcbiAgICAgICAgPyBieXRlc1RvSGV4KFxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICBtZXRhZGF0YSBhc1xuICAgICAgICAgICAgICAgIHwgVHJhbnNhY3Rpb25NZXRhZGF0YUNyZWF0ZU5GVFxuICAgICAgICAgICAgICAgIHwgVHJhbnNhY3Rpb25NZXRhZGF0YVVwZGF0ZU5GVFxuICAgICAgICAgICAgICAgIHwgVHJhbnNhY3Rpb25NZXRhZGF0YU5GVEJpZFxuICAgICAgICAgICAgICAgIHwgVHJhbnNhY3Rpb25NZXRhZGF0YUFjY2VwdE5GVEJpZFxuICAgICAgICAgICAgKS5uZnRQb3N0SGFzaFxuICAgICAgICAgIClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgU2VyaWFsTnVtYmVyOlxuICAgICAgdHhuVHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlVwZGF0ZU5GVCB8fFxuICAgICAgdHhuVHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLk5GVEJpZCB8fFxuICAgICAgdHhuVHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFjY2VwdE5GVEJpZFxuICAgICAgICA/IChcbiAgICAgICAgICAgIG1ldGFkYXRhIGFzXG4gICAgICAgICAgICAgIHwgVHJhbnNhY3Rpb25NZXRhZGF0YVVwZGF0ZU5GVFxuICAgICAgICAgICAgICB8IFRyYW5zYWN0aW9uTWV0YWRhdGFORlRCaWRcbiAgICAgICAgICAgICAgfCBUcmFuc2FjdGlvbk1ldGFkYXRhQWNjZXB0TkZUQmlkXG4gICAgICAgICAgKS5zZXJpYWxOdW1iZXJcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgVXBkYXRlclB1YmxpY0tleUJhc2U1OENoZWNrOlxuICAgICAgdHhuVHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLk5GVEJpZCA/IHB1YktleSA6IHVuZGVmaW5lZCxcbiAgICBCaWRBbW91bnROYW5vczpcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5ORlRCaWQgfHxcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5BY2NlcHRORlRCaWRcbiAgICAgICAgPyAoXG4gICAgICAgICAgICBtZXRhZGF0YSBhc1xuICAgICAgICAgICAgICB8IFRyYW5zYWN0aW9uTWV0YWRhdGFBY2NlcHRORlRCaWRcbiAgICAgICAgICAgICAgfCBUcmFuc2FjdGlvbk1ldGFkYXRhTkZUQmlkXG4gICAgICAgICAgKS5iaWRBbW91bnROYW5vc1xuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICBCaWRkZXJQdWJsaWNLZXlCYXNlNThDaGVjazpcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5BY2NlcHRORlRCaWRcbiAgICAgICAgPyBwdWJsaWNLZXlUb0Jhc2U1OENoZWNrKFxuICAgICAgICAgICAgKG1ldGFkYXRhIGFzIFRyYW5zYWN0aW9uTWV0YWRhdGFBY2NlcHRORlRCaWQpLmJpZGRlclBLSURcbiAgICAgICAgICApXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbXB1dGVGZWUgPSAodHhuOiBUcmFuc2FjdGlvbiwgZmVlUmF0ZTogbnVtYmVyKTogVHJhbnNhY3Rpb24gPT4ge1xuICBpZiAoIWZlZVJhdGUpIHJldHVybiB0eG47XG4gIGxldCBwcmV2RmVlID0gMDtcbiAgbGV0IGZlZSA9IDA7XG4gIHdoaWxlIChwcmV2RmVlID09IDAgfHwgcHJldkZlZSAhPSBmZWUpIHtcbiAgICBwcmV2RmVlID0gZmVlO1xuICAgIGNvbnN0IHNpemUgPSBjb21wdXRlVHhTaXplKHR4bikgKyA3MTtcbiAgICBmZWUgPSBNYXRoLmNlaWwoKHNpemUgKiBmZWVSYXRlKSAvIDEwMDApO1xuICAgIHR4bi5mZWVOYW5vcyA9IGZlZTtcbiAgfVxuICByZXR1cm4gdHhuO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbXB1dGVUeFNpemUgPSAodHhuOiBUcmFuc2FjdGlvbik6IG51bWJlciA9PiB7XG4gIHJldHVybiB0eG4udG9CeXRlcygpLmxlbmd0aDtcbn07XG5cbmV4cG9ydCBjb25zdCBpc01heWJlRGVTb1B1YmxpY0tleSA9IChxdWVyeTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAoXG4gICAgKHF1ZXJ5Lmxlbmd0aCA9PT0gNTUgJiYgcXVlcnkuc3RhcnRzV2l0aCgnQkMnKSkgfHxcbiAgICAocXVlcnkubGVuZ3RoID09PSA1NCAmJiBxdWVyeS5zdGFydHNXaXRoKCd0QkMnKSlcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzdW1UcmFuc2FjdGlvbkZlZXMgPSAoXG4gIHR4RmVlcz86IFRyYW5zYWN0aW9uRmVlW10gfCBudWxsXG4pOiBudW1iZXIgPT4ge1xuICBpZiAoIXR4RmVlcz8ubGVuZ3RoKSByZXR1cm4gMDtcbiAgcmV0dXJuIHR4RmVlcy5yZWR1Y2UoKGFjYywgY3VycikgPT4gYWNjICsgY3Vyci5BbW91bnROYW5vcywgMCBhcyBudW1iZXIpO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFNTCxlQUFlLEdBQ2hCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BELE9BQU8sRUFDTCxXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQU90QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2Qiw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsUUFBUSxHQUNULE1BQU0sWUFBWSxDQUFDO0FBQ3BCLGdGQUFnRjtBQUNoRix3RUFBd0U7QUFDeEUsMEVBQTBFO0FBQzFFLGdGQUFnRjtBQUVoRiw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLCtCQUErQjtBQUMvQixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLGlCQUFpQixFQUFFLEtBQUs7Q0FDekIsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQ2pDLFFBQWdCLEVBQ2hCLE1BQXNDO0FBQ3RDLDJFQUEyRTtBQUMzRSxVQUEwQixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFJNUMsRUFBRTs7SUFDSCxNQUFNLDhCQUE4QixHQUFHLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUI7UUFDdEUsbUJBQW1CLENBQUMsaUJBQWlCLENBQUM7UUFDeEMsT0FBTyxDQUFDLG9CQUFvQjtRQUMxQixDQUFDLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztR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SSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN6QyxHQUFHLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztLQUNwQjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBZ0IsRUFBVSxFQUFFO0lBQ3hELE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUM5QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQWEsRUFBVyxFQUFFO0lBQzdELE9BQU8sQ0FDTCxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2pELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxNQUFnQyxFQUN4QixFQUFFO0lBQ1YsSUFBSSxDQUFDLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sQ0FBQTtRQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQVcsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJ5dGVzVG9IZXggfSBmcm9tICdAbm9ibGUvaGFzaGVzL3V0aWxzJztcbmltcG9ydCB7XG4gIENvbnN0cnVjdGVkVHJhbnNhY3Rpb25SZXNwb25zZSxcbiAgT3B0aW9uYWxGZWVzQW5kRXh0cmFEYXRhLFxuICBSZXF1ZXN0T3B0aW9ucyxcbiAgU3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZSxcbiAgVHJhbnNhY3Rpb25GZWUsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnLi9iYWNrZW5kLXR5cGVzJztcbmltcG9ydCB7IGFwaSwgY2xlYW5VUkwsIGdldEFwcFN0YXRlIH0gZnJvbSAnLi9kYXRhJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbkV4dHJhRGF0YSxcbiAgVHJhbnNhY3Rpb25FeHRyYURhdGFLVixcbiAgVHJhbnNhY3Rpb25NZXRhZGF0YUFjY2VwdE5GVEJpZCxcbiAgVHJhbnNhY3Rpb25NZXRhZGF0YUNyZWF0ZU5GVCxcbiAgVHJhbnNhY3Rpb25NZXRhZGF0YU5GVEJpZCxcbiAgVHJhbnNhY3Rpb25NZXRhZGF0YVJlY29yZCxcbiAgVHJhbnNhY3Rpb25NZXRhZGF0YVN1Ym1pdFBvc3QsXG4gIFRyYW5zYWN0aW9uTWV0YWRhdGFVcGRhdGVORlQsXG4gIFRyYW5zYWN0aW9uTm9uY2UsXG4gIFRyYW5zYWN0aW9uT3V0cHV0LFxuICBUcmFuc2FjdGlvblRvTXNnRGVTb1R4bixcbiAgYnM1OFB1YmxpY0tleVRvQ29tcHJlc3NlZEJ5dGVzLFxuICBlbmNvZGVVVEY4VG9CeXRlcyxcbiAgaWRlbnRpdHksXG4gIHB1YmxpY0tleVRvQmFzZTU4Q2hlY2ssXG4gIHNoYTI1NlgyLFxufSBmcm9tICcuL2lkZW50aXR5Jztcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUaGlzIGlzIGFsbCB0aGUgc3R1ZmYgd2UgZG9uJ3QgZXhwb3J0IHRvIGNvbnN1bWVycyBvZiB0aGUgbGlicmFyeS4gSWZcbi8vIGFueXRoaW5nIGhlcmUgbmVlZHMgdG8gYmUgZXhwb3J0ZWQsIGl0IHNob3VsZCBiZSBtb3ZlZCB0byBhbm90aGVyIGZpbGUuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBUaGlzIGNhbiBiZSBtdXRhdGVkIGJ5IHRoZSB1c2VyIG9mIHRoZSBsaWJyYXJ5IHZpYSB0aGUgY29uZmlndXJlIGZ1bmN0aW9uLFxuLy8gYnV0IGl0J3Mgbm90IGV4cG9ydGVkIGV4cGxpY2l0bHkuIFdoYXRldmVyIGNoYW5nZXMgYXJlIG1hZGUgZXh0ZXJuYWxseSB3aWxsXG4vLyBiZSByZWZsZWN0ZWQgaW4gdGhlIGxpYnJhcnkuXG5leHBvcnQgY29uc3QgZ2xvYmFsQ29uZmlnT3B0aW9ucyA9IHtcbiAgTWluRmVlUmF0ZU5hbm9zUGVyS0I6IDE1MDAsXG4gIExvY2FsQ29uc3RydWN0aW9uOiBmYWxzZSxcbn07XG5cbi8qKlxuICogV3JhcHMgc2lnbmluZyBhbmQgc3VibWl0IHRvIGluY2x1ZGUgdGhlIGNvbmZpZ3VyYWJsZSBmZWUsIGFuZCBhZGQgZGVmYXVsdHNcbiAqIGZvciBvcHRpb25hbCBwYXJhbXMuXG4gKlxuICogQHBhcmFtIGVuZHBvaW50IHRoZSBlbmRwb2ludCBmb3IgY29uc3RydWN0aW5nIHRoZSB0cmFuc2FjdGlvblxuICogQHBhcmFtIHBhcmFtcyB0eCBzcGVjaWZpYyBwYXJhbXMgZm9yIHRoZSBlbmRwb2ludCArIG9wdGlvbmFsIGZlZXMgYW5kIGV4dHJhIGRhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IGhhbmRsZVNpZ25BbmRTdWJtaXQgPSBhc3luYyAoXG4gIGVuZHBvaW50OiBzdHJpbmcsXG4gIHBhcmFtczogT3B0aW9uYWxGZWVzQW5kRXh0cmFEYXRhICYgYW55LFxuICAvLyB3ZSBhbHdheXMgYnJvYWRjYXN0IGJ5IGRlZmF1bHQsIGJ1dCBjb25zdW1lcnMgY2FuIG9wdGlvbmFsbHkgZGlzYWJsZSBpdC5cbiAgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMgPSB7IGJyb2FkY2FzdDogdHJ1ZSB9XG4pOiBQcm9taXNlPHtcbiAgY29uc3RydWN0ZWRUcmFuc2FjdGlvblJlc3BvbnNlOiBDb25zdHJ1Y3RlZFRyYW5zYWN0aW9uUmVzcG9uc2U7XG4gIHN1Ym1pdHRlZFRyYW5zYWN0aW9uUmVzcG9uc2U6IFN1Ym1pdFRyYW5zYWN0aW9uUmVzcG9uc2UgfCBudWxsO1xufT4gPT4ge1xuICBjb25zdCBjb25zdHJ1Y3RlZFRyYW5zYWN0aW9uUmVzcG9uc2UgPSBhd2FpdCAoKG9wdGlvbnMubG9jYWxDb25zdHJ1Y3Rpb24gfHxcbiAgICBnbG9iYWxDb25maWdPcHRpb25zLkxvY2FsQ29uc3RydWN0aW9uKSAmJlxuICBvcHRpb25zLmNvbnN0cnVjdGlvbkZ1bmN0aW9uXG4gICAgPyBvcHRpb25zLmNvbnN0cnVjdGlvbkZ1bmN0aW9uKHBhcmFtcylcbiAgICA6IGFwaS5wb3N0KFxuICAgICAgICBvcHRpb25zLm5vZGVVUkkgPyBgJHtjbGVhblVSTChvcHRpb25zLm5vZGVVUkksIGVuZHBvaW50KX1gIDogZW5kcG9pbnQsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgTWluRmVlUmF0ZU5hbm9zUGVyS0I6XG4gICAgICAgICAgICBwYXJhbXMuTWluRmVlUmF0ZU5hbm9zUGVyS0IgPz9cbiAgICAgICAgICAgIGdsb2JhbENvbmZpZ09wdGlvbnMuTWluRmVlUmF0ZU5hbm9zUGVyS0IsXG4gICAgICAgIH1cbiAgICAgICkpO1xuICBpZiAoXG4gICAgKG9wdGlvbnMubG9jYWxDb25zdHJ1Y3Rpb24gfHwgZ2xvYmFsQ29uZmlnT3B0aW9ucy5Mb2NhbENvbnN0cnVjdGlvbikgJiZcbiAgICBvcHRpb25zLmNvbnN0cnVjdGlvbkZ1bmN0aW9uXG4gICkge1xuICAgIGNvbnNvbGUubG9nKGNvbnN0cnVjdGVkVHJhbnNhY3Rpb25SZXNwb25zZSk7XG4gIH1cbiAgY29uc3Qgc3VibWl0dGVkVHJhbnNhY3Rpb25SZXNwb25zZSA9XG4gICAgb3B0aW9ucy5icm9hZGNhc3QgIT09IGZhbHNlXG4gICAgICA/IGF3YWl0IGlkZW50aXR5LnNpZ25BbmRTdWJtaXQoY29uc3RydWN0ZWRUcmFuc2FjdGlvblJlc3BvbnNlKVxuICAgICAgOiBudWxsO1xuXG4gIHJldHVybiB7XG4gICAgY29uc3RydWN0ZWRUcmFuc2FjdGlvblJlc3BvbnNlLFxuICAgIHN1Ym1pdHRlZFRyYW5zYWN0aW9uUmVzcG9uc2UsXG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBCYWxhbmNlTW9kZWxUcmFuc2FjdGlvbkZpZWxkcyA9IHtcbiAgT3V0cHV0cz86IFRyYW5zYWN0aW9uT3V0cHV0W107XG4gIEV4dHJhRGF0YT86IHsgW2s6IHN0cmluZ106IHN0cmluZyB9O1xuICBDb25zZW5zdXNFeHRyYURhdGFLVnM/OiBUcmFuc2FjdGlvbkV4dHJhRGF0YUtWW107XG4gIE1pbkZlZVJhdGVOYW5vc1BlcktCPzogbnVtYmVyO1xuICBUcmFuc2FjdGlvbkZlZXM/OiBUcmFuc2FjdGlvbkZlZVtdIHwgbnVsbDtcbiAgQmxvY2tIZWlnaHQ/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydEV4dHJhRGF0YSA9IChcbiAgZXh0cmFEYXRhPzogeyBbazogc3RyaW5nXTogc3RyaW5nIH0sXG4gIGNvbnNlbnN1c0V4dHJhRGF0YUtWcz86IFRyYW5zYWN0aW9uRXh0cmFEYXRhS1ZbXVxuKTogVHJhbnNhY3Rpb25FeHRyYURhdGEgPT4ge1xuICBjb25zdCBzb3J0ZWRFeHRyYURhdGEgPSAoY29uc2Vuc3VzRXh0cmFEYXRhS1ZzIHx8IFtdKVxuICAgIC5jb25jYXQoXG4gICAgICBPYmplY3QuZW50cmllcyhleHRyYURhdGEgfHwge30pLm1hcChcbiAgICAgICAgKFtrLCB2XSkgPT5cbiAgICAgICAgICBuZXcgVHJhbnNhY3Rpb25FeHRyYURhdGFLVihlbmNvZGVVVEY4VG9CeXRlcyhrKSwgZW5jb2RlVVRGOFRvQnl0ZXModikpXG4gICAgICApXG4gICAgKVxuICAgIC5zb3J0KChhLCBiKSA9PiBhLmtleS50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYi5rZXkudG9TdHJpbmcoKSkpO1xuICBjb25zdCByZWFsRXh0cmFEYXRhID0gbmV3IFRyYW5zYWN0aW9uRXh0cmFEYXRhKCk7XG4gIHJlYWxFeHRyYURhdGEua3ZzID0gc29ydGVkRXh0cmFEYXRhO1xuICByZXR1cm4gcmVhbEV4dHJhRGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUeFdpdGhGZWVOYW5vcyA9IChcbiAgcHViS2V5OiBzdHJpbmcsXG4gIG1ldGFkYXRhOiBUcmFuc2FjdGlvbk1ldGFkYXRhUmVjb3JkLFxuICB0eEZpZWxkcz86IEJhbGFuY2VNb2RlbFRyYW5zYWN0aW9uRmllbGRzXG4pID0+IHtcbiAgY29uc3Qgbm9uY2UgPSBuZXcgVHJhbnNhY3Rpb25Ob25jZSgpO1xuICAvLyBOT1RFOiB0eXBpY2FsbHkgd2Ugd291bGQgdXNlIHRoZSBibG9jayBoZWlnaHQgcmV0dXJuZWQgZnJvbSBhIG5vZGUgdG8gYnVpbGRcbiAgLy8gYSB0cmFuc2FjdGlvbiwgYnV0IGp1c3QgZm9yIGNhbGN1bGF0aW5nIGZlZXMgd2UgY2FuIHVzZSBhIHBzZXVkbyB2YWx1ZSwgaW5cbiAgLy8gdGhpcyBjYXNlIHdlIGp1c3QgdXNlIHRoZSBtYXggc2FmZSBpbnRlZ2VyLlxuICAvLyBUT0RPOiBwdXQgaW4gcmVhbCBibG9jayBoZWlnaHQgYnVmZmVyLlxuICBub25jZS5leHBpcmF0aW9uQmxvY2tIZWlnaHQgPSB0eEZpZWxkcz8uQmxvY2tIZWlnaHRcbiAgICA/IHR4RmllbGRzLkJsb2NrSGVpZ2h0ICsgMjc1XG4gICAgOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcbiAgLy8gVE9ETzogY2FjaGUgdXNlZCBwYXJ0aWFsIElEcz8gUmVwbGFjZSB3aXRoIGJldHRlciBsb2dpY1xuICAvLyBmb3IgZ2VuZXJhdGluZyByYW5kb20gdWludDY0XG4gIG5vbmNlLnBhcnRpYWxJZCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDFlMTgpO1xuICBjb25zdCB0cmFuc2FjdGlvbkZlZU91dHB1dHMgPSAodHhGaWVsZHM/LlRyYW5zYWN0aW9uRmVlcyB8fCBbXSkubWFwKCh0ZikgPT4ge1xuICAgIGNvbnN0IG5ld091dHB1dCA9IG5ldyBUcmFuc2FjdGlvbk91dHB1dCgpO1xuICAgIG5ld091dHB1dC5wdWJsaWNLZXkgPSBiczU4UHVibGljS2V5VG9Db21wcmVzc2VkQnl0ZXMoXG4gICAgICB0Zi5QdWJsaWNLZXlCYXNlNThDaGVja1xuICAgICk7XG4gICAgbmV3T3V0cHV0LmFtb3VudE5hbm9zID0gdGYuQW1vdW50TmFub3M7XG4gICAgcmV0dXJuIG5ld091dHB1dDtcbiAgfSk7XG4gIGNvbnN0IHRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKHtcbiAgICB2ZXJzaW9uOiAxLFxuICAgIGZlZU5hbm9zOiAwLFxuICAgIG5vbmNlLFxuICAgIG1ldGFkYXRhLFxuICAgIG91dHB1dHM6IHRyYW5zYWN0aW9uRmVlT3V0cHV0cy5jb25jYXQodHhGaWVsZHM/Lk91dHB1dHMgfHwgW10pLFxuICAgIGlucHV0czogW10sXG4gICAgZXh0cmFEYXRhOiBjb252ZXJ0RXh0cmFEYXRhKFxuICAgICAgdHhGaWVsZHM/LkV4dHJhRGF0YSxcbiAgICAgIHR4RmllbGRzPy5Db25zZW5zdXNFeHRyYURhdGFLVnNcbiAgICApLFxuICAgIHB1YmxpY0tleTogYnM1OFB1YmxpY0tleVRvQ29tcHJlc3NlZEJ5dGVzKHB1YktleSksXG4gICAgc2lnbmF0dXJlOiBuZXcgVWludDhBcnJheSgwKSxcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbXB1dGVGZWUoXG4gICAgdHJhbnNhY3Rpb24sXG4gICAgdHhGaWVsZHM/Lk1pbkZlZVJhdGVOYW5vc1BlcktCID8/IGdsb2JhbENvbmZpZ09wdGlvbnMuTWluRmVlUmF0ZU5hbm9zUGVyS0JcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb25zdHJ1Y3RCYWxhbmNlTW9kZWxUeCA9IGFzeW5jIChcbiAgcHViS2V5OiBzdHJpbmcsXG4gIG1ldGFkYXRhOiBUcmFuc2FjdGlvbk1ldGFkYXRhUmVjb3JkLFxuICB0eEZpZWxkcz86IEJhbGFuY2VNb2RlbFRyYW5zYWN0aW9uRmllbGRzXG4pOiBQcm9taXNlPENvbnN0cnVjdGVkVHJhbnNhY3Rpb25SZXNwb25zZT4gPT4ge1xuICAvLyBUT0RPOiBjYWNoZSBibG9jayBoZWlnaHQgc29tZXdoZXJlLlxuICBjb25zdCB7IEJsb2NrSGVpZ2h0IH0gPSBhd2FpdCBnZXRBcHBTdGF0ZSgpO1xuXG4gIGNvbnN0IHR4bldpdGhGZWUgPSBnZXRUeFdpdGhGZWVOYW5vcyhwdWJLZXksIG1ldGFkYXRhLCB7XG4gICAgLi4udHhGaWVsZHMsXG4gICAgQmxvY2tIZWlnaHQsXG4gIH0pO1xuXG4gIGNvbnN0IHR4bkJ5dGVzID0gdHhuV2l0aEZlZS50b0J5dGVzKCk7XG4gIGNvbnN0IFRyYW5zYWN0aW9uSGV4ID0gYnl0ZXNUb0hleCh0eG5CeXRlcyk7XG5cbiAgLy8gVE9ETzogbWFpbnRhaW4gYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGV2ZXJ5dGhpbmcgcmV0dXJuZWQgaW4gdGhlIGNvbnN0cnVjdGVkIHRyYW5zYWN0aW9uXG4gIC8vIHJlc3BvbnNlIG9iamVjdCBmb3IgZWFjaCB0eXBlLiB0aGlzIHdpbGwgYmUgYSBoZWFkYWNoZSBubyBkb3VidC5cbiAgY29uc3QgZmVlcyA9IHR4bldpdGhGZWUuZmVlTmFub3M7XG4gIGNvbnN0IG91dHB1dFN1bSA9IHR4bldpdGhGZWUub3V0cHV0cy5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLmFtb3VudE5hbm9zLCAwKTtcbiAgLy8gVE9ETzogc3VtIGV4dHJhIHNwZW5kIGZvciBjcmVhdG9yIGNvaW5zLCBkYW8gY29pbiBsaW1pdCBvcmRlcnMgKHVnaCksIGNyZWF0ZSBORlRzLCBjcmVhdGUgcHJvZmlsZVxuICAvLyBORlQgYnV5cy4gUHJvYmFibHkgbm90IG5lY2Vzc2FyaWx5LCBidXQgd291bGQgYmUgYmVzdCB0byBoYXZlIHRoaXMuXG4gIGNvbnN0IHR4bkhhc2ggPSBzaGEyNTZYMih0eG5CeXRlcyk7XG4gIGNvbnN0IHR4blR5cGUgPSB0eG5XaXRoRmVlLmdldFR4blR5cGVTdHJpbmcoKTtcbiAgcmV0dXJuIHtcbiAgICBUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb25Ub01zZ0RlU29UeG4odHhuV2l0aEZlZSksXG4gICAgRmVlTmFub3M6IGZlZXMsXG4gICAgVHJhbnNhY3Rpb25IZXgsXG4gICAgQ2hhbmdlQW1vdW50TmFub3M6IDAsXG4gICAgVG90YWxJbnB1dE5hbm9zOiBmZWVzICsgb3V0cHV0U3VtLFxuICAgIFNwZW5kQW1vdW50TmFub3M6IGZlZXMgKyBvdXRwdXRTdW0sXG4gICAgVHJhbnNhY3Rpb25JREJhc2U1OENoZWNrOiBwdWJsaWNLZXlUb0Jhc2U1OENoZWNrKHR4bkhhc2gpLFxuICAgIFR4bkhhc2hIZXg6IGJ5dGVzVG9IZXgodHhuSGFzaCksXG4gICAgUG9zdEhhc2hIZXg6XG4gICAgICB0eG5UeXBlID09PSBUcmFuc2FjdGlvblR5cGUuU3VibWl0UG9zdCA/IGJ5dGVzVG9IZXgodHhuSGFzaCkgOiB1bmRlZmluZWQsXG4gICAgVHN0YW1wTmFub3M6XG4gICAgICB0eG5UeXBlID09PSBUcmFuc2FjdGlvblR5cGUuU3VibWl0UG9zdFxuICAgICAgICA/IChtZXRhZGF0YSBhcyBUcmFuc2FjdGlvbk1ldGFkYXRhU3VibWl0UG9zdCkudGltZXN0YW1wTmFub3NcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgTkZUUG9zdEhhc2hIZXg6XG4gICAgICB0eG5UeXBlID09PSBUcmFuc2FjdGlvblR5cGUuQ3JlYXRlTkZUIHx8XG4gICAgICB0eG5UeXBlID09PSBUcmFuc2FjdGlvblR5cGUuVXBkYXRlTkZUIHx8XG4gICAgICB0eG5UeXBlID09PSBUcmFuc2FjdGlvblR5cGUuTkZUQmlkIHx8XG4gICAgICB0eG5UeXBlID09PSBUcmFuc2FjdGlvblR5cGUuQWNjZXB0TkZUQmlkXG4gICAgICAgID8gYnl0ZXNUb0hleChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgbWV0YWRhdGEgYXNcbiAgICAgICAgICAgICAgICB8IFRyYW5zYWN0aW9uTWV0YWRhdGFDcmVhdGVORlRcbiAgICAgICAgICAgICAgICB8IFRyYW5zYWN0aW9uTWV0YWRhdGFVcGRhdGVORlRcbiAgICAgICAgICAgICAgICB8IFRyYW5zYWN0aW9uTWV0YWRhdGFORlRCaWRcbiAgICAgICAgICAgICAgICB8IFRyYW5zYWN0aW9uTWV0YWRhdGFBY2NlcHRORlRCaWRcbiAgICAgICAgICAgICkubmZ0UG9zdEhhc2hcbiAgICAgICAgICApXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIFNlcmlhbE51bWJlcjpcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5VcGRhdGVORlQgfHxcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5ORlRCaWQgfHxcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5BY2NlcHRORlRCaWRcbiAgICAgICAgPyAoXG4gICAgICAgICAgICBtZXRhZGF0YSBhc1xuICAgICAgICAgICAgICB8IFRyYW5zYWN0aW9uTWV0YWRhdGFVcGRhdGVORlRcbiAgICAgICAgICAgICAgfCBUcmFuc2FjdGlvbk1ldGFkYXRhTkZUQmlkXG4gICAgICAgICAgICAgIHwgVHJhbnNhY3Rpb25NZXRhZGF0YUFjY2VwdE5GVEJpZFxuICAgICAgICAgICkuc2VyaWFsTnVtYmVyXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIFVwZGF0ZXJQdWJsaWNLZXlCYXNlNThDaGVjazpcbiAgICAgIHR4blR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5ORlRCaWQgPyBwdWJLZXkgOiB1bmRlZmluZWQsXG4gICAgQmlkQW1vdW50TmFub3M6XG4gICAgICB0eG5UeXBlID09PSBUcmFuc2FjdGlvblR5cGUuTkZUQmlkIHx8XG4gICAgICB0eG5UeXBlID09PSBUcmFuc2FjdGlvblR5cGUuQWNjZXB0TkZUQmlkXG4gICAgICAgID8gKFxuICAgICAgICAgICAgbWV0YWRhdGEgYXNcbiAgICAgICAgICAgICAgfCBUcmFuc2FjdGlvbk1ldGFkYXRhQWNjZXB0TkZUQmlkXG4gICAgICAgICAgICAgIHwgVHJhbnNhY3Rpb25NZXRhZGF0YU5GVEJpZFxuICAgICAgICAgICkuYmlkQW1vdW50TmFub3NcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgQmlkZGVyUHVibGljS2V5QmFzZTU4Q2hlY2s6XG4gICAgICB0eG5UeXBlID09PSBUcmFuc2FjdGlvblR5cGUuQWNjZXB0TkZUQmlkXG4gICAgICAgID8gcHVibGljS2V5VG9CYXNlNThDaGVjayhcbiAgICAgICAgICAgIChtZXRhZGF0YSBhcyBUcmFuc2FjdGlvbk1ldGFkYXRhQWNjZXB0TkZUQmlkKS5iaWRkZXJQS0lEXG4gICAgICAgICAgKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21wdXRlRmVlID0gKHR4bjogVHJhbnNhY3Rpb24sIGZlZVJhdGU6IG51bWJlcik6IFRyYW5zYWN0aW9uID0+IHtcbiAgaWYgKCFmZWVSYXRlKSByZXR1cm4gdHhuO1xuICBsZXQgcHJldkZlZSA9IDA7XG4gIGxldCBmZWUgPSAwO1xuICB3aGlsZSAocHJldkZlZSA9PSAwIHx8IHByZXZGZWUgIT0gZmVlKSB7XG4gICAgcHJldkZlZSA9IGZlZTtcbiAgICBjb25zdCBzaXplID0gY29tcHV0ZVR4U2l6ZSh0eG4pICsgNzE7XG4gICAgZmVlID0gTWF0aC5jZWlsKChzaXplICogZmVlUmF0ZSkgLyAxMDAwKTtcbiAgICB0eG4uZmVlTmFub3MgPSBmZWU7XG4gIH1cbiAgcmV0dXJuIHR4bjtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21wdXRlVHhTaXplID0gKHR4bjogVHJhbnNhY3Rpb24pOiBudW1iZXIgPT4ge1xuICByZXR1cm4gdHhuLnRvQnl0ZXMoKS5sZW5ndGg7XG59O1xuXG5leHBvcnQgY29uc3QgaXNNYXliZURlU29QdWJsaWNLZXkgPSAocXVlcnk6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gKFxuICAgIChxdWVyeS5sZW5ndGggPT09IDU1ICYmIHF1ZXJ5LnN0YXJ0c1dpdGgoJ0JDJykpIHx8XG4gICAgKHF1ZXJ5Lmxlbmd0aCA9PT0gNTQgJiYgcXVlcnkuc3RhcnRzV2l0aCgndEJDJykpXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc3VtVHJhbnNhY3Rpb25GZWVzID0gKFxuICB0eEZlZXM/OiBUcmFuc2FjdGlvbkZlZVtdIHwgbnVsbFxuKTogbnVtYmVyID0+IHtcbiAgaWYgKCF0eEZlZXM/Lmxlbmd0aCkgcmV0dXJuIDA7XG4gIHJldHVybiB0eEZlZXMucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYyArIGN1cnIuQW1vdW50TmFub3MsIDAgYXMgbnVtYmVyKTtcbn07XG4iXX0=
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