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/mat3.js CHANGED
@@ -500,47 +500,47 @@ export var mat3;
500
500
  mat3.toString = Common.createMatToStringFunction(3, 3);
501
501
  /**
502
502
  * Alias for {@link identity}
503
- * @category Aliases
503
+ * @category Shorthands
504
504
  */
505
505
  mat3.id = mat3.identity;
506
506
  /**
507
507
  * Alias for {@link identity}
508
- * @category Aliases
508
+ * @category Shorthands
509
509
  */
510
510
  mat3.ident = mat3.identity;
511
511
  /**
512
512
  * Alias for {@link subtract}
513
- * @category Aliases
513
+ * @category Shorthands
514
514
  */
515
515
  mat3.sub = subtract;
516
516
  /**
517
517
  * Alias for {@link multiply}
518
- * @category Aliases
518
+ * @category Shorthands
519
519
  */
520
520
  mat3.mul = multiply;
521
521
  /**
522
522
  * Alias for {@link determinant}
523
- * @category Aliases
523
+ * @category Shorthands
524
524
  */
525
525
  mat3.det = determinant;
526
526
  /**
527
527
  * Alias for {@link invert}
528
- * @category Aliases
528
+ * @category Shorthands
529
529
  */
530
530
  mat3.inv = invert;
531
531
  /**
532
532
  * Alias for {@link fromTranslation}
533
- * @category Aliases
533
+ * @category Shorthands
534
534
  */
535
535
  mat3.translation = fromTranslation;
536
536
  /**
537
537
  * Alias for {@link fromRotation}
538
- * @category Aliases
538
+ * @category Shorthands
539
539
  */
540
540
  mat3.rotation = fromRotation;
541
541
  /**
542
542
  * Alias for {@link fromScaling}
543
- * @category Aliases
543
+ * @category Shorthands
544
544
  */
545
545
  mat3.scaling = fromScaling;
546
546
  })(mat3 || (mat3 = {}));
package/lib/esm/mat4.d.ts CHANGED
@@ -388,47 +388,47 @@ export declare namespace mat4 {
388
388
  export const toString: (m: mat4, fractionDigits?: number) => string;
389
389
  /**
390
390
  * Alias for {@link identity}
391
- * @category Aliases
391
+ * @category Shorthands
392
392
  */
393
393
  export const id: mat4;
394
394
  /**
395
395
  * Alias for {@link identity}
396
- * @category Aliases
396
+ * @category Shorthands
397
397
  */
398
398
  export const ident: mat4;
399
399
  /**
400
400
  * Alias for {@link subtract}
401
- * @category Aliases
401
+ * @category Shorthands
402
402
  */
403
403
  export const sub: typeof subtract;
404
404
  /**
405
405
  * Alias for {@link multiply}
406
- * @category Aliases
406
+ * @category Shorthands
407
407
  */
408
408
  export const mul: typeof multiply;
409
409
  /**
410
410
  * Alias for {@link determinant}
411
- * @category Aliases
411
+ * @category Shorthands
412
412
  */
413
413
  export const det: typeof determinant;
414
414
  /**
415
415
  * Alias for {@link invert}
416
- * @category Aliases
416
+ * @category Shorthands
417
417
  */
418
418
  export const inv: typeof invert;
419
419
  /**
420
420
  * Alias for {@link fromTranslation}
421
- * @category Aliases
421
+ * @category Shorthands
422
422
  */
423
423
  export const translation: typeof fromTranslation;
424
424
  /**
425
425
  * Alias for {@link fromRotation}
426
- * @category Aliases
426
+ * @category Shorthands
427
427
  */
428
428
  export const rotation: typeof fromRotation;
429
429
  /**
430
430
  * Alias for {@link fromScaling}
431
- * @category Aliases
431
+ * @category Shorthands
432
432
  */
433
433
  export const scaling: typeof fromScaling;
434
434
  export {};
package/lib/esm/mat4.js CHANGED
@@ -1342,47 +1342,47 @@ export var mat4;
1342
1342
  mat4.toString = Common.createMatToStringFunction(4, 4);
1343
1343
  /**
1344
1344
  * Alias for {@link identity}
1345
- * @category Aliases
1345
+ * @category Shorthands
1346
1346
  */
1347
1347
  mat4.id = mat4.identity;
1348
1348
  /**
1349
1349
  * Alias for {@link identity}
1350
- * @category Aliases
1350
+ * @category Shorthands
1351
1351
  */
1352
1352
  mat4.ident = mat4.identity;
1353
1353
  /**
1354
1354
  * Alias for {@link subtract}
1355
- * @category Aliases
1355
+ * @category Shorthands
1356
1356
  */
1357
1357
  mat4.sub = subtract;
1358
1358
  /**
1359
1359
  * Alias for {@link multiply}
1360
- * @category Aliases
1360
+ * @category Shorthands
1361
1361
  */
1362
1362
  mat4.mul = multiply;
1363
1363
  /**
1364
1364
  * Alias for {@link determinant}
1365
- * @category Aliases
1365
+ * @category Shorthands
1366
1366
  */
1367
1367
  mat4.det = determinant;
1368
1368
  /**
1369
1369
  * Alias for {@link invert}
1370
- * @category Aliases
1370
+ * @category Shorthands
1371
1371
  */
1372
1372
  mat4.inv = invert;
1373
1373
  /**
1374
1374
  * Alias for {@link fromTranslation}
1375
- * @category Aliases
1375
+ * @category Shorthands
1376
1376
  */
1377
1377
  mat4.translation = fromTranslation;
1378
1378
  /**
1379
1379
  * Alias for {@link fromRotation}
1380
- * @category Aliases
1380
+ * @category Shorthands
1381
1381
  */
1382
1382
  mat4.rotation = fromRotation;
1383
1383
  /**
1384
1384
  * Alias for {@link fromScaling}
1385
- * @category Aliases
1385
+ * @category Shorthands
1386
1386
  */
1387
1387
  mat4.scaling = fromScaling;
1388
1388
  })(mat4 || (mat4 = {}));
