linearly 0.24.2 → 0.25.0

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.
Files changed (45) hide show
  1. package/lib/cjs/mat2.d.ts +10 -10
  2. package/lib/cjs/mat2.js +10 -10
  3. package/lib/cjs/mat2d.d.ts +11 -11
  4. package/lib/cjs/mat2d.js +11 -11
  5. package/lib/cjs/mat3.d.ts +9 -9
  6. package/lib/cjs/mat3.js +9 -9
  7. package/lib/cjs/mat4.d.ts +9 -9
  8. package/lib/cjs/mat4.js +9 -9
  9. package/lib/cjs/quat.d.ts +5 -5
  10. package/lib/cjs/quat.js +5 -5
  11. package/lib/cjs/scalar.d.ts +15 -15
  12. package/lib/cjs/scalar.d.ts.map +1 -1
  13. package/lib/cjs/scalar.js +22 -16
  14. package/lib/cjs/vec2.d.ts +157 -74
  15. package/lib/cjs/vec2.d.ts.map +1 -1
  16. package/lib/cjs/vec2.js +179 -97
  17. package/lib/cjs/vec3.d.ts +37 -15
  18. package/lib/cjs/vec3.d.ts.map +1 -1
  19. package/lib/cjs/vec3.js +62 -24
  20. package/lib/cjs/vec4.d.ts +26 -4
  21. package/lib/cjs/vec4.d.ts.map +1 -1
  22. package/lib/cjs/vec4.js +54 -13
  23. package/lib/esm/mat2.d.ts +10 -10
  24. package/lib/esm/mat2.js +10 -10
  25. package/lib/esm/mat2d.d.ts +11 -11
  26. package/lib/esm/mat2d.js +11 -11
  27. package/lib/esm/mat3.d.ts +9 -9
  28. package/lib/esm/mat3.js +9 -9
  29. package/lib/esm/mat4.d.ts +9 -9
  30. package/lib/esm/mat4.js +9 -9
  31. package/lib/esm/quat.d.ts +5 -5
  32. package/lib/esm/quat.js +5 -5
  33. package/lib/esm/scalar.d.ts +15 -15
  34. package/lib/esm/scalar.d.ts.map +1 -1
  35. package/lib/esm/scalar.js +22 -16
  36. package/lib/esm/vec2.d.ts +157 -74
  37. package/lib/esm/vec2.d.ts.map +1 -1
  38. package/lib/esm/vec2.js +179 -97
  39. package/lib/esm/vec3.d.ts +37 -15
  40. package/lib/esm/vec3.d.ts.map +1 -1
  41. package/lib/esm/vec3.js +62 -24
  42. package/lib/esm/vec4.d.ts +26 -4
  43. package/lib/esm/vec4.d.ts.map +1 -1
  44. package/lib/esm/vec4.js +54 -13
  45. package/package.json +1 -1
package/lib/esm/vec2.js CHANGED
@@ -59,17 +59,25 @@ export var vec2;
59
59
  return vec2.zero;
60
60
  }
61
61
  if (vs.length === 1) {
62
- return [-vs[0], -vs[1]];
62
+ return [-vs[0][0], -vs[0][1]];
63
63
  }
64
64
  const [first, ...rest] = vs;
65
- const ret = [...first];
65
+ let [x, y] = typeof first === 'number' ? [first, first] : [...first];
66
66
  for (const v of rest) {
67
- ret[0] -= v[0];
68
- ret[1] -= v[1];
67
+ x -= v[0];
68
+ y -= v[1];
69
69
  }
70
- return ret;
70
+ return [x, y];
71
71
  }
72
72
  vec2.subtract = subtract;
73
+ /**
74
+ * Alias for {@link vec2.subtract}
75
+ * @category Shorthands
76
+ *
77
+ * @shorthands
78
+ * - {@link vec2.sub}
79
+ */
80
+ vec2.sub = subtract;
73
81
  /**
74
82
  * Subtracts b from a
75
83
  */
@@ -86,21 +94,38 @@ export var vec2;
86
94
  return [x, y];
87
95
  }
88
96
  vec2.multiply = multiply;
