Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@gmod/bbi

Package Overview
Dependencies
Maintainers
5
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gmod/bbi - npm Package Compare versions

Comparing version 1.0.13 to 1.0.14

dist/bbi.d.ts

7

CHANGELOG.md

@@ -0,1 +1,8 @@

## [1.0.14](https://github.com/GMOD/bbi-js/compare/v1.0.12...v1.0.14) (2019-04-17)
- Improve documentation for integration with @gmod/bed@2
- Fix some cases where abortSignal was passed incorrectly to filehandle
## [1.0.13](https://github.com/GMOD/bbi-js/compare/v1.0.12...v1.0.13) (2019-04-14)

@@ -2,0 +9,0 @@

18

dist/bbi.js

@@ -79,3 +79,4 @@ "use strict";

function () {
function BBIFile(options) {
function BBIFile() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
(0, _classCallCheck2.default)(this, BBIFile);

@@ -180,3 +181,5 @@ (0, _defineProperty2.default)(this, "bbi", void 0);

_context2.next = 10;
return this.bbi.read(buf, 0, 2000, 0, abortSignal);
return this.bbi.read(buf, 0, 2000, 0, {
signal: abortSignal
});

@@ -225,3 +228,5 @@ case 10:

_context3.next = 3;
return this.bbi.read(buf, 0, 4, 0, abortSignal);
return this.bbi.read(buf, 0, 4, 0, {
signal: abortSignal
});

@@ -320,3 +325,5 @@ case 3:

_context5.next = 15;
return this.bbi.read(data, 0, unzoomedDataOffset - chromTreeOffset, chromTreeOffset, abortSignal);
return this.bbi.read(data, 0, unzoomedDataOffset - chromTreeOffset, chromTreeOffset, {
signal: abortSignal
});

@@ -565,2 +572,3 @@ case 15:

exports.default = BBIFile;
exports.default = BBIFile;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iYmkudHMiXSwibmFtZXMiOlsiQklHX1dJR19NQUdJQyIsIkJJR19CRURfTUFHSUMiLCJBYm9ydEF3YXJlQ2FjaGUiLCJNYXAiLCJmbiIsImNhY2hlIiwiYWJvcnRhYmxlTWVtb2l6ZUZuIiwiYWJvcnRTaWduYWwiLCJoYXMiLCJmblJldHVybiIsInNldCIsImNhdGNoIiwiYWJvcnRlZCIsImRlbGV0ZSIsImdldCIsImUiLCJjb2RlIiwibmFtZSIsIkJCSUZpbGUiLCJvcHRpb25zIiwiZmlsZWhhbmRsZSIsInJlbmFtZVJlZlNlcXMiLCJwYXRoIiwidXJsIiwicyIsImhlYWRlckNhY2hlIiwiZmlsZVR5cGUiLCJiYmkiLCJSZW1vdGVGaWxlIiwiTG9jYWxGaWxlIiwiRXJyb3IiLCJnZXRIZWFkZXIiLCJhYm9ydGFibGVNZW1vaXplIiwiX2dldEhlYWRlciIsImJpbmQiLCJpc0JpZ0VuZGlhbiIsImdldE1haW5IZWFkZXIiLCJoZWFkZXIiLCJyZWFkQ2hyb21UcmVlIiwiY2hyb21zIiwiZ2V0UGFyc2VycyIsInJldCIsImJ1ZiIsIkJ1ZmZlciIsImFsbG9jIiwicmVhZCIsInNpZ25hbCIsImhlYWRlclBhcnNlciIsInBhcnNlIiwicmVzdWx0IiwibWFnaWMiLCJhc09mZnNldCIsImF1dG9TcWwiLCJzbGljZSIsImluZGV4T2YiLCJ0b1N0cmluZyIsInRvdGFsU3VtbWFyeU9mZnNldCIsInRhaWwiLCJ0b3RhbFN1bW1hcnkiLCJ0b3RhbFN1bW1hcnlQYXJzZXIiLCJhbGxvY1Vuc2FmZSIsInJlYWRJbnQzMkxFIiwicmVhZEludDMyQkUiLCJpc0JFIiwibGUiLCJQYXJzZXIiLCJlbmRpYW5lc3MiLCJpbnQzMiIsInVpbnQxNiIsInVpbnQ2NCIsInVpbnQzMiIsInNraXAiLCJhcnJheSIsImxlbmd0aCIsInR5cGUiLCJkb3VibGUiLCJjaHJvbVRyZWVQYXJzZXIiLCJpc0xlYWZOb2RlIiwidWludDgiLCJyZWZzQnlOdW1iZXIiLCJyZWZzQnlOYW1lIiwiY2hyb21UcmVlT2Zmc2V0IiwidW56b29tZWREYXRhT2Zmc2V0IiwiZGF0YSIsInAiLCJsZWFmTm9kZVBhcnNlciIsInN0cmluZyIsInN0cmlwTnVsbCIsImtleVNpemUiLCJub25sZWFmTm9kZVBhcnNlciIsInJvb3ROb2RlT2Zmc2V0IiwiYnB0UmVhZE5vZGUiLCJjdXJyZW50T2Zmc2V0Iiwib2Zmc2V0IiwiY250IiwibiIsImxlYWZSZXQiLCJrZXkiLCJyZWZJZCIsInJlZlNpemUiLCJyZWZSZWMiLCJpZCIsIm5vbmxlYWZSZXQiLCJjaGlsZE9mZnNldCIsInNjYWxlIiwiem9vbUxldmVscyIsImZpbGVTaXplIiwidW5jb21wcmVzc0J1ZlNpemUiLCJiYXNlc1BlclB4IiwibWF4TGV2ZWwiLCJpIiwiemgiLCJyZWR1Y3Rpb25MZXZlbCIsImluZGV4TGVuZ3RoIiwiZGF0YU9mZnNldCIsImluZGV4T2Zmc2V0IiwiQmxvY2tWaWV3IiwiZ2V0VW56b29tZWRWaWV3IiwidW56b29tZWRJbmRleE9mZnNldCIsImNpckxlbiIsIm56bCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUEsSUFBTUEsYUFBYSxHQUFHLENBQUMsVUFBdkI7QUFDQSxJQUFNQyxhQUFhLEdBQUcsQ0FBQyxVQUF2Qjs7QUE4QkE7Ozs7SUFJTUMsZTs7Ozs7aURBQ2tFLElBQUlDLEdBQUosRTs7Ozs7cUNBR3BFQyxFLEVBQzZDO0FBQUEsVUFDckNDLEtBRHFDLEdBQzNCLElBRDJCLENBQ3JDQSxLQURxQztBQUU3QyxhQUFPLFNBQVNDLGtCQUFULENBQTRCQyxXQUE1QixFQUF1RDtBQUM1RCxZQUFJLENBQUNGLEtBQUssQ0FBQ0csR0FBTixDQUFVSixFQUFWLENBQUwsRUFBb0I7QUFDbEIsY0FBTUssUUFBUSxHQUFHTCxFQUFFLENBQUNHLFdBQUQsQ0FBbkI7QUFDQUYsVUFBQUEsS0FBSyxDQUFDSyxHQUFOLENBQVVOLEVBQVYsRUFBY0ssUUFBZDs7QUFDQSxjQUFJ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YXJzZXIgfSBmcm9tICdAZ21vZC9iaW5hcnktcGFyc2VyJ1xuaW1wb3J0IHsgTG9jYWxGaWxlLCBSZW1vdGVGaWxlIH0gZnJvbSAnZ2VuZXJpYy1maWxlaGFuZGxlJ1xuaW1wb3J0IHsgR2VuZXJpY0ZpbGVoYW5kbGUgfSBmcm9tICdnZW5lcmljLWZpbGVoYW5kbGUnXG5pbXBvcnQgQmxvY2tWaWV3IGZyb20gJy4vYmxvY2tWaWV3J1xuaW1wb3J0IHsgYWJvcnRCcmVha1BvaW50LCBBYm9ydEVycm9yIH0gZnJvbSAnLi91dGlsJ1xuXG5jb25zdCBCSUdfV0lHX01BR0lDID0gLTIwMDM4Mjk3MjJcbmNvbnN0IEJJR19CRURfTUFHSUMgPSAtMjAyMTAwMjUxN1xuXG5pbnRlcmZhY2UgT3B0aW9ucyB7XG4gIGZpbGVoYW5kbGU/OiBHZW5lcmljRmlsZWhhbmRsZVxuICBwYXRoPzogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xuICByZW5hbWVSZWZTZXFzPzogKGE6IHN0cmluZykgPT4gc3RyaW5nXG59XG5cbmludGVyZmFjZSBTdGF0aXN0aWNzIHtcbiAgc2NvcmVTdW06IG51bWJlclxuICBiYXNlc0NvdmVyZWQ6IG51bWJlclxuICBzY29yZVN1bVNxdWFyZXM6IG51bWJlclxufVxuaW50ZXJmYWNlIEhlYWRlciB7XG4gIGF1dG9TcWw6IHN0cmluZ1xuICB0b3RhbFN1bW1hcnk6IFN0YXRpc3RpY3NcbiAgem9vbUxldmVsczogYW55XG4gIHVuem9vbWVkSW5kZXhPZmZzZXQ6IG51bWJlclxuICB1bnpvb21lZERhdGFPZmZzZXQ6IG51bWJlclxuICB1bmNvbXByZXNzQnVmU2l6ZTogbnVtYmVyXG4gIGNocm9tVHJlZU9mZnNldDogbnVtYmVyXG4gIGZpbGVTaXplOiBudW1iZXJcbn1cblxuaW50ZXJmYWNlIENocm9tVHJlZSB7XG4gIHJlZnNCeU5hbWU6IGFueVxuICByZWZzQnlOdW1iZXI6IGFueVxufVxuXG4vKlxuICogVGFrZXMgYSBmdW5jdGlvbiB0aGF0IGhhcyBvbmUgYXJndW1lbnQsIGFib3J0U2lnbmFsLCB0aGF0IHJldHVybnMgYSBwcm9taXNlXG4gKiBhbmQgaXQgd29ya3MgYnkgcmV0cnlpbmcgdGhlIGZ1bmN0aW9uIGlmIGEgcHJldmlvdXMgYXR0ZW1wdCB0byBpbml0aWFsaXplIHRoZSBwYXJzZSBjYWNoZSB3YXMgYWJvcnRlZFxuICovXG5jbGFzcyBBYm9ydEF3YXJlQ2FjaGUge1xuICBwcml2YXRlIGNhY2hlOiBNYXA8KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCkgPT4gUHJvbWlzZTxhbnk+LCBhbnk+ID0gbmV3IE1hcCgpXG5cbiAgcHVibGljIGFib3J0YWJsZU1lbW9pemUoXG4gICAgZm46IChhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsKSA9PiBQcm9taXNlPGFueT4sXG4gICk6IChhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsKSA9PiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHsgY2FjaGUgfSA9IHRoaXNcbiAgICByZXR1cm4gZnVuY3Rpb24gYWJvcnRhYmxlTWVtb2l6ZUZuKGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwpIHtcbiAgICAgIGlmICghY2FjaGUuaGFzKGZuKSkge1xuICAgICAgICBjb25zdCBmblJldHVybiA9IGZuKGFib3J0U2lnbmFsKVxuICAgICAgICBjYWNoZS5zZXQoZm4sIGZuUmV0dXJuKVxuICAgICAgICBpZiAoYWJvcnRTaWduYWwpIHtcbiAgICAgICAgICBmblJldHVybi5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWJvcnRTaWduYWwuYWJvcnRlZCkgY2FjaGUuZGVsZXRlKGZuKVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNhY2hlLmdldChmbilcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWNoZS5nZXQoZm4pLmNhdGNoKChlOiBBYm9ydEVycm9yIHwgRE9NRXhjZXB0aW9uKSA9PiB7XG4gICAgICAgIGlmIChlLmNvZGUgPT09ICdFUlJfQUJPUlRFRCcgfHwgZS5uYW1lID09PSAnQWJvcnRFcnJvcicpIHtcbiAgICAgICAgICByZXR1cm4gZm4oYWJvcnRTaWduYWwpXG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZVxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgYWJzdHJhY3QgY2xhc3MgQkJJRmlsZSB7XG4gIHByaXZhdGUgYmJpOiBHZW5lcmljRmlsZWhhbmRsZVxuICBwcml2YXRlIGZpbGVUeXBlOiBzdHJpbmdcbiAgcHJpdmF0ZSBoZWFkZXJDYWNoZTogQWJvcnRBd2FyZUNhY2hlXG4gIHByb3RlY3RlZCByZW5hbWVSZWZTZXFzOiAoYTogc3RyaW5nKSA9PiBzdHJpbmdcbiAgcHVibGljIGdldEhlYWRlcjogKGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwpID0+IFByb21pc2U8YW55PlxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB7IGZpbGVoYW5kbGUsIHJlbmFtZVJlZlNlcXMsIHBhdGgsIHVybCB9ID0gb3B0aW9uc1xuICAgIHRoaXMucmVuYW1lUmVmU2VxcyA9IHJlbmFtZVJlZlNlcXMgfHwgKChzOiBzdHJpbmcpOiBzdHJpbmcgPT4gcylcbiAgICB0aGlzLmhlYWRlckNhY2hlID0gbmV3IEFib3J0QXdhcmVDYWNoZSgpXG4gICAgdGhpcy5maWxlVHlwZSA9ICcnXG4gICAgaWYgKGZpbGVoYW5kbGUpIHtcbiAgICAgIHRoaXMuYmJpID0gZmlsZWhhbmRsZVxuICAgIH0gZWxzZSBpZiAodXJsKSB7XG4gICAgICB0aGlzLmJiaSA9IG5ldyBSZW1vdGVGaWxlKHVybClcbiAgICB9IGVsc2UgaWYgKHBhdGgpIHtcbiAgICAgIHRoaXMuYmJpID0gbmV3IExvY2FsRmlsZShwYXRoKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIGZpbGUgZ2l2ZW4nKVxuICAgIH1cbiAgICB0aGlzLmdldEhlYWRlciA9IHRoaXMuaGVhZGVyQ2FjaGUuYWJvcnRhYmxlTWVtb2l6ZSh0aGlzLl9nZXRIZWFkZXIuYmluZCh0aGlzKSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2dldEhlYWRlcihhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBpc0JpZ0VuZGlhbiA9IGF3YWl0IHRoaXMuaXNCaWdFbmRpYW4oYWJvcnRTaWduYWwpXG4gICAgY29uc3QgaGVhZGVyID0gYXdhaXQgdGhpcy5nZXRNYWluSGVhZGVyKGFib3J0U2lnbmFsKVxuICAgIGNvbnN0IGNocm9tcyA9IGF3YWl0IHRoaXMucmVhZENocm9tVHJlZShhYm9ydFNpZ25hbClcbiAgICByZXR1cm4geyAuLi5oZWFkZXIsIC4uLmNocm9tcywgaXNCaWdFbmRpYW4gfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRNYWluSGVhZGVyKGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwpOiBQcm9taXNlPEhlYWRlcj4ge1xuICAgIGNvbnN0IHJldCA9IGF3YWl0IHRoaXMuZ2V0UGFyc2Vycyhhd2FpdCB0aGlzLmlzQmlnRW5kaWFuKCkpXG4gICAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jKDIwMDApXG4gICAgYXdhaXQgdGhpcy5iYmkucmVhZChidWYsIDAsIDIwMDAsIDAsIHsgc2lnbmFsOiBhYm9ydFNpZ25hbCB9KVxuICAgIGNvbnN0IGhlYWRlciA9IHJldC5oZWFkZXJQYXJzZXIucGFyc2UoYnVmKS5yZXN1bHRcbiAgICB0aGlzLmZpbGVUeXBlID0gaGVhZGVyLm1hZ2ljID09PSBCSUdfQkVEX01BR0lDID8gJ2JpZ2JlZCcgOiAnYmlnd2lnJ1xuXG4gICAgaWYgKGhlYWRlci5hc09mZnNldCkge1xuICAgICAgaGVhZGVyLmF1dG9TcWwgPSBidWYuc2xpY2UoaGVhZGVyLmFzT2Zmc2V0LCBidWYuaW5kZXhPZigwLCBoZWFkZXIuYXNPZmZzZXQpKS50b1N0cmluZygndXRmOCcpXG4gICAgfVxuICAgIGlmIChoZWFkZXIudG90YWxTdW1tYXJ5T2Zmc2V0KSB7XG4gICAgICBjb25zdCB0YWlsID0gYnVmLnNsaWNlKGhlYWRlci50b3RhbFN1bW1hcnlPZmZzZXQpXG4gICAgICBoZWFkZXIudG90YWxTdW1tYXJ5ID0gcmV0LnRvdGFsU3VtbWFyeVBhcnNlci5wYXJzZSh0YWlsKS5yZXN1bHRcbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlclxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBpc0JpZ0VuZGlhbihhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jVW5zYWZlKDQpXG4gICAgYXdhaXQgdGhpcy5iYmkucmVhZChidWYsIDAsIDQsIDAsIHsgc2lnbmFsOiBhYm9ydFNpZ25hbCB9KVxuICAgIGxldCByZXQgPSBidWYucmVhZEludDMyTEUoMClcbiAgICBpZiAocmV0ID09PSBCSUdfV0lHX01BR0lDIHx8IHJldCA9PT0gQklHX0JFRF9NQUdJQykge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIHJldCA9IGJ1Zi5yZWFkSW50MzJCRSgwKVxuICAgIGlmIChyZXQgPT09IEJJR19XSUdfTUFHSUMgfHwgcmV0ID09PSBCSUdfQkVEX01BR0lDKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBhIEJpZ1dpZy9CaWdCZWQgZmlsZScpXG4gIH1cblxuICBwcml2YXRlIGdldFBhcnNlcnMoaXNCRTogYm9vbGVhbik6IGFueSB7XG4gICAgY29uc3QgbGUgPSBpc0JFID8gJ2JpZycgOiAnbGl0dGxlJ1xuICAgIGNvbnN0IGhlYWRlclBhcnNlciA9IG5ldyBQYXJzZXIoKVxuICAgICAgLmVuZGlhbmVzcyhsZSlcbiAgICAgIC5pbnQzMignbWFnaWMnKVxuICAgICAgLnVpbnQxNigndmVyc2lvbicpXG4gICAgICAudWludDE2KCdudW1ab29tTGV2ZWxzJylcbiAgICAgIC51aW50NjQoJ2Nocm9tVHJlZU9mZnNldCcpXG4gICAgICAudWludDY0KCd1bnpvb21lZERhdGFPZmZzZXQnKVxuICAgICAgLnVpbnQ2NCgndW56b29tZWRJbmRleE9mZnNldCcpXG4gICAgICAudWludDE2KCdmaWVsZENvdW50JylcbiAgICAgIC51aW50MTYoJ2RlZmluZWRGaWVsZENvdW50JylcbiAgICAgIC51aW50NjQoJ2FzT2Zmc2V0JylcbiAgICAgIC51aW50NjQoJ3RvdGFsU3VtbWFyeU9mZnNldCcpXG4gICAgICAudWludDMyKCd1bmNvbXByZXNzQnVmU2l6ZScpXG4gICAgICAuc2tpcCg4KSAvLyByZXNlcnZlZFxuICAgICAgLmFycmF5KCd6b29tTGV2ZWxzJywge1xuICAgICAgICBsZW5ndGg6ICdudW1ab29tTGV2ZWxzJyxcbiAgICAgICAgdHlwZTogbmV3IFBhcnNlcigpXG4gICAgICAgICAgLnVpbnQzMigncmVkdWN0aW9uTGV2ZWwnKVxuICAgICAgICAgIC51aW50MzIoJ3Jlc2VydmVkJylcbiAgICAgICAgICAudWludDY0KCdkYXRhT2Zmc2V0JylcbiAgICAgICAgICAudWludDY0KCdpbmRleE9mZnNldCcpLFxuICAgICAgfSlcblxuICAgIGNvbnN0IHRvdGFsU3VtbWFyeVBhcnNlciA9IG5ldyBQYXJzZXIoKVxuICAgICAgLmVuZGlhbmVzcyhsZSlcbiAgICAgIC51aW50NjQoJ2Jhc2VzQ292ZXJlZCcpXG4gICAgICAuZG91YmxlKCdzY29yZU1pbicpXG4gICAgICAuZG91YmxlKCdzY29yZU1heCcpXG4gICAgICAuZG91YmxlKCdzY29yZVN1bScpXG4gICAgICAuZG91YmxlKCdzY29yZVN1bVNxdWFyZXMnKVxuXG4gICAgY29uc3QgY2hyb21UcmVlUGFyc2VyID0gbmV3IFBhcnNlcigpXG4gICAgICAuZW5kaWFuZXNzKGxlKVxuICAgICAgLnVpbnQzMignbWFnaWMnKVxuICAgICAgLnVpbnQzMignYmxvY2tTaXplJylcbiAgICAgIC51aW50MzIoJ2tleVNpemUnKVxuICAgICAgLnVpbnQzMigndmFsU2l6ZScpXG4gICAgICAudWludDY0KCdpdGVtQ291bnQnKVxuXG4gICAgY29uc3QgaXNMZWFmTm9kZSA9IG5ldyBQYXJzZXIoKVxuICAgICAgLmVuZGlhbmVzcyhsZSlcbiAgICAgIC51aW50OCgnaXNMZWFmTm9kZScpXG4gICAgICAuc2tpcCgxKVxuICAgICAgLnVpbnQxNignY250JylcblxuICAgIHJldHVybiB7XG4gICAgICBjaHJvbVRyZWVQYXJzZXIsXG4gICAgICB0b3RhbFN1bW1hcnlQYXJzZXIsXG4gICAgICBoZWFkZXJQYXJzZXIsXG4gICAgICBpc0xlYWZOb2RlLFxuICAgIH1cbiAgfVxuXG4gIC8vIHRvZG86IGFkZCBwcm9ncmVzcyBpZiBsb25nIHJ1bm5pbmdcbiAgcHJpdmF0ZSBhc3luYyByZWFkQ2hyb21UcmVlKGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwpOiBQcm9taXNlPENocm9tVHJlZT4ge1xuICAgIGNvbnN0IGhlYWRlciA9IGF3YWl0IHRoaXMuZ2V0TWFpbkhlYWRlcihhYm9ydFNpZ25hbClcbiAgICBjb25zdCBpc0JFID0gYXdhaXQgdGhpcy5pc0JpZ0VuZGlhbihhYm9ydFNpZ25hbClcbiAgICBjb25zdCBsZSA9IGlzQkUgPyAnYmlnJyA6ICdsaXR0bGUnXG4gICAgY29uc3QgcmVmc0J5TnVtYmVyOiBhbnkgPSB7fVxuICAgIGNvbnN0IHJlZnNCeU5hbWU6IGFueSA9IHt9XG4gICAgY29uc3QgeyBjaHJvbVRyZWVPZmZzZXQgfSA9IGhlYWRlclxuICAgIGxldCB7IHVuem9vbWVkRGF0YU9mZnNldCB9ID0gaGVhZGVyXG5cbiAgICB3aGlsZSAodW56b29tZWREYXRhT2Zmc2V0ICUgNCAhPT0gMCkge1xuICAgICAgdW56b29tZWREYXRhT2Zmc2V0ICs9IDFcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhID0gQnVmZmVyLmFsbG9jKHVuem9vbWVkRGF0YU9mZnNldCAtIGNocm9tVHJlZU9mZnNldClcbiAgICBhd2FpdCB0aGlzLmJiaS5yZWFkKGRhdGEsIDAsIHVuem9vbWVkRGF0YU9mZnNldCAtIGNocm9tVHJlZU9mZnNldCwgY2hyb21UcmVlT2Zmc2V0LCB7IHNpZ25hbDogYWJvcnRTaWduYWwgfSlcblxuICAgIGNvbnN0IHAgPSBhd2FpdCB0aGlzLmdldFBhcnNlcnMoaXNCRSlcbiAgICBjb25zdCByZXQgPSBwLmNocm9tVHJlZVBhcnNlci5wYXJzZShkYXRhKS5yZXN1bHRcbiAgICBjb25zdCBsZWFmTm9kZVBhcnNlciA9IG5ldyBQYXJzZXIoKVxuICAgICAgLmVuZGlhbmVzcyhsZSlcbiAgICAgIC5zdHJpbmcoJ2tleScsIHsgc3RyaXBOdWxsOiB0cnVlLCBsZW5ndGg6IHJldC5rZXlTaXplIH0pXG4gICAgICAudWludDMyKCdyZWZJZCcpXG4gICAgICAudWludDMyKCdyZWZTaXplJylcbiAgICBjb25zdCBub25sZWFmTm9kZVBhcnNlciA9IG5ldyBQYXJzZXIoKVxuICAgICAgLmVuZGlhbmVzcyhsZSlcbiAgICAgIC5za2lwKHJldC5rZXlTaXplKVxuICAgICAgLnVpbnQ2NCgnY2hpbGRPZmZzZXQnKVxuICAgIGNvbnN0IHJvb3ROb2RlT2Zmc2V0ID0gMzJcbiAgICBjb25zdCBicHRSZWFkTm9kZSA9IGFzeW5jIChjdXJyZW50T2Zmc2V0OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGxldCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0XG4gICAgICBpZiAob2Zmc2V0ID49IGRhdGEubGVuZ3RoKSB0aHJvdyBuZXcgRXJyb3IoJ3JlYWRpbmcgYmV5b25kIGVuZCBvZiBidWZmZXInKVxuICAgICAgY29uc3QgcmV0ID0gcC5pc0xlYWZOb2RlLnBhcnNlKGRhdGEuc2xpY2Uob2Zmc2V0KSlcbiAgICAgIGNvbnN0IHsgaXNMZWFmTm9kZSwgY250IH0gPSByZXQucmVzdWx0XG4gICAgICBvZmZzZXQgKz0gcmV0Lm9mZnNldFxuICAgICAgZm9yIChsZXQgbiA9IDA7IG4gPCBjbnQ7IG4gKz0gMSkge1xuICAgICAgICBhd2FpdCBhYm9ydEJyZWFrUG9pbnQoYWJvcnRTaWduYWwpXG4gICAgICAgIGlmIChpc0xlYWZOb2RlKSB7XG4gICAgICAgICAgY29uc3QgbGVhZlJldCA9IGxlYWZOb2RlUGFyc2VyLnBhcnNlKGRhdGEuc2xpY2Uob2Zmc2V0KSlcbiAgICAgICAgICBvZmZzZXQgKz0gbGVhZlJldC5vZmZzZXRcbiAgICAgICAgICBjb25zdCB7IGtleSwgcmVmSWQsIHJlZlNpemUgfSA9IGxlYWZSZXQucmVzdWx0XG4gICAgICAgICAgY29uc3QgcmVmUmVjID0geyBuYW1lOiBrZXksIGlkOiByZWZJZCwgbGVuZ3RoOiByZWZTaXplIH1cbiAgICAgICAgICByZWZzQnlOYW1lW3RoaXMucmVuYW1lUmVmU2VxcyhrZXkpXSA9IHJlZklkXG4gICAgICAgICAgcmVmc0J5TnVtYmVyW3JlZklkXSA9IHJlZlJlY1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHBhcnNlIGluZGV4IG5vZGVcbiAgICAgICAgICBjb25zdCBub25sZWFmUmV0ID0gbm9ubGVhZk5vZGVQYXJzZXIucGFyc2UoZGF0YS5zbGljZShvZmZzZXQpKVxuICAgICAgICAgIGxldCB7IGNoaWxkT2Zmc2V0IH0gPSBub25sZWFmUmV0LnJlc3VsdFxuICAgICAgICAgIG9mZnNldCArPSBub25sZWFmUmV0Lm9mZnNldFxuICAgICAgICAgIGNoaWxkT2Zmc2V0IC09IGNocm9tVHJlZU9mZnNldFxuICAgICAgICAgIGF3YWl0IGJwdFJlYWROb2RlKGNoaWxkT2Zmc2V0KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGF3YWl0IGJwdFJlYWROb2RlKHJvb3ROb2RlT2Zmc2V0KVxuICAgIHJldHVybiB7XG4gICAgICByZWZzQnlOYW1lLFxuICAgICAgcmVmc0J5TnVtYmVyLFxuICAgIH1cbiAgfVxuXG4gIC8vdG9kbzogbWVtb2l6ZVxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0VmlldyhzY2FsZTogbnVtYmVyLCBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxCbG9ja1ZpZXc+IHtcbiAgICBjb25zdCB7IHpvb21MZXZlbHMsIHJlZnNCeU5hbWUsIGZpbGVTaXplLCBpc0JpZ0VuZGlhbiwgdW5jb21wcmVzc0J1ZlNpemUgfSA9IGF3YWl0IHRoaXMuZ2V0SGVhZGVyKGFib3J0U2lnbmFsKVxuICAgIGNvbnN0IHsgYmJpIH0gPSB0aGlzXG4gICAgY29uc3QgYmFzZXNQZXJQeCA9IDEgLyBzY2FsZVxuICAgIGxldCBtYXhMZXZlbCA9IHpvb21MZXZlbHMubGVuZ3RoXG4gICAgaWYgKCFmaWxlU2l6ZSkge1xuICAgICAgLy8gaWYgd2UgZG9uJ3Qga25vdyB0aGUgZmlsZSBzaXplLCB3ZSBjYW4ndCBmZXRjaCB0aGUgaGlnaGVzdCB6b29tIGxldmVsIDotKFxuICAgICAgbWF4TGV2ZWwgLT0gMVxuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSBtYXhMZXZlbDsgaSA+IDA7IGkgLT0gMSkge1xuICAgICAgY29uc3QgemggPSB6b29tTGV2ZWxzW2ldXG4gICAgICBpZiAoemggJiYgemgucmVkdWN0aW9uTGV2ZWwgPD0gMiAqIGJhc2VzUGVyUHgpIHtcbiAgICAgICAgY29uc3QgaW5kZXhMZW5ndGggPVxuICAgICAgICAgIGkgPCB6b29tTGV2ZWxzLmxlbmd0aCAtIDEgPyB6b29tTGV2ZWxzW2kgKyAxXS5kYXRhT2Zmc2V0IC0gemguaW5kZXhPZmZzZXQgOiBmaWxlU2l6ZSAtIDQgLSB6aC5pbmRleE9mZnNldFxuICAgICAgICByZXR1cm4gbmV3IEJsb2NrVmlldyhcbiAgICAgICAgICBiYmksXG4gICAgICAgICAgcmVmc0J5TmFtZSxcbiAgICAgICAgICB6aC5pbmRleE9mZnNldCxcbiAgICAgICAgICBpbmRleExlbmd0aCxcbiAgICAgICAgICBpc0JpZ0VuZGlhbixcbiAgICAgICAgICB1bmNvbXByZXNzQnVmU2l6ZSA+IDAsXG4gICAgICAgICAgJ3N1bW1hcnknLFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldFVuem9vbWVkVmlldyhhYm9ydFNpZ25hbClcbiAgfVxuXG4gIC8vdG9kbyBtZW1vaXplXG4gIHByaXZhdGUgYXN5bmMgZ2V0VW56b29tZWRWaWV3KGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwpOiBQcm9taXNlPEJsb2NrVmlldz4ge1xuICAgIGNvbnN0IHsgdW56b29tZWRJbmRleE9mZnNldCwgem9vbUxldmVscywgcmVmc0J5TmFtZSwgdW5jb21wcmVzc0J1ZlNpemUsIGlzQmlnRW5kaWFuIH0gPSBhd2FpdCB0aGlzLmdldEhlYWRlcihcbiAgICAgIGFib3J0U2lnbmFsLFxuICAgIClcbiAgICBjb25zdCB7IGJiaSwgZmlsZVR5cGUgfSA9IHRoaXNcbiAgICBsZXQgY2lyTGVuID0gNDAwMFxuICAgIGNvbnN0IG56bCA9IHpvb21MZXZlbHNbMF1cbiAgICBpZiAobnpsKSB7XG4gICAgICBjaXJMZW4gPSBuemwuZGF0YU9mZnNldCAtIHVuem9vbWVkSW5kZXhPZmZzZXRcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBCbG9ja1ZpZXcoYmJpLCByZWZzQnlOYW1lLCB1bnpvb21lZEluZGV4T2Zmc2V0LCBjaXJMZW4sIGlzQmlnRW5kaWFuLCB1bmNvbXByZXNzQnVmU2l6ZSA+IDAsIGZpbGVUeXBlKVxuICB9XG59XG4iXX0=

@@ -84,3 +84,3 @@ "use strict";

return _context.abrupt("return", new _rxjs.Observable(function (observer) {
view.readWigData(chrName, start, end, observer);
view.readWigData(chrName, start, end, observer, opts.signal);
}));

@@ -154,2 +154,3 @@

exports.default = BigBed;
exports.default = BigBed;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iaWdiZWQudHMiXSwibmFtZXMiOlsiQmlnQmVkIiwicmVmTmFtZSIsInN0YXJ0IiwiZW5kIiwib3B0cyIsImdldEhlYWRlciIsInNpZ25hbCIsImNock5hbWUiLCJyZW5hbWVSZWZTZXFzIiwiZ2V0VmlldyIsInZpZXciLCJFcnJvciIsIk9ic2VydmFibGUiLCJvYnNlcnZlciIsInJlYWRXaWdEYXRhIiwic2NhbGUiLCJmZWF0dXJlcyIsImdldEZlYXR1cmVTdHJlYW0iLCJvYiIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0Iiwic3Vic2NyaWJlIiwiZmVhdHMiLCJjb25jYXQiLCJlcnJvciIsIkJCSSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7SUFFcUJBLE07Ozs7Ozs7Ozs7Ozs7QUFDbkI7Ozs7Ozs7Ozs7O2lEQVNFQyxPLEVBQ0FDLEssRUFDQUMsRzs7Ozs7Ozs7O0FBQ0FDLGdCQUFBQSxJLDJEQUFnQixFOzt1QkFFVixLQUFLQyxTQUFMLENBQWVELElBQUksQ0FBQ0UsTUFBcEIsQzs7O0FBQ0FDLGdCQUFBQSxPLEdBQVUsS0FBS0MsYUFBTCxDQUFtQlAsT0FBbkIsQzs7dUJBRUcsS0FBS1EsT0FBTCxDQUFhLENBQWIsQzs7O0FBQWJDLGdCQUFBQSxJOztvQkFDREEsSTs7Ozs7c0JBQ0csSUFBSUMsS0FBSixDQUFVLG1DQUFWLEM7OztpREFFRCxJQUFJQyxnQkFBSixDQUFlLFVBQUNDLFFBQUQsRUFBbUM7QUFDdkRILGtCQUFBQSxJQUFJLENBQUNJLFdBQUwsQ0FBaUJQLE9BQWpCLEVBQTBCTCxLQUExQixFQUFpQ0MsR0FBakMsRUFBc0NVLFFBQXRDLEVBQWdEVCxJQUFJLENBQUNFLE1BQXJEO0FBQ0QsaUJBRk0sQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tEQU1QTCxPLEVBQ0FDLEssRUFDQUMsRzs7Ozs7Ozs7O0FBQ0FDLGdCQUFBQSxJLDhEQUFnQjtBQUFFVyxrQkFBQUEsS0FBSyxFQUFFO0FBQVQsaUI7QUFFWkMsZ0JBQUFBLFEsR0FBd0IsRTs7dUJBQ1gsS0FBS0MsZ0JBQUwsQ0FBc0JoQixPQUF0QixFQUErQkMsS0FBL0IsRUFBc0NDLEdBQXRDLEVBQTJDQyxJQUEzQyxDOzs7QUFBWGMsZ0JBQUFBLEU7a0RBQ0MsSUFBSUMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUN0QztBQUNBSCxrQkFBQUEsRUFBRSxDQUFDSSxTQUFILENBQ0UsVUFBQUMsS0FBSztBQUFBLDJCQUFJUCxRQUFRLEdBQUdBLFFBQVEsQ0FBQ1EsTUFBVCxDQUFnQkQsS0FBaEIsQ0FBZjtBQUFBLG1CQURQLEVBRUUsVUFBQUUsS0FBSztBQUFBLDJCQUFJSixNQUFNLENBQUNJLEtBQUQsQ0FBVjtBQUFBLG1CQUZQLEVBR0UsWUFBTTtBQUNKTCxvQkFBQUEsT0FBTyxDQUFDLG1CQUFRSixRQUFSLENBQUQsQ0FBUDtBQUNELG1CQUxIO0FBT0QsaUJBVE0sQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbkN5QlUsWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCQkkgZnJvbSAnLi9iYmknXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBmbGF0dGVuIH0gZnJvbSAnLi91dGlsJ1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCaWdCZWQgZXh0ZW5kcyBCQkkge1xuICAvKipcbiAgICogR2V0cyBmZWF0dXJlcyBmcm9tIGEgQmlnV2lnIGZpbGVcbiAgICpcbiAgICogQHBhcmFtIHJlZk5hbWUgLSBUaGUgY2hyb21vc29tZSBuYW1lXG4gICAqIEBwYXJhbSBzdGFydCAtIFRoZSBzdGFydCBvZiBhIHJlZ2lvblxuICAgKiBAcGFyYW0gZW5kIC0gVGhlIGVuZCBvZiBhIHJlZ2lvblxuICAgKiBAcmV0dXJuIFByb21pc2Ugd2l0aCBhbiBPYnNlcnZhYmxlIG9mIGFycmF5IG9mIGZlYXR1cmVzXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmVhdHVyZVN0cmVhbShcbiAgICByZWZOYW1lOiBzdHJpbmcsXG4gICAgc3RhcnQ6IG51bWJlcixcbiAgICBlbmQ6IG51bWJlcixcbiAgICBvcHRzOiBPcHRpb25zID0ge30sXG4gICk6IFByb21pc2U8T2JzZXJ2YWJsZTxGZWF0dXJlW10+PiB7XG4gICAgYXdhaXQgdGhpcy5nZXRIZWFkZXIob3B0cy5zaWduYWwpXG4gICAgY29uc3QgY2hyTmFtZSA9IHRoaXMucmVuYW1lUmVmU2VxcyhyZWZOYW1lKVxuXG4gICAgY29uc3QgdmlldyA9IGF3YWl0IHRoaXMuZ2V0VmlldygxKVxuICAgIGlmICghdmlldykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmFibGUgdG8gZ2V0IGJsb2NrIHZpZXcgZm9yIGRhdGEnKVxuICAgIH1cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBPYnNlcnZlcjxGZWF0dXJlW10+KSA9PiB7XG4gICAgICB2aWV3LnJlYWRXaWdEYXRhKGNock5hbWUsIHN0YXJ0LCBlbmQsIG9ic2VydmVyLCBvcHRzLnNpZ25hbClcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEZlYXR1cmVzKFxuICAgIHJlZk5hbWU6IHN0cmluZyxcbiAgICBzdGFydDogbnVtYmVyLFxuICAgIGVuZDogbnVtYmVyLFxuICAgIG9wdHM6IE9wdGlvbnMgPSB7IHNjYWxlOiAxIH0sXG4gICk6IFByb21pc2U8RmVhdHVyZVtdPiB7XG4gICAgbGV0IGZlYXR1cmVzOiBGZWF0dXJlW11bXSA9IFtdXG4gICAgY29uc3Qgb2IgPSBhd2FpdCB0aGlzLmdldEZlYXR1cmVTdHJlYW0ocmVmTmFtZSwgc3RhcnQsIGVuZCwgb3B0cylcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgLy8gcHJldHRpZXItaWdub3JlXG4gICAgICBvYi5zdWJzY3JpYmUoXG4gICAgICAgIGZlYXRzID0+IGZlYXR1cmVzID0gZmVhdHVyZXMuY29uY2F0KGZlYXRzKSxcbiAgICAgICAgZXJyb3IgPT4gcmVqZWN0KGVycm9yKSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoZmxhdHRlbihmZWF0dXJlcykpXG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9KVxuICB9XG59XG4iXX0=

@@ -185,2 +185,3 @@ "use strict";

exports.default = BigWig;
exports.default = BigWig;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iaWd3aWcudHMiXSwibmFtZXMiOlsiQmlnV2lnIiwicmVmTmFtZSIsInN0YXJ0IiwiZW5kIiwib3B0cyIsInNjYWxlIiwiZ2V0SGVhZGVyIiwic2lnbmFsIiwiY2hyTmFtZSIsInJlbmFtZVJlZlNlcXMiLCJiYXNlc1BlclNwYW4iLCJnZXRWaWV3IiwidmlldyIsIkVycm9yIiwiT2JzZXJ2YWJsZSIsIm9ic2VydmVyIiwicmVhZFdpZ0RhdGEiLCJmZWF0dXJlcyIsImdldEZlYXR1cmVTdHJlYW0iLCJvYiIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0Iiwic3Vic2NyaWJlIiwiZmVhdHMiLCJjb25jYXQiLCJlcnJvciIsIkJCSSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7SUFHcUJBLE07Ozs7Ozs7Ozs7Ozs7QUFDbkI7Ozs7Ozs7Ozs7O2lEQVNFQyxPLEVBQ0FDLEssRUFDQUMsRzs7Ozs7Ozs7O0FBQ0FDLGdCQUFBQSxJLDJEQUFnQjtBQUFFQyxrQkFBQUEsS0FBSyxFQUFFO0FBQVQsaUI7O3VCQUVWLEtBQUtDLFNBQUwsQ0FBZUYsSUFBSSxDQUFDRyxNQUFwQixDOzs7QUFDQUMsZ0JBQUFBLE8sR0FBVSxLQUFLQyxhQUFMLENBQW1CUixPQUFuQixDOztxQkFHWkcsSUFBSSxDQUFDTSxZOzs7Ozs7dUJBQ00sS0FBS0MsT0FBTCxDQUFhLElBQUlQLElBQUksQ0FBQ00sWUFBdEIsRUFBb0NOLElBQUksQ0FBQ0csTUFBekMsQzs7O0FBQWJLLGdCQUFBQSxJOzs7OztxQkFDU1IsSUFBSSxDQUFDQyxLOzs7Ozs7dUJBQ0QsS0FBS00sT0FBTCxDQUFhUCxJQUFJLENBQUNDLEtBQWxCLEVBQXlCRCxJQUFJLENBQUNHLE1BQTlCLEM7OztBQUFiSyxnQkFBQUEsSTs7Ozs7O3VCQUVhLEtBQUtELE9BQUwsQ0FBYSxDQUFiLEVBQWdCUCxJQUFJLENBQUNHLE1BQXJCLEM7OztBQUFiSyxnQkFBQUEsSTs7O29CQUdHQSxJOzs7OztzQkFDRyxJQUFJQyxLQUFKLENBQVUsbUNBQVYsQzs7O2lEQUVELElBQUlDLGdCQUFKLENBQWUsVUFBQ0MsUUFBRCxFQUFtQztBQUN2REgsa0JBQUFBLElBQUksQ0FBQ0ksV0FBTCxDQUFpQlIsT0FBakIsRUFBMEJOLEtBQTFCLEVBQWlDQyxHQUFqQyxFQUFzQ1ksUUFBdEMsRUFBZ0RYLElBQUksQ0FBQ0csTUFBckQ7QUFDRCxpQkFGTSxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0RBTVBOLE8sRUFDQUMsSyxFQUNBQyxHOzs7Ozs7Ozs7QUFDQUMsZ0JBQUFBLEksOERBQWdCO0FBQUVDLGtCQUFBQSxLQUFLLEVBQUU7QUFBVCxpQjtBQUVaWSxnQkFBQUEsUSxHQUF3QixFOzt1QkFDWCxLQUFLQyxnQkFBTCxDQUFzQmpCLE9BQXRCLEVBQStCQyxLQUEvQixFQUFzQ0MsR0FBdEMsRUFBMkNDLElBQTNDLEM7OztBQUFYZSxnQkFBQUEsRTtrREFDQyxJQUFJQyxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ3RDO0FBQ0FILGtCQUFBQSxFQUFFLENBQUNJLFNBQUgsQ0FDRSxVQUFBQyxLQUFLO0FBQUEsMkJBQUlQLFFBQVEsR0FBR0EsUUFBUSxDQUFDUSxNQUFULENBQWdCRCxLQUFoQixDQUFmO0FBQUEsbUJBRFAsRUFFRSxVQUFBRSxLQUFLO0FBQUEsMkJBQUlKLE1BQU0sQ0FBQ0ksS0FBRCxDQUFWO0FBQUEsbUJBRlAsRUFHRSxZQUFNO0FBQ0pMLG9CQUFBQSxPQUFPLENBQUMsbUJBQVFKLFFBQVIsQ0FBRCxDQUFQO0FBQ0QsbUJBTEg7QUFPRCxpQkFUTSxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7RUEzQ3lCVSxZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJCSSBmcm9tICcuL2JiaSdcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICcuL3V0aWwnXG5pbXBvcnQgQmxvY2tWaWV3IGZyb20gJy4vYmxvY2tWaWV3J1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCaWdXaWcgZXh0ZW5kcyBCQkkge1xuICAvKipcbiAgICogR2V0cyBmZWF0dXJlcyBmcm9tIGEgQmlnV2lnIGZpbGVcbiAgICpcbiAgICogQHBhcmFtIHJlZk5hbWUgLSBUaGUgY2hyb21vc29tZSBuYW1lXG4gICAqIEBwYXJhbSBzdGFydCAtIFRoZSBzdGFydCBvZiBhIHJlZ2lvblxuICAgKiBAcGFyYW0gZW5kIC0gVGhlIGVuZCBvZiBhIHJlZ2lvblxuICAgKiBAcGFyYW0gb3B0cyAtIEFuIG9iamVjdCBjb250YWluaW5nIGJhc2VzUGVyU3BhbiAoZS5nLiBwaXhlbHMgcGVyIGJhc2VwYWlyKSBvciBzY2FsZSB1c2VkIHRvIGluZmVyIHRoZSB6b29tTGV2ZWwgdG8gdXNlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmVhdHVyZVN0cmVhbShcbiAgICByZWZOYW1lOiBzdHJpbmcsXG4gICAgc3RhcnQ6IG51bWJlcixcbiAgICBlbmQ6IG51bWJlcixcbiAgICBvcHRzOiBPcHRpb25zID0geyBzY2FsZTogMSB9LFxuICApOiBQcm9taXNlPE9ic2VydmFibGU8RmVhdHVyZVtdPj4ge1xuICAgIGF3YWl0IHRoaXMuZ2V0SGVhZGVyKG9wdHMuc2lnbmFsKVxuICAgIGNvbnN0IGNock5hbWUgPSB0aGlzLnJlbmFtZVJlZlNlcXMocmVmTmFtZSlcbiAgICBsZXQgdmlldzogQmxvY2tWaWV3XG5cbiAgICBpZiAob3B0cy5iYXNlc1BlclNwYW4pIHtcbiAgICAgIHZpZXcgPSBhd2FpdCB0aGlzLmdldFZpZXcoMSAvIG9wdHMuYmFzZXNQZXJTcGFuLCBvcHRzLnNpZ25hbClcbiAgICB9IGVsc2UgaWYgKG9wdHMuc2NhbGUpIHtcbiAgICAgIHZpZXcgPSBhd2FpdCB0aGlzLmdldFZpZXcob3B0cy5zY2FsZSwgb3B0cy5zaWduYWwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHZpZXcgPSBhd2FpdCB0aGlzLmdldFZpZXcoMSwgb3B0cy5zaWduYWwpXG4gICAgfVxuXG4gICAgaWYgKCF2aWV3KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuYWJsZSB0byBnZXQgYmxvY2sgdmlldyBmb3IgZGF0YScpXG4gICAgfVxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEZlYXR1cmVbXT4pID0+IHtcbiAgICAgIHZpZXcucmVhZFdpZ0RhdGEoY2hyTmFtZSwgc3RhcnQsIGVuZCwgb2JzZXJ2ZXIsIG9wdHMuc2lnbmFsKVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0RmVhdHVyZXMoXG4gICAgcmVmTmFtZTogc3RyaW5nLFxuICAgIHN0YXJ0OiBudW1iZXIsXG4gICAgZW5kOiBudW1iZXIsXG4gICAgb3B0czogT3B0aW9ucyA9IHsgc2NhbGU6IDEgfSxcbiAgKTogUHJvbWlzZTxGZWF0dXJlW10+IHtcbiAgICBsZXQgZmVhdHVyZXM6IEZlYXR1cmVbXVtdID0gW11cbiAgICBjb25zdCBvYiA9IGF3YWl0IHRoaXMuZ2V0RmVhdHVyZVN0cmVhbShyZWZOYW1lLCBzdGFydCwgZW5kLCBvcHRzKVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBwcmV0dGllci1pZ25vcmVcbiAgICAgIG9iLnN1YnNjcmliZShcbiAgICAgICAgZmVhdHMgPT4gZmVhdHVyZXMgPSBmZWF0dXJlcy5jb25jYXQoZmVhdHMpLFxuICAgICAgICBlcnJvciA9PiByZWplY3QoZXJyb3IpLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShmbGF0dGVuKGZlYXR1cmVzKSlcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==

@@ -88,3 +88,5 @@ "use strict";

_context.next = 10;
return bbi.read(this.cirTreeBuffer, 0, 48, cirTreeOffset, abortSignal);
return bbi.read(this.cirTreeBuffer, 0, 48, cirTreeOffset, {
signal: abortSignal
});

@@ -124,2 +126,3 @@ case 10:

exports.default = BlockView;
exports.default = BlockView;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ibG9ja1ZpZXcudHMiXSwibmFtZXMiOlsiQmxvY2tWaWV3IiwiYmJpIiwicmVmc0J5TmFtZSIsImNpclRyZWVPZmZzZXQiLCJjaXJUcmVlTGVuZ3RoIiwiaXNCaWdFbmRpYW4iLCJpc0NvbXByZXNzZWQiLCJibG9ja1R5cGUiLCJFcnJvciIsImNpclRyZWVCdWZmZXIiLCJCdWZmZXIiLCJhbGxvYyIsImNock5hbWUiLCJtaW4iLCJtYXgiLCJvYnNlcnZlciIsImFib3J0U2lnbmFsIiwiY2hyIiwidW5kZWZpbmVkIiwiY29tcGxldGUiLCJjaXJUcmVlUHJvbWlzZSIsInJlYWQiLCJzaWduYWwiLCJidWZmZXIiLCJjaXJCbG9ja1NpemUiLCJyZWFkVUludDMyQkUiLCJyZWFkVUludDMyTEUiLCJ3b3JrZXIiLCJSZXF1ZXN0V29ya2VyIiwiY2lyRm9iUmVjdXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7Ozs7OztJQVFxQkEsUzs7O0FBV25CLHFCQUNFQyxHQURGLEVBRUVDLFVBRkYsRUFHRUMsYUFIRixFQUlFQyxhQUpGLEVBS0VDLFdBTEYsRUFNRUMsWUFORixFQU9FQyxTQVBGLEVBUUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBLFFBQUksRUFBRUosYUFBYSxJQUFJLENBQW5CLENBQUosRUFBMkIsTUFBTSxJQUFJSyxLQUFKLENBQVUsd0JBQVYsQ0FBTjtBQUMzQixRQUFJLEVBQUVKLGFBQWEsR0FBRyxDQUFsQixDQUFKLEVBQTBCLE1BQU0sSUFBSUksS0FBSixDQUFVLHdCQUFWLENBQU47QUFFMUIsU0FBS0wsYUFBTCxHQUFxQkEsYUFBckI7QUFDQSxTQUFLQyxhQUFMLEdBQXFCQSxhQUFyQjtBQUNBLFNBQUtFLFlBQUwsR0FBb0JBLFlBQXBCO0FBQ0EsU0FBS0osVUFBTCxHQUFrQkEsVUFBbEI7QUFDQSxTQUFLRyxXQUFMLEdBQW1CQSxXQUFuQjtBQUNBLFNBQUtKLEdBQUwsR0FBV0EsR0FBWDtBQUNBLFNBQUtNLFNBQUwsR0FBaUJBLFNBQWpCO0FBQ0EsU0FBS0UsYUFBTCxHQUFxQkMsTUFBTSxDQUFDQyxLQUFQLENBQWEsRUFBYixDQUFyQjtBQUNELEcsQ0FFRDs7Ozs7Ozs7aURBRUVDLE8sRUFDQUMsRyxFQUNBQyxHLEVBQ0FDLFEsRUFDQUMsVzs7Ozs7O0FBRVFkLGdCQUFBQSxVLEdBQXlFLEksQ0FBekVBLFUsRUFBWUQsRyxHQUE2RCxJLENBQTdEQSxHLEVBQUtFLGEsR0FBd0QsSSxDQUF4REEsYSxFQUFlRSxXLEdBQXlDLEksQ0FBekNBLFcsRUFBYUMsWSxHQUE0QixJLENBQTVCQSxZLEVBQWNDLFMsR0FBYyxJLENBQWRBLFM7QUFDN0RVLGdCQUFBQSxHLEdBQU1mLFVBQVUsQ0FBQ1UsT0FBRCxDOztBQUN0QixvQkFBSUssR0FBRyxLQUFLQyxTQUFaLEVBQXVCO0FBQ3JCSCxrQkFBQUEsUUFBUSxDQUFDSSxRQUFUO0FBQ0Q7O3FCQUNHLEtBQUtDLGM7Ozs7Ozt1QkFDRCxLQUFLQSxjOzs7Ozs7Ozt1QkFFaUJuQixHQUFHLENBQUNvQixJQUFKLENBQVMsS0FBS1osYUFBZCxFQUE2QixDQUE3QixFQUFnQyxFQUFoQyxFQUFvQ04sYUFBcEMsRUFBbUQ7QUFBRW1CLGtCQUFBQSxNQUFNLEVBQUVOO0FBQVYsaUJBQW5ELEM7OztBQUE1QixxQkFBS0ksYzs7O0FBRURHLGdCQUFBQSxNLEdBQVMsS0FBS2QsYTtBQUNkZSxnQkFBQUEsWSxHQUFlbkIsV0FBVyxHQUFHa0IsTUFBTSxDQUFDRSxZQUFQLENBQW9CLENBQXBCLENBQUgsR0FBNEJGLE1BQU0sQ0FBQ0csWUFBUCxDQUFvQixDQUFwQixDO0FBRXREQyxnQkFBQUEsTSxHQUFTLElBQUlDLHNCQUFKLENBQWtCM0IsR0FBbEIsRUFBdUJnQixHQUF2QixFQUE0QkosR0FBNUIsRUFBaUNDLEdBQWpDLEVBQXNDQyxRQUF0QyxFQUFnRDtBQUM3RFYsa0JBQUFBLFdBQVcsRUFBWEEsV0FENkQ7QUFFN0RDLGtCQUFBQSxZQUFZLEVBQVpBLFlBRjZEO0FBRzdEa0Isa0JBQUFBLFlBQVksRUFBWkEsWUFINkQ7QUFJN0RqQixrQkFBQUEsU0FBUyxFQUFUQSxTQUo2RDtBQUs3RFMsa0JBQUFBLFdBQVcsRUFBWEE7QUFMNkQsaUJBQWhELEM7QUFRZlcsZ0JBQUFBLE1BQU0sQ0FBQ0UsV0FBUCxDQUFtQixDQUFDMUIsYUFBYSxHQUFHLEVBQWpCLENBQW5CLEVBQXlDLENBQXpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlcXVlc3RXb3JrZXIgZnJvbSAnLi9yZXF1ZXN0V29ya2VyJ1xuaW1wb3J0IHsgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJ1xuLyoqXG4gKiBWaWV3IGludG8gYSBzdWJzZXQgb2YgdGhlIGRhdGEgaW4gYSBCaWdXaWcgZmlsZS5cbiAqXG4gKiBBZGFwdGVkIGJ5IFJvYmVydCBCdWVscyBhbmQgQ29saW4gRGllc2ggZnJvbSBiaWd3aWcuanMgaW4gdGhlIERhbGxpYW5jZSBHZW5vbWVcbiAqIEV4cGxvcmVyIGJ5IFRob21hcyBEb3duLlxuICogQGNvbnN0cnVjdHNcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCbG9ja1ZpZXcge1xuICBwcml2YXRlIGNpclRyZWVPZmZzZXQ6IG51bWJlclxuICBwcml2YXRlIGNpclRyZWVMZW5ndGg6IG51bWJlclxuICBwcml2YXRlIGJiaTogYW55XG4gIHByaXZhdGUgaXNDb21wcmVzc2VkOiBib29sZWFuXG4gIHByaXZhdGUgaXNCaWdFbmRpYW46IGJvb2xlYW5cbiAgcHJpdmF0ZSByZWZzQnlOYW1lOiBhbnlcbiAgcHJpdmF0ZSBibG9ja1R5cGU6IHN0cmluZ1xuICBwcml2YXRlIGNpclRyZWVCdWZmZXI6IEJ1ZmZlclxuICBwcml2YXRlIGNpclRyZWVQcm9taXNlPzogUHJvbWlzZTx2b2lkPlxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBiYmk6IGFueSxcbiAgICByZWZzQnlOYW1lOiBhbnksXG4gICAgY2lyVHJlZU9mZnNldDogbnVtYmVyLFxuICAgIGNpclRyZWVMZW5ndGg6IG51bWJlcixcbiAgICBpc0JpZ0VuZGlhbjogYm9vbGVhbixcbiAgICBpc0NvbXByZXNzZWQ6IGJvb2xlYW4sXG4gICAgYmxvY2tUeXBlOiBzdHJpbmcsXG4gICkge1xuICAgIGlmICghKGNpclRyZWVPZmZzZXQgPj0gMCkpIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBjaXJUcmVlT2Zmc2V0IScpXG4gICAgaWYgKCEoY2lyVHJlZUxlbmd0aCA+IDApKSB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY2lyVHJlZUxlbmd0aCEnKVxuXG4gICAgdGhpcy5jaXJUcmVlT2Zmc2V0ID0gY2lyVHJlZU9mZnNldFxuICAgIHRoaXMuY2lyVHJlZUxlbmd0aCA9IGNpclRyZWVMZW5ndGhcbiAgICB0aGlzLmlzQ29tcHJlc3NlZCA9IGlzQ29tcHJlc3NlZFxuICAgIHRoaXMucmVmc0J5TmFtZSA9IHJlZnNCeU5hbWVcbiAgICB0aGlzLmlzQmlnRW5kaWFuID0gaXNCaWdFbmRpYW5cbiAgICB0aGlzLmJiaSA9IGJiaVxuICAgIHRoaXMuYmxvY2tUeXBlID0gYmxvY2tUeXBlXG4gICAgdGhpcy5jaXJUcmVlQnVmZmVyID0gQnVmZmVyLmFsbG9jKDQ4KVxuICB9XG5cbiAgLy8gdG9kbzptZW1vaXplL2xydVxuICBwdWJsaWMgYXN5bmMgcmVhZFdpZ0RhdGEoXG4gICAgY2hyTmFtZTogc3RyaW5nLFxuICAgIG1pbjogbnVtYmVyLFxuICAgIG1heDogbnVtYmVyLFxuICAgIG9ic2VydmVyOiBPYnNlcnZlcjxGZWF0dXJlW10+LFxuICAgIGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWwsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgcmVmc0J5TmFtZSwgYmJpLCBjaXJUcmVlT2Zmc2V0LCBpc0JpZ0VuZGlhbiwgaXNDb21wcmVzc2VkLCBibG9ja1R5cGUgfSA9IHRoaXNcbiAgICBjb25zdCBjaHIgPSByZWZzQnlOYW1lW2Nock5hbWVdXG4gICAgaWYgKGNociA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpXG4gICAgfVxuICAgIGlmICh0aGlzLmNpclRyZWVQcm9taXNlKSB7XG4gICAgICBhd2FpdCB0aGlzLmNpclRyZWVQcm9taXNlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2lyVHJlZVByb21pc2UgPSBhd2FpdCBiYmkucmVhZCh0aGlzLmNpclRyZWVCdWZmZXIsIDAsIDQ4LCBjaXJUcmVlT2Zmc2V0LCB7IHNpZ25hbDogYWJvcnRTaWduYWwgfSlcbiAgICB9XG4gICAgY29uc3QgYnVmZmVyID0gdGhpcy5jaXJUcmVlQnVmZmVyXG4gICAgY29uc3QgY2lyQmxvY2tTaXplID0gaXNCaWdFbmRpYW4gPyBidWZmZXIucmVhZFVJbnQzMkJFKDQpIDogYnVmZmVyLnJlYWRVSW50MzJMRSg0KVxuXG4gICAgY29uc3Qgd29ya2VyID0gbmV3IFJlcXVlc3RXb3JrZXIoYmJpLCBjaHIsIG1pbiwgbWF4LCBvYnNlcnZlciwge1xuICAgICAgaXNCaWdFbmRpYW4sXG4gICAgICBpc0NvbXByZXNzZWQsXG4gICAgICBjaXJCbG9ja1NpemUsXG4gICAgICBibG9ja1R5cGUsXG4gICAgICBhYm9ydFNpZ25hbCxcbiAgICB9KVxuXG4gICAgd29ya2VyLmNpckZvYlJlY3VyKFtjaXJUcmVlT2Zmc2V0ICsgNDhdLCAxKVxuICB9XG59XG4iXX0=

@@ -1,1 +0,2 @@

"use strict";
"use strict";
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=

@@ -1,1 +0,2 @@

"use strict";
"use strict";
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=

@@ -23,2 +23,3 @@ "use strict";

var _bigbed = _interopRequireDefault(require("./bigbed"));
var _bigbed = _interopRequireDefault(require("./bigbed"));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ1dpZyBmcm9tICcuL2JpZ3dpZydcbmltcG9ydCBCaWdCZWQgZnJvbSAnLi9iaWdiZWQnXG5cbmV4cG9ydCB7IEJpZ1dpZywgQmlnQmVkIH1cbiJdfQ==

@@ -189,2 +189,3 @@ "use strict";

exports.default = Range;
exports.default = Range;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yYW5nZS50cyJdLCJuYW1lcyI6WyJSYW5nZSIsImFyZzEiLCJhcmcyIiwicmFuZ2VzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwibWluIiwibWF4IiwiT2JqZWN0IiwiYXNzaWduIiwicG9zIiwicyIsInIiLCJtYXAiLCJqb2luIiwiczEiLCJzMCIsImdldFJhbmdlcyIsImNvbmNhdCIsInNvcnQiLCJyYW5nZU9yZGVyIiwib3JhbmdlcyIsImN1cnJlbnQiLCJpIiwibnh0IiwicHVzaCIsImFyZyIsInIwIiwicjEiLCJsMCIsImwxIiwiaTAiLCJpMSIsIm9yIiwibGFwTWluIiwiTWF0aCIsImxhcE1heCIsIkVycm9yIiwidG90IiwicmwiLCJyaSIsInRtcGEiLCJ0bXBiIiwiYSIsImIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOzs7O0lBSXFCQSxLOzs7QUFFbkIsaUJBQW1CQyxJQUFuQixFQUE4QkMsSUFBOUIsRUFBMEM7QUFBQTtBQUFBO0FBQ3hDLFNBQUtDLE1BQUwsR0FBY0MsU0FBUyxDQUFDQyxNQUFWLEtBQXFCLENBQXJCLEdBQXlCLENBQUM7QUFBRUMsTUFBQUEsR0FBRyxFQUFFTCxJQUFQO0FBQWFNLE1BQUFBLEdBQUcsRUFBRUw7QUFBbEIsS0FBRCxDQUF6QixHQUFzRCxLQUFLRCxJQUFMLEdBQVlPLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLEVBQWQsRUFBa0JSLElBQWxCLENBQVosR0FBc0MsQ0FBQ0EsSUFBRCxDQUExRztBQUNEOzs7OzBCQUVvQjtBQUNuQixhQUFPLEtBQUtFLE1BQUwsQ0FBWSxDQUFaLEVBQWVHLEdBQXRCO0FBQ0Q7OzswQkFFb0I7QUFDbkIsYUFBTyxLQUFLSCxNQUFMLENBQVksS0FBS0EsTUFBTCxDQUFZRSxNQUFaLEdBQXFCLENBQWpDLEVBQW9DRSxHQUEzQztBQUNEOzs7NkJBRWVHLEcsRUFBc0I7QUFDcEMsV0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFH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R0FBRyxDQUFkLEVBQWlCQSxFQUFFLEdBQUdELEVBQUUsQ0FBQ2xDLE1BQXpCLEVBQWlDbUMsRUFBRSxJQUFJLENBQXZDLEVBQTBDO0FBQ3hDLFlBQU01QixDQUFDLEdBQUcyQixFQUFFLENBQUNDLEVBQUQsQ0FBWjtBQUNBRixRQUFBQSxHQUFHLElBQUkxQixDQUFDLENBQUNMLEdBQUYsS0FBVUssQ0FBQyxDQUFDTixHQUFGLEVBQVYsR0FBb0IsQ0FBM0I7QUFDRDs7QUFDRCxhQUFPZ0MsR0FBUDtBQUNEOzs7K0JBRWlCRyxJLEVBQWFDLEksRUFBcUI7QUFDbEQsVUFBSUMsQ0FBQyxHQUFHRixJQUFSO0FBQ0EsVUFBSUcsQ0FBQyxHQUFHRixJQUFSOztBQUNBLFVBQUl0QyxTQUFTLENBQUNDLE1BQVYsR0FBbUIsQ0FBdkIsRUFBMEI7QUFDeEJ1QyxRQUFBQSxDQUFDLEdBQUdELENBQUo7QUFDQUEsUUFBQUEsQ0FBQyxHQUFHLElBQUo7QUFDRDs7QUFFRCxVQUFJQSxDQUFDLENBQUNyQyxHQUFGLEtBQVVzQyxDQUFDLENBQUN0QyxHQUFGLEVBQWQsRUFBdUI7QUFDckIsZUFBTyxDQUFDLENBQVI7QUFDRDs7QUFDRCxVQUFJcUMsQ0FBQyxDQUFDckMsR0FBRixLQUFVc0MsQ0FBQyxDQUFDdEMsR0FBRixFQUFkLEVBQXVCO0FBQ3JCLGVBQU8sQ0FBUDtBQUNEOztBQUNELFVBQUlxQyxDQUFDLENBQUNwQyxHQUFGLEtBQVVxQyxDQUFDLENBQUNyQyxHQUFGLEVBQWQsRUFBdUI7QUFDckIsZUFBTyxDQUFDLENBQVI7QUFDRDs7QUFDRCxVQUFJcUMsQ0FBQyxDQUFDckMsR0FBRixLQUFVb0MsQ0FBQyxDQUFDcEMsR0FBRixFQUFkLEVBQXVCO0FBQ3JCLGVBQU8sQ0FBUDtBQUNEOztBQUNELGFBQU8sQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50IHByZWZlci1yZXN0LXBhcmFtczowLCBuby1uZXN0ZWQtdGVybmFyeTowICovXG5cbi8qKlxuICogQWRhcHRlZCBmcm9tIGEgY29tYmluYXRpb24gb2YgUmFuZ2UgYW5kIF9Db21wb3VuZCBpbiB0aGVcbiAqIERhbGxpYW5jZSBHZW5vbWUgRXhwbG9yZXIsIChjKSBUaG9tYXMgRG93biAyMDA2LTIwMTAuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmdlIHtcbiAgcHVibGljIHJhbmdlczogYW55XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihhcmcxOiBhbnksIGFyZzI/OiBhbnkpIHtcbiAgICB0aGlzLnJhbmdlcyA9IGFyZ3VtZW50cy5sZW5ndGggPT09IDIgPyBbeyBtaW46IGFyZzEsIG1heDogYXJnMiB9XSA6IDAgaW4gYXJnMSA/IE9iamVjdC5hc3NpZ24oe30sIGFyZzEpIDogW2FyZzFdXG4gIH1cblxuICBwdWJsaWMgbWluKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucmFuZ2VzWzBdLm1pblxuICB9XG5cbiAgcHVibGljIG1heCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnJhbmdlc1t0aGlzLnJhbmdlcy5sZW5ndGggLSAxXS5tYXhcbiAgfVxuXG4gIHB1YmxpYyBjb250YWlucyhwb3M6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IHMgPSAwOyBzIDwgdGhpcy5yYW5nZXMubGVuZ3RoOyBzICs9IDEpIHtcbiAgICAgIGNvbnN0IHIgPSB0aGlzLnJhbmdlc1tzXVxuICAgICAgaWYgKHIubWluIDw9IHBvcyAmJiByLm1heCA+PSBwb3MpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBwdWJsaWMgaXNDb250aWd1b3VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJhbmdlcy5sZW5ndGggPiAxXG4gIH1cblxuICBwdWJsaWMgZ2V0UmFuZ2VzKCk6IFJhbmdlW10ge1xuICAgIHJldHVybiB0aGlzLnJhbmdlcy5tYXAoKHI6IFJhbmdlKSA9PiBuZXcgUmFuZ2Uoci5taW4sIHIubWF4KSlcbiAgfVxuXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJhbmdlcy5tYXAoKHI6IFJhbmdlKSA9PiBgWyR7ci5taW59LSR7ci5tYXh9XWApLmpvaW4oJywnKVxuICB9XG5cbiAgcHVibGljIHVuaW9uKHMxOiBSYW5nZSk6IFJhbmdlIHtcbiAgICBjb25zdCBzMCA9IHRoaXNcbiAgICBjb25zdCByYW5nZXMgPSBzMFxuICAgICAgLmdldFJhbmdlcygpXG4gICAgICAuY29uY2F0KHMxLmdldFJhbmdlcygpKVxuICAgICAgLnNvcnQodGhpcy5yYW5nZU9yZGVyKVxuICAgIGNvbnN0IG9yYW5nZXMgPSBbXVxuICAgIGxldCBjdXJyZW50ID0gcmFuZ2VzWzBdXG5cbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHJhbmdlcy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgY29uc3Qgbnh0ID0gcmFuZ2VzW2ldXG4gICAgICBpZiAobnh0Lm1pbigpID4gY3VycmVudC5tYXgoKSArIDEpIHtcbiAgICAgICAgb3Jhbmdlcy5wdXNoKGN1cnJlbnQpXG4gICAgICAgIGN1cnJlbnQgPSBueHRcbiAgICAgIH0gZWxzZSBpZiAobnh0Lm1heCgpID4gY3VycmVudC5tYXgoKSkge1xuICAgICAgICBjdXJyZW50ID0gbmV3IFJhbmdlKGN1cnJlbnQubWluKCksIG54dC5tYXgoKSlcbiAgICAgIH1cbiAgICB9XG4gICAgb3Jhbmdlcy5wdXNoKGN1cnJlbnQpXG5cbiAgICBpZiAob3Jhbmdlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBvcmFuZ2VzWzBdXG4gICAgfVxuICAgIHJldHVybiBuZXcgUmFuZ2Uob3JhbmdlcylcbiAgfVxuXG4gIHB1YmxpYyBpbnRlcnNlY3Rpb24oYXJnOiBSYW5nZSk6IFJhbmdlIHtcbiAgICBsZXQgczAgPSB0aGlzXG4gICAgbGV0IHMxID0gYXJnXG4gICAgY29uc3QgcjAgPSBzMC5yYW5nZXMoKVxuICAgIGNvbnN0IHIxID0gczEucmFuZ2VzKClcbiAgICBjb25zdCBsMCA9IHIwLmxlbmd0aFxuXG4gICAgY29uc3QgbDEgPSByMS5sZW5ndGhcbiAgICBsZXQgaTAgPSAwXG5cbiAgICBsZXQgaTEgPSAwXG4gICAgY29uc3Qgb3IgPSBbXVxuXG4gICAgd2hpbGUgKGkwIDwgbDAgJiYgaTEgPCBsMSkge1xuICAgICAgczAgPSByMFtpMF1cbiAgICAgIHMxID0gcjFbaTFdXG4gICAgICBjb25zdCBsYXBNaW4gPSBNYXRoLm1heChzMC5taW4oKSwgczEubWluKCkpXG4gICAgICBjb25zdCBsYXBNYXggPSBNYXRoLm1pbihzMC5tYXgoKSwgczEubWF4KCkpXG4gICAgICBpZiAobGFwTWF4ID49IGxhcE1pbikge1xuICAgICAgICBvci5wdXNoKG5ldyBSYW5nZShsYXBNaW4sIGxhcE1heCkpXG4gICAgICB9XG4gICAgICBpZiAoczAubWF4KCkgPiBzMS5tYXgoKSkge1xuICAgICAgICBpMSArPSAxXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpMCArPSAxXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9yLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmb3VuZCByYW5nZSBvZiBsZW5ndGggMCcpXG4gICAgfVxuICAgIGlmIChvci5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBvclswXVxuICAgIH1cbiAgICByZXR1cm4gbmV3IFJhbmdlKG9yKVxuICB9XG5cbiAgcHVibGljIGNvdmVyYWdlKCk6IG51bWJlciB7XG4gICAgbGV0IHRvdCA9IDBcbiAgICBjb25zdCBybCA9IHRoaXMucmFuZ2VzKClcbiAgICBmb3IgKGxldCByaSA9IDA7IHJpIDwgcmwubGVuZ3RoOyByaSArPSAxKSB7XG4gICAgICBjb25zdCByID0gcmxbcmldXG4gICAgICB0b3QgKz0gci5tYXgoKSAtIHIubWluKCkgKyAxXG4gICAgfVxuICAgIHJldHVybiB0b3RcbiAgfVxuXG4gIHB1YmxpYyByYW5nZU9yZGVyKHRtcGE6IFJhbmdlLCB0bXBiOiBSYW5nZSk6IG51bWJlciB7XG4gICAgbGV0IGEgPSB0bXBhXG4gICAgbGV0IGIgPSB0bXBiXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgICBiID0gYVxuICAgICAgYSA9IHRoaXNcbiAgICB9XG5cbiAgICBpZiAoYS5taW4oKSA8IGIubWluKCkpIHtcbiAgICAgIHJldHVybiAtMVxuICAgIH1cbiAgICBpZiAoYS5taW4oKSA+IGIubWluKCkpIHtcbiAgICAgIHJldHVybiAxXG4gICAgfVxuICAgIGlmIChhLm1heCgpIDwgYi5tYXgoKSkge1xuICAgICAgcmV0dXJuIC0xXG4gICAgfVxuICAgIGlmIChiLm1heCgpID4gYS5tYXgoKSkge1xuICAgICAgcmV0dXJuIDFcbiAgICB9XG4gICAgcmV0dXJuIDBcbiAgfVxufVxuIl19

@@ -89,3 +89,5 @@ "use strict";

_context.next = 4;
return bbi.read(resultBuffer, 0, length, offset, abortSignal);
return bbi.read(resultBuffer, 0, length, offset, {
signal: abortSignal
});

@@ -418,2 +420,3 @@ case 4:

exports.default = RequestWorker;
exports.default = RequestWorker;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXF1ZXN0V29ya2VyLnRzIl0sIm5hbWVzIjpbIkJJR19XSUdfVFlQRV9HUkFQSCIsIkJJR19XSUdfVFlQRV9WU1RFUCIsIkJJR19XSUdfVFlQRV9GU1RFUCIsIlJlcXVlc3RXb3JrZXIiLCJiYmkiLCJjaHJJZCIsIm1pbiIsIm1heCIsIm9ic2VydmVyIiwib3B0cyIsImJsb2Nrc1RvRmV0Y2giLCJvdXRzdGFuZGluZyIsImZlYXR1cmVDYWNoZSIsIkFib3J0YWJsZVByb21pc2VDYWNoZSIsImNhY2hlIiwiUXVpY2tMUlUiLCJtYXhTaXplIiwiZmlsbCIsInJlcXVlc3REYXRhIiwiYWJvcnRTaWduYWwiLCJsZW5ndGgiLCJvZmZzZXQiLCJyZXN1bHRCdWZmZXIiLCJCdWZmZXIiLCJhbGxvYyIsInJlYWQiLCJzaWduYWwiLCJsZXZlbCIsIm1heENpckJsb2NrU3BhbiIsImNpckJsb2NrU2l6ZSIsInNwYW5zIiwiUmFuZ2UiLCJpIiwiYmxvY2tTcGFuIiwidW5pb24iLCJnZXRSYW5nZXMiLCJtYXAiLCJmciIsImNpckZvYlN0YXJ0RmV0Y2giLCJvZmYiLCJnZXQiLCJjb250YWlucyIsImNpckZvYlJlY3VyMiIsInJlYWRGZWF0dXJlcyIsIkVycm9yIiwiY2lyQmxvY2tEYXRhIiwiZGF0YSIsInNsaWNlIiwicGFyc2VyIiwiUGFyc2VyIiwiZW5kaWFuZXNzIiwiaXNCaWdFbmRpYW4iLCJ1aW50OCIsInNraXAiLCJ1aW50MTYiLCJjaG9pY2UiLCJ0YWciLCJjaG9pY2VzIiwiYXJyYXkiLCJ0eXBlIiwidWludDMyIiwidWludDY0IiwicCIsInBhcnNlIiwicmVzdWx0IiwibSIsImIiLCJzdGFydENocm9tIiwic3RhcnRCYXNlIiwiZW5kQ2hyb20iLCJlbmRCYXNlIiwiZmlsdGVyIiwibCIsImJsb2NrT2Zmc2V0IiwiYmxvY2tTaXplIiwicmVjdXJPZmZzZXRzIiwiY2lyRm9iUmVjdXIiLCJieXRlcyIsInN0YXJ0T2Zmc2V0IiwiYnl0ZUxlbmd0aCIsImludDMyIiwiZmxvYXQiLCJzdW1tYXJ5IiwiZWx0IiwiY2hyb21JZCIsInN0YXJ0IiwiZW5kIiwibWF4U2NvcmUiLCJtaW5TY29yZSIsInNjb3JlIiwic3VtRGF0YSIsInZhbGlkQ250IiwiZiIsImNvb3JkRmlsdGVyIiwiZmVhdHVyZXMiLCJzdHJpbmciLCJ6ZXJvVGVybWluYXRlZCIsImN1cnJPZmZzZXQiLCJyZXMiLCJ1bmlxdWVJZCIsInB1c2giLCJyZXN1bHRzIiwiaXRlbXMiLCJibG9ja1R5cGUiLCJzdGVwIiwiaXRlbVN0ZXAiLCJzcGFuIiwiaXRlbVNwYW4iLCJmZWF0dXJlIiwiaW5kZXgiLCJpc0NvbXByZXNzZWQiLCJibG9ja0dyb3Vwc1RvRmV0Y2giLCJQcm9taXNlIiwiYWxsIiwiYmxvY2tHcm91cCIsImJsb2NrcyIsImZvckVhY2giLCJibG9jayIsInJlc3VsdERhdGEiLCJ6bGliIiwiaW5mbGF0ZVN5bmMiLCJuZXh0IiwicGFyc2VTdW1tYXJ5QmxvY2siLCJwYXJzZUJpZ1dpZ0Jsb2NrIiwicGFyc2VCaWdCZWRCbG9jayIsImNvbnNvbGUiLCJ3YXJuIiwiY29tcGxldGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBUEE7QUFTQSxJQUFNQSxrQkFBa0IsR0FBRyxDQUEzQjtBQUNBLElBQU1DLGtCQUFrQixHQUFHLENBQTNCO0FBQ0EsSUFBTUMsa0JBQWtCLEdBQUcsQ0FBM0I7O0FBb0NBOzs7Ozs7Ozs7SUFTcUJDLGE7OztBQVluQix5QkFBbUJDLEdBQW5CLEVBQTZCQyxLQUE3QixFQUE0Q0MsR0FBNUMsRUFBeURDLEdBQXpELEVBQXNFQyxRQUF0RSxFQUFxR0MsSUFBckcsRUFBb0g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ2xILFNBQUtBLElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtMLEdBQUwsR0FBV0EsR0FBWDtBQUNBLFNB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QWFELDZCQWxCRDs7QUFIcUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBQXZCOztBQUFBO0FBQUE7QUFBQTtBQUFBLG9CQURJLEM7OztBQXlCTixxQkFBSy9GLFFBQUwsQ0FBY3VILFFBQWQiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tYml0d2lzZTogW1wiZXJyb3JcIiwgeyBcImFsbG93XCI6IFtcInxcIl0gfV0gKi9cbmltcG9ydCB7IFBhcnNlciB9IGZyb20gJ0BnbW9kL2JpbmFyeS1wYXJzZXInXG5pbXBvcnQgKiBhcyB6bGliIGZyb20gJ3psaWInXG5pbXBvcnQgUmFuZ2UgZnJvbSAnLi9yYW5nZSdcbmltcG9ydCB7IGdyb3VwQmxvY2tzIH0gZnJvbSAnLi91dGlsJ1xuaW1wb3J0IHsgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IEFib3J0YWJsZVByb21pc2VDYWNoZSBmcm9tICdhYm9ydGFibGUtcHJvbWlzZS1jYWNoZSdcbmltcG9ydCBRdWlja0xSVSBmcm9tICdxdWljay1scnUnXG5cbmNvbnN0IEJJR19XSUdfVFlQRV9HUkFQSCA9IDFcbmNvbnN0IEJJR19XSUdfVFlQRV9WU1RFUCA9IDJcbmNvbnN0IEJJR19XSUdfVFlQRV9GU1RFUCA9IDNcblxuaW50ZXJmYWNlIERhdGFCbG9jayB7XG4gIHN0YXJ0Q2hyb206IG51bWJlclxuICBlbmRDaHJvbTogbnVtYmVyXG4gIHN0YXJ0QmFzZTogbnVtYmVyXG4gIGVuZEJhc2U6IG51bWJlclxuICB2YWxpZENudDogbnVtYmVyXG4gIG1pblZhbDogbnVtYmVyXG4gIG1heFZhbDogbnVtYmVyXG4gIHN1bURhdGE6IG51bWJlclxuICBzdW1TcURhdGE6IG51bWJlclxufVxuaW50ZXJmYWNlIFJlYWREYXRhIHtcbiAgb2Zmc2V0OiBudW1iZXJcbiAgbGVuZ3RoOiBudW1iZXJcbn1cblxuaW50ZXJmYWNlIFN1bW1hcnlCbG9jayB7XG4gIGNocm9tSWQ6IG51bWJlclxuICBzdGFydDogbnVtYmVyXG4gIGVuZDogbnVtYmVyXG4gIHZhbGlkQ250OiBudW1iZXJcbiAgbWluU2NvcmU6IG51bWJlclxuICBtYXhTY29yZTogbnVtYmVyXG4gIHN1bURhdGE6IG51bWJlclxuICBzdW1TcURhdGE6IG51bWJlclxufVxuaW50ZXJmYWNlIE9wdGlvbnMge1xuICBibG9ja1R5cGU6IHN0cmluZ1xuICBpc0NvbXByZXNzZWQ6IGJvb2xlYW5cbiAgaXNCaWdFbmRpYW46IGJvb2xlYW5cbiAgY2lyQmxvY2tTaXplOiBudW1iZXJcbiAgbmFtZT86IHN0cmluZ1xuICBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsXG59XG4vKipcbiAqIFdvcmtlciBvYmplY3QgZm9yIHJlYWRpbmcgZGF0YSBmcm9tIGEgYmlnd2lnIG9yIGJpZ2JlZCBmaWxlLlxuICogTWFuYWdlcyB0aGUgc3RhdGUgbmVjZXNzYXJ5IGZvciB0cmF2ZXJzaW5nIHRoZSBpbmRleCB0cmVlcyBhbmRcbiAqIHNvIGZvcnRoLlxuICpcbiAqIEFkYXB0ZWQgYnkgUm9iZXJ0IEJ1ZWxzIGZyb20gYmlnd2lnLmpzIGluIHRoZSBEYWxsaWFuY2UgR2Vub21lXG4gKiBFeHBsb3JlciBieSBUaG9tYXMgRG93bi5cbiAqIEBjb25zdHJ1Y3RzXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlcXVlc3RXb3JrZXIge1xuICBwcml2YXRlIHdpbmRvdzogYW55XG4gIHByaXZhdGUgYmxvY2tzVG9GZXRjaDogYW55W11cbiAgcHJpdmF0ZSBvdXRzdGFuZGluZzogbnVtYmVyXG4gIHByaXZhdGUgY2hySWQ6IG51bWJlclxuICBwcml2YXRlIG1pbjogbnVtYmVyXG4gIHByaXZhdGUgbWF4OiBudW1iZXJcbiAgcHJpdmF0ZSBiYmk6IGFueVxuICBwcml2YXRlIG9wdHM6IE9wdGlvbnNcbiAgcHJpdmF0ZSBvYnNlcnZlcjogT2JzZXJ2ZXI8RmVhdHVyZVtdPlxuICBwcml2YXRlIGZlYXR1cmVDYWNoZTogYW55XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGJiaTogYW55LCBjaHJJZDogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIsIG9ic2VydmVyOiBPYnNlcnZlcjxGZWF0dXJlW10+LCBvcHRzOiBPcHRpb25zKSB7XG4gICAgdGhpcy5vcHRzID0gb3B0c1xuICAgIHRoaXMuYmJpID0gYmJpXG4gICAgdGhpcy5vYnNlcnZlciA9IG9ic2VydmVyXG5cbiAgICB0aGlzLmJsb2Nrc1RvRmV0Y2ggPSBbXVxuICAgIHRoaXMub3V0c3RhbmRpbmcgPSAwXG5cbiAgICB0aGlzLmNocklkID0gY2hySWRcbiAgICB0aGlzLm1pbiA9IG1pblxuICAgIHRoaXMubWF4ID0gbWF4XG5cbiAgICB0aGlzLmZlYXR1cmVDYWNoZSA9IG5ldyBBYm9ydGFibGVQcm9taXNlQ2FjaGUoe1xuICAgICAgY2FjaGU6IG5ldyBRdWlja0xSVSh7IG1heFNpemU6IDEwMDAgfSksXG5cbiAgICAgIGFzeW5jIGZpbGwocmVxdWVzdERhdGE6IFJlYWREYXRhLCBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpIHtcbiAgICAgICAgY29uc3QgeyBsZW5ndGgsIG9mZnNldCB9ID0gcmVxdWVzdERhdGFcbiAgICAgICAgY29uc3QgcmVzdWx0QnVmZmVyID0gQnVmZmVyLmFsbG9jKGxlbmd0aClcbiAgICAgICAgYXdhaXQgYmJpLnJlYWQocmVzdWx0QnVmZmVyLCAwLCBsZW5ndGgsIG9mZnNldCwgeyBzaWduYWw6IGFib3J0U2lnbmFsIH0pXG4gICAgICAgIHJldHVybiByZXN1bHRCdWZmZXJcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBjaXJGb2JSZWN1cihvZmZzZXQ6IGFueSwgbGV2ZWw6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMub3V0c3RhbmRpbmcgKz0gb2Zmc2V0Lmxlbmd0aFxuXG4gICAgY29uc3QgbWF4Q2lyQmxvY2tTcGFuID0gNCArIHRoaXMub3B0cy5jaXJCbG9ja1NpemUgKiAzMiAvLyBVcHBlciBib3VuZCBvbiBzaXplLCBiYXNlZCBvbiBhIGNvbXBsZXRlbHkgZnVsbCBsZWFmIG5vZGUuXG4gICAgbGV0IHNwYW5zID0gbmV3IFJhbmdlKG9mZnNldFswXSwgb2Zmc2V0WzBdICsgbWF4Q2lyQmxvY2tTcGFuKVxuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgb2Zmc2V0Lmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICBjb25zdCBibG9ja1NwYW4gPSBuZXcgUmFuZ2Uob2Zmc2V0W2ldLCBvZmZzZXRbaV0gKyBtYXhDaXJCbG9ja1NwYW4pXG4gICAgICBzcGFucyA9IHNwYW5zLnVuaW9uKGJsb2NrU3BhbilcbiAgICB9XG4gICAgc3BhbnMuZ2V0UmFuZ2VzKCkubWFwKChmcjogUmFuZ2UpID0+IHRoaXMuY2lyRm9iU3RhcnRGZXRjaChvZmZzZXQsIGZyLCBsZXZlbCkpXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNpckZvYlN0YXJ0RmV0Y2gob2ZmOiBhbnksIGZyOiBhbnksIGxldmVsOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBsZW5ndGggPSBmci5tYXgoKSAtIGZyLm1pbigpXG4gICAgY29uc3Qgb2Zmc2V0ID0gZnIubWluKClcbiAgICBjb25zdCByZXN1bHRCdWZmZXIgPSBhd2FpdCB0aGlzLmZlYXR1cmVDYWNoZS5nZXQobGVuZ3RoICsgJ18nICsgb2Zmc2V0LCB7IGxlbmd0aCwgb2Zmc2V0IH0sIHRoaXMub3B0cy5hYm9ydFNpZ25hbClcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9mZi5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgaWYgKGZyLmNvbnRhaW5zKG9mZltpXSkpIHtcbiAgICAgICAgdGhpcy5jaXJGb2JSZWN1cjIocmVzdWx0QnVmZmVyLCBvZmZbaV0gLSBvZmZzZXQsIGxldmVsKVxuICAgICAgICB0aGlzLm91dHN0YW5kaW5nIC09IDFcbiAgICAgICAgaWYgKHRoaXMub3V0c3RhbmRpbmcgPT09IDApIHtcbiAgICAgICAgICB0aGlzLnJlYWRGZWF0dXJlcygpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMub3V0c3RhbmRpbmcgIT09IDApIHtcbiAgICAgIG5ldyBFcnJvcignZGlkIG5vdCBjb21wbGV0ZScpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaXJGb2JSZWN1cjIoY2lyQmxvY2tEYXRhOiBCdWZmZXIsIG9mZnNldDogbnVtYmVyLCBsZXZlbDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IGNpckJsb2NrRGF0YS5zbGljZShvZmZzZXQpXG5cbiAgICBjb25zdCBwYXJzZXIgPSBuZXcgUGFyc2VyKClcbiAgICAgIC5lbmRpYW5lc3ModGhpcy5vcHRzLmlzQmlnRW5kaWFuID8gJ2JpZycgOiAnbGl0dGxlJylcbiAgICAgIC51aW50OCgnaXNMZWFmJylcbiAgICAgIC5za2lwKDEpXG4gICAgICAudWludDE2KCdjbnQnKVxuICAgICAgLmNob2ljZSh7XG4gICAgICAgIHRhZzogJ2lzTGVhZicsXG4gICAgICAgIGNob2ljZXM6IHtcbiAgICAgICAgICAxOiBuZXcgUGFyc2VyKCkuYXJyYXkoJ2Jsb2Nrc1RvRmV0Y2gnLCB7XG4gICAgICAgICAgICBsZW5ndGg6ICdjbnQnLFxuICAgICAgICAgICAgdHlwZTogbmV3IFBhcnNlcigpXG4gICAgICAgICAgICAgIC51aW50MzIoJ3N0YXJ0Q2hyb20nKVxuICAgICAgICAgICAgICAudWludDMyKCdzdGFydEJhc2UnKVxuICAgICAgICAgICAgICAudWludDMyKCdlbmRDaHJvbScpXG4gICAgICAgICAgICAgIC51aW50MzIoJ2VuZEJhc2UnKVxuICAgICAgICAgICAgICAudWludDY0KCdibG9ja09mZnNldCcpXG4gICAgICAgICAgICAgIC51aW50NjQoJ2Jsb2NrU2l6ZScpLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIDA6IG5ldyBQYXJzZXIoKS5hcnJheSgncmVjdXJPZmZzZXRzJywge1xuICAgICAgICAgICAgbGVuZ3RoOiAnY250JyxcbiAgICAgICAgICAgIHR5cGU6IG5ldyBQYXJzZXIoKVxuICAgICAgICAgICAgICAudWludDMyKCdzdGFydENocm9tJylcbiAgICAgICAgICAgICAgLnVpbnQzMignc3RhcnRCYXNlJylcbiAgICAgICAgICAgICAgLnVpbnQzMignZW5kQ2hyb20nKVxuICAgICAgICAgICAgICAudWludDMyKCdlbmRCYXNlJylcbiAgICAgICAgICAgICAgLnVpbnQ2NCgnYmxvY2tPZmZzZXQnKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgY29uc3QgcCA9IHBhcnNlci5wYXJzZShkYXRhKS5yZXN1bHRcbiAgICBjb25zdCB7IGNocklkLCBtYXgsIG1pbiB9ID0gdGhpc1xuXG4gICAgY29uc3QgbSA9IChiOiBEYXRhQmxvY2spOiBib29sZWFuID0+XG4gICAgICAoYi5zdGFydENocm9tIDwgY2hySWQgfHwgKGIuc3RhcnRDaHJvbSA9PT0gY2hySWQgJiYgYi5zdGFydEJhc2UgPD0gbWF4KSkgJiZcbiAgICAgIChiLmVuZENocm9tID4gY2hySWQgfHwgKGIuZW5kQ2hyb20gPT09IGNocklkICYmIGIuZW5kQmFzZSA+PSBtaW4pKVxuXG4gICAgaWYgKHAuYmxvY2tzVG9GZXRjaCkge1xuICAgICAgdGhpcy5ibG9ja3NUb0ZldGNoID0gcC5ibG9ja3NUb0ZldGNoXG4gICAgICAgIC5maWx0ZXIobSlcbiAgICAgICAgLm1hcCgobDogYW55KTogYW55ID0+ICh7IG9mZnNldDogbC5ibG9ja09mZnNldCwgbGVuZ3RoOiBsLmJsb2NrU2l6ZSB9KSlcbiAgICB9XG4gICAgaWYgKHAucmVjdXJPZmZzZXRzKSB7XG4gICAgICBjb25zdCByZWN1ck9mZnNldHMgPSBwLnJlY3VyT2Zmc2V0cy5maWx0ZXIobSkubWFwKChsOiBhbnkpOiBhbnkgPT4gbC5ibG9ja09mZnNldClcbiAgICAgIGlmIChyZWN1ck9mZnNldHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmNpckZvYlJlY3VyKHJlY3VyT2Zmc2V0cywgbGV2ZWwgKyAxKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VTdW1tYXJ5QmxvY2soYnl0ZXM6IEJ1ZmZlciwgc3RhcnRPZmZzZXQ6IG51bWJlcik6IEZlYXR1cmVbXSB7XG4gICAgY29uc3QgZGF0YSA9IGJ5dGVzLnNsaWNlKHN0YXJ0T2Zmc2V0KVxuICAgIGNvbnN0IHAgPSBuZXcgUGFyc2VyKCkuZW5kaWFuZXNzKHRoaXMub3B0cy5pc0JpZ0VuZGlhbiA/ICdiaWcnIDogJ2xpdHRsZScpLmFycmF5KCdzdW1tYXJ5Jywge1xuICAgICAgbGVuZ3RoOiBkYXRhLmJ5dGVMZW5ndGggLyA2NCxcbiAgICAgIHR5cGU6IG5ldyBQYXJzZXIoKVxuICAgICAgICAuaW50MzIoJ2Nocm9tSWQnKVxuICAgICAgICAuaW50MzIoJ3N0YXJ0JylcbiAgICAgICAgLmludDMyKCdlbmQnKVxuICAgICAgICAuaW50MzIoJ3ZhbGlkQ250JylcbiAgICAgICAgLmZsb2F0KCdtaW5TY29yZScpXG4gICAgICAgIC5mbG9hdCgnbWF4U2NvcmUnKVxuICAgICAgICAuZmxvYXQoJ3N1bURhdGEnKVxuICAgICAgICAuZmxvYXQoJ3N1bVNxRGF0YScpLFxuICAgIH0pXG4gICAgcmV0dXJuIHBcbiAgICAgIC5wYXJzZShkYXRhKVxuICAgICAgLnJlc3VsdC5zdW1tYXJ5LmZpbHRlcigoZWx0OiBTdW1tYXJ5QmxvY2spOiBib29sZWFuID0+IGVsdC5jaHJvbUlkID09PSB0aGlzLmNocklkKVxuICAgICAgLm1hcChcbiAgICAgICAgKGVsdDogU3VtbWFyeUJsb2NrKTogRmVhdHVyZSA9PiAoe1xuICAgICAgICAgIHN0YXJ0OiBlbHQuc3RhcnQsXG4gICAgICAgICAgZW5kOiBlbHQuZW5kLFxuICAgICAgICAgIG1heFNjb3JlOiBlbHQubWF4U2NvcmUsXG4gICAgICAgICAgbWluU2NvcmU6IGVsdC5taW5TY29yZSxcbiAgICAgICAgICBzY29yZTogZWx0LnN1bURhdGEgLyAoZWx0LnZhbGlkQ250IHx8IDEpLFxuICAgICAgICAgIHN1bW1hcnk6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLmZpbHRlcigoZjogRmVhdHVyZSk6IGJvb2xlYW4gPT4gdGhpcy5jb29yZEZpbHRlcihmKSlcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VCaWdCZWRCbG9jayhkYXRhOiBCdWZmZXIsIHN0YXJ0T2Zmc2V0OiBudW1iZXIpOiBGZWF0dXJlW10ge1xuICAgIGNvbnN0IGZlYXR1cmVzID0gW11cbiAgICBjb25zdCBwID0gbmV3IFBhcnNlcigpXG4gICAgICAuZW5kaWFuZXNzKHRoaXMub3B0cy5pc0JpZ0VuZGlhbiA/ICdiaWcnIDogJ2xpdHRsZScpXG4gICAgICAudWludDMyKCdjaHJvbUlkJylcbiAgICAgIC5pbnQzMignc3RhcnQnKVxuICAgICAgLmludDMyKCdlbmQnKVxuICAgICAgLnN0cmluZygncmVzdCcsIHtcbiAgICAgICAgemVyb1Rlcm1pbmF0ZWQ6IHRydWUsXG4gICAgICB9KVxuICAgIGxldCBjdXJyT2Zmc2V0ID0gc3RhcnRPZmZzZXRcbiAgICB3aGlsZSAoY3Vyck9mZnNldCA8IGRhdGEuYnl0ZUxlbmd0aCkge1xuICAgICAgY29uc3QgcmVzID0gcC5wYXJzZShkYXRhLnNsaWNlKGN1cnJPZmZzZXQpKVxuICAgICAgcmVzLnJlc3VsdC51bmlxdWVJZCA9IGBiYi0ke3N0YXJ0T2Zmc2V0ICsgY3Vyck9mZnNldH1gXG4gICAgICBmZWF0dXJlcy5wdXNoKHJlcy5yZXN1bHQpXG4gICAgICBjdXJyT2Zmc2V0ICs9IHJlcy5vZmZzZXRcbiAgICB9XG5cbiAgICByZXR1cm4gZmVhdHVyZXMuZmlsdGVyKChmOiBhbnkpID0+IHRoaXMuY29vcmRGaWx0ZXIoZikpXG4gIH1cblxuICBwcml2YXRlIHBhcnNlQmlnV2lnQmxvY2soYnl0ZXM6IEJ1ZmZlciwgc3RhcnRPZmZzZXQ6IG51bWJlcik6IEZlYXR1cmVbXSB7XG4gICAgY29uc3QgZGF0YSA9IGJ5dGVzLnNsaWNlKHN0YXJ0T2Zmc2V0KVxuICAgIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIoKVxuICAgICAgLmVuZGlhbmVzcyh0aGlzLm9wdHMuaXNCaWdFbmRpYW4gPyAnYmlnJyA6ICdsaXR0bGUnKVxuICAgICAgLnNraXAoNClcbiAgICAgIC5pbnQzMignYmxvY2tTdGFydCcpXG4gICAgICAuc2tpcCg0KVxuICAgICAgLnVpbnQzMignaXRlbVN0ZXAnKVxuICAgICAgLnVpbnQzMignaXRlbVNwYW4nKVxuICAgICAgLnVpbnQ4KCdibG9ja1R5cGUnKVxuICAgICAgLnNraXAoMSlcbiAgICAgIC51aW50MTYoJ2l0ZW1Db3VudCcpXG4gICAgICAuY2hvaWNlKHtcbiAgICAgICAgdGFnOiAnYmxvY2tUeXBlJyxcbiAgICAgICAgY2hvaWNlczoge1xuICAgICAgICAgIFtCSUdfV0lHX1RZUEVfRlNURVBdOiBuZXcgUGFyc2VyKCkuYXJyYXkoJ2l0ZW1zJywge1xuICAgICAgICAgICAgbGVuZ3RoOiAnaXRlbUNvdW50JyxcbiAgICAgICAgICAgIHR5cGU6IG5ldyBQYXJzZXIoKS5mbG9hdCgnc2NvcmUnKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBbQklHX1dJR19UWVBFX1ZTVEVQXTogbmV3IFBhcnNlcigpLmFycmF5KCdpdGVtcycsIHtcbiAgICAgICAgICAgIGxlbmd0aDogJ2l0ZW1Db3VudCcsXG4gICAgICAgICAgICB0eXBlOiBuZXcgUGFyc2VyKCkuaW50MzIoJ3N0YXJ0JykuZmxvYXQoJ3Njb3JlJyksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgW0JJR19XSUdfVFlQRV9HUkFQSF06IG5ldyBQYXJzZXIoKS5hcnJheSgnaXRlbXMnLCB7XG4gICAgICAgICAgICBsZW5ndGg6ICdpdGVtQ291bnQnLFxuICAgICAgICAgICAgdHlwZTogbmV3IFBhcnNlcigpXG4gICAgICAgICAgICAgIC5pbnQzMignc3RhcnQnKVxuICAgICAgICAgICAgICAuaW50MzIoJ2VuZCcpXG4gICAgICAgICAgICAgIC5mbG9hdCgnc2NvcmUnKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgY29uc3QgcmVzdWx0cyA9IHBhcnNlci5wYXJzZShkYXRhKS5yZXN1bHRcbiAgICBsZXQgaXRlbXMgPSByZXN1bHRzLml0ZW1zXG4gICAgaWYgKHJlc3VsdHMuYmxvY2tUeXBlID09PSBCSUdfV0lHX1RZUEVfRlNURVApIHtcbiAgICAgIGNvbnN0IHsgaXRlbVN0ZXA6IHN0ZXAsIGl0ZW1TcGFuOiBzcGFuIH0gPSByZXN1bHRzXG4gICAgICBpdGVtcyA9IGl0ZW1zLm1hcCgoZmVhdHVyZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiAoe1xuICAgICAgICAuLi5mZWF0dXJlLFxuICAgICAgICBzdGFydDogaW5kZXggKiBzdGVwLFxuICAgICAgICBlbmQ6IGluZGV4ICogc3RlcCArIHNwYW4sXG4gICAgICB9KSlcbiAgICB9IGVsc2UgaWYgKHJlc3VsdHMuYmxvY2tUeXBlID09PSBCSUdfV0lHX1RZUEVfVlNURVApIHtcbiAgICAgIGNvbnN0IHsgaXRlbVNwYW46IHNwYW4gfSA9IHJlc3VsdHNcbiAgICAgIGl0ZW1zID0gaXRlbXMubWFwKChmZWF0dXJlOiBhbnkpID0+ICh7XG4gICAgICAgIC4uLmZlYXR1cmUsXG4gICAgICAgIGVuZDogZmVhdHVyZS5zdGFydCArIHNwYW4sXG4gICAgICB9KSlcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoZjogYW55KSA9PiB0aGlzLmNvb3JkRmlsdGVyKGYpKVxuICB9XG5cbiAgcHJpdmF0ZSBjb29yZEZpbHRlcihmOiBGZWF0dXJlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGYuc3RhcnQgPCB0aGlzLm1heCAmJiBmLmVuZCA+PSB0aGlzLm1pblxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWFkRmVhdHVyZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBibG9ja1R5cGUsIGlzQ29tcHJlc3NlZCwgYWJvcnRTaWduYWwgfSA9IHRoaXMub3B0c1xuICAgIGNvbnN0IGJsb2NrR3JvdXBzVG9GZXRjaCA9IGdyb3VwQmxvY2tzKHRoaXMuYmxvY2tzVG9GZXRjaClcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGJsb2NrR3JvdXBzVG9GZXRjaC5tYXAoYXN5bmMgKGJsb2NrR3JvdXA6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB7IGxlbmd0aCwgb2Zmc2V0IH0gPSBibG9ja0dyb3VwXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmZlYXR1cmVDYWNoZS5nZXQobGVuZ3RoICsgJ18nICsgb2Zmc2V0LCBibG9ja0dyb3VwLCBhYm9ydFNpZ25hbClcbiAgICAgICAgYmxvY2tHcm91cC5ibG9ja3MuZm9yRWFjaCgoYmxvY2s6IGFueSkgPT4ge1xuICAgICAgICAgIGxldCBvZmZzZXQgPSBibG9jay5vZmZzZXQgLSBibG9ja0dyb3VwLm9mZnNldFxuICAgICAgICAgIGxldCByZXN1bHREYXRhID0gaXNDb21wcmVzc2VkID8gemxpYi5pbmZsYXRlU3luYyhkYXRhLnNsaWNlKG9mZnNldCkpIDogZGF0YVxuICAgICAgICAgIG9mZnNldCA9IGlzQ29tcHJlc3NlZCA/IDAgOiBvZmZzZXRcblxuICAgICAgICAgIHN3aXRjaCAoYmxvY2tUeXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdW1tYXJ5JzpcbiAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KHRoaXMucGFyc2VTdW1tYXJ5QmxvY2socmVzdWx0RGF0YSwgb2Zmc2V0KSlcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIGNhc2UgJ2JpZ3dpZyc6XG4gICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dCh0aGlzLnBhcnNlQmlnV2lnQmxvY2socmVzdWx0RGF0YSwgb2Zmc2V0KSlcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIGNhc2UgJ2JpZ2JlZCc6XG4gICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dCh0aGlzLnBhcnNlQmlnQmVkQmxvY2socmVzdWx0RGF0YSwgb2Zmc2V0KSlcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRG9uJ3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJHtibG9ja1R5cGV9YClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9KSxcbiAgICApXG4gICAgdGhpcy5vYnNlcnZlci5jb21wbGV0ZSgpXG4gIH1cbn1cbiJdfQ==

@@ -145,2 +145,3 @@ "use strict";

}, []);
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbIkFib3J0RXJyb3IiLCJtZXNzYWdlIiwiY29kZSIsIkVycm9yIiwiZ3JvdXBCbG9ja3MiLCJibG9ja3MiLCJzb3J0IiwiYjAiLCJiMSIsIm9mZnNldCIsImJsb2NrR3JvdXBzIiwibGFzdEJsb2NrIiwibGFzdEJsb2NrRW5kIiwiaSIsImxlbmd0aCIsInB1c2giLCJjaGVja0Fib3J0U2lnbmFsIiwic2lnbmFsIiwiYWJvcnRlZCIsIkRPTUV4Y2VwdGlvbiIsImUiLCJhYm9ydEJyZWFrUG9pbnQiLCJQcm9taXNlIiwicmVzb2x2ZSIsImZsYXR0ZW4iLCJpdGVtcyIsInJlZHVjZSIsInByZXYiLCJuZXh0IiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQWFBLFU7Ozs7O0FBRVgsc0JBQW1CQyxPQUFuQixFQUFvQztBQUFBOztBQUFBO0FBQ2xDLGdIQUFNQSxPQUFOO0FBRGtDO0FBRWxDLFVBQUtDLElBQUwsR0FBWSxhQUFaO0FBRmtDO0FBR25DOzs7aUNBTDZCQyxLLElBT2hDO0FBQ0E7Ozs7O0FBQ08sU0FBU0MsV0FBVCxDQUFxQkMsTUFBckIsRUFBMkM7QUFDaERBLEVBQUFBLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLFVBQUNDLEVBQUQsRUFBS0MsRUFBTDtBQUFBLFdBQVksQ0FBQ0QsRUFBRSxDQUFDRSxNQUFILEdBQVksQ0FBYixLQUFtQkQsRUFBRSxDQUFDQyxNQUFILEdBQVksQ0FBL0IsQ0FBWjtBQUFBLEdBQVo7QUFFQSxNQUFNQyxXQUFXLEdBQUcsRUFBcEI7QUFDQSxNQUFJQyxTQUFKO0FBQ0EsTUFBSUMsWUFBSjs7QUFDQSxPQUFLLElBQUlDLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdSLE1BQU0sQ0FBQ1MsTUFBM0IsRUFBbUNELENBQUMsSUFBSSxDQUF4QyxFQUEyQztBQUN6QyxRQUFJRixTQUFTLElBQUlOLE1BQU0sQ0FBQ1EsQ0FBRCxDQUFOLENBQVVKLE1BQVYsR0FBbUJHLFlBQW5CLElBQW1DLElBQXBELEVBQTBEO0FBQ3hERCxNQUFBQSxTQUFTLENBQUNHLE1BQVYsSUFBb0JULE1BQU0sQ0FBQ1EsQ0FBRCxDQUFOLENBQVVDLE1BQVYsR0FBbUJGLFlBQW5CLEdBQWtDUCxNQUFNLENBQUNRLENBQUQsQ0FBTixDQUFVSixNQUFoRTtBQUNBRSxNQUFBQSxTQUFTLENBQUNOLE1BQVYsQ0FBaUJVLElBQWpCLENBQXNCVixNQUFNLENBQUNRLENBQUQsQ0FBNUI7QUFDRCxLQUhELE1BR087QUFDTEgsTUFBQUEsV0FBVyxDQUFDSyxJQUFaLENBQ0dKLFNBQVMsR0FBRztBQUNYTixRQUFBQSxNQUFNLEVBQUUsQ0FBQ0EsTUFBTSxDQUFDUSxDQUFELENBQVAsQ0FERztBQUVYQyxRQUFBQSxNQUFNLEVBQUVULE1BQU0sQ0FBQ1EsQ0FBRCxDQUFOLENBQVVDLE1BRlA7QUFHWEwsUUFBQUEsTUFBTSxFQUFFSixNQUFNLENBQUNRLENBQUQsQ0FBTixDQUFVSjtBQUhQLE9BRGY7QUFPRDs7QUFDREcsSUFBQUEsWUFBWSxHQUFHRCxTQUFTLENBQUNGLE1BQVYsR0FBbUJFLFNBQVMsQ0FBQ0csTUFBNUM7QUFDRDs7QUFFRCxTQUFPSixXQUFQO0FBQ0Q7QUFFRDs7Ozs7Ozs7Ozs7OztBQVdPLFNBQVNNLGdCQUFULENBQTBCQyxNQUExQixFQUFzRDtBQUMzRCxNQUFJLENBQUNBLE1BQUwsRUFBYTs7QUFFYixNQUFJQSxNQUFNLENBQUNDLE9BQVgsRUFBb0I7QUFDbEI7QUFDQSxRQUFJLE9BQU9DLFlBQVAsS0FBd0IsV0FBNUIsRUFDRTtBQUNBLFlBQU0sSUFBSUEsWUFBSixDQUFpQixTQUFqQixFQUE0QixZQUE1QixDQUFOLENBRkYsS0FHSztBQUNILFVBQU1DLENBQUMsR0FBRyxJQUFJcEIsVUFBSixDQUFlLFNBQWYsQ0FBVjtBQUNBb0IsTUFBQUEsQ0FBQyxDQUFDbEIsSUFBRixHQUFTLGFBQVQ7QUFDQSxZQUFNa0IsQ0FBTjtBQUNEO0FBQ0Y7QUFDRjtBQUVEOzs7Ozs7OztTQU1zQkMsZTs7Ozs7Ozs0QkFBZixpQkFBK0JKLE1BQS9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUNDSyxPQUFPLENBQUNDLE9BQVIsRUFERDs7QUFBQTtBQUVMUCxZQUFBQSxnQkFBZ0IsQ0FBQ0MsTUFBRCxDQUFoQjs7QUFGSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHOzs7O0FBS0EsU0FBU08sT0FBVCxDQUFvQkMsS0FBcEIsRUFBdUM7QUFDNUMsU0FBT0EsS0FBSyxDQUFDQyxNQUFOLENBQWEsVUFBQ0MsSUFBRCxFQUFPQyxJQUFQO0FBQUEsV0FBZ0JELElBQUksQ0FBQ0UsTUFBTCxDQUFZRCxJQUFaLENBQWhCO0FBQUEsR0FBYixFQUFnRCxFQUFoRCxDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQWJvcnRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHVibGljIGNvZGU6IHN0cmluZ1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSlcbiAgICB0aGlzLmNvZGUgPSAnRVJSX0FCT1JURUQnXG4gIH1cbn1cbi8vIHNvcnQgYmxvY2tzIGJ5IGZpbGUgb2Zmc2V0IGFuZFxuLy8gZ3JvdXAgYmxvY2tzIHRoYXQgYXJlIHdpdGhpbiAyS0Igb2YgZWFjaG90aGVyXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBCbG9ja3MoYmxvY2tzOiBhbnlbXSk6IGFueVtdIHtcbiAgYmxvY2tzLnNvcnQoKGIwLCBiMSkgPT4gKGIwLm9mZnNldCB8IDApIC0gKGIxLm9mZnNldCB8IDApKVxuXG4gIGNvbnN0IGJsb2NrR3JvdXBzID0gW11cbiAgbGV0IGxhc3RCbG9ja1xuICBsZXQgbGFzdEJsb2NrRW5kXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYmxvY2tzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgaWYgKGxhc3RCbG9jayAmJiBibG9ja3NbaV0ub2Zmc2V0IC0gbGFzdEJsb2NrRW5kIDw9IDIwMDApIHtcbiAgICAgIGxhc3RCbG9jay5sZW5ndGggKz0gYmxvY2tzW2ldLmxlbmd0aCAtIGxhc3RCbG9ja0VuZCArIGJsb2Nrc1tpXS5vZmZzZXRcbiAgICAgIGxhc3RCbG9jay5ibG9ja3MucHVzaChibG9ja3NbaV0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGJsb2NrR3JvdXBzLnB1c2goXG4gICAgICAgIChsYXN0QmxvY2sgPSB7XG4gICAgICAgICAgYmxvY2tzOiBbYmxvY2tzW2ldXSxcbiAgICAgICAgICBsZW5ndGg6IGJsb2Nrc1tpXS5sZW5ndGgsXG4gICAgICAgICAgb2Zmc2V0OiBibG9ja3NbaV0ub2Zmc2V0LFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gICAgbGFzdEJsb2NrRW5kID0gbGFzdEJsb2NrLm9mZnNldCArIGxhc3RCbG9jay5sZW5ndGhcbiAgfVxuXG4gIHJldHVybiBibG9ja0dyb3Vwc1xufVxuXG4vKipcbiAqIFByb3Blcmx5IGNoZWNrIGlmIHRoZSBnaXZlbiBBYm9ydFNpZ25hbCBpcyBhYm9ydGVkLlxuICogUGVyIHRoZSBzdGFuZGFyZCwgaWYgdGhlIHNpZ25hbCByZWFkcyBhcyBhYm9ydGVkLFxuICogdGhpcyBmdW5jdGlvbiB0aHJvd3MgZWl0aGVyIGEgRE9NRXhjZXB0aW9uIEFib3J0RXJyb3IsIG9yIGEgcmVndWxhciBlcnJvclxuICogd2l0aCBhIGBjb2RlYCBhdHRyaWJ1dGUgc2V0IHRvIGBFUlJfQUJPUlRFRGAuXG4gKlxuICogRm9yIGNvbnZlbmllbmNlLCBwYXNzaW5nIGB1bmRlZmluZWRgIGlzIGEgbm8tb3BcbiAqXG4gKiBAcGFyYW0ge0Fib3J0U2lnbmFsfSBbc2lnbmFsXSBhbiBBYm9ydFNpZ25hbCwgb3IgYW55dGhpbmcgd2l0aCBhbiBgYWJvcnRlZGAgYXR0cmlidXRlXG4gKiBAcmV0dXJucyBub3RoaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0Fib3J0U2lnbmFsKHNpZ25hbD86IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gIGlmICghc2lnbmFsKSByZXR1cm5cblxuICBpZiAoc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAvLyBjb25zb2xlLmxvZygnYmFtIGFib3J0ZWQhJylcbiAgICBpZiAodHlwZW9mIERPTUV4Y2VwdGlvbiAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIG5vLXVuZGVmXG4gICAgICB0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCdhYm9ydGVkJywgJ0Fib3J0RXJyb3InKVxuICAgIGVsc2Uge1xuICAgICAgY29uc3QgZSA9IG5ldyBBYm9ydEVycm9yKCdhYm9ydGVkJylcbiAgICAgIGUuY29kZSA9ICdFUlJfQUJPUlRFRCdcbiAgICAgIHRocm93IGVcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBTa2lwcyB0byB0aGUgbmV4dCB0aWNrLCB0aGVuIHJ1bnMgYGNoZWNrQWJvcnRTaWduYWxgLlxuICogQXdhaXQgdGhpcyB0byBpbnNpZGUgYW4gb3RoZXJ3aXNlIHN5bmNocm9ub3VzIGxvb3AgdG9cbiAqIHByb3ZpZGUgYSBwbGFjZSB0byBicmVhayB3aGVuIGFuIGFib3J0IHNpZ25hbCBpcyByZWNlaXZlZC5cbiAqIEBwYXJhbSB7QWJvcnRTaWduYWx9IHNpZ25hbFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWJvcnRCcmVha1BvaW50KHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IFByb21pc2UucmVzb2x2ZSgpXG4gIGNoZWNrQWJvcnRTaWduYWwoc2lnbmFsKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbjxUPihpdGVtczogVFtdW10pOiBUW10ge1xuICByZXR1cm4gaXRlbXMucmVkdWNlKChwcmV2LCBuZXh0KSA9PiBwcmV2LmNvbmNhdChuZXh0KSwgW10pXG59XG4iXX0=
{
"name": "@gmod/bbi",
"version": "1.0.13",
"version": "1.0.14",
"description": "Parser for BigWig/BigBed files",

@@ -26,3 +26,5 @@ "license": "MIT",

"prebuild": "npm run clean",
"build": "tsc && babel ./src --out-dir dist --extensions '.ts'",
"build:types": "tsc --emitDeclarationOnly",
"build:js": "babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps inline",
"build": "npm run build:types && npm run build:js",
"preversion": "npm run lint && npm test && npm run docs && npm run build",

@@ -45,5 +47,4 @@ "version": "standard-changelog && git add CHANGELOG.md",

"buffer-crc32": "^0.2.13",
"cross-fetch": "^3.0.1",
"es6-promisify": "^6.0.1",
"generic-filehandle": "^1.0.2",
"generic-filehandle": "^1.0.8",
"quick-lru": "^3.0.0",

@@ -59,3 +60,3 @@ "rxjs": "^6.4.0"

"@babel/preset-typescript": "^7.3.3",
"@gmod/bed": "^1.0.4",
"@gmod/bed": "^2.0.0",
"@types/jest": "^24.0.11",

@@ -67,2 +68,3 @@ "@types/long": "^4.0.0",

"babel-preset-typescript": "^7.0.0-alpha.19",
"cross-fetch": "^3.0.2",
"documentation": "^9.3.1",

@@ -69,0 +71,0 @@ "eslint": "^5.15.3",

@@ -53,10 +53,16 @@ # bbi-js

// note refseq is not returned on the object, it is clearly chr1 from the query though
#### getFeatureStream(refName, start, end, opts)
Same getFeatures but returns an RxJS observable stream, useful for very large queries
Same as getFeatures but returns an RxJS observable stream, useful for very large queries
const observer = await bigwig.getFeatureStream('chr1', 0, 100)
observer.subscribe(chunk => { /* chunk contains array of features with start, end, score */ }, errorCallback, finishCallback)
observer.subscribe(chunk => {
/* chunk contains array of features with start, end, score */
}, error => {
/* process error */
}, () => {
/* completed */
})

@@ -93,23 +99,37 @@ ### BigBed

const parser = new BED({autoSql})
const lines = feats.map(f => parser.parseBedText('chr7', f.start, f.end, f.rest, { offset: 3, uniqueId: f.uniqueId }))
// note: offset 3 indicates skipping first 3 columns of the autoSql since these are provided by BigBed
// uniqueId is supplied by bbi-js based on the bigbed file offsets to help distinguish exact duplicate features
const lines = feats.map(f => {
const { start, end, rest, uniqueId } = f
return parser.parseLine(`chr7\t${start}\t${end}\t${rest}, { uniqueId })\
})
// @gmod/bbi returns features with {uniqueId, start, end, rest}
// we reconstitute this as a line for @gmod/bed with a template string
// note: the uniqueId is based on file offsets and helps to deduplicate exact feature copies if they exist
```
Example output, coordinates are 0-based half open as in BED
Features before parsing with @gmod/bed:
```
{ refID: 'chr7',
start: 75460,
end: 116489,
name: 'uc003sin.1',
score: 0,
strand: -1,
thick_start: 75460,
thick_end: 75460,
reserved: '255,0,0',
sp_id: 'AL137655' } ]
{ chromId: 0,
start: 64068,
end: 64107,
rest: 'uc003sil.1\t0\t-\t64068\t64068\t255,0,0\t.\tDQ584609',
uniqueId: 'bb-171' }
```
Features after parsing with @gmod/bed:
```
{ uniqueId: 'bb-0',
chrom: 'chr7',
chromStart: 54028,
chromEnd: 73584,
name: 'uc003sii.2',
score: 0,
strand: -1,
thickStart: 54028,
thickEnd: 54028,
reserved: '255,0,0',
spID: 'AL137655' }
```
## Documentation

@@ -116,0 +136,0 @@

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