package/lib/esm/quat.d.ts CHANGED
@@ -228,27 +228,27 @@ export declare namespace quat {
228
228
  function setAxes(view: vec3, right: vec3, up: vec3): quat;
229
229
  /**
230
230
  * Alias for {@link identity}
231
- * @category Aliases
231
+ * @category Shorthands
232
232
  */
233
233
  const id: quat;
234
234
  /**
235
235
  * Alias for {@link identity}
236
- * @category Aliases
236
+ * @category Shorthands
237
237
  */
238
238
  const ident: quat;
239
239
  /**
240
240
  * Alias for {@link multiply}
241
- * @category Aliases
241
+ * @category Shorthands
242
242
  */
243
243
  const mul: typeof multiply;
244
244
  /**
245
245
  * Alias for {@link squaredLength}
246
- * @category Aliases
246
+ * @category Shorthands
247
247
  */
248
248
  const sqrLen: typeof vec4.squaredLength;
249
249
  /**
250
250
  * Alias for {@link length}
251
- * @category Aliases
251
+ * @category Shorthands
252
252
  */
253
253
  const len: typeof vec4.length;
254
254
  }
package/lib/esm/quat.js CHANGED
@@ -504,27 +504,27 @@ export var quat;
504
504
  quat.setAxes = setAxes;
505
505
  /**
506
506
  * Alias for {@link identity}
507
- * @category Aliases
507
+ * @category Shorthands
508
508
  */
509
509
  quat.id = quat.identity;
510
510
  /**
511
511
  * Alias for {@link identity}
512
- * @category Aliases
512
+ * @category Shorthands
513
513
  */
514
514
  quat.ident = quat.identity;
515
515
  /**
516
516
  * Alias for {@link multiply}
517
- * @category Aliases
517
+ * @category Shorthands
518
518
  */
519
519
  quat.mul = multiply;
520
520
  /**
521
521
  * Alias for {@link squaredLength}
522
- * @category Aliases
522
+ * @category Shorthands
523
523
  */
524
524
  quat.sqrLen = quat.squaredLength;
525
525
  /**
526
526
  * Alias for {@link length}
527
- * @category Aliases
527
+ * @category Shorthands
528
528
  */
529
529
  quat.len = quat.length;
530
530
  })(quat || (quat = {}));