97
+ /**
98
+ * Alias for {@link vec2.multiply}
99
+ * @category Shorthands
100
+ *
101
+ * @shorthands
102
+ * - {@link vec2.mul}
103
+ */
104
+ vec2.mul = multiply;
89
105
  function divide(...vs) {
90
106
  if (vs.length === 0) {
91
107
  return vec2.one;
92
108
  }
93
- else if (vs.length === 1) {
94
- return divide(vec2.one, vs[0]);
109
+ if (vs.length === 1) {
110
+ return [1 / vs[0][0], 1 / vs[0][1]];
95
111
  }
96
- else if (vs.length > 2) {
97
- const [a, b, ...rest] = vs;
98
- return divide(divide(a, b), ...rest);
112
+ const [first, ...rest] = vs;
113
+ let [x, y] = first;
114
+ for (const v of rest) {
115
+ x /= v[0];
116
+ y /= v[1];
99
117
  }
100
- const [a, b] = vs;
101
- return [a[0] / b[0], a[1] / b[1]];
118
+ return [x, y];
102
119
  }
103
120
  vec2.divide = divide;
121
+ /**
122
+ * Alias for {@link vec2.divide}
123
+ * @category Shorthands
124
+ *
125
+ * @shorthands
126
+ * - {@link vec2.div}
127
+ */
128
+ vec2.div = divide;
104
129
  function min(...vs) {
105
130
  if (vs.length === 0) {
106
131
  return [Infinity, Infinity];
@@ -220,6 +245,9 @@ export var vec2;
220
245
  /**
221
246
  * Returns the average value of the input(s)
222
247
  * @see https://www.sidefx.com/docs/houdini/vex/functions/avg.html
248
+ *
249
+ * @shorthands
250
+ * - {@link avg}
223
251
  */
224
252
  function average(...vs) {
225
253
  let x = 0, y = 0;
@@ -232,6 +260,11 @@ export var vec2;
232
260
  }
233
261
  vec2.average = average;
234
262
  /**
263
+ * Alias for {@link vec2.average}
264
+ * @category Shorthands
265
+ */
266
+ vec2.avg = average;
267
+ /**
235
268
  Adds given vec2's after scaling the second operand by a scalar value
236
269
  */
237
270
  function scaleAndAdd(a, b, scale) {
@@ -240,48 +273,96 @@ export var vec2;
240
273
  vec2.scaleAndAdd = scaleAndAdd;
241
274
  /**
242
275
  * Calculates the euclidian distance between two vec2's
276
+ *
277
+ * @shorthands
278
+ * - {@link dist}
243
279
  */
244
280
  function distance(a, b) {
245
281
  const x = b[0] - a[0], y = b[1] - a[1];
246
282
  return Math.hypot(x, y);
247
283
  }
248
284
  vec2.distance = distance;
285
+ /**
286
+ * Alias for {@link vec2.distance}
287
+ * @category Shorthands
288
+ */
289
+ vec2.dist = distance;
249
290
  /**
250
291
  * Calculates the squared euclidian distance between two vec2's
292
+ *
293
+ * @shorthands
294
+ * - {@link sqrDist}
251
295
  */
252
296
  function squaredDistance(a, b) {
253
297
  const x = b[0] - a[0], y = b[1] - a[1];
254
298
  return x * x + y * y;
255
299
  }
256
300
  vec2.squaredDistance = squaredDistance;
301
+ /**
302
+ * Alias for {@link vec2.squaredEquals}
303
+ * @category Shorthands
304
+ */
305
+ vec2.sqrDist = squaredDistance;
257
306
  /**
258
307
  * Calculates the length of a vec2
308
+ *
309
+ * @shorthands
310
+ * - {@link len}
259
311
  */
260
312
  function length(v) {
261
313
  return Math.hypot(v[0], v[1]);
262
314
  }
263
315
  vec2.length = length;
316
+ /**
317
+ * Alias for {@link vec2.length}
318
+ * @category Shorthands
319
+ */
320
+ vec2.len = length;
264
321
  /**
265
322
  * Calculates the squared length of a vec2
323
+ *
324
+ * @shorthands
325
+ * - {@link sqrLen}
266
326
  */
267
327
  function squaredLength(v) {
268
328
  return v[0] ** 2 + v[1] ** 2;
269
329
  }
270
330
  vec2.squaredLength = squaredLength;
331
+ /**
332
+ * Alias for {@link vec2.squaredLength}
333
+ * @category Shorthands
334
+ */
335
+ vec2.sqrLen = squaredLength;
271
336
  /**
272
337
  * Negates the components of a vec2
338
+ *
339
+ * @shorthands
340
+ * - {@link neg}
273
341
  */
274
342
  function negate(v) {
275
343
  return [-v[0], -v[1]];
276
344
  }
277
345
  vec2.negate = negate;
346
+ /**
347
+ * Alias for {@link vec2.negate}
348
+ * @category Shorthands
349
+ */
350
+ vec2.neg = negate;
278
351
  /**
279
352
  * Returns the inverse of the components of a vec2
353
+ *
354
+ * @shorthands
355
+ * - {@link inv}
280
356
  */
281
357
  function invert(v) {
282
358
  return [1 / v[0], 1 / v[1]];
283
359
  }
284
360
  vec2.invert = invert;
361
+ /**
362
+ * Alias for {@link vec2.invert}
363
+ * @category Shorthands
364
+ */
365
+ vec2.inv = invert;
285
366
  /**
286
367
  * Returns the result of `v` subtracted from {@link vec2.one}.
287
368
  */
@@ -307,6 +388,9 @@ export var vec2;
307
388
  /**
308
389
  * Linearly interpolate between two numbers. Same as GLSL's bulit-in `mix` function.
309
390
  * @see https://registry.khronos.org/OpenGL-Refpages/gl4/html/mix.xhtml
391
+ *
392
+ * @shorthands
393
+ * - {@link mix}
310
394
  */
311
395
  function lerp(a, b, t) {
312
396
  if (typeof t === 'number')
@@ -314,10 +398,19 @@ export var vec2;
314
398
  return [a[0] + t[0] * (b[0] - a[0]), a[1] + t[1] * (b[1] - a[1])];
315
399
  }
316
400
  vec2.lerp = lerp;
401
+ /**
402
+ * Alias for {@link vec2.lerp}
403
+ * @see https://registry.khronos.org/OpenGL-Refpages/gl4/html/mix.xhtml
404
+ * @category Shorthands
405
+ */
406
+ vec2.mix = lerp;
317
407
  /**
318
408
  * Returns the amount to mix `min` and `max` to generate the input value `t`. This is the inverse of the `lerp` function. If `min` and `max` are equal, the mixing value is `0.5`.
319
409
  * @see https://docs.unity3d.com/Packages/com.unity.shadergraph@6.9/manual/Inverse-Lerp-Node.html
320
410
  * @see https://www.sidefx.com/docs/houdini/vex/functions/invlerp.html
411
+ *
412
+ * @shorthands
413
+ * - {@link invlerp}
321
414
  */
322
415
  function inverseLerp(a, b, t) {
323
416
  return [
@@ -326,6 +419,11 @@ export var vec2;
326
419
  ];
327
420
  }
328
421
  vec2.inverseLerp = inverseLerp;
422
+ /**
423
+ * Alias for {@link vec2.inverseLerp}
424
+ * @category Shorthands
425
+ */
426
+ vec2.invlerp = inverseLerp;
329
427
  /**
330
428
  * Takes the value in the range `(omin, omax)` and shifts it to the corresponding value in the new range `(nmin, nmax)`. The function clamps the given value the range `(omin, omax)` before fitting, so the resulting value will be guaranteed to be in the range `(nmin, nmax)`. To avoid clamping use efit instead.
331
429
  * @see https://www.sidefx.com/docs/houdini/vex/functions/fit.html
@@ -337,15 +435,14 @@ export var vec2;
337
435
  * @returns
338
436
  */
339
437
  function fit(value, omin, omax, nmin, nmax) {
340
- const t = clamp([
341
- (value[0] - omin[0]) / (omax[0] - omin[0]),
342
- (value[0] - omin[0]) / (omax[0] - omin[0]),
343
- ], 0, 1);
344
- return lerp(nmin, nmax, t);
438
+ return [
439
+ scalar.fit(value[0], omin[0], omax[0], nmin[0], nmax[0]),
440
+ scalar.fit(value[1], omin[1], omax[1], nmin[1], nmax[1]),
441
+ ];
345
442
  }
346
443
  vec2.fit = fit;
347
444
  /**
348
- * Takes the value in the range `(omin, omax)` and shifts it to the corresponding value in the new range `(nmin, nmax)`. Unlike `fit`, this function does not clamp values to the given range.
445
+ * Takes the value in the range `(omin, omax)` and shifts it to the corresponding value in the new range `(nmin, nmax)`. Unlike `fit`, this function does not clamp values to the given range. If `omin` and `omax` are the same, the function returns the average of `nmin` and `nmax`.
349
446
  * @see https://www.sidefx.com/docs/houdini/vex/functions/fit.html
350
447
  * @param value
351
448
  * @param omin
@@ -355,11 +452,10 @@ export var vec2;
355
452
  * @returns
356
453
  */
357
454
  function efit(value, omin, omax, nmin, nmax) {
358
- const t = [
359
- (value[0] - omin[0]) / (omax[0] - omin[0]),
360
- (value[0] - omin[0]) / (omax[0] - omin[0]),
455
+ return [
456
+ scalar.efit(value[0], omin[0], omax[0], nmin[0], nmax[0]),
457
+ scalar.efit(value[1], omin[1], omax[1], nmin[1], nmax[1]),
361
458
  ];
362
- return lerp(nmin, nmax, t);
363
459
  }
364
460
  vec2.efit = efit;
365
461
  function transformMat2(a, m) {
@@ -411,7 +507,7 @@ export var vec2;
411
507
  */
412
508
  function angle(a, b) {
413
509
  if (!b)
414
- return Math.atan2(a[1], a[0]);
510
+ return Math.atan2(a[1], a[0]) * Common.RAD2DEG;
415
511
  const [x1, y1] = a;
416
512
  const [x2, y2] = b;
417
513
  // mag is the product of the magnitudes of a and b
@@ -422,6 +518,9 @@ export var vec2;
422
518
  vec2.angle = angle;
423
519
  /**
424
520
  * Creates a vector by given direction and length
521
+ *
522
+ * @shorthands
523
+ * - {@link dir}
425
524
  */
426
525
  function direction(deg, length = 1) {
427
526
  return [
@@ -430,6 +529,11 @@ export var vec2;
430
529
  ];
431
530
  }
432
531
  vec2.direction = direction;
532
+ /**
533
+ * Alias for {@link vec2.direction}
534
+ * @category Shorthands
535
+ */
536
+ vec2.dir = direction;
433
537
  /**
434
538
  * Returns whether or not the vectors exactly have the same elements in the same position (when compared with `===`)
435
539
  */
@@ -479,6 +583,15 @@ export var vec2;
479
583
  ];
480
584
  }
481
585
  vec2.smoothstep = smoothstep;
586
+ /**
587
+ * Converts the components of a vec2 from radians to degrees
588
+ *
589
+ * @param rad The input vec2 in radians
590
+ * @returns The degrees equivalent of the input
591
+ * *
592
+ * @shorthands
593
+ * - {@link deg}
594
+ */
482
595
  function degrees(rad) {
483
596
  return [
484
597
  rad[0] * Common.RAD2DEG, //
@@ -488,9 +601,18 @@ export var vec2;
488
601
  vec2.degrees = degrees;
489
602
  /**
490
603
  * Alias for {@link vec2.degrees}
491
- * @category Aliases
604
+ * @category Shorthands
492
605
  */
493
606
  vec2.deg = degrees;
607
+ /**
608
+ * Converts the components of a vec2 from degrees to radians
609
+ *
610
+ * @param deg The input vec2 in degrees
611
+ * @returns The radians equivalent of the input
612
+ * *
613
+ * @shorthands
614
+ * - {@link rad}
615
+ */
494
616
  function radians(deg) {
495
617
  return [
496
618
  deg[0] * Common.DEG2RAD, //
@@ -500,9 +622,13 @@ export var vec2;
500
622
  vec2.radians = radians;
501
623
  /**
502
624
  * Alias for {@link vec2.radians}
503
- * @category Aliases
625
+ * @category Shorthands
504
626
  */
505
627
  vec2.rad = radians;
628
+ /**
629
+ * Returns the sine of a number.
630
+ * @param deg A angle in degrees
631
+ * */
506
632
  function sin(deg) {
507
633
  return [
508
634
  Math.sin(deg[0] * Common.DEG2RAD), //
@@ -510,6 +636,10 @@ export var vec2;
510
636
  ];
511
637
  }
512
638
  vec2.sin = sin;
639
+ /**
640
+ * Returns the cosine of a number.
641
+ * @param deg A angle in degrees
642
+ * */
513
643
  function cos(deg) {
514
644
  return [
515
645
  Math.cos(deg[0] * Common.DEG2RAD), //
@@ -517,6 +647,10 @@ export var vec2;
517
647
  ];
518
648
  }
519
649
  vec2.cos = cos;
650
+ /**
651
+ * Returns the tangent of a number.
652
+ * @param deg A angle in degrees
653
+ * */
520
654
  function tan(deg) {
521
655
  return [
522
656
  Math.tan(deg[0] * Common.DEG2RAD), //
@@ -524,6 +658,11 @@ export var vec2;
524
658
  ];
525
659
  }
526
660
  vec2.tan = tan;
661
+ /**
662
+ * Returns the arcsine of a number.
663
+ * @param v A numeric expression.
664
+ * @returns The arcsine in degrees
665
+ * */
527
666
  function asin(v) {
528
667
  return [
529
668
  Math.asin(v[0]) * Common.RAD2DEG, //
@@ -531,6 +670,11 @@ export var vec2;
531
670
  ];
532
671
  }
533
672
  vec2.asin = asin;
673
+ /**
674
+ * Returns the arc cosine (or inverse cosine) of a number.
675
+ * @param v A numeric expression.
676
+ * @returns The arc cosine in degrees
677
+ * */
534
678
  function acos(v) {
535
679
  return [
536
680
  Math.acos(v[0] * Common.RAD2DEG), //
@@ -541,7 +685,7 @@ export var vec2;
541
685
  /**
542
686
  * Returns the arc-tangent of the parameters. If `x` is not provided, `y` is regarded as a value of `y/x`.
543
687
  * @see https://thebookofshaders.com/glossary/?search=atan
544
- */
688
+ * */
545
689
  function atan(y, x) {
546
690
  if (x === undefined) {
547
691
  return [
@@ -589,86 +733,24 @@ export var vec2;
589
733
  * Returns the inverse of the square root of the parameter
590
734
  * @param v the value of which to take the inverse of the square root
591
735
  * @see https://thebookofshaders.com/glossary/?search=inversesqrt
736
+ *
737
+ * @shorthands
738
+ * - {@link invsqrt}
592
739
  */
593
740
  function inverseSqrt(v) {
594
741
  return [1 / Math.sqrt(v[0]), 1 / Math.sqrt(v[1])];
595
742
  }
596
743
  vec2.inverseSqrt = inverseSqrt;
597
- /**
598
- * Returns the string representation of a vec2
599
- * @param v vector to represent as a string
600
- * @param fractionDigits number of digits to appear after the decimal point
601
- */
602
- vec2.toString = Common.vecToString;
603
- /**
604
- * Alias for {@link vec2.subtract}
605
- * @category Aliases
606
- */
607
- vec2.sub = subtract;
608
- /**
609
- * Alias for {@link vec2.multiply}
610
- * @category Aliases
611
- */
612
- vec2.mul = multiply;
613
- /**
614
- * Alias for {@link vec2.divide}
615
- * @category Aliases
616
- */
617
- vec2.div = divide;
618
- /**
619
- * Alias for {@link vec2.average}
620
- * @category Aliases
621
- */
622
- vec2.avg = average;
623
- /**
624
- * Alias for {@link vec2.distance}
625
- * @category Aliases
626
- */
627
- vec2.dist = distance;
628
- /**
629
- * Alias for {@link vec2.length}
630
- * @category Aliases
631
- */
632
- vec2.len = length;
633
- /**
634
- * Alias for {@link vec2.squaredEquals}
635
- * @category Aliases
636
- */
637
- vec2.sqrDist = squaredDistance;
638
- /**
639
- * Alias for {@link vec2.squaredLength}
640
- * @category Aliases
641
- */
642
- vec2.sqrLen = squaredLength;
643
- /**
644
- * Alias for {@link vec2.negate}
645
- */
646
- vec2.neg = negate;
647
- /**
648
- * Alias for {@link vec2.lerp}
649
- * @see https://registry.khronos.org/OpenGL-Refpages/gl4/html/mix.xhtml
650
- * @category Aliases
651
- */
652
- vec2.mix = lerp;
653
- /**
654
- * Alias for {@link vec2.inverseLerp}
655
- * @category Aliases
656
- */
657
- vec2.invlerp = inverseLerp;
658
- /**
659
- * Alias for {@link vec2.direction}
660
- * @category Aliases
661
- */
662
- vec2.dir = direction;
663
744
  /**
664
745
  * Alias for {@link vec2.inverseSqrt}
665
- * @category Aliases
746
+ * @category Shorthands
666
747
  */
667
748
  vec2.invsqrt = inverseSqrt;
668
749
  /**
669
- * Alias for {@link vec2.invert}
670
- * @category Aliases
750
+ * Returns the string representation of a vec2
751
+ * @param v vector to represent as a string
752
+ * @param fractionDigits number of digits to appear after the decimal point
671
753
  */
672
- vec2.inv = invert;
754
+ vec2.toString = Common.vecToString;
673
755
  })(vec2 || (vec2 = {}));
674
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZWMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBSWxDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUE7QUFTL0I7O0dBRUc7QUFDSCxNQUFNLEtBQVcsSUFBSSxDQTh0QnBCO0FBOXRCRCxXQUFpQixJQUFJO0lBT3BCOzs7T0FHRztJQUNILFNBQWdCLEVBQUUsQ0FBQyxDQUFTLEVBQUUsSUFBWSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDZCxDQUFDO0lBRmUsT0FBRSxLQUVqQixDQUFBO0lBRUQ7OztPQUdHO0lBQ0gsU0FBZ0IsS0FBSyxDQUFDLENBQU87UUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDZCxDQUFDO0lBRmUsVUFBSyxRQUVwQixDQUFBO0lBRUQ7O09BRUc7SUFDVSxTQUFJLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRS9DOztPQUVHO0lBQ1UsUUFBRyxHQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUU5Qzs7O09BR0c7SUFDVSxVQUFLLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRWhEOzs7T0FHRztJQUNVLFVBQUssR0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFaEQ7O09BRUc7SUFDSCxTQUFnQixHQUFHLENBQUMsR0FBRyxFQUFVO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDUixDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRU4sS0FBSyxN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
756
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZWMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBSWxDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUE7QUFTL0I7O0dBRUc7QUFDSCxNQUFNLEtBQVcsSUFBSSxDQWl6QnBCO0FBanpCRCxXQUFpQixJQUFJO0lBT3BCOzs7T0FHRztJQUNILFNBQWdCLEVBQUUsQ0FBQyxDQUFTLEVBQUUsSUFBWSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDZCxDQUFDO0lBRmUsT0FBRSxLQUVqQixDQUFBO0lBRUQ7OztPQUdHO0lBQ0gsU0FBZ0IsS0FBSyxDQUFDLENBQU87UUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDZCxDQUFDO0lBRmUsVUFBSyxRQUVwQixDQUFBO0lBRUQ7O09BRUc7SUFDVSxTQUFJLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRS9DOztPQUVHO0lBQ1UsUUFBRyxHQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUU5Qzs7O09BR0c7SUFDVSxVQUFLLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRWhEOzs7T0FHRztJQUNVLFVBQUssR0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFaEQ7O09BRUc7SUFDSCxTQUFnQixHQUFHLENBQUMsR0FBRyxFQUFVO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDUixDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRU4sS0FBSyxN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