@vitessce/scatterplot-embedding 3.5.6 → 3.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -939,9 +939,64 @@ var reactJsxRuntime_development = {};
939
939
  jsxRuntime.exports = reactJsxRuntime_development;
940
940
  }
941
941
  var jsxRuntimeExports = jsxRuntime.exports;
942
- function number$4(x2) {
942
+ function ascending$3(a2, b) {
943
+ return a2 < b ? -1 : a2 > b ? 1 : a2 >= b ? 0 : NaN;
944
+ }
945
+ function bisector$1(f2) {
946
+ let delta = f2;
947
+ let compare2 = f2;
948
+ if (f2.length === 1) {
949
+ delta = (d, x2) => f2(d) - x2;
950
+ compare2 = ascendingComparator$1(f2);
951
+ }
952
+ function left2(a2, x2, lo, hi) {
953
+ if (lo == null)
954
+ lo = 0;
955
+ if (hi == null)
956
+ hi = a2.length;
957
+ while (lo < hi) {
958
+ const mid = lo + hi >>> 1;
959
+ if (compare2(a2[mid], x2) < 0)
960
+ lo = mid + 1;
961
+ else
962
+ hi = mid;
963
+ }
964
+ return lo;
965
+ }
966
+ function right2(a2, x2, lo, hi) {
967
+ if (lo == null)
968
+ lo = 0;
969
+ if (hi == null)
970
+ hi = a2.length;
971
+ while (lo < hi) {
972
+ const mid = lo + hi >>> 1;
973
+ if (compare2(a2[mid], x2) > 0)
974
+ hi = mid;
975
+ else
976
+ lo = mid + 1;
977
+ }
978
+ return lo;
979
+ }
980
+ function center2(a2, x2, lo, hi) {
981
+ if (lo == null)
982
+ lo = 0;
983
+ if (hi == null)
984
+ hi = a2.length;
985
+ const i2 = left2(a2, x2, lo, hi - 1);
986
+ return i2 > lo && delta(a2[i2 - 1], x2) > -delta(a2[i2], x2) ? i2 - 1 : i2;
987
+ }
988
+ return { left: left2, center: center2, right: right2 };
989
+ }
990
+ function ascendingComparator$1(f2) {
991
+ return (d, x2) => ascending$3(f2(d), x2);
992
+ }
993
+ function number$3(x2) {
943
994
  return x2 === null ? NaN : +x2;
944
995
  }
996
+ const ascendingBisect = bisector$1(ascending$3);
997
+ const bisectRight = ascendingBisect.right;
998
+ bisector$1(number$3).center;
999
+ const bisect = bisectRight;
945
1000
  function extent$1(values2, valueof) {
946
1001
  let min;
947
1002
  let max2;
@@ -977,6 +1032,54 @@ function extent$1(values2, valueof) {
977
1032
  }
978
1033
  return [min, max2];
979
1034
  }
1035
+ var e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2);
1036
+ function ticks(start, stop, count2) {
1037
+ var reverse, i2 = -1, n2, ticks2, step;
1038
+ stop = +stop, start = +start, count2 = +count2;
1039
+ if (start === stop && count2 > 0)
1040
+ return [start];
1041
+ if (reverse = stop < start)
1042
+ n2 = start, start = stop, stop = n2;
1043
+ if ((step = tickIncrement(start, stop, count2)) === 0 || !isFinite(step))
1044
+ return [];
1045
+ if (step > 0) {
1046
+ let r0 = Math.round(start / step), r1 = Math.round(stop / step);
1047
+ if (r0 * step < start)
1048
+ ++r0;
1049
+ if (r1 * step > stop)
1050
+ --r1;
1051
+ ticks2 = new Array(n2 = r1 - r0 + 1);
1052
+ while (++i2 < n2)
1053
+ ticks2[i2] = (r0 + i2) * step;
1054
+ } else {
1055
+ step = -step;
1056
+ let r0 = Math.round(start * step), r1 = Math.round(stop * step);
1057
+ if (r0 / step < start)
1058
+ ++r0;
1059
+ if (r1 / step > stop)
1060
+ --r1;
1061
+ ticks2 = new Array(n2 = r1 - r0 + 1);
1062
+ while (++i2 < n2)
1063
+ ticks2[i2] = (r0 + i2) / step;
1064
+ }
1065
+ if (reverse)
1066
+ ticks2.reverse();
1067
+ return ticks2;
1068
+ }
1069
+ function tickIncrement(start, stop, count2) {
1070
+ var step = (stop - start) / Math.max(0, count2), power = Math.floor(Math.log(step) / Math.LN10), error2 = step / Math.pow(10, power);
1071
+ return power >= 0 ? (error2 >= e10 ? 10 : error2 >= e5 ? 5 : error2 >= e2 ? 2 : 1) * Math.pow(10, power) : -Math.pow(10, -power) / (error2 >= e10 ? 10 : error2 >= e5 ? 5 : error2 >= e2 ? 2 : 1);
1072
+ }
1073
+ function tickStep(start, stop, count2) {
1074
+ var step0 = Math.abs(stop - start) / Math.max(0, count2), step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), error2 = step0 / step1;
1075
+ if (error2 >= e10)
1076
+ step1 *= 10;
1077
+ else if (error2 >= e5)
1078
+ step1 *= 5;
1079
+ else if (error2 >= e2)
1080
+ step1 *= 2;
1081
+ return stop < start ? -step1 : step1;
1082
+ }
980
1083
  function max$1(values2, valueof) {
981
1084
  let max2;
982
1085
  if (valueof === void 0) {
@@ -995,7 +1098,7 @@ function max$1(values2, valueof) {
995
1098
  }
996
1099
  return max2;
997
1100
  }
998
- function quantileSorted(values2, p, valueof = number$4) {
1101
+ function quantileSorted(values2, p, valueof = number$3) {
999
1102
  if (!(n2 = values2.length))
1000
1103
  return;
1001
1104
  if ((p = +p) <= 0 || n2 < 2)
@@ -1066,7 +1169,7 @@ var reTrimStart = /^\s+/;
1066
1169
  function baseTrim(string2) {
1067
1170
  return string2 ? string2.slice(0, trimmedEndIndex(string2) + 1).replace(reTrimStart, "") : string2;
1068
1171
  }
1069
- function isObject$4(value) {
1172
+ function isObject$5(value) {
1070
1173
  var type2 = typeof value;
1071
1174
  return value != null && (type2 == "object" || type2 == "function");
1072
1175
  }
@@ -1082,9 +1185,9 @@ function toNumber$1(value) {
1082
1185
  if (isSymbol$1(value)) {
1083
1186
  return NAN$1;
1084
1187
  }
1085
- if (isObject$4(value)) {
1188
+ if (isObject$5(value)) {
1086
1189
  var other = typeof value.valueOf == "function" ? value.valueOf() : value;
1087
- value = isObject$4(other) ? other + "" : other;
1190
+ value = isObject$5(other) ? other + "" : other;
1088
1191
  }
1089
1192
  if (typeof value != "string") {
1090
1193
  return value === 0 ? value : +value;
@@ -1106,8 +1209,8 @@ function toFinite$1(value) {
1106
1209
  return value === value ? value : 0;
1107
1210
  }
1108
1211
  var asyncTag = "[object AsyncFunction]", funcTag$2 = "[object Function]", genTag$1 = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
1109
- function isFunction$3(value) {
1110
- if (!isObject$4(value)) {
1212
+ function isFunction$4(value) {
1213
+ if (!isObject$5(value)) {
1111
1214
  return false;
1112
1215
  }
1113
1216
  var tag = baseGetTag(value);
@@ -1146,10 +1249,10 @@ var reIsNative = RegExp(
1146
1249
  "^" + funcToString.call(hasOwnProperty$c).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
1147
1250
  );
1148
1251
  function baseIsNative(value) {
1149
- if (!isObject$4(value) || isMasked(value)) {
1252
+ if (!isObject$5(value) || isMasked(value)) {
1150
1253
  return false;
1151
1254
  }
1152
- var pattern = isFunction$3(value) ? reIsNative : reIsHostCtor;
1255
+ var pattern = isFunction$4(value) ? reIsNative : reIsHostCtor;
1153
1256
  return pattern.test(toSource(value));
1154
1257
  }
1155
1258
  function getValue$1(object2, key) {
@@ -1166,7 +1269,7 @@ var baseCreate = function() {
1166
1269
  function object2() {
1167
1270
  }
1168
1271
  return function(proto) {
1169
- if (!isObject$4(proto)) {
1272
+ if (!isObject$5(proto)) {
1170
1273
  return {};
1171
1274
  }
1172
1275
  if (objectCreate) {
@@ -1258,10 +1361,10 @@ function isLength(value) {
1258
1361
  return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$2;
1259
1362
  }
1260
1363
  function isArrayLike(value) {
1261
- return value != null && isLength(value.length) && !isFunction$3(value);
1364
+ return value != null && isLength(value.length) && !isFunction$4(value);
1262
1365
  }
1263
1366
  function isIterateeCall(value, index2, object2) {
1264
- if (!isObject$4(object2)) {
1367
+ if (!isObject$5(object2)) {
1265
1368
  return false;
1266
1369
  }
1267
1370
  var type2 = typeof index2;
@@ -1387,7 +1490,7 @@ function nativeKeysIn(object2) {
1387
1490
  var objectProto$7 = Object.prototype;
1388
1491
  var hasOwnProperty$7 = objectProto$7.hasOwnProperty;
1389
1492
  function baseKeysIn(object2) {
1390
- if (!isObject$4(object2)) {
1493
+ if (!isObject$5(object2)) {
1391
1494
  return nativeKeysIn(object2);
1392
1495
  }
1393
1496
  var isProto = isPrototype(object2), result = [];
@@ -1833,7 +1936,7 @@ function baseClone(value, bitmask, customizer, key, object2, stack2) {
1833
1936
  if (result !== void 0) {
1834
1937
  return result;
1835
1938
  }
1836
- if (!isObject$4(value)) {
1939
+ if (!isObject$5(value)) {
1837
1940
  return value;
1838
1941
  }
1839
1942
  var isArr = isArray$4(value);
@@ -2127,7 +2230,7 @@ function debounce$2(func, wait, options) {
2127
2230
  throw new TypeError(FUNC_ERROR_TEXT$1);
2128
2231
  }
2129
2232
  wait = toNumber$1(wait) || 0;
2130
- if (isObject$4(options)) {
2233
+ if (isObject$5(options)) {
2131
2234
  leading = !!options.leading;
2132
2235
  maxing = "maxWait" in options;
2133
2236
  maxWait = maxing ? nativeMax$2(toNumber$1(options.maxWait) || 0, wait) : maxWait;
@@ -2371,7 +2474,7 @@ function point(coordinates2, properties, options) {
2371
2474
  if (coordinates2.length < 2) {
2372
2475
  throw new Error("coordinates must be at least 2 numbers long");
2373
2476
  }
2374
- if (!isNumber(coordinates2[0]) || !isNumber(coordinates2[1])) {
2477
+ if (!isNumber$1(coordinates2[0]) || !isNumber$1(coordinates2[1])) {
2375
2478
  throw new Error("coordinates must contain numbers");
2376
2479
  }
2377
2480
  var geom = {
@@ -2572,10 +2675,10 @@ function convertArea(area2, originalUnit, finalUnit) {
2572
2675
  }
2573
2676
  return area2 / startFactor * finalFactor;
2574
2677
  }
2575
- function isNumber(num) {
2678
+ function isNumber$1(num) {
2576
2679
  return !isNaN(num) && num !== null && !Array.isArray(num);
2577
2680
  }
2578
- function isObject$3(input) {
2681
+ function isObject$4(input) {
2579
2682
  return !!input && input.constructor === Object;
2580
2683
  }
2581
2684
  function validateBBox(bbox2) {
@@ -2589,7 +2692,7 @@ function validateBBox(bbox2) {
2589
2692
  throw new Error("bbox must be an Array of 4 or 6 numbers");
2590
2693
  }
2591
2694
  bbox2.forEach(function(num) {
2592
- if (!isNumber(num)) {
2695
+ if (!isNumber$1(num)) {
2593
2696
  throw new Error("bbox must only contain numbers");
2594
2697
  }
2595
2698
  });
@@ -2615,8 +2718,8 @@ const es$7 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty
2615
2718
  featureCollection: featureCollection$1,
2616
2719
  geometry: geometry$1,
2617
2720
  geometryCollection,
2618
- isNumber,
2619
- isObject: isObject$3,
2721
+ isNumber: isNumber$1,
2722
+ isObject: isObject$4,
2620
2723
  lengthToDegrees,
2621
2724
  lengthToRadians,
2622
2725
  lineString,
@@ -3058,7 +3161,7 @@ function lineReduce$1(geojson, callback, initialValue) {
3058
3161
  }
3059
3162
  function findSegment$1(geojson, options) {
3060
3163
  options = options || {};
3061
- if (!isObject$3(options))
3164
+ if (!isObject$4(options))
3062
3165
  throw new Error("options is invalid");
3063
3166
  var featureIndex = options.featureIndex || 0;
3064
3167
  var multiFeatureIndex = options.multiFeatureIndex || 0;
@@ -3150,7 +3253,7 @@ function findSegment$1(geojson, options) {
3150
3253
  }
3151
3254
  function findPoint$1(geojson, options) {
3152
3255
  options = options || {};
3153
- if (!isObject$3(options))
3256
+ if (!isObject$4(options))
3154
3257
  throw new Error("options is invalid");
3155
3258
  var featureIndex = options.featureIndex || 0;
3156
3259
  var multiFeatureIndex = options.multiFeatureIndex || 0;
@@ -4369,6 +4472,258 @@ function getNextScope(prevScopes) {
4369
4472
  } while (prevScopes.includes(nextScope));
4370
4473
  return nextScope;
4371
4474
  }
4475
+ var loglevel = { exports: {} };
4476
+ (function(module2) {
4477
+ (function(root2, definition) {
4478
+ if (module2.exports) {
4479
+ module2.exports = definition();
4480
+ } else {
4481
+ root2.log = definition();
4482
+ }
4483
+ })(commonjsGlobal, function() {
4484
+ var noop2 = function() {
4485
+ };
4486
+ var undefinedType2 = "undefined";
4487
+ var isIE2 = typeof window !== undefinedType2 && typeof window.navigator !== undefinedType2 && /Trident\/|MSIE /.test(window.navigator.userAgent);
4488
+ var logMethods = [
4489
+ "trace",
4490
+ "debug",
4491
+ "info",
4492
+ "warn",
4493
+ "error"
4494
+ ];
4495
+ var _loggersByName = {};
4496
+ var defaultLogger = null;
4497
+ function bindMethod(obj, methodName) {
4498
+ var method = obj[methodName];
4499
+ if (typeof method.bind === "function") {
4500
+ return method.bind(obj);
4501
+ } else {
4502
+ try {
4503
+ return Function.prototype.bind.call(method, obj);
4504
+ } catch (e3) {
4505
+ return function() {
4506
+ return Function.prototype.apply.apply(method, [obj, arguments]);
4507
+ };
4508
+ }
4509
+ }
4510
+ }
4511
+ function traceForIE() {
4512
+ if (console.log) {
4513
+ if (console.log.apply) {
4514
+ console.log.apply(console, arguments);
4515
+ } else {
4516
+ Function.prototype.apply.apply(console.log, [console, arguments]);
4517
+ }
4518
+ }
4519
+ if (console.trace)
4520
+ console.trace();
4521
+ }
4522
+ function realMethod(methodName) {
4523
+ if (methodName === "debug") {
4524
+ methodName = "log";
4525
+ }
4526
+ if (typeof console === undefinedType2) {
4527
+ return false;
4528
+ } else if (methodName === "trace" && isIE2) {
4529
+ return traceForIE;
4530
+ } else if (console[methodName] !== void 0) {
4531
+ return bindMethod(console, methodName);
4532
+ } else if (console.log !== void 0) {
4533
+ return bindMethod(console, "log");
4534
+ } else {
4535
+ return noop2;
4536
+ }
4537
+ }
4538
+ function replaceLoggingMethods() {
4539
+ var level = this.getLevel();
4540
+ for (var i2 = 0; i2 < logMethods.length; i2++) {
4541
+ var methodName = logMethods[i2];
4542
+ this[methodName] = i2 < level ? noop2 : this.methodFactory(methodName, level, this.name);
4543
+ }
4544
+ this.log = this.debug;
4545
+ if (typeof console === undefinedType2 && level < this.levels.SILENT) {
4546
+ return "No console available for logging";
4547
+ }
4548
+ }
4549
+ function enableLoggingWhenConsoleArrives(methodName) {
4550
+ return function() {
4551
+ if (typeof console !== undefinedType2) {
4552
+ replaceLoggingMethods.call(this);
4553
+ this[methodName].apply(this, arguments);
4554
+ }
4555
+ };
4556
+ }
4557
+ function defaultMethodFactory(methodName, _level, _loggerName) {
4558
+ return realMethod(methodName) || enableLoggingWhenConsoleArrives.apply(this, arguments);
4559
+ }
4560
+ function Logger(name2, factory) {
4561
+ var self2 = this;
4562
+ var inheritedLevel;
4563
+ var defaultLevel;
4564
+ var userLevel;
4565
+ var storageKey = "loglevel";
4566
+ if (typeof name2 === "string") {
4567
+ storageKey += ":" + name2;
4568
+ } else if (typeof name2 === "symbol") {
4569
+ storageKey = void 0;
4570
+ }
4571
+ function persistLevelIfPossible(levelNum) {
4572
+ var levelName = (logMethods[levelNum] || "silent").toUpperCase();
4573
+ if (typeof window === undefinedType2 || !storageKey)
4574
+ return;
4575
+ try {
4576
+ window.localStorage[storageKey] = levelName;
4577
+ return;
4578
+ } catch (ignore) {
4579
+ }
4580
+ try {
4581
+ window.document.cookie = encodeURIComponent(storageKey) + "=" + levelName + ";";
4582
+ } catch (ignore) {
4583
+ }
4584
+ }
4585
+ function getPersistedLevel() {
4586
+ var storedLevel;
4587
+ if (typeof window === undefinedType2 || !storageKey)
4588
+ return;
4589
+ try {
4590
+ storedLevel = window.localStorage[storageKey];
4591
+ } catch (ignore) {
4592
+ }
4593
+ if (typeof storedLevel === undefinedType2) {
4594
+ try {
4595
+ var cookie = window.document.cookie;
4596
+ var cookieName = encodeURIComponent(storageKey);
4597
+ var location = cookie.indexOf(cookieName + "=");
4598
+ if (location !== -1) {
4599
+ storedLevel = /^([^;]+)/.exec(
4600
+ cookie.slice(location + cookieName.length + 1)
4601
+ )[1];
4602
+ }
4603
+ } catch (ignore) {
4604
+ }
4605
+ }
4606
+ if (self2.levels[storedLevel] === void 0) {
4607
+ storedLevel = void 0;
4608
+ }
4609
+ return storedLevel;
4610
+ }
4611
+ function clearPersistedLevel() {
4612
+ if (typeof window === undefinedType2 || !storageKey)
4613
+ return;
4614
+ try {
4615
+ window.localStorage.removeItem(storageKey);
4616
+ } catch (ignore) {
4617
+ }
4618
+ try {
4619
+ window.document.cookie = encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
4620
+ } catch (ignore) {
4621
+ }
4622
+ }
4623
+ function normalizeLevel(input) {
4624
+ var level = input;
4625
+ if (typeof level === "string" && self2.levels[level.toUpperCase()] !== void 0) {
4626
+ level = self2.levels[level.toUpperCase()];
4627
+ }
4628
+ if (typeof level === "number" && level >= 0 && level <= self2.levels.SILENT) {
4629
+ return level;
4630
+ } else {
4631
+ throw new TypeError("log.setLevel() called with invalid level: " + input);
4632
+ }
4633
+ }
4634
+ self2.name = name2;
4635
+ self2.levels = {
4636
+ "TRACE": 0,
4637
+ "DEBUG": 1,
4638
+ "INFO": 2,
4639
+ "WARN": 3,
4640
+ "ERROR": 4,
4641
+ "SILENT": 5
4642
+ };
4643
+ self2.methodFactory = factory || defaultMethodFactory;
4644
+ self2.getLevel = function() {
4645
+ if (userLevel != null) {
4646
+ return userLevel;
4647
+ } else if (defaultLevel != null) {
4648
+ return defaultLevel;
4649
+ } else {
4650
+ return inheritedLevel;
4651
+ }
4652
+ };
4653
+ self2.setLevel = function(level, persist) {
4654
+ userLevel = normalizeLevel(level);
4655
+ if (persist !== false) {
4656
+ persistLevelIfPossible(userLevel);
4657
+ }
4658
+ return replaceLoggingMethods.call(self2);
4659
+ };
4660
+ self2.setDefaultLevel = function(level) {
4661
+ defaultLevel = normalizeLevel(level);
4662
+ if (!getPersistedLevel()) {
4663
+ self2.setLevel(level, false);
4664
+ }
4665
+ };
4666
+ self2.resetLevel = function() {
4667
+ userLevel = null;
4668
+ clearPersistedLevel();
4669
+ replaceLoggingMethods.call(self2);
4670
+ };
4671
+ self2.enableAll = function(persist) {
4672
+ self2.setLevel(self2.levels.TRACE, persist);
4673
+ };
4674
+ self2.disableAll = function(persist) {
4675
+ self2.setLevel(self2.levels.SILENT, persist);
4676
+ };
4677
+ self2.rebuild = function() {
4678
+ if (defaultLogger !== self2) {
4679
+ inheritedLevel = normalizeLevel(defaultLogger.getLevel());
4680
+ }
4681
+ replaceLoggingMethods.call(self2);
4682
+ if (defaultLogger === self2) {
4683
+ for (var childName in _loggersByName) {
4684
+ _loggersByName[childName].rebuild();
4685
+ }
4686
+ }
4687
+ };
4688
+ inheritedLevel = normalizeLevel(
4689
+ defaultLogger ? defaultLogger.getLevel() : "WARN"
4690
+ );
4691
+ var initialLevel = getPersistedLevel();
4692
+ if (initialLevel != null) {
4693
+ userLevel = normalizeLevel(initialLevel);
4694
+ }
4695
+ replaceLoggingMethods.call(self2);
4696
+ }
4697
+ defaultLogger = new Logger();
4698
+ defaultLogger.getLogger = function getLogger(name2) {
4699
+ if (typeof name2 !== "symbol" && typeof name2 !== "string" || name2 === "") {
4700
+ throw new TypeError("You must supply a name when creating a logger.");
4701
+ }
4702
+ var logger = _loggersByName[name2];
4703
+ if (!logger) {
4704
+ logger = _loggersByName[name2] = new Logger(
4705
+ name2,
4706
+ defaultLogger.methodFactory
4707
+ );
4708
+ }
4709
+ return logger;
4710
+ };
4711
+ var _log = typeof window !== undefinedType2 ? window.log : void 0;
4712
+ defaultLogger.noConflict = function() {
4713
+ if (typeof window !== undefinedType2 && window.log === defaultLogger) {
4714
+ window.log = _log;
4715
+ }
4716
+ return defaultLogger;
4717
+ };
4718
+ defaultLogger.getLoggers = function getLoggers2() {
4719
+ return _loggersByName;
4720
+ };
4721
+ defaultLogger["default"] = defaultLogger;
4722
+ return defaultLogger;
4723
+ });
4724
+ })(loglevel);
4725
+ var loglevelExports = loglevel.exports;
4726
+ const log$5 = /* @__PURE__ */ getDefaultExportFromCjs(loglevelExports);
4372
4727
  const DEFAULT_DARK_COLOR = [50, 50, 50];
4373
4728
  const DEFAULT_LIGHT_COLOR$3 = [200, 200, 200];
4374
4729
  const DEFAULT_LIGHT2_COLOR = [235, 235, 235];
@@ -8783,7 +9138,7 @@ function upgradeFrom1_0_14(config2) {
8783
9138
  Object.entries(propAnalogies).forEach(([oldProp, newType]) => {
8784
9139
  var _a2;
8785
9140
  if ((_a2 = viewDef.props) == null ? void 0 : _a2[oldProp]) {
8786
- console.warn(`Warning: the '${oldProp}' prop on the ${viewDef.component} view is deprecated. Please use the '${newType}' coordination type instead.`);
9141
+ log$5.warn(`Warning: the '${oldProp}' prop on the ${viewDef.component} view is deprecated. Please use the '${newType}' coordination type instead.`);
8787
9142
  }
8788
9143
  });
8789
9144
  });
@@ -8806,7 +9161,7 @@ function upgradeFrom1_0_15(config2) {
8806
9161
  Object.entries(coordinationScopes).forEach(([coordinationType, coordinationScope]) => {
8807
9162
  if (!Array.isArray(coordinationScope) && typeof coordinationScope === "object") {
8808
9163
  if (coordinationType === "dataset") {
8809
- console.error("Expected coordinationScopes.dataset value to be either string or string[], but got object.");
9164
+ log$5.error("Expected coordinationScopes.dataset value to be either string or string[], but got object.");
8810
9165
  }
8811
9166
  coordinationScopesBy.dataset[coordinationType] = coordinationScope;
8812
9167
  } else if (Array.isArray(coordinationScope) || typeof coordinationScope === "string") {
@@ -8916,9 +9271,9 @@ var debug_1 = debug$2;
8916
9271
  const re2 = exports2.re = [];
8917
9272
  const src = exports2.src = [];
8918
9273
  const t2 = exports2.t = {};
8919
- let R2 = 0;
9274
+ let R = 0;
8920
9275
  const createToken = (name2, value, isGlobal) => {
8921
- const index2 = R2++;
9276
+ const index2 = R++;
8922
9277
  debug2(name2, index2, value);
8923
9278
  t2[name2] = index2;
8924
9279
  src[index2] = value;
@@ -11017,9 +11372,15 @@ const ViewType$1 = {
11017
11372
  FEATURE_VALUE_HISTOGRAM: "featureValueHistogram",
11018
11373
  DOT_PLOT: "dotPlot",
11019
11374
  FEATURE_BAR_PLOT: "featureBarPlot",
11375
+ VOLCANO_PLOT: "volcanoPlot",
11376
+ OBS_SET_COMPOSITION_BAR_PLOT: "obsSetCompositionBarPlot",
11377
+ FEATURE_SET_ENRICHMENT_BAR_PLOT: "featureSetEnrichmentBarPlot",
11020
11378
  BIOMARKER_SELECT: "biomarkerSelect",
11379
+ COMPARATIVE_HEADING: "comparativeHeading",
11021
11380
  LINK_CONTROLLER: "linkController",
11022
- DUAL_SCATTERPLOT: "dualScatterplot"
11381
+ NEUROGLANCER: "neuroglancer",
11382
+ DUAL_SCATTERPLOT: "dualScatterplot",
11383
+ TREEMAP: "treemap"
11023
11384
  };
11024
11385
  const DataType$2 = {
11025
11386
  OBS_LABELS: "obsLabels",
@@ -11035,7 +11396,11 @@ const DataType$2 = {
11035
11396
  OBS_POINTS: "obsPoints",
11036
11397
  OBS_LOCATIONS: "obsLocations",
11037
11398
  SAMPLE_SETS: "sampleSets",
11038
- SAMPLE_EDGES: "sampleEdges"
11399
+ SAMPLE_EDGES: "sampleEdges",
11400
+ COMPARISON_METADATA: "comparisonMetadata",
11401
+ FEATURE_STATS: "featureStats",
11402
+ FEATURE_SET_STATS: "featureSetStats",
11403
+ OBS_SET_STATS: "obsSetStats"
11039
11404
  };
11040
11405
  const FileType$1 = {
11041
11406
  // Joint file types
@@ -11073,6 +11438,11 @@ const FileType$1 = {
11073
11438
  OBS_LABELS_ANNDATA_ZARR: "obsLabels.anndata.zarr",
11074
11439
  FEATURE_LABELS_ANNDATA_ZARR: "featureLabels.anndata.zarr",
11075
11440
  SAMPLE_EDGES_ANNDATA_ZARR: "sampleEdges.anndata.zarr",
11441
+ SAMPLE_SETS_ANNDATA_ZARR: "sampleSets.anndata.zarr",
11442
+ COMPARISON_METADATA_ANNDATA_ZARR: "comparisonMetadata.anndata.zarr",
11443
+ COMPARATIVE_FEATURE_STATS_ANNDATA_ZARR: "comparativeFeatureStats.anndata.zarr",
11444
+ COMPARATIVE_FEATURE_SET_STATS_ANNDATA_ZARR: "comparativeFeatureSetStats.anndata.zarr",
11445
+ COMPARATIVE_OBS_SET_STATS_ANNDATA_ZARR: "comparativeObsSetStats.anndata.zarr",
11076
11446
  // AnnData - zipped
11077
11447
  OBS_FEATURE_MATRIX_ANNDATA_ZARR_ZIP: "obsFeatureMatrix.anndata.zarr.zip",
11078
11448
  OBS_FEATURE_COLUMNS_ANNDATA_ZARR_ZIP: "obsFeatureColumns.anndata.zarr.zip",
@@ -11085,6 +11455,11 @@ const FileType$1 = {
11085
11455
  OBS_LABELS_ANNDATA_ZARR_ZIP: "obsLabels.anndata.zarr.zip",
11086
11456
  FEATURE_LABELS_ANNDATA_ZARR_ZIP: "featureLabels.anndata.zarr.zip",
11087
11457
  SAMPLE_EDGES_ANNDATA_ZARR_ZIP: "sampleEdges.anndata.zarr.zip",
11458
+ SAMPLE_SETS_ANNDATA_ZARR_ZIP: "sampleSets.anndata.zarr.zip",
11459
+ COMPARISON_METADATA_ANNDATA_ZARR_ZIP: "comparisonMetadata.anndata.zarr.zip",
11460
+ COMPARATIVE_FEATURE_STATS_ANNDATA_ZARR_ZIP: "comparativeFeatureStats.anndata.zarr.zip",
11461
+ COMPARATIVE_FEATURE_SET_STATS_ANNDATA_ZARR_ZIP: "comparativeFeatureSetStats.anndata.zarr.zip",
11462
+ COMPARATIVE_OBS_SET_STATS_ANNDATA_ZARR_ZIP: "comparativeObsSetStats.anndata.zarr.zip",
11088
11463
  // AnnData - h5ad via reference spec
11089
11464
  OBS_FEATURE_MATRIX_ANNDATA_H5AD: "obsFeatureMatrix.anndata.h5ad",
11090
11465
  OBS_FEATURE_COLUMNS_ANNDATA_H5AD: "obsFeatureColumns.anndata.h5ad",
@@ -11097,6 +11472,11 @@ const FileType$1 = {
11097
11472
  OBS_LABELS_ANNDATA_H5AD: "obsLabels.anndata.h5ad",
11098
11473
  FEATURE_LABELS_ANNDATA_H5AD: "featureLabels.anndata.h5ad",
11099
11474
  SAMPLE_EDGES_ANNDATA_H5AD: "sampleEdges.anndata.h5ad",
11475
+ SAMPLE_SETS_ANNDATA_H5AD: "sampleSets.anndata.h5ad",
11476
+ COMPARISON_METADATA_ANNDATA_H5AD: "comparisonMetadata.anndata.h5ad",
11477
+ COMPARATIVE_FEATURE_STATS_ANNDATA_H5AD: "comparativeFeatureStats.anndata.h5ad",
11478
+ COMPARATIVE_FEATURE_SET_STATS_ANNDATA_H5AD: "comparativeFeatureSetStats.anndata.h5ad",
11479
+ COMPARATIVE_OBS_SET_STATS_ANNDATA_H5AD: "comparativeObsSetStats.anndata.h5ad",
11100
11480
  // SpatialData
11101
11481
  IMAGE_SPATIALDATA_ZARR: "image.spatialdata.zarr",
11102
11482
  LABELS_SPATIALDATA_ZARR: "labels.spatialdata.zarr",
@@ -11288,12 +11668,20 @@ const CoordinationType$1 = {
11288
11668
  SAMPLE_SET_FILTER: "sampleSetFilter",
11289
11669
  SAMPLE_FILTER_MODE: "sampleFilterMode",
11290
11670
  SAMPLE_SET_COLOR: "sampleSetColor",
11671
+ SAMPLE_HIGHLIGHT: "sampleHighlight",
11291
11672
  EMBEDDING_POINTS_VISIBLE: "embeddingPointsVisible",
11292
11673
  EMBEDDING_CONTOURS_VISIBLE: "embeddingContoursVisible",
11293
11674
  EMBEDDING_CONTOURS_FILLED: "embeddingContoursFilled",
11294
11675
  EMBEDDING_CONTOUR_PERCENTILES: "embeddingContourPercentiles",
11295
11676
  CONTOUR_COLOR_ENCODING: "contourColorEncoding",
11296
- CONTOUR_COLOR: "contourColor"
11677
+ CONTOUR_COLOR: "contourColor",
11678
+ // For volcano plot:
11679
+ FEATURE_POINT_SIGNIFICANCE_THRESHOLD: "featurePointSignificanceThreshold",
11680
+ FEATURE_LABEL_SIGNIFICANCE_THRESHOLD: "featureLabelSignificanceThreshold",
11681
+ FEATURE_POINT_FOLD_CHANGE_THRESHOLD: "featurePointFoldChangeThreshold",
11682
+ FEATURE_LABEL_FOLD_CHANGE_THRESHOLD: "featureLabelFoldChangeThreshold",
11683
+ // Treemap
11684
+ HIERARCHY_LEVELS: "hierarchyLevels"
11297
11685
  };
11298
11686
  const ViewHelpMapping = {
11299
11687
  SCATTERPLOT: "The scatterplot displays two-dimensional (pre-computed) dimensionality reduction results (such as from t-SNE or UMAP). Each point on the scatterplot represents an observation (e.g., cell).",
@@ -11310,9 +11698,17 @@ const ViewHelpMapping = {
11310
11698
  OBS_SET_FEATURE_VALUE_DISTRIBUTION: "The observation set feature value distribution view displays a violin plot with values (e.g., expression values) per set (e.g., cell type) for the selected feature (e.g., gene).",
11311
11699
  FEATURE_VALUE_HISTOGRAM: "The feature value histogram displays the distribution of values (e.g., expression) for the selected feature (e.g., gene).",
11312
11700
  DOT_PLOT: "The dot plot displays summary information about expression of the selected features (e.g., genes) for each selected observation set (e.g., cell type).",
11313
- FEATURE_BAR_PLOT: "The feature bar plot displays one bar per observation (e.g., cell) along the x-axis, where the value of a selected feature (e.g., gene) is encoded along the y-axis."
11701
+ FEATURE_BAR_PLOT: "The feature bar plot displays one bar per observation (e.g., cell) along the x-axis, where the value of a selected feature (e.g., gene) is encoded along the y-axis.",
11702
+ NEUROGLANCER: "The Neuroglancer view displays 3d meshes using Neuroglancer developed by Google.",
11703
+ TREEMAP: "The treemap provides an overview of the current state of sample-level or cell-level selection and filtering.",
11704
+ VOLCANO_PLOT: "The volcano plot displays differential expression results. Each data point represents a feature (as opposed to an observation).",
11705
+ OBS_SET_COMPOSITION_BAR_PLOT: "The set composition bar plot displays the results of a compositional analysis conducted using the scCODA method (Büttner et al. 2021 Nature Communications).",
11706
+ FEATURE_SET_ENRICHMENT_BAR_PLOT: "The feature set enrichment bar plot displays the results of a hypergeometric test applied to the differential expression test results to identify enriched pathway gene sets."
11314
11707
  };
11315
11708
  const COMPONENT_COORDINATION_TYPES = {
11709
+ [ViewType$1.NEUROGLANCER]: [
11710
+ CoordinationType$1.DATASET
11711
+ ],
11316
11712
  [ViewType$1.SCATTERPLOT]: [
11317
11713
  CoordinationType$1.DATASET,
11318
11714
  CoordinationType$1.OBS_TYPE,
@@ -11782,14 +12178,106 @@ const COMPONENT_COORDINATION_TYPES = {
11782
12178
  CoordinationType$1.OBS_COLOR_ENCODING,
11783
12179
  CoordinationType$1.ADDITIONAL_OBS_SETS
11784
12180
  ],
12181
+ [ViewType$1.VOLCANO_PLOT]: [
12182
+ CoordinationType$1.DATASET,
12183
+ CoordinationType$1.OBS_TYPE,
12184
+ CoordinationType$1.FEATURE_TYPE,
12185
+ CoordinationType$1.SAMPLE_TYPE,
12186
+ // For selection of case-control sets of samples:
12187
+ CoordinationType$1.SAMPLE_SET_SELECTION,
12188
+ // For selection of one-vs-others sets of observations:
12189
+ CoordinationType$1.OBS_SET_SELECTION,
12190
+ // TODO: CoordinationType.FEATURE_SET_SELECTION,
12191
+ // TODO: CoordinationType.FEATURE_SET_HIGHLIGHT,
12192
+ // TODO: CoordinationType.FEATURE_SET_COLOR,
12193
+ CoordinationType$1.FEATURE_HIGHLIGHT,
12194
+ CoordinationType$1.FEATURE_SELECTION,
12195
+ CoordinationType$1.FEATURE_VALUE_COLORMAP,
12196
+ CoordinationType$1.FEATURE_VALUE_COLORMAP_RANGE,
12197
+ // TODO: CoordinationType.FEATURE_COLOR_ENCODING,
12198
+ // TODO: CoordinationType.ADDITIONAL_FEATURE_SETS,
12199
+ CoordinationType$1.TOOLTIPS_VISIBLE,
12200
+ CoordinationType$1.ADDITIONAL_OBS_SETS,
12201
+ CoordinationType$1.OBS_SET_COLOR,
12202
+ CoordinationType$1.SAMPLE_SET_COLOR,
12203
+ CoordinationType$1.FEATURE_POINT_SIGNIFICANCE_THRESHOLD,
12204
+ CoordinationType$1.FEATURE_LABEL_SIGNIFICANCE_THRESHOLD,
12205
+ CoordinationType$1.FEATURE_POINT_FOLD_CHANGE_THRESHOLD,
12206
+ CoordinationType$1.FEATURE_LABEL_FOLD_CHANGE_THRESHOLD
12207
+ ],
12208
+ [ViewType$1.OBS_SET_COMPOSITION_BAR_PLOT]: [
12209
+ CoordinationType$1.DATASET,
12210
+ CoordinationType$1.OBS_TYPE,
12211
+ CoordinationType$1.SAMPLE_TYPE,
12212
+ // For selection of case-control sets of samples:
12213
+ CoordinationType$1.SAMPLE_SET_SELECTION,
12214
+ // For selection of one-vs-others sets of observations:
12215
+ CoordinationType$1.OBS_SET_SELECTION,
12216
+ CoordinationType$1.ADDITIONAL_OBS_SETS,
12217
+ CoordinationType$1.OBS_SET_COLOR,
12218
+ CoordinationType$1.SAMPLE_SET_COLOR
12219
+ ],
12220
+ [ViewType$1.FEATURE_SET_ENRICHMENT_BAR_PLOT]: [
12221
+ CoordinationType$1.DATASET,
12222
+ CoordinationType$1.OBS_TYPE,
12223
+ CoordinationType$1.FEATURE_TYPE,
12224
+ CoordinationType$1.SAMPLE_TYPE,
12225
+ // For selection of case-control sets of samples:
12226
+ CoordinationType$1.SAMPLE_SET_SELECTION,
12227
+ // For selection of one-vs-others sets of observations:
12228
+ CoordinationType$1.OBS_SET_SELECTION,
12229
+ CoordinationType$1.ADDITIONAL_OBS_SETS,
12230
+ CoordinationType$1.OBS_SET_COLOR,
12231
+ CoordinationType$1.SAMPLE_SET_COLOR,
12232
+ CoordinationType$1.FEATURE_SELECTION
12233
+ ],
11785
12234
  [ViewType$1.LINK_CONTROLLER]: [],
11786
12235
  [ViewType$1.BIOMARKER_SELECT]: [
12236
+ CoordinationType$1.DATASET,
12237
+ CoordinationType$1.OBS_TYPE,
12238
+ CoordinationType$1.SAMPLE_TYPE,
11787
12239
  CoordinationType$1.FEATURE_SELECTION,
11788
12240
  CoordinationType$1.SAMPLE_SET_SELECTION,
11789
12241
  CoordinationType$1.SAMPLE_SET_FILTER,
11790
12242
  CoordinationType$1.OBS_SET_SELECTION,
11791
12243
  CoordinationType$1.OBS_SET_FILTER
11792
12244
  // TODO: create coordination types for internal state of the biomarker selection view?
12245
+ ],
12246
+ [ViewType$1.COMPARATIVE_HEADING]: [
12247
+ CoordinationType$1.DATASET,
12248
+ CoordinationType$1.OBS_TYPE,
12249
+ CoordinationType$1.SAMPLE_TYPE,
12250
+ CoordinationType$1.FEATURE_SELECTION,
12251
+ CoordinationType$1.SAMPLE_SET_SELECTION,
12252
+ CoordinationType$1.SAMPLE_SET_FILTER,
12253
+ CoordinationType$1.OBS_SET_SELECTION,
12254
+ CoordinationType$1.OBS_SET_FILTER
12255
+ ],
12256
+ [ViewType$1.TREEMAP]: [
12257
+ CoordinationType$1.DATASET,
12258
+ CoordinationType$1.OBS_TYPE,
12259
+ CoordinationType$1.FEATURE_TYPE,
12260
+ CoordinationType$1.FEATURE_VALUE_TYPE,
12261
+ CoordinationType$1.OBS_FILTER,
12262
+ CoordinationType$1.OBS_HIGHLIGHT,
12263
+ CoordinationType$1.OBS_SET_SELECTION,
12264
+ CoordinationType$1.OBS_SET_FILTER,
12265
+ CoordinationType$1.OBS_SELECTION,
12266
+ CoordinationType$1.OBS_SELECTION_MODE,
12267
+ CoordinationType$1.OBS_SET_HIGHLIGHT,
12268
+ CoordinationType$1.OBS_SET_COLOR,
12269
+ CoordinationType$1.OBS_COLOR_ENCODING,
12270
+ CoordinationType$1.ADDITIONAL_OBS_SETS,
12271
+ CoordinationType$1.SAMPLE_TYPE,
12272
+ CoordinationType$1.SAMPLE_SET_SELECTION,
12273
+ CoordinationType$1.SAMPLE_SET_FILTER,
12274
+ CoordinationType$1.SAMPLE_SET_COLOR,
12275
+ CoordinationType$1.SAMPLE_SELECTION,
12276
+ CoordinationType$1.SAMPLE_SELECTION_MODE,
12277
+ CoordinationType$1.SAMPLE_FILTER,
12278
+ CoordinationType$1.SAMPLE_FILTER_MODE,
12279
+ CoordinationType$1.SAMPLE_HIGHLIGHT,
12280
+ CoordinationType$1.HIERARCHY_LEVELS
11793
12281
  ]
11794
12282
  };
11795
12283
  const ViewType = {
@@ -11958,7 +12446,7 @@ function makeConstantWithDeprecationMessage(currObj, oldObj) {
11958
12446
  const oldKeys = Object.keys(oldObj);
11959
12447
  const propKey = String(prop);
11960
12448
  if (oldKeys.includes(propKey)) {
11961
- console.warn(`Notice about the constant mapping ${propKey}: '${oldObj[propKey][0]}':
12449
+ log$5.warn(`Notice about the constant mapping ${propKey}: '${oldObj[propKey][0]}':
11962
12450
  ${oldObj[propKey][1]}`);
11963
12451
  return oldObj[propKey];
11964
12452
  }
@@ -12037,6 +12525,42 @@ const annDataConvenienceObsEmbeddingItem = z.object({
12037
12525
  dims: z.array(z.number()).optional(),
12038
12526
  embeddingType: z.string()
12039
12527
  });
12528
+ z.object({
12529
+ path: z.string().describe("Path to the comparison metadata, such as /uns/comparison_metadata")
12530
+ });
12531
+ z.object({
12532
+ // TODO: implement a featureStats.anndata.zarr loader
12533
+ // which does not depend on comparisonMetadata
12534
+ // (instead, would point directly to the root of
12535
+ // the dataframe containing a set of diff exp results)
12536
+ // path: z.string().describe('Path to the dataframe containing the results.'),
12537
+ metadataPath: z.string().describe("Path to the comparison metadata."),
12538
+ indexColumn: z.string().optional().describe("Provide a column to use for the feature index, if different than the default dataframe index."),
12539
+ pValueColumn: z.string(),
12540
+ foldChangeColumn: z.string(),
12541
+ pValueTransformation: z.enum(["minuslog10"]).optional(),
12542
+ pValueAdjusted: z.boolean().optional(),
12543
+ foldChangeTransformation: z.enum(["log2"]).optional()
12544
+ });
12545
+ z.object({
12546
+ metadataPath: z.string().describe("Path to the comparison metadata."),
12547
+ indexColumn: z.string().optional().describe("Provide a column to use for the feature set index, if different than the default dataframe index."),
12548
+ termColumn: z.string().optional(),
12549
+ pValueColumn: z.string(),
12550
+ pValueAdjusted: z.boolean().optional(),
12551
+ analysisType: z.string().optional().describe("Optionally, provide an analysis_type name. By default, pertpy_hypergeometric.")
12552
+ });
12553
+ z.object({
12554
+ metadataPath: z.string().describe("Path to the comparison metadata."),
12555
+ indexColumn: z.string().optional().describe("Provide a column to use for the obs set index, if different than the default dataframe index."),
12556
+ interceptExpectedSampleColumn: z.string().describe("If we had a new sample (with no active covariates) with a total number of cells equal to the mean sampling depth of the dataset, then this distribution over the cell types would be most likely."),
12557
+ effectExpectedSampleColumn: z.string().describe("If we had a new sample (with no active covariates) with a total number of cells equal to the mean sampling depth of the dataset, then this distribution over the cell types would be most likely."),
12558
+ foldChangeColumn: z.string().describe("The log-fold change is then calculated between this expected sample and the expected sample with no active covariates from the intercept section."),
12559
+ foldChangeTransformation: z.enum(["log2"]).optional(),
12560
+ isCredibleEffectColumn: z.string().describe("Column which annotates effects as being credible or not (boolean)."),
12561
+ covariateColumn: z.string().describe("Column which defines the covariate used in the analysis."),
12562
+ analysisType: z.string().optional().describe("Optionally, provide an analysis_type name. By default, sccoda_df.")
12563
+ });
12040
12564
  const annDataObsLabels = annDataObs;
12041
12565
  const annDataFeatureLabels = annDataObs;
12042
12566
  const annDataSampleEdges = annDataObs;
@@ -12056,6 +12580,9 @@ const annDataObsSetsArr = z.array(z.object({
12056
12580
  z.object({
12057
12581
  obsSets: annDataObsSetsArr
12058
12582
  });
12583
+ z.object({
12584
+ sampleSets: annDataObsSetsArr
12585
+ });
12059
12586
  const annDataObsFeatureColumnsArr = z.array(z.object({
12060
12587
  path: z.string()
12061
12588
  }));
@@ -12353,14 +12880,14 @@ var tinycolor = { exports: {} };
12353
12880
  },
12354
12881
  getLuminance: function() {
12355
12882
  var rgb2 = this.toRgb();
12356
- var RsRGB, GsRGB, BsRGB, R2, G2, B2;
12883
+ var RsRGB, GsRGB, BsRGB, R, G2, B2;
12357
12884
  RsRGB = rgb2.r / 255;
12358
12885
  GsRGB = rgb2.g / 255;
12359
12886
  BsRGB = rgb2.b / 255;
12360
12887
  if (RsRGB <= 0.03928) {
12361
- R2 = RsRGB / 12.92;
12888
+ R = RsRGB / 12.92;
12362
12889
  } else {
12363
- R2 = Math2.pow((RsRGB + 0.055) / 1.055, 2.4);
12890
+ R = Math2.pow((RsRGB + 0.055) / 1.055, 2.4);
12364
12891
  }
12365
12892
  if (GsRGB <= 0.03928) {
12366
12893
  G2 = GsRGB / 12.92;
@@ -12372,7 +12899,7 @@ var tinycolor = { exports: {} };
12372
12899
  } else {
12373
12900
  B2 = Math2.pow((BsRGB + 0.055) / 1.055, 2.4);
12374
12901
  }
12375
- return 0.2126 * R2 + 0.7152 * G2 + 0.0722 * B2;
12902
+ return 0.2126 * R + 0.7152 * G2 + 0.0722 * B2;
12376
12903
  },
12377
12904
  setAlpha: function(value) {
12378
12905
  this._a = boundAlpha(value);
@@ -13442,7 +13969,7 @@ var json2csv_umd = { exports: {} };
13442
13969
  }
13443
13970
  this._maxListeners = this._maxListeners || void 0;
13444
13971
  };
13445
- EventEmitter2.prototype.setMaxListeners = function setMaxListeners2(n2) {
13972
+ EventEmitter2.prototype.setMaxListeners = function setMaxListeners(n2) {
13446
13973
  if (typeof n2 !== "number" || n2 < 0 || isNaN(n2))
13447
13974
  throw new TypeError('"n" argument must be a positive number');
13448
13975
  this._maxListeners = n2;
@@ -13453,7 +13980,7 @@ var json2csv_umd = { exports: {} };
13453
13980
  return EventEmitter2.defaultMaxListeners;
13454
13981
  return that._maxListeners;
13455
13982
  }
13456
- EventEmitter2.prototype.getMaxListeners = function getMaxListeners2() {
13983
+ EventEmitter2.prototype.getMaxListeners = function getMaxListeners() {
13457
13984
  return $getMaxListeners(this);
13458
13985
  };
13459
13986
  function emitNone(handler, isFn, self2) {
@@ -13461,9 +13988,9 @@ var json2csv_umd = { exports: {} };
13461
13988
  handler.call(self2);
13462
13989
  else {
13463
13990
  var len2 = handler.length;
13464
- var listeners2 = arrayClone2(handler, len2);
13991
+ var listeners = arrayClone(handler, len2);
13465
13992
  for (var i2 = 0; i2 < len2; ++i2)
13466
- listeners2[i2].call(self2);
13993
+ listeners[i2].call(self2);
13467
13994
  }
13468
13995
  }
13469
13996
  function emitOne(handler, isFn, self2, arg1) {
@@ -13471,9 +13998,9 @@ var json2csv_umd = { exports: {} };
13471
13998
  handler.call(self2, arg1);
13472
13999
  else {
13473
14000
  var len2 = handler.length;
13474
- var listeners2 = arrayClone2(handler, len2);
14001
+ var listeners = arrayClone(handler, len2);
13475
14002
  for (var i2 = 0; i2 < len2; ++i2)
13476
- listeners2[i2].call(self2, arg1);
14003
+ listeners[i2].call(self2, arg1);
13477
14004
  }
13478
14005
  }
13479
14006
  function emitTwo(handler, isFn, self2, arg1, arg2) {
@@ -13481,9 +14008,9 @@ var json2csv_umd = { exports: {} };
13481
14008
  handler.call(self2, arg1, arg2);
13482
14009
  else {
13483
14010
  var len2 = handler.length;
13484
- var listeners2 = arrayClone2(handler, len2);
14011
+ var listeners = arrayClone(handler, len2);
13485
14012
  for (var i2 = 0; i2 < len2; ++i2)
13486
- listeners2[i2].call(self2, arg1, arg2);
14013
+ listeners[i2].call(self2, arg1, arg2);
13487
14014
  }
13488
14015
  }
13489
14016
  function emitThree(handler, isFn, self2, arg1, arg2, arg3) {
@@ -13491,9 +14018,9 @@ var json2csv_umd = { exports: {} };
13491
14018
  handler.call(self2, arg1, arg2, arg3);
13492
14019
  else {
13493
14020
  var len2 = handler.length;
13494
- var listeners2 = arrayClone2(handler, len2);
14021
+ var listeners = arrayClone(handler, len2);
13495
14022
  for (var i2 = 0; i2 < len2; ++i2)
13496
- listeners2[i2].call(self2, arg1, arg2, arg3);
14023
+ listeners[i2].call(self2, arg1, arg2, arg3);
13497
14024
  }
13498
14025
  }
13499
14026
  function emitMany(handler, isFn, self2, args) {
@@ -13501,12 +14028,12 @@ var json2csv_umd = { exports: {} };
13501
14028
  handler.apply(self2, args);
13502
14029
  else {
13503
14030
  var len2 = handler.length;
13504
- var listeners2 = arrayClone2(handler, len2);
14031
+ var listeners = arrayClone(handler, len2);
13505
14032
  for (var i2 = 0; i2 < len2; ++i2)
13506
- listeners2[i2].apply(self2, args);
14033
+ listeners[i2].apply(self2, args);
13507
14034
  }
13508
14035
  }
13509
- EventEmitter2.prototype.emit = function emit2(type3) {
14036
+ EventEmitter2.prototype.emit = function emit(type3) {
13510
14037
  var er, handler, len2, args, i2, events2, domain2;
13511
14038
  var doError = type3 === "error";
13512
14039
  events2 = this._events;
@@ -13559,7 +14086,7 @@ var json2csv_umd = { exports: {} };
13559
14086
  }
13560
14087
  return true;
13561
14088
  };
13562
- function _addListener2(target, type3, listener, prepend) {
14089
+ function _addListener(target, type3, listener, prepend) {
13563
14090
  var m2;
13564
14091
  var events2;
13565
14092
  var existing;
@@ -13611,14 +14138,14 @@ var json2csv_umd = { exports: {} };
13611
14138
  function emitWarning(e3) {
13612
14139
  typeof console.warn === "function" ? console.warn(e3) : console.log(e3);
13613
14140
  }
13614
- EventEmitter2.prototype.addListener = function addListener2(type3, listener) {
13615
- return _addListener2(this, type3, listener, false);
14141
+ EventEmitter2.prototype.addListener = function addListener(type3, listener) {
14142
+ return _addListener(this, type3, listener, false);
13616
14143
  };
13617
14144
  EventEmitter2.prototype.on = EventEmitter2.prototype.addListener;
13618
- EventEmitter2.prototype.prependListener = function prependListener3(type3, listener) {
13619
- return _addListener2(this, type3, listener, true);
14145
+ EventEmitter2.prototype.prependListener = function prependListener2(type3, listener) {
14146
+ return _addListener(this, type3, listener, true);
13620
14147
  };
13621
- function _onceWrap2(target, type3, listener) {
14148
+ function _onceWrap(target, type3, listener) {
13622
14149
  var fired = false;
13623
14150
  function g2() {
13624
14151
  target.removeListener(type3, g2);
@@ -13630,19 +14157,19 @@ var json2csv_umd = { exports: {} };
13630
14157
  g2.listener = listener;
13631
14158
  return g2;
13632
14159
  }
13633
- EventEmitter2.prototype.once = function once3(type3, listener) {
14160
+ EventEmitter2.prototype.once = function once(type3, listener) {
13634
14161
  if (typeof listener !== "function")
13635
14162
  throw new TypeError('"listener" argument must be a function');
13636
- this.on(type3, _onceWrap2(this, type3, listener));
14163
+ this.on(type3, _onceWrap(this, type3, listener));
13637
14164
  return this;
13638
14165
  };
13639
- EventEmitter2.prototype.prependOnceListener = function prependOnceListener2(type3, listener) {
14166
+ EventEmitter2.prototype.prependOnceListener = function prependOnceListener(type3, listener) {
13640
14167
  if (typeof listener !== "function")
13641
14168
  throw new TypeError('"listener" argument must be a function');
13642
- this.prependListener(type3, _onceWrap2(this, type3, listener));
14169
+ this.prependListener(type3, _onceWrap(this, type3, listener));
13643
14170
  return this;
13644
14171
  };
13645
- EventEmitter2.prototype.removeListener = function removeListener2(type3, listener) {
14172
+ EventEmitter2.prototype.removeListener = function removeListener(type3, listener) {
13646
14173
  var list, events2, position, i2, originalListener;
13647
14174
  if (typeof listener !== "function")
13648
14175
  throw new TypeError('"listener" argument must be a function');
@@ -13680,15 +14207,15 @@ var json2csv_umd = { exports: {} };
13680
14207
  delete events2[type3];
13681
14208
  }
13682
14209
  } else {
13683
- spliceOne2(list, position);
14210
+ spliceOne(list, position);
13684
14211
  }
13685
14212
  if (events2.removeListener)
13686
14213
  this.emit("removeListener", type3, originalListener || listener);
13687
14214
  }
13688
14215
  return this;
13689
14216
  };
13690
- EventEmitter2.prototype.removeAllListeners = function removeAllListeners2(type3) {
13691
- var listeners2, events2;
14217
+ EventEmitter2.prototype.removeAllListeners = function removeAllListeners(type3) {
14218
+ var listeners, events2;
13692
14219
  events2 = this._events;
13693
14220
  if (!events2)
13694
14221
  return this;
@@ -13717,17 +14244,17 @@ var json2csv_umd = { exports: {} };
13717
14244
  this._eventsCount = 0;
13718
14245
  return this;
13719
14246
  }
13720
- listeners2 = events2[type3];
13721
- if (typeof listeners2 === "function") {
13722
- this.removeListener(type3, listeners2);
13723
- } else if (listeners2) {
14247
+ listeners = events2[type3];
14248
+ if (typeof listeners === "function") {
14249
+ this.removeListener(type3, listeners);
14250
+ } else if (listeners) {
13724
14251
  do {
13725
- this.removeListener(type3, listeners2[listeners2.length - 1]);
13726
- } while (listeners2[0]);
14252
+ this.removeListener(type3, listeners[listeners.length - 1]);
14253
+ } while (listeners[0]);
13727
14254
  }
13728
14255
  return this;
13729
14256
  };
13730
- EventEmitter2.prototype.listeners = function listeners2(type3) {
14257
+ EventEmitter2.prototype.listeners = function listeners(type3) {
13731
14258
  var evlistener;
13732
14259
  var ret;
13733
14260
  var events2 = this._events;
@@ -13740,7 +14267,7 @@ var json2csv_umd = { exports: {} };
13740
14267
  else if (typeof evlistener === "function")
13741
14268
  ret = [evlistener.listener || evlistener];
13742
14269
  else
13743
- ret = unwrapListeners2(evlistener);
14270
+ ret = unwrapListeners(evlistener);
13744
14271
  }
13745
14272
  return ret;
13746
14273
  };
@@ -13748,11 +14275,11 @@ var json2csv_umd = { exports: {} };
13748
14275
  if (typeof emitter.listenerCount === "function") {
13749
14276
  return emitter.listenerCount(type3);
13750
14277
  } else {
13751
- return listenerCount2.call(emitter, type3);
14278
+ return listenerCount.call(emitter, type3);
13752
14279
  }
13753
14280
  };
13754
- EventEmitter2.prototype.listenerCount = listenerCount2;
13755
- function listenerCount2(type3) {
14281
+ EventEmitter2.prototype.listenerCount = listenerCount;
14282
+ function listenerCount(type3) {
13756
14283
  var events2 = this._events;
13757
14284
  if (events2) {
13758
14285
  var evlistener = events2[type3];
@@ -13764,21 +14291,21 @@ var json2csv_umd = { exports: {} };
13764
14291
  }
13765
14292
  return 0;
13766
14293
  }
13767
- EventEmitter2.prototype.eventNames = function eventNames2() {
14294
+ EventEmitter2.prototype.eventNames = function eventNames() {
13768
14295
  return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];
13769
14296
  };
13770
- function spliceOne2(list, index2) {
14297
+ function spliceOne(list, index2) {
13771
14298
  for (var i2 = index2, k = i2 + 1, n2 = list.length; k < n2; i2 += 1, k += 1)
13772
14299
  list[i2] = list[k];
13773
14300
  list.pop();
13774
14301
  }
13775
- function arrayClone2(arr, i2) {
14302
+ function arrayClone(arr, i2) {
13776
14303
  var copy2 = new Array(i2);
13777
14304
  while (i2--)
13778
14305
  copy2[i2] = arr[i2];
13779
14306
  return copy2;
13780
14307
  }
13781
- function unwrapListeners2(arr) {
14308
+ function unwrapListeners(arr) {
13782
14309
  var ret = new Array(arr.length);
13783
14310
  for (var i2 = 0; i2 < ret.length; ++i2) {
13784
14311
  ret[i2] = arr[i2].listener || arr[i2];
@@ -15570,7 +16097,7 @@ var json2csv_umd = { exports: {} };
15570
16097
  return str;
15571
16098
  }
15572
16099
  function deprecate(fn, msg) {
15573
- if (isUndefined(global$1.process)) {
16100
+ if (isUndefined2(global$1.process)) {
15574
16101
  return function() {
15575
16102
  return deprecate(fn, msg).apply(this, arguments);
15576
16103
  };
@@ -15590,7 +16117,7 @@ var json2csv_umd = { exports: {} };
15590
16117
  var debugs = {};
15591
16118
  var debugEnviron;
15592
16119
  function debuglog(set3) {
15593
- if (isUndefined(debugEnviron))
16120
+ if (isUndefined2(debugEnviron))
15594
16121
  debugEnviron = "";
15595
16122
  set3 = set3.toUpperCase();
15596
16123
  if (!debugs[set3]) {
@@ -15621,13 +16148,13 @@ var json2csv_umd = { exports: {} };
15621
16148
  } else if (opts2) {
15622
16149
  _extend(ctx, opts2);
15623
16150
  }
15624
- if (isUndefined(ctx.showHidden))
16151
+ if (isUndefined2(ctx.showHidden))
15625
16152
  ctx.showHidden = false;
15626
- if (isUndefined(ctx.depth))
16153
+ if (isUndefined2(ctx.depth))
15627
16154
  ctx.depth = 2;
15628
- if (isUndefined(ctx.colors))
16155
+ if (isUndefined2(ctx.colors))
15629
16156
  ctx.colors = false;
15630
- if (isUndefined(ctx.customInspect))
16157
+ if (isUndefined2(ctx.customInspect))
15631
16158
  ctx.customInspect = true;
15632
16159
  if (ctx.colors)
15633
16160
  ctx.stylize = stylizeWithColor;
@@ -15755,7 +16282,7 @@ var json2csv_umd = { exports: {} };
15755
16282
  return reduceToSingleString(output, base, braces);
15756
16283
  }
15757
16284
  function formatPrimitive(ctx, value) {
15758
- if (isUndefined(value))
16285
+ if (isUndefined2(value))
15759
16286
  return ctx.stylize("undefined", "undefined");
15760
16287
  if (isString(value)) {
15761
16288
  var simple = "'" + JSON.stringify(value).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
@@ -15840,7 +16367,7 @@ var json2csv_umd = { exports: {} };
15840
16367
  str = ctx.stylize("[Circular]", "special");
15841
16368
  }
15842
16369
  }
15843
- if (isUndefined(name2)) {
16370
+ if (isUndefined2(name2)) {
15844
16371
  if (array2 && key.match(/^\d+$/)) {
15845
16372
  return str;
15846
16373
  }
@@ -15881,7 +16408,7 @@ var json2csv_umd = { exports: {} };
15881
16408
  function isString(arg) {
15882
16409
  return typeof arg === "string";
15883
16410
  }
15884
- function isUndefined(arg) {
16411
+ function isUndefined2(arg) {
15885
16412
  return arg === void 0;
15886
16413
  }
15887
16414
  function isRegExp(re2) {
@@ -16110,7 +16637,7 @@ var json2csv_umd = { exports: {} };
16110
16637
  Readable.ReadableState = ReadableState;
16111
16638
  var debug2 = debuglog("stream");
16112
16639
  inherits$1(Readable, EventEmitter2);
16113
- function prependListener2(emitter, event, fn) {
16640
+ function prependListener(emitter, event, fn) {
16114
16641
  if (typeof emitter.prependListener === "function") {
16115
16642
  return emitter.prependListener(event, fn);
16116
16643
  } else {
@@ -16464,7 +16991,7 @@ var json2csv_umd = { exports: {} };
16464
16991
  if (listenerCount$1(dest, "error") === 0)
16465
16992
  dest.emit("error", er);
16466
16993
  }
16467
- prependListener2(dest, "error", onerror);
16994
+ prependListener(dest, "error", onerror);
16468
16995
  function onclose() {
16469
16996
  dest.removeListener("finish", onfinish);
16470
16997
  unpipe();
@@ -19096,7 +19623,7 @@ function stratifyArrays(sampleEdges, sampleIdToObsIdsMap, sampleSets, sampleSetS
19096
19623
  sampleSetKeys.forEach((sampleSetKey) => {
19097
19624
  const finalInsertionIndex = result.get(cellSetKey).get(sampleSetKey).get("i");
19098
19625
  if (finalInsertionIndex !== result.get(cellSetKey).get(sampleSetKey).get("obsIndex").length) {
19099
- console.warn("The final insertion index is lower than expected.");
19626
+ log$5.warn("The final insertion index is lower than expected.");
19100
19627
  }
19101
19628
  result.get(cellSetKey).get(sampleSetKey).delete("i");
19102
19629
  });
@@ -20804,16 +21331,16 @@ function dirname(url) {
20804
21331
  return slashIndex >= 0 ? url.substr(0, slashIndex) : "";
20805
21332
  }
20806
21333
  const isBoolean = (x2) => typeof x2 === "boolean";
20807
- const isFunction$2 = (x2) => typeof x2 === "function";
20808
- const isObject$2 = (x2) => x2 !== null && typeof x2 === "object";
20809
- const isPureObject = (x2) => isObject$2(x2) && x2.constructor === {}.constructor;
21334
+ const isFunction$3 = (x2) => typeof x2 === "function";
21335
+ const isObject$3 = (x2) => x2 !== null && typeof x2 === "object";
21336
+ const isPureObject = (x2) => isObject$3(x2) && x2.constructor === {}.constructor;
20810
21337
  const isIterable = (x2) => x2 && typeof x2[Symbol.iterator] === "function";
20811
21338
  const isAsyncIterable$1 = (x2) => x2 && typeof x2[Symbol.asyncIterator] === "function";
20812
21339
  const isResponse = (x2) => typeof Response !== "undefined" && x2 instanceof Response || x2 && x2.arrayBuffer && x2.text && x2.json;
20813
21340
  const isBlob = (x2) => typeof Blob !== "undefined" && x2 instanceof Blob;
20814
21341
  const isBuffer$1 = (x2) => x2 && typeof x2 === "object" && x2.isBuffer;
20815
- const isReadableDOMStream = (x2) => typeof ReadableStream !== "undefined" && x2 instanceof ReadableStream || isObject$2(x2) && isFunction$2(x2.tee) && isFunction$2(x2.cancel) && isFunction$2(x2.getReader);
20816
- const isReadableNodeStream = (x2) => isObject$2(x2) && isFunction$2(x2.read) && isFunction$2(x2.pipe) && isBoolean(x2.readable);
21342
+ const isReadableDOMStream = (x2) => typeof ReadableStream !== "undefined" && x2 instanceof ReadableStream || isObject$3(x2) && isFunction$3(x2.tee) && isFunction$3(x2.cancel) && isFunction$3(x2.getReader);
21343
+ const isReadableNodeStream = (x2) => isObject$3(x2) && isFunction$3(x2.read) && isFunction$3(x2.pipe) && isBoolean(x2.readable);
20817
21344
  const isReadableStream = (x2) => isReadableDOMStream(x2) || isReadableNodeStream(x2);
20818
21345
  const DATA_URL_PATTERN = /^data:([-\w.]+\/[-\w.+]+)(;|,)/;
20819
21346
  const MIME_TYPE_PATTERN = /^([-\w.]+\/[-\w.+]+)/;
@@ -21613,7 +22140,7 @@ function getFetchFunction(options, context) {
21613
22140
  if (typeof fetchOptions.fetch === "function") {
21614
22141
  return fetchOptions.fetch;
21615
22142
  }
21616
- if (isObject$2(fetchOptions.fetch)) {
22143
+ if (isObject$3(fetchOptions.fetch)) {
21617
22144
  return (url) => fetchFile(url, fetchOptions);
21618
22145
  }
21619
22146
  if (context !== null && context !== void 0 && context.fetch) {
@@ -21634,7 +22161,7 @@ function validateOptionsObject(options, id, defaultOptions2, deprecatedOptions,
21634
22161
  const loaderName = id || "Top level";
21635
22162
  const prefix2 = id ? "".concat(id, ".") : "";
21636
22163
  for (const key in options) {
21637
- const isSubOptions = !id && isObject$2(options[key]);
22164
+ const isSubOptions = !id && isObject$3(options[key]);
21638
22165
  const isBaseUriOption = key === "baseUri" && !id;
21639
22166
  const isWorkerUrlOption = key === "workerUrl" && id;
21640
22167
  if (!(key in defaultOptions2) && !isBaseUriOption && !isWorkerUrlOption) {
@@ -40602,9 +41129,9 @@ class Controller {
40602
41129
  updateTransition() {
40603
41130
  this.transitionManager.updateTransition();
40604
41131
  }
40605
- toggleEvents(eventNames2, enabled) {
41132
+ toggleEvents(eventNames, enabled) {
40606
41133
  if (this.eventManager) {
40607
- eventNames2.forEach((eventName) => {
41134
+ eventNames.forEach((eventName) => {
40608
41135
  if (this._events[eventName] !== enabled) {
40609
41136
  this._events[eventName] = enabled;
40610
41137
  if (enabled) {
@@ -44055,18 +44582,18 @@ var hammer$1 = { exports: {} };
44055
44582
  emit: function(input) {
44056
44583
  var self2 = this;
44057
44584
  var state = this.state;
44058
- function emit2(event) {
44585
+ function emit(event) {
44059
44586
  self2.manager.emit(event, input);
44060
44587
  }
44061
44588
  if (state < STATE_ENDED) {
44062
- emit2(self2.options.event + stateStr(state));
44589
+ emit(self2.options.event + stateStr(state));
44063
44590
  }
44064
- emit2(self2.options.event);
44591
+ emit(self2.options.event);
44065
44592
  if (input.additionalEvent) {
44066
- emit2(input.additionalEvent);
44593
+ emit(input.additionalEvent);
44067
44594
  }
44068
44595
  if (state >= STATE_ENDED) {
44069
- emit2(self2.options.event + stateStr(state));
44596
+ emit(self2.options.event + stateStr(state));
44070
44597
  }
44071
44598
  },
44072
44599
  /**
@@ -45426,7 +45953,7 @@ class EventRegistrar {
45426
45953
  isEmpty() {
45427
45954
  return !this._active;
45428
45955
  }
45429
- add(type2, handler, options, once3 = false, passive = false) {
45956
+ add(type2, handler, options, once = false, passive = false) {
45430
45957
  const { handlers, handlersByElement } = this;
45431
45958
  let opts2 = DEFAULT_OPTIONS$2;
45432
45959
  if (typeof options === "string" || options && options.addEventListener) {
@@ -45445,7 +45972,7 @@ class EventRegistrar {
45445
45972
  srcElement: opts2.srcElement,
45446
45973
  priority: opts2.priority
45447
45974
  };
45448
- if (once3) {
45975
+ if (once) {
45449
45976
  entry.once = true;
45450
45977
  }
45451
45978
  if (passive) {
@@ -45493,7 +46020,7 @@ class EventRegistrar {
45493
46020
  };
45494
46021
  const entriesToRemove = [];
45495
46022
  for (let i2 = 0; i2 < entries.length; i2++) {
45496
- const { type: type2, handler, once: once3 } = entries[i2];
46023
+ const { type: type2, handler, once } = entries[i2];
45497
46024
  handler({
45498
46025
  ...event,
45499
46026
  // @ts-ignore
@@ -45501,7 +46028,7 @@ class EventRegistrar {
45501
46028
  stopPropagation,
45502
46029
  stopImmediatePropagation
45503
46030
  });
45504
- if (once3) {
46031
+ if (once) {
45505
46032
  entriesToRemove.push(entries[i2]);
45506
46033
  }
45507
46034
  if (immediatePropagationStopped) {
@@ -45682,11 +46209,11 @@ class EventManager {
45682
46209
  /**
45683
46210
  * Process the event registration for a single event + handler.
45684
46211
  */
45685
- _addEventHandler(event, handler, opts2, once3, passive) {
46212
+ _addEventHandler(event, handler, opts2, once, passive) {
45686
46213
  if (typeof event !== "string") {
45687
46214
  opts2 = handler;
45688
46215
  for (const eventName in event) {
45689
- this._addEventHandler(eventName, event[eventName], opts2, once3, passive);
46216
+ this._addEventHandler(eventName, event[eventName], opts2, once, passive);
45690
46217
  }
45691
46218
  return;
45692
46219
  }
@@ -45701,7 +46228,7 @@ class EventManager {
45701
46228
  manager.on(eventAlias, eventRegistrar.handleEvent);
45702
46229
  }
45703
46230
  }
45704
- eventRegistrar.add(event, handler, opts2, once3, passive);
46231
+ eventRegistrar.add(event, handler, opts2, once, passive);
45705
46232
  if (!eventRegistrar.isEmpty()) {
45706
46233
  this._toggleRecognizer(eventRegistrar.recognizerName, true);
45707
46234
  }
@@ -48422,7 +48949,7 @@ function getPropTypes(props) {
48422
48949
  const ERR_NOT_OBJECT = "count(): argument not an object";
48423
48950
  const ERR_NOT_CONTAINER = "count(): argument not a container";
48424
48951
  function count(container) {
48425
- if (!isObject$1(container)) {
48952
+ if (!isObject$2(container)) {
48426
48953
  throw new Error(ERR_NOT_OBJECT);
48427
48954
  }
48428
48955
  if (typeof container.count === "function") {
@@ -48442,7 +48969,7 @@ function count(container) {
48442
48969
  function isPlainObject$1(value) {
48443
48970
  return value !== null && typeof value === "object" && value.constructor === Object;
48444
48971
  }
48445
- function isObject$1(value) {
48972
+ function isObject$2(value) {
48446
48973
  return value !== null && typeof value === "object";
48447
48974
  }
48448
48975
  function mergeShaders(target, source) {
@@ -58568,7 +59095,7 @@ const defaultGetValue = (points2) => points2.length;
58568
59095
  const MAX_32_BIT_FLOAT = 3402823466e29;
58569
59096
  const defaultGetPoints = (bin) => bin.points;
58570
59097
  const defaultGetIndex = (bin) => bin.index;
58571
- const ascending$3 = (a2, b) => a2 < b ? -1 : a2 > b ? 1 : a2 >= b ? 0 : NaN;
59098
+ const ascending$2 = (a2, b) => a2 < b ? -1 : a2 > b ? 1 : a2 >= b ? 0 : NaN;
58572
59099
  const defaultProps$w = {
58573
59100
  getValue: defaultGetValue,
58574
59101
  getPoints: defaultGetPoints,
@@ -58652,7 +59179,7 @@ class BinSorter {
58652
59179
  }
58653
59180
  getValueRange(percentileRange) {
58654
59181
  if (!this.sortedBins) {
58655
- this.sortedBins = this.aggregatedBins.sort((a2, b) => ascending$3(a2.value, b.value));
59182
+ this.sortedBins = this.aggregatedBins.sort((a2, b) => ascending$2(a2.value, b.value));
58656
59183
  }
58657
59184
  if (!this.sortedBins.length) {
58658
59185
  return [];
@@ -58668,7 +59195,7 @@ class BinSorter {
58668
59195
  }
58669
59196
  getValueDomainByScale(scale2, [lower2 = 0, upper = 100] = []) {
58670
59197
  if (!this.sortedBins) {
58671
- this.sortedBins = this.aggregatedBins.sort((a2, b) => ascending$3(a2.value, b.value));
59198
+ this.sortedBins = this.aggregatedBins.sort((a2, b) => ascending$2(a2.value, b.value));
58672
59199
  }
58673
59200
  if (!this.sortedBins.length) {
58674
59201
  return [];
@@ -87631,7 +88158,7 @@ function getCoords$1(coords) {
87631
88158
  throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array");
87632
88159
  }
87633
88160
  function containsNumber$1(coordinates2) {
87634
- if (coordinates2.length > 1 && isNumber(coordinates2[0]) && isNumber(coordinates2[1])) {
88161
+ if (coordinates2.length > 1 && isNumber$1(coordinates2[0]) && isNumber$1(coordinates2[1])) {
87635
88162
  return true;
87636
88163
  }
87637
88164
  if (Array.isArray(coordinates2[0]) && coordinates2[0].length) {
@@ -90454,7 +90981,7 @@ var hasSymbols2 = typeof Symbol === "function" && typeof Symbol("foo") === "symb
90454
90981
  var toStr$1 = Object.prototype.toString;
90455
90982
  var concat = Array.prototype.concat;
90456
90983
  var defineDataProperty2 = defineDataProperty$1;
90457
- var isFunction$1 = function(fn) {
90984
+ var isFunction$2 = function(fn) {
90458
90985
  return typeof fn === "function" && toStr$1.call(fn) === "[object Function]";
90459
90986
  };
90460
90987
  var supportsDescriptors$2 = hasPropertyDescriptors_1();
@@ -90464,7 +90991,7 @@ var defineProperty$3 = function(object2, name2, value, predicate) {
90464
90991
  if (object2[name2] === value) {
90465
90992
  return;
90466
90993
  }
90467
- } else if (!isFunction$1(predicate) || !predicate()) {
90994
+ } else if (!isFunction$2(predicate) || !predicate()) {
90468
90995
  return;
90469
90996
  }
90470
90997
  }
@@ -90848,7 +91375,7 @@ function lineOverlap(line1, line2, options) {
90848
91375
  options = {};
90849
91376
  }
90850
91377
  options = options || {};
90851
- if (!isObject$3(options))
91378
+ if (!isObject$4(options))
90852
91379
  throw new Error("options is invalid");
90853
91380
  var tolerance = options.tolerance || 0;
90854
91381
  var features = [];
@@ -91408,19 +91935,19 @@ var jsts_min = { exports: {} };
91408
91935
  }, Object.defineProperties(w2, O);
91409
91936
  var T = function(t3, e4) {
91410
91937
  return t3.interfaces_ && t3.interfaces_().indexOf(e4) > -1;
91411
- }, R2 = function() {
91938
+ }, R = function() {
91412
91939
  }, P = { LOG_10: { configurable: true } };
91413
- R2.prototype.interfaces_ = function() {
91940
+ R.prototype.interfaces_ = function() {
91414
91941
  return [];
91415
- }, R2.prototype.getClass = function() {
91416
- return R2;
91417
- }, R2.log10 = function(t3) {
91942
+ }, R.prototype.getClass = function() {
91943
+ return R;
91944
+ }, R.log10 = function(t3) {
91418
91945
  var e4 = Math.log(t3);
91419
- return v.isInfinite(e4) ? e4 : v.isNaN(e4) ? e4 : e4 / R2.LOG_10;
91420
- }, R2.min = function(t3, e4, n3, i3) {
91946
+ return v.isInfinite(e4) ? e4 : v.isNaN(e4) ? e4 : e4 / R.LOG_10;
91947
+ }, R.min = function(t3, e4, n3, i3) {
91421
91948
  var r3 = t3;
91422
91949
  return e4 < r3 && (r3 = e4), n3 < r3 && (r3 = n3), i3 < r3 && (r3 = i3), r3;
91423
- }, R2.clamp = function() {
91950
+ }, R.clamp = function() {
91424
91951
  if ("number" == typeof arguments[2] && "number" == typeof arguments[0] && "number" == typeof arguments[1]) {
91425
91952
  var t3 = arguments[0], e4 = arguments[1], n3 = arguments[2];
91426
91953
  return t3 < e4 ? e4 : t3 > n3 ? n3 : t3;
@@ -91429,9 +91956,9 @@ var jsts_min = { exports: {} };
91429
91956
  var i3 = arguments[0], r3 = arguments[1], o3 = arguments[2];
91430
91957
  return i3 < r3 ? r3 : i3 > o3 ? o3 : i3;
91431
91958
  }
91432
- }, R2.wrap = function(t3, e4) {
91959
+ }, R.wrap = function(t3, e4) {
91433
91960
  return t3 < 0 ? e4 - -t3 % e4 : t3 % e4;
91434
- }, R2.max = function() {
91961
+ }, R.max = function() {
91435
91962
  if (3 === arguments.length) {
91436
91963
  var t3 = arguments[0], e4 = arguments[1], n3 = arguments[2], i3 = t3;
91437
91964
  return e4 > i3 && (i3 = e4), n3 > i3 && (i3 = n3), i3;
@@ -91440,11 +91967,11 @@ var jsts_min = { exports: {} };
91440
91967
  var r3 = arguments[0], o3 = arguments[1], s3 = arguments[2], a3 = arguments[3], u2 = r3;
91441
91968
  return o3 > u2 && (u2 = o3), s3 > u2 && (u2 = s3), a3 > u2 && (u2 = a3), u2;
91442
91969
  }
91443
- }, R2.average = function(t3, e4) {
91970
+ }, R.average = function(t3, e4) {
91444
91971
  return (t3 + e4) / 2;
91445
91972
  }, P.LOG_10.get = function() {
91446
91973
  return Math.log(10);
91447
- }, Object.defineProperties(R2, P);
91974
+ }, Object.defineProperties(R, P);
91448
91975
  var D2 = function(t3) {
91449
91976
  this.str = t3;
91450
91977
  };
@@ -92599,7 +93126,7 @@ var jsts_min = { exports: {} };
92599
93126
  }
92600
93127
  } else
92601
93128
  r3 = true;
92602
- return r3 ? R2.min(at2.distancePointLine(t3, n3, i3), at2.distancePointLine(e4, n3, i3), at2.distancePointLine(n3, t3, e4), at2.distancePointLine(i3, t3, e4)) : 0;
93129
+ return r3 ? R.min(at2.distancePointLine(t3, n3, i3), at2.distancePointLine(e4, n3, i3), at2.distancePointLine(n3, t3, e4), at2.distancePointLine(i3, t3, e4)) : 0;
92603
93130
  }, at2.isPointInRing = function(t3, e4) {
92604
93131
  return at2.locatePointInRing(t3, e4) !== w2.EXTERIOR;
92605
93132
  }, at2.computeLength = function(t3) {
@@ -93189,8 +93716,8 @@ var jsts_min = { exports: {} };
93189
93716
  (null === e4 || e4.compareTo(t3[n3]) > 0) && (e4 = t3[n3]);
93190
93717
  return e4;
93191
93718
  }, Lt.extract = function(t3, e4, n3) {
93192
- e4 = R2.clamp(e4, 0, t3.length);
93193
- var i3 = (n3 = R2.clamp(n3, -1, t3.length)) - e4 + 1;
93719
+ e4 = R.clamp(e4, 0, t3.length);
93720
+ var i3 = (n3 = R.clamp(n3, -1, t3.length)) - e4 + 1;
93194
93721
  n3 < 0 && (i3 = 0), e4 >= t3.length && (i3 = 0), n3 < e4 && (i3 = 0);
93195
93722
  var r3 = new Array(i3).fill(null);
93196
93723
  if (0 === i3)
@@ -98935,7 +99462,7 @@ var jsts_min = { exports: {} };
98935
99462
  return f3.getResultGeometry(c3);
98936
99463
  }
98937
99464
  }, di.precisionScaleFactor = function(t3, e4, n3) {
98938
- var i3 = t3.getEnvelopeInternal(), r3 = R2.max(Math.abs(i3.getMaxX()), Math.abs(i3.getMaxY()), Math.abs(i3.getMinX()), Math.abs(i3.getMinY())) + 2 * (e4 > 0 ? e4 : 0), o3 = n3 - Math.trunc(Math.log(r3) / Math.log(10) + 1);
99465
+ var i3 = t3.getEnvelopeInternal(), r3 = R.max(Math.abs(i3.getMaxX()), Math.abs(i3.getMaxY()), Math.abs(i3.getMinX()), Math.abs(i3.getMinY())) + 2 * (e4 > 0 ? e4 : 0), o3 = n3 - Math.trunc(Math.log(r3) / Math.log(10) + 1);
98939
99466
  return Math.pow(10, o3);
98940
99467
  }, yi.CAP_ROUND.get = function() {
98941
99468
  return Cn.CAP_ROUND;
@@ -101984,10 +102511,10 @@ function link(array2) {
101984
102511
  a2.n = b = array2[0];
101985
102512
  b.p = a2;
101986
102513
  }
101987
- function ascending$2(a2, b) {
102514
+ function ascending$1(a2, b) {
101988
102515
  return a2 < b ? -1 : a2 > b ? 1 : a2 >= b ? 0 : NaN;
101989
102516
  }
101990
- function bisector$1(compare2) {
102517
+ function bisector(compare2) {
101991
102518
  if (compare2.length === 1)
101992
102519
  compare2 = ascendingComparator(compare2);
101993
102520
  return {
@@ -102023,10 +102550,10 @@ function bisector$1(compare2) {
102023
102550
  }
102024
102551
  function ascendingComparator(f2) {
102025
102552
  return function(d, x2) {
102026
- return ascending$2(f2(d), x2);
102553
+ return ascending$1(f2(d), x2);
102027
102554
  };
102028
102555
  }
102029
- bisector$1(ascending$2);
102556
+ bisector(ascending$1);
102030
102557
  function range$1(start, stop, step) {
102031
102558
  start = +start, stop = +stop, step = (n2 = arguments.length) < 2 ? (stop = start, start = 0, 1) : n2 < 3 ? 1 : +step;
102032
102559
  var i2 = -1, n2 = Math.max(0, Math.ceil((stop - start) / step)) | 0, range2 = new Array(n2);
@@ -106326,372 +106853,216 @@ var layerMouseEvent = {};
106326
106853
  exports2["default"] = LayerMouseEvent;
106327
106854
  })(layerMouseEvent);
106328
106855
  var nebulaLayer = {};
106329
- var events = { exports: {} };
106330
- var R = typeof Reflect === "object" ? Reflect : null;
106331
- var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {
106332
- return Function.prototype.apply.call(target, receiver, args);
106333
- };
106334
- var ReflectOwnKeys;
106335
- if (R && typeof R.ownKeys === "function") {
106336
- ReflectOwnKeys = R.ownKeys;
106337
- } else if (Object.getOwnPropertySymbols) {
106338
- ReflectOwnKeys = function ReflectOwnKeys2(target) {
106339
- return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));
106340
- };
106341
- } else {
106342
- ReflectOwnKeys = function ReflectOwnKeys2(target) {
106343
- return Object.getOwnPropertyNames(target);
106344
- };
106345
- }
106346
- function ProcessEmitWarning(warning2) {
106347
- if (console && console.warn)
106348
- console.warn(warning2);
106349
- }
106350
- var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {
106351
- return value !== value;
106352
- };
106353
106856
  function EventEmitter() {
106354
- EventEmitter.init.call(this);
106857
+ this._events = this._events || {};
106858
+ this._maxListeners = this._maxListeners || void 0;
106355
106859
  }
106356
- events.exports = EventEmitter;
106357
- events.exports.once = once2;
106860
+ var events = EventEmitter;
106358
106861
  EventEmitter.EventEmitter = EventEmitter;
106359
106862
  EventEmitter.prototype._events = void 0;
106360
- EventEmitter.prototype._eventsCount = 0;
106361
106863
  EventEmitter.prototype._maxListeners = void 0;
106362
- var defaultMaxListeners = 10;
106363
- function checkListener(listener) {
106364
- if (typeof listener !== "function") {
106365
- throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
106366
- }
106367
- }
106368
- Object.defineProperty(EventEmitter, "defaultMaxListeners", {
106369
- enumerable: true,
106370
- get: function() {
106371
- return defaultMaxListeners;
106372
- },
106373
- set: function(arg) {
106374
- if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {
106375
- throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + ".");
106376
- }
106377
- defaultMaxListeners = arg;
106378
- }
106379
- });
106380
- EventEmitter.init = function() {
106381
- if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {
106382
- this._events = /* @__PURE__ */ Object.create(null);
106383
- this._eventsCount = 0;
106384
- }
106385
- this._maxListeners = this._maxListeners || void 0;
106386
- };
106387
- EventEmitter.prototype.setMaxListeners = function setMaxListeners(n2) {
106388
- if (typeof n2 !== "number" || n2 < 0 || NumberIsNaN(n2)) {
106389
- throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n2 + ".");
106390
- }
106864
+ EventEmitter.defaultMaxListeners = 10;
106865
+ EventEmitter.prototype.setMaxListeners = function(n2) {
106866
+ if (!isNumber(n2) || n2 < 0 || isNaN(n2))
106867
+ throw TypeError("n must be a positive number");
106391
106868
  this._maxListeners = n2;
106392
106869
  return this;
106393
106870
  };
106394
- function _getMaxListeners(that) {
106395
- if (that._maxListeners === void 0)
106396
- return EventEmitter.defaultMaxListeners;
106397
- return that._maxListeners;
106398
- }
106399
- EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
106400
- return _getMaxListeners(this);
106401
- };
106402
- EventEmitter.prototype.emit = function emit(type2) {
106403
- var args = [];
106404
- for (var i2 = 1; i2 < arguments.length; i2++)
106405
- args.push(arguments[i2]);
106406
- var doError = type2 === "error";
106407
- var events2 = this._events;
106408
- if (events2 !== void 0)
106409
- doError = doError && events2.error === void 0;
106410
- else if (!doError)
106411
- return false;
106412
- if (doError) {
106413
- var er;
106414
- if (args.length > 0)
106415
- er = args[0];
106416
- if (er instanceof Error) {
106417
- throw er;
106418
- }
106419
- var err2 = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));
106420
- err2.context = er;
106421
- throw err2;
106422
- }
106423
- var handler = events2[type2];
106424
- if (handler === void 0)
106871
+ EventEmitter.prototype.emit = function(type2) {
106872
+ var er, handler, len2, args, i2, listeners;
106873
+ if (!this._events)
106874
+ this._events = {};
106875
+ if (type2 === "error") {
106876
+ if (!this._events.error || isObject$1(this._events.error) && !this._events.error.length) {
106877
+ er = arguments[1];
106878
+ if (er instanceof Error) {
106879
+ throw er;
106880
+ } else {
106881
+ var err2 = new Error('Uncaught, unspecified "error" event. (' + er + ")");
106882
+ err2.context = er;
106883
+ throw err2;
106884
+ }
106885
+ }
106886
+ }
106887
+ handler = this._events[type2];
106888
+ if (isUndefined(handler))
106425
106889
  return false;
106426
- if (typeof handler === "function") {
106427
- ReflectApply(handler, this, args);
106428
- } else {
106429
- var len2 = handler.length;
106430
- var listeners2 = arrayClone(handler, len2);
106431
- for (var i2 = 0; i2 < len2; ++i2)
106432
- ReflectApply(listeners2[i2], this, args);
106890
+ if (isFunction$1(handler)) {
106891
+ switch (arguments.length) {
106892
+ case 1:
106893
+ handler.call(this);
106894
+ break;
106895
+ case 2:
106896
+ handler.call(this, arguments[1]);
106897
+ break;
106898
+ case 3:
106899
+ handler.call(this, arguments[1], arguments[2]);
106900
+ break;
106901
+ default:
106902
+ args = Array.prototype.slice.call(arguments, 1);
106903
+ handler.apply(this, args);
106904
+ }
106905
+ } else if (isObject$1(handler)) {
106906
+ args = Array.prototype.slice.call(arguments, 1);
106907
+ listeners = handler.slice();
106908
+ len2 = listeners.length;
106909
+ for (i2 = 0; i2 < len2; i2++)
106910
+ listeners[i2].apply(this, args);
106433
106911
  }
106434
106912
  return true;
106435
106913
  };
106436
- function _addListener(target, type2, listener, prepend) {
106914
+ EventEmitter.prototype.addListener = function(type2, listener) {
106437
106915
  var m2;
106438
- var events2;
106439
- var existing;
106440
- checkListener(listener);
106441
- events2 = target._events;
106442
- if (events2 === void 0) {
106443
- events2 = target._events = /* @__PURE__ */ Object.create(null);
106444
- target._eventsCount = 0;
106445
- } else {
106446
- if (events2.newListener !== void 0) {
106447
- target.emit(
106448
- "newListener",
106449
- type2,
106450
- listener.listener ? listener.listener : listener
106451
- );
106452
- events2 = target._events;
106453
- }
106454
- existing = events2[type2];
106455
- }
106456
- if (existing === void 0) {
106457
- existing = events2[type2] = listener;
106458
- ++target._eventsCount;
106459
- } else {
106460
- if (typeof existing === "function") {
106461
- existing = events2[type2] = prepend ? [listener, existing] : [existing, listener];
106462
- } else if (prepend) {
106463
- existing.unshift(listener);
106916
+ if (!isFunction$1(listener))
106917
+ throw TypeError("listener must be a function");
106918
+ if (!this._events)
106919
+ this._events = {};
106920
+ if (this._events.newListener)
106921
+ this.emit(
106922
+ "newListener",
106923
+ type2,
106924
+ isFunction$1(listener.listener) ? listener.listener : listener
106925
+ );
106926
+ if (!this._events[type2])
106927
+ this._events[type2] = listener;
106928
+ else if (isObject$1(this._events[type2]))
106929
+ this._events[type2].push(listener);
106930
+ else
106931
+ this._events[type2] = [this._events[type2], listener];
106932
+ if (isObject$1(this._events[type2]) && !this._events[type2].warned) {
106933
+ if (!isUndefined(this._maxListeners)) {
106934
+ m2 = this._maxListeners;
106464
106935
  } else {
106465
- existing.push(listener);
106936
+ m2 = EventEmitter.defaultMaxListeners;
106466
106937
  }
106467
- m2 = _getMaxListeners(target);
106468
- if (m2 > 0 && existing.length > m2 && !existing.warned) {
106469
- existing.warned = true;
106470
- var w2 = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type2) + " listeners added. Use emitter.setMaxListeners() to increase limit");
106471
- w2.name = "MaxListenersExceededWarning";
106472
- w2.emitter = target;
106473
- w2.type = type2;
106474
- w2.count = existing.length;
106475
- ProcessEmitWarning(w2);
106938
+ if (m2 && m2 > 0 && this._events[type2].length > m2) {
106939
+ this._events[type2].warned = true;
106940
+ console.error(
106941
+ "(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",
106942
+ this._events[type2].length
106943
+ );
106944
+ if (typeof console.trace === "function") {
106945
+ console.trace();
106946
+ }
106476
106947
  }
106477
106948
  }
106478
- return target;
106479
- }
106480
- EventEmitter.prototype.addListener = function addListener(type2, listener) {
106481
- return _addListener(this, type2, listener, false);
106482
- };
106483
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
106484
- EventEmitter.prototype.prependListener = function prependListener(type2, listener) {
106485
- return _addListener(this, type2, listener, true);
106486
- };
106487
- function onceWrapper() {
106488
- if (!this.fired) {
106489
- this.target.removeListener(this.type, this.wrapFn);
106490
- this.fired = true;
106491
- if (arguments.length === 0)
106492
- return this.listener.call(this.target);
106493
- return this.listener.apply(this.target, arguments);
106494
- }
106495
- }
106496
- function _onceWrap(target, type2, listener) {
106497
- var state = { fired: false, wrapFn: void 0, target, type: type2, listener };
106498
- var wrapped = onceWrapper.bind(state);
106499
- wrapped.listener = listener;
106500
- state.wrapFn = wrapped;
106501
- return wrapped;
106502
- }
106503
- EventEmitter.prototype.once = function once(type2, listener) {
106504
- checkListener(listener);
106505
- this.on(type2, _onceWrap(this, type2, listener));
106506
106949
  return this;
106507
106950
  };
106508
- EventEmitter.prototype.prependOnceListener = function prependOnceListener(type2, listener) {
106509
- checkListener(listener);
106510
- this.prependListener(type2, _onceWrap(this, type2, listener));
106951
+ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
106952
+ EventEmitter.prototype.once = function(type2, listener) {
106953
+ if (!isFunction$1(listener))
106954
+ throw TypeError("listener must be a function");
106955
+ var fired = false;
106956
+ function g2() {
106957
+ this.removeListener(type2, g2);
106958
+ if (!fired) {
106959
+ fired = true;
106960
+ listener.apply(this, arguments);
106961
+ }
106962
+ }
106963
+ g2.listener = listener;
106964
+ this.on(type2, g2);
106511
106965
  return this;
106512
106966
  };
106513
- EventEmitter.prototype.removeListener = function removeListener(type2, listener) {
106514
- var list, events2, position, i2, originalListener;
106515
- checkListener(listener);
106516
- events2 = this._events;
106517
- if (events2 === void 0)
106518
- return this;
106519
- list = events2[type2];
106520
- if (list === void 0)
106967
+ EventEmitter.prototype.removeListener = function(type2, listener) {
106968
+ var list, position, length2, i2;
106969
+ if (!isFunction$1(listener))
106970
+ throw TypeError("listener must be a function");
106971
+ if (!this._events || !this._events[type2])
106521
106972
  return this;
106522
- if (list === listener || list.listener === listener) {
106523
- if (--this._eventsCount === 0)
106524
- this._events = /* @__PURE__ */ Object.create(null);
106525
- else {
106526
- delete events2[type2];
106527
- if (events2.removeListener)
106528
- this.emit("removeListener", type2, list.listener || listener);
106529
- }
106530
- } else if (typeof list !== "function") {
106531
- position = -1;
106532
- for (i2 = list.length - 1; i2 >= 0; i2--) {
106533
- if (list[i2] === listener || list[i2].listener === listener) {
106534
- originalListener = list[i2].listener;
106973
+ list = this._events[type2];
106974
+ length2 = list.length;
106975
+ position = -1;
106976
+ if (list === listener || isFunction$1(list.listener) && list.listener === listener) {
106977
+ delete this._events[type2];
106978
+ if (this._events.removeListener)
106979
+ this.emit("removeListener", type2, listener);
106980
+ } else if (isObject$1(list)) {
106981
+ for (i2 = length2; i2-- > 0; ) {
106982
+ if (list[i2] === listener || list[i2].listener && list[i2].listener === listener) {
106535
106983
  position = i2;
106536
106984
  break;
106537
106985
  }
106538
106986
  }
106539
106987
  if (position < 0)
106540
106988
  return this;
106541
- if (position === 0)
106542
- list.shift();
106543
- else {
106544
- spliceOne(list, position);
106989
+ if (list.length === 1) {
106990
+ list.length = 0;
106991
+ delete this._events[type2];
106992
+ } else {
106993
+ list.splice(position, 1);
106545
106994
  }
106546
- if (list.length === 1)
106547
- events2[type2] = list[0];
106548
- if (events2.removeListener !== void 0)
106549
- this.emit("removeListener", type2, originalListener || listener);
106995
+ if (this._events.removeListener)
106996
+ this.emit("removeListener", type2, listener);
106550
106997
  }
106551
106998
  return this;
106552
106999
  };
106553
- EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
106554
- EventEmitter.prototype.removeAllListeners = function removeAllListeners(type2) {
106555
- var listeners2, events2, i2;
106556
- events2 = this._events;
106557
- if (events2 === void 0)
107000
+ EventEmitter.prototype.removeAllListeners = function(type2) {
107001
+ var key, listeners;
107002
+ if (!this._events)
106558
107003
  return this;
106559
- if (events2.removeListener === void 0) {
106560
- if (arguments.length === 0) {
106561
- this._events = /* @__PURE__ */ Object.create(null);
106562
- this._eventsCount = 0;
106563
- } else if (events2[type2] !== void 0) {
106564
- if (--this._eventsCount === 0)
106565
- this._events = /* @__PURE__ */ Object.create(null);
106566
- else
106567
- delete events2[type2];
106568
- }
107004
+ if (!this._events.removeListener) {
107005
+ if (arguments.length === 0)
107006
+ this._events = {};
107007
+ else if (this._events[type2])
107008
+ delete this._events[type2];
106569
107009
  return this;
106570
107010
  }
106571
107011
  if (arguments.length === 0) {
106572
- var keys3 = Object.keys(events2);
106573
- var key;
106574
- for (i2 = 0; i2 < keys3.length; ++i2) {
106575
- key = keys3[i2];
107012
+ for (key in this._events) {
106576
107013
  if (key === "removeListener")
106577
107014
  continue;
106578
107015
  this.removeAllListeners(key);
106579
107016
  }
106580
107017
  this.removeAllListeners("removeListener");
106581
- this._events = /* @__PURE__ */ Object.create(null);
106582
- this._eventsCount = 0;
107018
+ this._events = {};
106583
107019
  return this;
106584
107020
  }
106585
- listeners2 = events2[type2];
106586
- if (typeof listeners2 === "function") {
106587
- this.removeListener(type2, listeners2);
106588
- } else if (listeners2 !== void 0) {
106589
- for (i2 = listeners2.length - 1; i2 >= 0; i2--) {
106590
- this.removeListener(type2, listeners2[i2]);
106591
- }
107021
+ listeners = this._events[type2];
107022
+ if (isFunction$1(listeners)) {
107023
+ this.removeListener(type2, listeners);
107024
+ } else if (listeners) {
107025
+ while (listeners.length)
107026
+ this.removeListener(type2, listeners[listeners.length - 1]);
106592
107027
  }
107028
+ delete this._events[type2];
106593
107029
  return this;
106594
107030
  };
106595
- function _listeners(target, type2, unwrap) {
106596
- var events2 = target._events;
106597
- if (events2 === void 0)
106598
- return [];
106599
- var evlistener = events2[type2];
106600
- if (evlistener === void 0)
106601
- return [];
106602
- if (typeof evlistener === "function")
106603
- return unwrap ? [evlistener.listener || evlistener] : [evlistener];
106604
- return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
106605
- }
106606
- EventEmitter.prototype.listeners = function listeners(type2) {
106607
- return _listeners(this, type2, true);
106608
- };
106609
- EventEmitter.prototype.rawListeners = function rawListeners(type2) {
106610
- return _listeners(this, type2, false);
106611
- };
106612
- EventEmitter.listenerCount = function(emitter, type2) {
106613
- if (typeof emitter.listenerCount === "function") {
106614
- return emitter.listenerCount(type2);
106615
- } else {
106616
- return listenerCount.call(emitter, type2);
106617
- }
107031
+ EventEmitter.prototype.listeners = function(type2) {
107032
+ var ret;
107033
+ if (!this._events || !this._events[type2])
107034
+ ret = [];
107035
+ else if (isFunction$1(this._events[type2]))
107036
+ ret = [this._events[type2]];
107037
+ else
107038
+ ret = this._events[type2].slice();
107039
+ return ret;
106618
107040
  };
106619
- EventEmitter.prototype.listenerCount = listenerCount;
106620
- function listenerCount(type2) {
106621
- var events2 = this._events;
106622
- if (events2 !== void 0) {
106623
- var evlistener = events2[type2];
106624
- if (typeof evlistener === "function") {
107041
+ EventEmitter.prototype.listenerCount = function(type2) {
107042
+ if (this._events) {
107043
+ var evlistener = this._events[type2];
107044
+ if (isFunction$1(evlistener))
106625
107045
  return 1;
106626
- } else if (evlistener !== void 0) {
107046
+ else if (evlistener)
106627
107047
  return evlistener.length;
106628
- }
106629
107048
  }
106630
107049
  return 0;
106631
- }
106632
- EventEmitter.prototype.eventNames = function eventNames() {
106633
- return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
106634
107050
  };
106635
- function arrayClone(arr, n2) {
106636
- var copy2 = new Array(n2);
106637
- for (var i2 = 0; i2 < n2; ++i2)
106638
- copy2[i2] = arr[i2];
106639
- return copy2;
107051
+ EventEmitter.listenerCount = function(emitter, type2) {
107052
+ return emitter.listenerCount(type2);
107053
+ };
107054
+ function isFunction$1(arg) {
107055
+ return typeof arg === "function";
106640
107056
  }
106641
- function spliceOne(list, index2) {
106642
- for (; index2 + 1 < list.length; index2++)
106643
- list[index2] = list[index2 + 1];
106644
- list.pop();
107057
+ function isNumber(arg) {
107058
+ return typeof arg === "number";
106645
107059
  }
106646
- function unwrapListeners(arr) {
106647
- var ret = new Array(arr.length);
106648
- for (var i2 = 0; i2 < ret.length; ++i2) {
106649
- ret[i2] = arr[i2].listener || arr[i2];
106650
- }
106651
- return ret;
107060
+ function isObject$1(arg) {
107061
+ return typeof arg === "object" && arg !== null;
106652
107062
  }
106653
- function once2(emitter, name2) {
106654
- return new Promise(function(resolve, reject) {
106655
- function errorListener(err2) {
106656
- emitter.removeListener(name2, resolver);
106657
- reject(err2);
106658
- }
106659
- function resolver() {
106660
- if (typeof emitter.removeListener === "function") {
106661
- emitter.removeListener("error", errorListener);
106662
- }
106663
- resolve([].slice.call(arguments));
106664
- }
106665
- eventTargetAgnosticAddListener(emitter, name2, resolver, { once: true });
106666
- if (name2 !== "error") {
106667
- addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
106668
- }
106669
- });
106670
- }
106671
- function addErrorHandlerIfEventEmitter(emitter, handler, flags3) {
106672
- if (typeof emitter.on === "function") {
106673
- eventTargetAgnosticAddListener(emitter, "error", handler, flags3);
106674
- }
106675
- }
106676
- function eventTargetAgnosticAddListener(emitter, name2, listener, flags3) {
106677
- if (typeof emitter.on === "function") {
106678
- if (flags3.once) {
106679
- emitter.once(name2, listener);
106680
- } else {
106681
- emitter.on(name2, listener);
106682
- }
106683
- } else if (typeof emitter.addEventListener === "function") {
106684
- emitter.addEventListener(name2, function wrapListener(arg) {
106685
- if (flags3.once) {
106686
- emitter.removeEventListener(name2, wrapListener);
106687
- }
106688
- listener(arg);
106689
- });
106690
- } else {
106691
- throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
106692
- }
107063
+ function isUndefined(arg) {
107064
+ return arg === void 0;
106693
107065
  }
106694
- var eventsExports = events.exports;
106695
107066
  var getRandomValues = typeof crypto != "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != "undefined" && typeof msCrypto.getRandomValues == "function" && msCrypto.getRandomValues.bind(msCrypto);
106696
107067
  var rnds8 = new Uint8Array(16);
106697
107068
  function rng() {
@@ -107057,7 +107428,7 @@ const require$$1$3 = /* @__PURE__ */ getAugmentedNamespace(esmBrowser);
107057
107428
  value: true
107058
107429
  });
107059
107430
  exports2["default"] = void 0;
107060
- var _events = _interopRequireDefault2(eventsExports);
107431
+ var _events = _interopRequireDefault2(events);
107061
107432
  var _uuid = _interopRequireDefault2(require$$1$3);
107062
107433
  function _interopRequireDefault2(obj) {
107063
107434
  return obj && obj.__esModule ? obj : { "default": obj };
@@ -107541,7 +107912,7 @@ function rhumbDistance$2(from, to, options) {
107541
107912
  }
107542
107913
  function calculateRhumbDistance(origin, destination2, radius) {
107543
107914
  radius = radius === void 0 ? helpers_1$9.earthRadius : Number(radius);
107544
- var R2 = radius;
107915
+ var R = radius;
107545
107916
  var phi12 = origin[1] * Math.PI / 180;
107546
107917
  var phi2 = destination2[1] * Math.PI / 180;
107547
107918
  var DeltaPhi = phi2 - phi12;
@@ -107552,7 +107923,7 @@ function calculateRhumbDistance(origin, destination2, radius) {
107552
107923
  var DeltaPsi = Math.log(Math.tan(phi2 / 2 + Math.PI / 4) / Math.tan(phi12 / 2 + Math.PI / 4));
107553
107924
  var q = Math.abs(DeltaPsi) > 1e-11 ? DeltaPhi / DeltaPsi : Math.cos(phi12);
107554
107925
  var delta = Math.sqrt(DeltaPhi * DeltaPhi + q * q * DeltaLambda * DeltaLambda);
107555
- var dist = delta * R2;
107926
+ var dist = delta * R;
107556
107927
  return dist;
107557
107928
  }
107558
107929
  js$f.default = rhumbDistance$2;
@@ -122099,7 +122470,7 @@ var document_1 = doccy;
122099
122470
  value: true
122100
122471
  });
122101
122472
  exports2["default"] = void 0;
122102
- var _events = eventsExports;
122473
+ var _events = events;
122103
122474
  var _document = _interopRequireDefault2(document_1);
122104
122475
  var _core = require$$2$2;
122105
122476
  var _deckDrawer = _interopRequireDefault2(deckDrawer);
@@ -124054,16 +124425,16 @@ function addDecoder(cases, importFn) {
124054
124425
  }
124055
124426
  cases.forEach((c2) => registry$1.set(c2, importFn));
124056
124427
  }
124057
- addDecoder([void 0, 1], () => import("./raw-03df793e.js").then((m2) => m2.default));
124058
- addDecoder(5, () => import("./lzw-2bf68d77.js").then((m2) => m2.default));
124428
+ addDecoder([void 0, 1], () => import("./raw-44cfcc64.js").then((m2) => m2.default));
124429
+ addDecoder(5, () => import("./lzw-551d533e.js").then((m2) => m2.default));
124059
124430
  addDecoder(6, () => {
124060
124431
  throw new Error("old style JPEG compression is not supported.");
124061
124432
  });
124062
- addDecoder(7, () => import("./jpeg-96119ba3.js").then((m2) => m2.default));
124063
- addDecoder([8, 32946], () => import("./deflate-d0300d1e.js").then((m2) => m2.default));
124064
- addDecoder(32773, () => import("./packbits-b40edb17.js").then((m2) => m2.default));
124065
- addDecoder(34887, () => import("./lerc-c167c85c.js").then((m2) => m2.default));
124066
- addDecoder(50001, () => import("./webimage-1cf2f04f.js").then((m2) => m2.default));
124433
+ addDecoder(7, () => import("./jpeg-8c087dbd.js").then((m2) => m2.default));
124434
+ addDecoder([8, 32946], () => import("./deflate-38080dfa.js").then((m2) => m2.default));
124435
+ addDecoder(32773, () => import("./packbits-da285c36.js").then((m2) => m2.default));
124436
+ addDecoder(34887, () => import("./lerc-6f97422d.js").then((m2) => m2.default));
124437
+ addDecoder(50001, () => import("./webimage-201fd4a3.js").then((m2) => m2.default));
124067
124438
  function decodeRowAcc(row, stride) {
124068
124439
  let length2 = row.length - stride;
124069
124440
  let offset5 = 0;
@@ -124253,16 +124624,16 @@ createCommonjsModule(function(module2) {
124253
124624
  if (!new Events().__proto__)
124254
124625
  prefix2 = false;
124255
124626
  }
124256
- function EE(fn, context, once3) {
124627
+ function EE(fn, context, once) {
124257
124628
  this.fn = fn;
124258
124629
  this.context = context;
124259
- this.once = once3 || false;
124630
+ this.once = once || false;
124260
124631
  }
124261
- function addListener2(emitter, event, fn, context, once3) {
124632
+ function addListener(emitter, event, fn, context, once) {
124262
124633
  if (typeof fn !== "function") {
124263
124634
  throw new TypeError("The listener must be a function");
124264
124635
  }
124265
- var listener = new EE(fn, context || emitter, once3), evt = prefix2 ? prefix2 + event : event;
124636
+ var listener = new EE(fn, context || emitter, once), evt = prefix2 ? prefix2 + event : event;
124266
124637
  if (!emitter._events[evt])
124267
124638
  emitter._events[evt] = listener, emitter._eventsCount++;
124268
124639
  else if (!emitter._events[evt].fn)
@@ -124281,7 +124652,7 @@ createCommonjsModule(function(module2) {
124281
124652
  this._events = new Events();
124282
124653
  this._eventsCount = 0;
124283
124654
  }
124284
- EventEmitter2.prototype.eventNames = function eventNames2() {
124655
+ EventEmitter2.prototype.eventNames = function eventNames() {
124285
124656
  var names = [], events2, name2;
124286
124657
  if (this._eventsCount === 0)
124287
124658
  return names;
@@ -124294,7 +124665,7 @@ createCommonjsModule(function(module2) {
124294
124665
  }
124295
124666
  return names;
124296
124667
  };
124297
- EventEmitter2.prototype.listeners = function listeners2(event) {
124668
+ EventEmitter2.prototype.listeners = function listeners(event) {
124298
124669
  var evt = prefix2 ? prefix2 + event : event, handlers = this._events[evt];
124299
124670
  if (!handlers)
124300
124671
  return [];
@@ -124305,76 +124676,76 @@ createCommonjsModule(function(module2) {
124305
124676
  }
124306
124677
  return ee;
124307
124678
  };
124308
- EventEmitter2.prototype.listenerCount = function listenerCount2(event) {
124309
- var evt = prefix2 ? prefix2 + event : event, listeners2 = this._events[evt];
124310
- if (!listeners2)
124679
+ EventEmitter2.prototype.listenerCount = function listenerCount(event) {
124680
+ var evt = prefix2 ? prefix2 + event : event, listeners = this._events[evt];
124681
+ if (!listeners)
124311
124682
  return 0;
124312
- if (listeners2.fn)
124683
+ if (listeners.fn)
124313
124684
  return 1;
124314
- return listeners2.length;
124685
+ return listeners.length;
124315
124686
  };
124316
- EventEmitter2.prototype.emit = function emit2(event, a1, a2, a3, a4, a5) {
124687
+ EventEmitter2.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
124317
124688
  var evt = prefix2 ? prefix2 + event : event;
124318
124689
  if (!this._events[evt])
124319
124690
  return false;
124320
- var listeners2 = this._events[evt], len2 = arguments.length, args, i2;
124321
- if (listeners2.fn) {
124322
- if (listeners2.once)
124323
- this.removeListener(event, listeners2.fn, void 0, true);
124691
+ var listeners = this._events[evt], len2 = arguments.length, args, i2;
124692
+ if (listeners.fn) {
124693
+ if (listeners.once)
124694
+ this.removeListener(event, listeners.fn, void 0, true);
124324
124695
  switch (len2) {
124325
124696
  case 1:
124326
- return listeners2.fn.call(listeners2.context), true;
124697
+ return listeners.fn.call(listeners.context), true;
124327
124698
  case 2:
124328
- return listeners2.fn.call(listeners2.context, a1), true;
124699
+ return listeners.fn.call(listeners.context, a1), true;
124329
124700
  case 3:
124330
- return listeners2.fn.call(listeners2.context, a1, a2), true;
124701
+ return listeners.fn.call(listeners.context, a1, a2), true;
124331
124702
  case 4:
124332
- return listeners2.fn.call(listeners2.context, a1, a2, a3), true;
124703
+ return listeners.fn.call(listeners.context, a1, a2, a3), true;
124333
124704
  case 5:
124334
- return listeners2.fn.call(listeners2.context, a1, a2, a3, a4), true;
124705
+ return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
124335
124706
  case 6:
124336
- return listeners2.fn.call(listeners2.context, a1, a2, a3, a4, a5), true;
124707
+ return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
124337
124708
  }
124338
124709
  for (i2 = 1, args = new Array(len2 - 1); i2 < len2; i2++) {
124339
124710
  args[i2 - 1] = arguments[i2];
124340
124711
  }
124341
- listeners2.fn.apply(listeners2.context, args);
124712
+ listeners.fn.apply(listeners.context, args);
124342
124713
  } else {
124343
- var length2 = listeners2.length, j;
124714
+ var length2 = listeners.length, j;
124344
124715
  for (i2 = 0; i2 < length2; i2++) {
124345
- if (listeners2[i2].once)
124346
- this.removeListener(event, listeners2[i2].fn, void 0, true);
124716
+ if (listeners[i2].once)
124717
+ this.removeListener(event, listeners[i2].fn, void 0, true);
124347
124718
  switch (len2) {
124348
124719
  case 1:
124349
- listeners2[i2].fn.call(listeners2[i2].context);
124720
+ listeners[i2].fn.call(listeners[i2].context);
124350
124721
  break;
124351
124722
  case 2:
124352
- listeners2[i2].fn.call(listeners2[i2].context, a1);
124723
+ listeners[i2].fn.call(listeners[i2].context, a1);
124353
124724
  break;
124354
124725
  case 3:
124355
- listeners2[i2].fn.call(listeners2[i2].context, a1, a2);
124726
+ listeners[i2].fn.call(listeners[i2].context, a1, a2);
124356
124727
  break;
124357
124728
  case 4:
124358
- listeners2[i2].fn.call(listeners2[i2].context, a1, a2, a3);
124729
+ listeners[i2].fn.call(listeners[i2].context, a1, a2, a3);
124359
124730
  break;
124360
124731
  default:
124361
124732
  if (!args)
124362
124733
  for (j = 1, args = new Array(len2 - 1); j < len2; j++) {
124363
124734
  args[j - 1] = arguments[j];
124364
124735
  }
124365
- listeners2[i2].fn.apply(listeners2[i2].context, args);
124736
+ listeners[i2].fn.apply(listeners[i2].context, args);
124366
124737
  }
124367
124738
  }
124368
124739
  }
124369
124740
  return true;
124370
124741
  };
124371
124742
  EventEmitter2.prototype.on = function on(event, fn, context) {
124372
- return addListener2(this, event, fn, context, false);
124743
+ return addListener(this, event, fn, context, false);
124373
124744
  };
124374
- EventEmitter2.prototype.once = function once3(event, fn, context) {
124375
- return addListener2(this, event, fn, context, true);
124745
+ EventEmitter2.prototype.once = function once(event, fn, context) {
124746
+ return addListener(this, event, fn, context, true);
124376
124747
  };
124377
- EventEmitter2.prototype.removeListener = function removeListener2(event, fn, context, once3) {
124748
+ EventEmitter2.prototype.removeListener = function removeListener(event, fn, context, once) {
124378
124749
  var evt = prefix2 ? prefix2 + event : event;
124379
124750
  if (!this._events[evt])
124380
124751
  return this;
@@ -124382,15 +124753,15 @@ createCommonjsModule(function(module2) {
124382
124753
  clearEvent(this, evt);
124383
124754
  return this;
124384
124755
  }
124385
- var listeners2 = this._events[evt];
124386
- if (listeners2.fn) {
124387
- if (listeners2.fn === fn && (!once3 || listeners2.once) && (!context || listeners2.context === context)) {
124756
+ var listeners = this._events[evt];
124757
+ if (listeners.fn) {
124758
+ if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
124388
124759
  clearEvent(this, evt);
124389
124760
  }
124390
124761
  } else {
124391
- for (var i2 = 0, events2 = [], length2 = listeners2.length; i2 < length2; i2++) {
124392
- if (listeners2[i2].fn !== fn || once3 && !listeners2[i2].once || context && listeners2[i2].context !== context) {
124393
- events2.push(listeners2[i2]);
124762
+ for (var i2 = 0, events2 = [], length2 = listeners.length; i2 < length2; i2++) {
124763
+ if (listeners[i2].fn !== fn || once && !listeners[i2].once || context && listeners[i2].context !== context) {
124764
+ events2.push(listeners[i2]);
124394
124765
  }
124395
124766
  }
124396
124767
  if (events2.length)
@@ -124400,7 +124771,7 @@ createCommonjsModule(function(module2) {
124400
124771
  }
124401
124772
  return this;
124402
124773
  };
124403
- EventEmitter2.prototype.removeAllListeners = function removeAllListeners2(event) {
124774
+ EventEmitter2.prototype.removeAllListeners = function removeAllListeners(event) {
124404
124775
  var evt;
124405
124776
  if (event) {
124406
124777
  evt = prefix2 ? prefix2 + event : event;
@@ -124490,7 +124861,7 @@ const Z_FIXED = 4;
124490
124861
  const Z_BINARY = 0;
124491
124862
  const Z_TEXT = 1;
124492
124863
  const Z_UNKNOWN = 2;
124493
- function zero$3(buf) {
124864
+ function zero$2(buf) {
124494
124865
  let len2 = buf.length;
124495
124866
  while (--len2 >= 0) {
124496
124867
  buf[len2] = 0;
@@ -124529,17 +124900,17 @@ const extra_blbits = (
124529
124900
  const bl_order = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
124530
124901
  const DIST_CODE_LEN = 512;
124531
124902
  const static_ltree = new Array((L_CODES + 2) * 2);
124532
- zero$3(static_ltree);
124903
+ zero$2(static_ltree);
124533
124904
  const static_dtree = new Array(D_CODES * 2);
124534
- zero$3(static_dtree);
124905
+ zero$2(static_dtree);
124535
124906
  const _dist_code = new Array(DIST_CODE_LEN);
124536
- zero$3(_dist_code);
124907
+ zero$2(_dist_code);
124537
124908
  const _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);
124538
- zero$3(_length_code);
124909
+ zero$2(_length_code);
124539
124910
  const base_length = new Array(LENGTH_CODES);
124540
- zero$3(base_length);
124911
+ zero$2(base_length);
124541
124912
  const base_dist = new Array(D_CODES);
124542
- zero$3(base_dist);
124913
+ zero$2(base_dist);
124543
124914
  function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {
124544
124915
  this.static_tree = static_tree;
124545
124916
  this.extra_bits = extra_bits;
@@ -128883,7 +129254,7 @@ var blosc_codec = function() {
128883
129254
  b += Ga[z2[a2++]];
128884
129255
  return b;
128885
129256
  }
128886
- var Q2 = {}, R2 = {}, S = {};
129257
+ var Q2 = {}, R = {}, S = {};
128887
129258
  function Ha(a2) {
128888
129259
  if (void 0 === a2)
128889
129260
  return "_unknown";
@@ -128928,8 +129299,8 @@ var blosc_codec = function() {
128928
129299
  });
128929
129300
  var e3 = Array(a2.length), g2 = [], k = 0;
128930
129301
  a2.forEach(function(h, l2) {
128931
- R2.hasOwnProperty(h) ? e3[l2] = R2[h] : (g2.push(h), Q2.hasOwnProperty(h) || (Q2[h] = []), Q2[h].push(function() {
128932
- e3[l2] = R2[h];
129302
+ R.hasOwnProperty(h) ? e3[l2] = R[h] : (g2.push(h), Q2.hasOwnProperty(h) || (Q2[h] = []), Q2[h].push(function() {
129303
+ e3[l2] = R[h];
128933
129304
  ++k;
128934
129305
  k === g2.length && c2(e3);
128935
129306
  }));
@@ -128942,12 +129313,12 @@ var blosc_codec = function() {
128942
129313
  throw new TypeError("registerType registeredInstance requires argPackAdvance");
128943
129314
  var d = b.name;
128944
129315
  a2 || T('type "' + d + '" must have a positive integer typeid pointer');
128945
- if (R2.hasOwnProperty(a2)) {
129316
+ if (R.hasOwnProperty(a2)) {
128946
129317
  if (c2.U)
128947
129318
  return;
128948
129319
  T("Cannot register type '" + d + "' twice");
128949
129320
  }
128950
- R2[a2] = b;
129321
+ R[a2] = b;
128951
129322
  delete S[a2];
128952
129323
  Q2.hasOwnProperty(a2) && (b = Q2[a2], delete Q2[a2], b.forEach(function(e3) {
128953
129324
  e3();
@@ -129060,7 +129431,7 @@ var blosc_codec = function() {
129060
129431
  }
129061
129432
  function eb(a2, b) {
129062
129433
  function c2(g2) {
129063
- e3[g2] || R2[g2] || (S[g2] ? S[g2].forEach(c2) : (d.push(g2), e3[g2] = true));
129434
+ e3[g2] || R[g2] || (S[g2] ? S[g2].forEach(c2) : (d.push(g2), e3[g2] = true));
129064
129435
  }
129065
129436
  var d = [], e3 = {};
129066
129437
  b.forEach(c2);
@@ -129348,7 +129719,7 @@ var blosc_codec = function() {
129348
129719
  }, n: Qa, x: function(a2) {
129349
129720
  4 < a2 && (V[a2].P += 1);
129350
129721
  }, C: function(a2, b) {
129351
- var c2 = R2[a2];
129722
+ var c2 = R[a2];
129352
129723
  void 0 === c2 && T("_emval_take_value has unknown type " + cb(a2));
129353
129724
  a2 = c2.readValueFromPointer(b);
129354
129725
  return Ra(a2);
@@ -134120,10 +134491,10 @@ function multiSetsToTextureData(multiFeatureValues, multiMatrixObsIndex, setColo
134120
134491
  const valueTexHeight = Math.max(2, Math.ceil(totalValuesLength / texSize));
134121
134492
  const colorTexHeight = Math.max(2, Math.ceil(totalColorsLength / texSize));
134122
134493
  if (valueTexHeight > texSize) {
134123
- console.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
134494
+ log$5.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
134124
134495
  }
134125
134496
  if (colorTexHeight > texSize) {
134126
- console.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
134497
+ log$5.error("Error: length of concatenated quantitative feature values larger than maximum texture size");
134127
134498
  }
134128
134499
  const totalData = new Uint8Array(texSize * valueTexHeight);
134129
134500
  const totalColors = new Uint8Array(texSize * colorTexHeight);
@@ -145812,7 +146183,7 @@ function selection_order() {
145812
146183
  }
145813
146184
  function selection_sort(compare2) {
145814
146185
  if (!compare2)
145815
- compare2 = ascending$1;
146186
+ compare2 = ascending;
145816
146187
  function compareNode(a2, b) {
145817
146188
  return a2 && b ? compare2(a2.__data__, b.__data__) : !a2 - !b;
145818
146189
  }
@@ -145826,7 +146197,7 @@ function selection_sort(compare2) {
145826
146197
  }
145827
146198
  return new Selection(sortgroups, this._parents).order();
145828
146199
  }
145829
- function ascending$1(a2, b) {
146200
+ function ascending(a2, b) {
145830
146201
  return a2 < b ? -1 : a2 > b ? 1 : a2 >= b ? 0 : NaN;
145831
146202
  }
145832
146203
  function selection_call() {
@@ -146265,115 +146636,6 @@ Selection.prototype = {
146265
146636
  function select(selector2) {
146266
146637
  return typeof selector2 === "string" ? new Selection([[document.querySelector(selector2)]], [document.documentElement]) : new Selection([[selector2]], root);
146267
146638
  }
146268
- function ascending(a2, b) {
146269
- return a2 == null || b == null ? NaN : a2 < b ? -1 : a2 > b ? 1 : a2 >= b ? 0 : NaN;
146270
- }
146271
- function descending(a2, b) {
146272
- return a2 == null || b == null ? NaN : b < a2 ? -1 : b > a2 ? 1 : b >= a2 ? 0 : NaN;
146273
- }
146274
- function bisector(f2) {
146275
- let compare1, compare2, delta;
146276
- if (f2.length !== 2) {
146277
- compare1 = ascending;
146278
- compare2 = (d, x2) => ascending(f2(d), x2);
146279
- delta = (d, x2) => f2(d) - x2;
146280
- } else {
146281
- compare1 = f2 === ascending || f2 === descending ? f2 : zero$2;
146282
- compare2 = f2;
146283
- delta = f2;
146284
- }
146285
- function left2(a2, x2, lo = 0, hi = a2.length) {
146286
- if (lo < hi) {
146287
- if (compare1(x2, x2) !== 0)
146288
- return hi;
146289
- do {
146290
- const mid = lo + hi >>> 1;
146291
- if (compare2(a2[mid], x2) < 0)
146292
- lo = mid + 1;
146293
- else
146294
- hi = mid;
146295
- } while (lo < hi);
146296
- }
146297
- return lo;
146298
- }
146299
- function right2(a2, x2, lo = 0, hi = a2.length) {
146300
- if (lo < hi) {
146301
- if (compare1(x2, x2) !== 0)
146302
- return hi;
146303
- do {
146304
- const mid = lo + hi >>> 1;
146305
- if (compare2(a2[mid], x2) <= 0)
146306
- lo = mid + 1;
146307
- else
146308
- hi = mid;
146309
- } while (lo < hi);
146310
- }
146311
- return lo;
146312
- }
146313
- function center2(a2, x2, lo = 0, hi = a2.length) {
146314
- const i2 = left2(a2, x2, lo, hi - 1);
146315
- return i2 > lo && delta(a2[i2 - 1], x2) > -delta(a2[i2], x2) ? i2 - 1 : i2;
146316
- }
146317
- return { left: left2, center: center2, right: right2 };
146318
- }
146319
- function zero$2() {
146320
- return 0;
146321
- }
146322
- function number$3(x2) {
146323
- return x2 === null ? NaN : +x2;
146324
- }
146325
- const ascendingBisect = bisector(ascending);
146326
- const bisectRight = ascendingBisect.right;
146327
- bisector(number$3).center;
146328
- const bisect = bisectRight;
146329
- var e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2);
146330
- function ticks(start, stop, count2) {
146331
- var reverse, i2 = -1, n2, ticks2, step;
146332
- stop = +stop, start = +start, count2 = +count2;
146333
- if (start === stop && count2 > 0)
146334
- return [start];
146335
- if (reverse = stop < start)
146336
- n2 = start, start = stop, stop = n2;
146337
- if ((step = tickIncrement(start, stop, count2)) === 0 || !isFinite(step))
146338
- return [];
146339
- if (step > 0) {
146340
- let r0 = Math.round(start / step), r1 = Math.round(stop / step);
146341
- if (r0 * step < start)
146342
- ++r0;
146343
- if (r1 * step > stop)
146344
- --r1;
146345
- ticks2 = new Array(n2 = r1 - r0 + 1);
146346
- while (++i2 < n2)
146347
- ticks2[i2] = (r0 + i2) * step;
146348
- } else {
146349
- step = -step;
146350
- let r0 = Math.round(start * step), r1 = Math.round(stop * step);
146351
- if (r0 / step < start)
146352
- ++r0;
146353
- if (r1 / step > stop)
146354
- --r1;
146355
- ticks2 = new Array(n2 = r1 - r0 + 1);
146356
- while (++i2 < n2)
146357
- ticks2[i2] = (r0 + i2) / step;
146358
- }
146359
- if (reverse)
146360
- ticks2.reverse();
146361
- return ticks2;
146362
- }
146363
- function tickIncrement(start, stop, count2) {
146364
- var step = (stop - start) / Math.max(0, count2), power = Math.floor(Math.log(step) / Math.LN10), error2 = step / Math.pow(10, power);
146365
- return power >= 0 ? (error2 >= e10 ? 10 : error2 >= e5 ? 5 : error2 >= e2 ? 2 : 1) * Math.pow(10, power) : -Math.pow(10, -power) / (error2 >= e10 ? 10 : error2 >= e5 ? 5 : error2 >= e2 ? 2 : 1);
146366
- }
146367
- function tickStep(start, stop, count2) {
146368
- var step0 = Math.abs(stop - start) / Math.max(0, count2), step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), error2 = step0 / step1;
146369
- if (error2 >= e10)
146370
- step1 *= 10;
146371
- else if (error2 >= e5)
146372
- step1 *= 5;
146373
- else if (error2 >= e2)
146374
- step1 *= 2;
146375
- return stop < start ? -step1 : step1;
146376
- }
146377
146639
  function initRange(domain, range2) {
146378
146640
  switch (arguments.length) {
146379
146641
  case 0:
@@ -148752,10 +149014,13 @@ function EmbeddingScatterplotSubscriber(props) {
148752
149014
  );
148753
149015
  }
148754
149016
  function DualEmbeddingScatterplotSubscriber(props) {
149017
+ var _a2, _b;
148755
149018
  const {
149019
+ uuid,
148756
149020
  coordinationScopes
148757
149021
  } = props;
148758
149022
  const [{
149023
+ embeddingType,
148759
149024
  sampleSetSelection
148760
149025
  }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.DUAL_SCATTERPLOT], coordinationScopes);
148761
149026
  const caseSampleSetSelection = useMemo(() => (sampleSetSelection == null ? void 0 : sampleSetSelection[0]) ? [sampleSetSelection[0]] : null, [sampleSetSelection]);
@@ -148765,6 +149030,8 @@ function DualEmbeddingScatterplotSubscriber(props) {
148765
149030
  EmbeddingScatterplotSubscriber,
148766
149031
  {
148767
149032
  ...props,
149033
+ uuid: `${uuid}-case`,
149034
+ title: `Scatterplot (${embeddingType}), ${(_a2 = caseSampleSetSelection == null ? void 0 : caseSampleSetSelection[0]) == null ? void 0 : _a2.at(-1)}`,
148768
149035
  sampleSetSelection: caseSampleSetSelection
148769
149036
  }
148770
149037
  ) }),
@@ -148772,7 +149039,8 @@ function DualEmbeddingScatterplotSubscriber(props) {
148772
149039
  EmbeddingScatterplotSubscriber,
148773
149040
  {
148774
149041
  ...props,
148775
- title: "",
149042
+ uuid: `${uuid}-ctrl`,
149043
+ title: `Scatterplot (${embeddingType}), ${(_b = ctrlSampleSetSelection == null ? void 0 : ctrlSampleSetSelection[0]) == null ? void 0 : _b.at(-1)}`,
148776
149044
  sampleSetSelection: ctrlSampleSetSelection
148777
149045
  }
148778
149046
  ) })