@@ -69,7 +69,7 @@ export declare namespace scalar {
69
69
  */
70
70
  function inverseLerp(a: number, b: number, t: number): number;
71
71
  /**
72
- * 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.
72
+ * 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 {@link efit} instead. If `omin` and `omax` are the same, the function returns the average of `nmin` and `nmax`.
73
73
  * @see https://www.sidefx.com/docs/houdini/vex/functions/fit.html
74
74
  * @param value
75
75
  * @param omin
@@ -80,7 +80,7 @@ export declare namespace scalar {
80
80
  */
81
81
  function fit(value: number, omin: number, omax: number, nmin: number, nmax: number): number;
82
82
  /**
83
- * 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.
83
+ * 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`.
84
84
  * @see https://www.sidefx.com/docs/houdini/vex/functions/fit.html
85
85
  * @param value
86
86
  * @param omin
@@ -139,68 +139,68 @@ export declare namespace scalar {
139
139
  function equals(a: number, b: number): boolean;
140
140
  /**
141
141
  * Alias for {@link scalar.subtract}
142
- * @category Aliases
142
+ * @category Shorthands
143
143
  */
144
144
  const sub: typeof subtract;
145
145
  /**
146
146
  * Alias for {@link scalar.multiply}
147
- * @category Aliases
147
+ * @category Shorthands
148
148
  */
149
149
  const mul: typeof multiply;
150
150
  /**
151
151
  * Alias for {@link scalar.divide}
152
- * @category Aliases
152
+ * @category Shorthands
153
153
  */
154
154
  const div: typeof divide;
155
155
  /**
156
156
  * Alias for {@link scalar.average}
157
- * @category Aliases
157
+ * @category Shorthands
158
158
  */
159
159
  const avg: typeof average;
160
160
  /**
161
161
  * Alias for {@link scalar.distance}
162
- * @category Aliases
162
+ * @category Shorthands
163
163
  */
164
164
  const dist: typeof distance;
165
165
  /**
166
166
  * Alias for {@link scalar.length}
167
- * @category Aliases
167
+ * @category Shorthands
168
168
  */
169
169
  const len: (x: number) => number;
170
170
  /**
171
171
  * Alias for {@link scalar.squaredDistance}
172
- * @category Aliases
172
+ * @category Shorthands
173
173
  */
174
174
  const sqrDist: typeof squaredDistance;
175
175
  /**
176
176
  * Alias for {@link scalar.squaredLength}
177
- * @category Aliases
177
+ * @category Shorthands
178
178
  */
179
179
  const sqrLen: typeof squaredLength;
180
180
  /**
181
181
  * Alias for {@link scalar.invert}
182
182
  * @see https://registry.khronos.org/OpenGL-Refpages/gl4/html/mix.xhtml
183
- * @category Aliases
183
+ * @category Shorthands
184
184
  */
185
185
  const mix: typeof lerp;
186
186
  /**
187
187
  * Alias for {@link scalar.inverseLerp}
188
- * @category Aliases
188
+ * @category Shorthands
189
189
  */
190
190
  const invlerp: typeof inverseLerp;
191
191
  /**
192
192
  * Alias for {@link scalar.radians}
193
- * @category Aliases
193
+ * @category Shorthands
194
194
  */
195
195
  const rad: typeof radians;
196
196
  /**
197
197
  * Alias for {@link scalar.degrees}
198
- * @category Aliases
198
+ * @category Shorthands
199
199
  */
200
200
  const deg: typeof degrees;
201
201
  /**
202
202
  * Alias for {@link scalar.inverseSqrt}
203
- * @category Aliases
203
+ * @category Shorthands
204
204
  */
205
205
  const invsqrt: typeof inverseSqrt;
206
206
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../../src/scalar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../../src/scalar.ts"],"names":[],"mappings":"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"}
package/lib/esm/scalar.js CHANGED
@@ -149,7 +149,7 @@ export var scalar;
149
149
  }
150
150
  scalar.inverseLerp = inverseLerp;
151
151
  /**
152
- * 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.
152
+ * 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 {@link efit} instead. If `omin` and `omax` are the same, the function returns the average of `nmin` and `nmax`.
153
153
  * @see https://www.sidefx.com/docs/houdini/vex/functions/fit.html
154
154
  * @param value
155
155
  * @param omin
@@ -159,12 +159,15 @@ export var scalar;
159
159
  * @returns
160
160
  */
161
161
  function fit(value, omin, omax, nmin, nmax) {
162
+ if (omax === omin) {
163
+ return lerp(nmin, nmax, 0.5);
164
+ }
162
165
  const t = clamp((value - omin) / (omax - omin), 0, 1);
163
166
  return lerp(nmin, nmax, t);
164
167
  }
165
168
  scalar.fit = fit;
166
169
  /**
167
- * 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.
170
+ * 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`.
168
171
  * @see https://www.sidefx.com/docs/houdini/vex/functions/fit.html
169
172
  * @param value
170
173
  * @param omin
@@ -174,6 +177,9 @@ export var scalar;
174
177
  * @returns
175
178
  */
176
179
  function efit(value, omin, omax, nmin, nmax) {
180
+ if (omax === omin) {
181
+ return lerp(nmin, nmax, 0.5);
182
+ }
177
183
  const t = (value - omin) / (omax - omin);
178
184
  return lerp(nmin, nmax, t);
179
185
  }
@@ -276,69 +282,69 @@ export var scalar;
276
282
  scalar.equals = equals;
277
283
  /**
278
284
  * Alias for {@link scalar.subtract}
279
- * @category Aliases
285
+ * @category Shorthands
280
286
  */
281
287
  scalar.sub = subtract;
282
288
  /**
283
289
  * Alias for {@link scalar.multiply}
284
- * @category Aliases
290
+ * @category Shorthands
285
291
  */
286
292
  scalar.mul = multiply;
287
293
  /**
288
294
  * Alias for {@link scalar.divide}
289
- * @category Aliases
295
+ * @category Shorthands
290
296
  */
291
297
  scalar.div = divide;
292
298
  /**
293
299
  * Alias for {@link scalar.average}
294
- * @category Aliases
300
+ * @category Shorthands
295
301
  */
296
302
  scalar.avg = average;
297
303
  /**
298
304
  * Alias for {@link scalar.distance}
299
- * @category Aliases
305
+ * @category Shorthands
300
306
  */
301
307
  scalar.dist = distance;
302
308
  /**
303
309
  * Alias for {@link scalar.length}
304
- * @category Aliases
310
+ * @category Shorthands
305
311
  */
306
312
  scalar.len = scalar.length;
307
313
  /**
308
314
  * Alias for {@link scalar.squaredDistance}
309
- * @category Aliases
315
+ * @category Shorthands
310
316
  */
311
317
  scalar.sqrDist = squaredDistance;
312
318
  /**
313
319
  * Alias for {@link scalar.squaredLength}
314
- * @category Aliases
320
+ * @category Shorthands
315
321
  */
316
322
  scalar.sqrLen = squaredLength;
317
323
  /**
318
324
  * Alias for {@link scalar.invert}
319
325
  * @see https://registry.khronos.org/OpenGL-Refpages/gl4/html/mix.xhtml
320
- * @category Aliases
326
+ * @category Shorthands
321
327
  */
322
328
  scalar.mix = lerp;
323
329
  /**
324
330
  * Alias for {@link scalar.inverseLerp}
325
- * @category Aliases
331
+ * @category Shorthands
326
332
  */
327
333
  scalar.invlerp = inverseLerp;
328
334
  /**
329
335
  * Alias for {@link scalar.radians}
330
- * @category Aliases
336
+ * @category Shorthands
331
337
  */
332
338
  scalar.rad = radians;
333
339
  /**
334
340
  * Alias for {@link scalar.degrees}
335
- * @category Aliases
341
+ * @category Shorthands
336
342
  */
337
343
  scalar.deg = degrees;
338
344
  /**
339
345
  * Alias for {@link scalar.inverseSqrt}
340
- * @category Aliases
346
+ * @category Shorthands
341
347
  */
342
348
  scalar.invsqrt = inverseSqrt;
343
349
  })(scalar || (scalar = {}));
344
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjYWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUVsQzs7R0FFRztBQUNILE1BQU0sS0FBVyxNQUFNLENBbVh0QjtBQW5YRCxXQUFpQixNQUFNO0lBQ3RCLFNBQWdCLEdBQUcsQ0FBQyxHQUFHLEVBQVk7UUFDbEMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRmUsVUFBRyxNQUVsQixDQUFBO0lBRUQsU0FBZ0IsUUFBUSxDQUFDLEdBQUcsRUFBWTtRQUN2QyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckIsT0FBTyxDQUFDLENBQUE7UUFDVCxDQUFDO2FBQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDZCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFQZSxlQUFRLFdBT3ZCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsR0FBRyxFQUFZO1FBQ3ZDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUZlLGVBQVEsV0FFdkIsQ0FBQTtJQUVELFNBQWdCLE1BQU0sQ0FBQyxHQUFHLEVBQVk7UUFDckMsSUFBSSxFQUFFLENB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
350
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjYWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUVsQzs7R0FFRztBQUNILE1BQU0sS0FBVyxNQUFNLENBMlh0QjtBQTNYRCxXQUFpQixNQUFNO0lBQ3RCLFNBQWdCLEdBQUcsQ0FBQyxHQUFHLEVBQVk7UUFDbEMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRmUsVUFBRyxNQUVsQixDQUFBO0lBRUQsU0FBZ0IsUUFBUSxDQUFDLEdBQUcsRUFBWTtRQUN2QyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckIsT0FBTyxDQUFDLENBQUE7UUFDVCxDQUFDO2FBQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDZCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFQZSxlQUFRLFdBT3ZCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsR0FBRyxFQUFZO1FBQ3ZDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUZlLGVBQVEsV0FFdkIsQ0FBQTtJQUVELFNBQWdCLE1BQU0sQ0FBQyxHQUFHLEVBQVk7UUFDckMsSUFBSSxFQUFFLENB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