@lakuna/umath 1.4.3 → 2.0.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 (76) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +11 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/linalg/DualQuaternion.d.ts +23 -46
  6. package/dist/linalg/DualQuaternion.d.ts.map +1 -1
  7. package/dist/linalg/DualQuaternion.js +47 -70
  8. package/dist/linalg/DualQuaternion.js.map +1 -1
  9. package/dist/linalg/Matrix2.d.ts +16 -30
  10. package/dist/linalg/Matrix2.d.ts.map +1 -1
  11. package/dist/linalg/Matrix2.js +30 -44
  12. package/dist/linalg/Matrix2.js.map +1 -1
  13. package/dist/linalg/Matrix3.d.ts +21 -42
  14. package/dist/linalg/Matrix3.d.ts.map +1 -1
  15. package/dist/linalg/Matrix3.js +43 -84
  16. package/dist/linalg/Matrix3.js.map +1 -1
  17. package/dist/linalg/Matrix4.d.ts +40 -79
  18. package/dist/linalg/Matrix4.d.ts.map +1 -1
  19. package/dist/linalg/Matrix4.js +86 -171
  20. package/dist/linalg/Matrix4.js.map +1 -1
  21. package/dist/linalg/Quaternion.d.ts +29 -60
  22. package/dist/linalg/Quaternion.d.ts.map +1 -1
  23. package/dist/linalg/Quaternion.js +54 -85
  24. package/dist/linalg/Quaternion.js.map +1 -1
  25. package/dist/linalg/SlowMatrix.d.ts.map +1 -1
  26. package/dist/linalg/SlowMatrix.js +52 -78
  27. package/dist/linalg/SlowMatrix.js.map +1 -1
  28. package/dist/linalg/SlowSquareMatrix.js +1 -1
  29. package/dist/linalg/SlowSquareMatrix.js.map +1 -1
  30. package/dist/linalg/SlowVector.d.ts +165 -0
  31. package/dist/linalg/SlowVector.d.ts.map +1 -0
  32. package/dist/linalg/SlowVector.js +369 -0
  33. package/dist/linalg/SlowVector.js.map +1 -0
  34. package/dist/linalg/Vector.d.ts +20 -15
  35. package/dist/linalg/Vector.d.ts.map +1 -1
  36. package/dist/linalg/Vector2.d.ts +42 -48
  37. package/dist/linalg/Vector2.d.ts.map +1 -1
  38. package/dist/linalg/Vector2.js +74 -82
  39. package/dist/linalg/Vector2.js.map +1 -1
  40. package/dist/linalg/Vector3.d.ts +46 -56
  41. package/dist/linalg/Vector3.d.ts.map +1 -1
  42. package/dist/linalg/Vector3.js +82 -104
  43. package/dist/linalg/Vector3.js.map +1 -1
  44. package/dist/linalg/Vector4.d.ts +40 -44
  45. package/dist/linalg/Vector4.d.ts.map +1 -1
  46. package/dist/linalg/Vector4.js +69 -79
  47. package/dist/linalg/Vector4.js.map +1 -1
  48. package/dist/utility/MatrixSizeError.d.ts +1 -1
  49. package/dist/utility/MatrixSizeError.d.ts.map +1 -1
  50. package/dist/utility/MatrixSizeError.js +1 -1
  51. package/dist/utility/MatrixSizeError.js.map +1 -1
  52. package/dist/utility/VectorSizeError.d.ts +12 -0
  53. package/dist/utility/VectorSizeError.d.ts.map +1 -0
  54. package/dist/utility/VectorSizeError.js +15 -0
  55. package/dist/utility/VectorSizeError.js.map +1 -0
  56. package/dist/utility/createAxisAngleLike.d.ts +10 -0
  57. package/dist/utility/createAxisAngleLike.d.ts.map +1 -0
  58. package/dist/utility/createAxisAngleLike.js +10 -0
  59. package/dist/utility/createAxisAngleLike.js.map +1 -0
  60. package/package.json +8 -10
  61. package/src/index.ts +16 -0
  62. package/src/linalg/DualQuaternion.ts +51 -134
  63. package/src/linalg/Matrix2.ts +32 -83
  64. package/src/linalg/Matrix3.ts +55 -149
  65. package/src/linalg/Matrix4.ts +136 -292
  66. package/src/linalg/Quaternion.ts +62 -153
  67. package/src/linalg/SlowMatrix.ts +82 -81
  68. package/src/linalg/SlowSquareMatrix.ts +1 -1
  69. package/src/linalg/SlowVector.ts +449 -0
  70. package/src/linalg/Vector.ts +21 -16
  71. package/src/linalg/Vector2.ts +84 -147
  72. package/src/linalg/Vector3.ts +102 -188
  73. package/src/linalg/Vector4.ts +88 -137
  74. package/src/utility/MatrixSizeError.ts +1 -1
  75. package/src/utility/VectorSizeError.ts +14 -0
  76. package/src/utility/createAxisAngleLike.ts +13 -0
@@ -1,6 +1,7 @@
1
1
  import { createMatrix3Like, fromValues as matrix3FromValues } from "./Matrix3.js";
2
2
  import Vector3, { createVector3Like, cross as vector3Cross, dot as vector3Dot, fromValues as vector3FromValues, getMagnitude as vector3GetMagnitude, normalize as vector3Normalize } from "./Vector3.js";
3
3
  import { add as vector4Add, copy as vector4Copy, dot as vector4Dot, exactEquals as vector4ExactEquals, fromValues as vector4FromValues, getMagnitude as vector4GetMagnitude, getSquaredMagnitude as vector4GetSquaredMagnitude, lerp as vector4Lerp, normalize as vector4Normalize, scale as vector4Scale } from "./Vector4.js";
4
+ import createAxisAngleLike from "../utility/createAxisAngleLike.js";
4
5
  import epsilon from "../utility/epsilon.js";
5
6
  import radiansToDegrees from "../algorithms/radiansToDegrees.js";
6
7
  /**
@@ -514,7 +515,7 @@ export const exp = (quaternion, out) => {
514
515
  const x = quaternion[0];
515
516
  const y = quaternion[1];
516
517
  const z = quaternion[2];
517
- const r = Math.sqrt(x * x + y * y + z * z); // `Math.hypot` is slower.
518
+ const r = Math.hypot(x, y, z);
518
519
  const et = Math.exp(quaternion[3]);
519
520
  const s = r > 0 ? (et * Math.sin(r)) / r : 0;
520
521
  return fromValues(x * s, y * s, z * s, et * Math.cos(r), out);
@@ -532,7 +533,7 @@ export const ln = (quaternion, out) => {
532
533
  const z = quaternion[2];
533
534
  const w = quaternion[3];
534
535
  const xyz2 = x * x + y * y + z * z;
535
- const r = Math.sqrt(xyz2); // `Math.hypot` is slower.
536
+ const r = Math.sqrt(xyz2);
536
537
  const t = r > 0 ? Math.atan2(r, w) / r : 0;
537
538
  return fromValues(x * t, y * t, z * t, Math.log(xyz2 + w * w) / 2, out);
538
539
  };
@@ -685,24 +686,22 @@ export default class Quaternion extends Float32Array {
685
686
  /**
686
687
  * Create a quaternion from a three-by-three rotation matrix.
687
688
  * @param matrix - The matrix.
688
- * @param out - The quaternion to store the result in.
689
689
  * @returns The quaternion.
690
690
  * @see {@link https://en.wikipedia.org/wiki/Rotation_matrix | Rotation matrix}
691
691
  */
692
- static fromMatrix3(matrix, out = new Quaternion()) {
693
- return fromMatrix3(matrix, out);
692
+ static fromMatrix3(matrix) {
693
+ return fromMatrix3(matrix, new Quaternion());
694
694
  }
695
695
  /**
696
696
  * Create a quaternion from equivalent z-y'-x" (intrinsic) Tait-Bryan angles.
697
697
  * @param z - The z (roll) angle.
698
698
  * @param y - The y (pitch) angle.
699
699
  * @param x - The x (yaw) angle.
700
- * @param out - The quaternion to store the result in.
701
700
  * @returns The quaternion.
702
701
  * @see {@link https://en.wikipedia.org/wiki/Euler_angles | Euler angles}
703
702
  */
704
- static fromEuler(z, y, x, out = new Quaternion()) {
705
- return fromEuler(z, y, x, out);
703
+ static fromEuler(z, y, x) {
704
+ return fromEuler(z, y, x, new Quaternion());
706
705
  }
707
706
  /**
708
707
  * Create a quaternion with the given values.
@@ -710,32 +709,29 @@ export default class Quaternion extends Float32Array {
710
709
  * @param y - The second component.
711
710
  * @param z - The third component.
712
711
  * @param w - The fourth component.
713
- * @param out - The quaternion to store the result in.
714
712
  * @returns A new quaternion.
715
713
  */
716
- static fromValues(x, y, z, w, out = new Quaternion()) {
717
- return fromValues(x, y, z, w, out);
714
+ static fromValues(x, y, z, w) {
715
+ return fromValues(x, y, z, w, new Quaternion());
718
716
  }
719
717
  /**
720
718
  * Create a quaternion with values corresponding to the given orthonormal set of vectors.
721
719
  * @param view - The vector representing the viewing direction.
722
720
  * @param right - The vector representing the local "right" direction.
723
721
  * @param up - The vector representing the local "up" direction.
724
- * @param out - The quaternion to store the result in.
725
722
  * @returns The quaternion.
726
723
  */
727
- static fromAxes(view, right, up, out = new Quaternion()) {
728
- return fromAxes(view, right, up, out);
724
+ static fromAxes(view, right, up) {
725
+ return fromAxes(view, right, up, new Quaternion());
729
726
  }
730
727
  /**
731
728
  * Create a unit quaternion that represents the shortest rotation from one unit vector to another.
732
729
  * @param a - The first unit vector.
733
730
  * @param b - The second unit vector.
734
- * @param out - The quaternion to store the result in.
735
731
  * @returns The unit quaternion.
736
732
  */
737
- static fromRotationTo(a, b, out = new Quaternion()) {
738
- return fromRotationTo(a, b, out);
733
+ static fromRotationTo(a, b) {
734
+ return fromRotationTo(a, b, new Quaternion());
739
735
  }
740
736
  /**
741
737
  * Create an identity quaternion.
@@ -760,21 +756,12 @@ export default class Quaternion extends Float32Array {
760
756
  identity() {
761
757
  return identity(this);
762
758
  }
763
- /**
764
- * Get the axis and angle that represent this quaternion.
765
- * @param out - The axis and angle to store the result in.
766
- * @returns The axis and angle.
767
- */
768
- getAxisAngle(out = {}) {
769
- return getAxisAngle(this, out);
759
+ /** The axis and angle that represent this quaternion. */
760
+ get axisAngle() {
761
+ return getAxisAngle(this, createAxisAngleLike());
770
762
  }
771
- /**
772
- * Set the axis and angle that represent this quaternion.
773
- * @param axisAngle - The axis and angle.
774
- * @returns This quaternion.
775
- */
776
- setAxisAngle(axisAngle) {
777
- return setAxisAngle(axisAngle, this);
763
+ set axisAngle(value) {
764
+ setAxisAngle(value, this);
778
765
  }
779
766
  /**
780
767
  * Get the angular distance between this unit quaternion and another.
@@ -787,82 +774,73 @@ export default class Quaternion extends Float32Array {
787
774
  /**
788
775
  * Multiply this and another quaternion.
789
776
  * @param quaternion - The other quaternion.
790
- * @param out - The quaternion to store the result in.
791
777
  * @returns The product.
792
778
  */
793
- multiply(quaternion, out = new Quaternion()) {
794
- return multiply(this, quaternion, out);
779
+ multiply(quaternion) {
780
+ return multiply(this, quaternion, new Quaternion());
795
781
  }
796
782
  /**
797
783
  * Rotate this quaternion by the given angle around the X-axis.
798
784
  * @param r - The angle in radians.
799
- * @param out - The quaternion to store the result in.
800
785
  * @returns The rotated quaternion.
801
786
  */
802
- rotateX(r, out = new Quaternion()) {
803
- return rotateX(this, r, out);
787
+ rotateX(r) {
788
+ return rotateX(this, r, new Quaternion());
804
789
  }
805
790
  /**
806
791
  * Rotate this quaternion by the given angle around the Y-axis.
807
792
  * @param r - The angle in radians.
808
- * @param out - The quaternion to store the result in.
809
793
  * @returns The rotated quaternion.
810
794
  */
811
- rotateY(r, out = new Quaternion()) {
812
- return rotateY(this, r, out);
795
+ rotateY(r) {
796
+ return rotateY(this, r, new Quaternion());
813
797
  }
814
798
  /**
815
799
  * Rotate this quaternion by the given angle around the Z-axis.
816
800
  * @param r - The angle in radians.
817
- * @param out - The quaternion to store the result in.
818
801
  * @returns The rotated quaternion.
819
802
  */
820
- rotateZ(r, out = new Quaternion()) {
821
- return rotateZ(this, r, out);
803
+ rotateZ(r) {
804
+ return rotateZ(this, r, new Quaternion());
822
805
  }
823
806
  /**
824
807
  * Calculate the fourth component of this unit quaternion from the first three, ignoring the existing fourth component.
825
- * @param out - The quaternion to store the result in.
826
808
  * @returns The quaternion.
827
809
  */
828
- calculateW(out = new Quaternion()) {
829
- return calculateW(this, out);
810
+ calculateW() {
811
+ return calculateW(this, new Quaternion());
830
812
  }
831
813
  /**
832
814
  * Calculate the exponential of this unit quaternion.
833
- * @param out - The quaternion to store the result in.
834
815
  * @returns The exponential.
835
816
  */
836
- exp(out = new Quaternion()) {
837
- return exp(this, out);
817
+ exp() {
818
+ return exp(this, new Quaternion());
838
819
  }
839
820
  /**
840
821
  * Calculate the natural logarithm of this unit quaternion.
841
- * @param out - The quaternion to store the result in.
842
822
  * @returns The natural logarithm.
843
823
  */
844
- ln(out = new Quaternion()) {
845
- return ln(this, out);
824
+ ln() {
825
+ return ln(this, new Quaternion());
846
826
  }
847
827
  /**
848
828
  * Calculate a power of this unit quaternion.
849
829
  * @param scalar - The amount to scale the quaternion by.
850
- * @param out - The quaternion to store the result in.
851
830
  * @returns The power.
852
831
  */
853
- pow(scalar, out = new Quaternion()) {
854
- return pow(this, scalar, out);
832
+ pow(scalar) {
833
+ return pow(this, scalar, new Quaternion());
855
834
  }
856
835
  /**
857
836
  * Perform a spherical linear interpolation between this and another quaternion.
858
837
  * @param quaternion - The other quaternion.
859
838
  * @param t - The interpolation amount in `[0,1]`.
860
- * @param out - The quaternion to store the result in.
861
839
  * @returns The interpolated quaternion.
862
840
  * @see {@link https://en.wikipedia.org/wiki/Slerp | Slerp}
863
841
  */
864
- slerp(quaternion, t, out = new Quaternion()) {
865
- return slerp(this, quaternion, t, out);
842
+ slerp(quaternion, t) {
843
+ return slerp(this, quaternion, t, new Quaternion());
866
844
  }
867
845
  /**
868
846
  * Set this to a random unit quaternion.
@@ -873,27 +851,24 @@ export default class Quaternion extends Float32Array {
873
851
  }
874
852
  /**
875
853
  * Calculate the inverse of this quaternion. If the quaternion is normalized, the conjugate is the same but faster to calculate.
876
- * @param out - The quaternion to store the result in.
877
854
  * @returns The inverse.
878
855
  */
879
- invert(out = new Quaternion()) {
880
- return invert(this, out);
856
+ invert() {
857
+ return invert(this, new Quaternion());
881
858
  }
882
859
  /**
883
860
  * Calculate the conjugate of this quaternion. If the quaternion is normalized, this is the same as the inverse but faster to calculate.
884
- * @param out - The quaternion to store the result in.
885
861
  * @returns The conjugate.
886
862
  */
887
- conjugate(out = new Quaternion()) {
888
- return conjugate(this, out);
863
+ conjugate() {
864
+ return conjugate(this, new Quaternion());
889
865
  }
890
866
  /**
891
867
  * Copy the values from this quaternion to another one.
892
- * @param out - The quaternion to store the result in.
893
868
  * @returns The copy.
894
869
  */
895
- clone(out = new Quaternion()) {
896
- return copy(this, out);
870
+ clone() {
871
+ return copy(this, new Quaternion());
897
872
  }
898
873
  /**
899
874
  * Copy the values of another quaternion into this one.
@@ -906,20 +881,18 @@ export default class Quaternion extends Float32Array {
906
881
  /**
907
882
  * Add two quaternions of the same size.
908
883
  * @param quaternion - The other quaternion.
909
- * @param out - The quaternion to store the result in.
910
884
  * @returns The sum of the quaternions.
911
885
  */
912
- add(quaternion, out = new Quaternion()) {
913
- return add(this, quaternion, out);
886
+ add(quaternion) {
887
+ return add(this, quaternion, new Quaternion());
914
888
  }
915
889
  /**
916
890
  * Scale this quaternion by a scalar.
917
891
  * @param scalar - The scalar.
918
- * @param out - The quaternion to store the result in.
919
892
  * @returns The scaled quaternion.
920
893
  */
921
- scale(scalar, out = new Quaternion()) {
922
- return scale(this, scalar, out);
894
+ scale(scalar) {
895
+ return scale(this, scalar, new Quaternion());
923
896
  }
924
897
  /**
925
898
  * Calculate the dot product of this and another quaternion.
@@ -933,11 +906,10 @@ export default class Quaternion extends Float32Array {
933
906
  * Perform a linear interpolation between this and another quaternion.
934
907
  * @param quaternion - The other quaternion.
935
908
  * @param t - The interpolation amount (in `[0,1]`).
936
- * @param out - The quaternion to store the result in.
937
909
  * @returns The interpolated quaternion.
938
910
  */
939
- lerp(quaternion, t, out = new Quaternion()) {
940
- return lerp(this, quaternion, t, out);
911
+ lerp(quaternion, t) {
912
+ return lerp(this, quaternion, t, new Quaternion());
941
913
  }
942
914
  /** Get the magnitude (length) of this quaternion. */
943
915
  get magnitude() {
@@ -949,11 +921,10 @@ export default class Quaternion extends Float32Array {
949
921
  }
950
922
  /**
951
923
  * Normalize this quaternion.
952
- * @param out - The quaternion to store the result in.
953
924
  * @returns The normalized quaternion.
954
925
  */
955
- normalize(out = new Quaternion()) {
956
- return normalize(this, out);
926
+ normalize() {
927
+ return normalize(this, new Quaternion());
957
928
  }
958
929
  /**
959
930
  * Determine whether or not this quaternion is roughly equivalent to another.
@@ -977,20 +948,18 @@ export default class Quaternion extends Float32Array {
977
948
  * @param b - The second control point.
978
949
  * @param quaternion - The other quaternion.
979
950
  * @param t - The interpolation amount in `[0,1]`.
980
- * @param out - The quaternion to store the result in.
981
951
  * @returns The interpolated value.
982
952
  * @see {@link https://en.wikipedia.org/wiki/Slerp | Slerp}
983
953
  */
984
- sqlerp(a, b, quaternion, t, out = new Quaternion()) {
985
- return sqlerp(this, a, b, quaternion, t, out);
954
+ sqlerp(a, b, quaternion, t) {
955
+ return sqlerp(this, a, b, quaternion, t, new Quaternion());
986
956
  }
987
957
  /**
988
958
  * Convert this quaternion to equivalent z-y'-x" (intrinsic) Tait-Bryan angles.
989
- * @param out - The vector in which to store the Tait-Bryan angles.
990
959
  * @returns The Tait-Bryan angles in degrees in roll (z), pitch (y'), yaw (x") order.
991
960
  */
992
- toEuler(out = new Vector3()) {
993
- return toEuler(this, out);
961
+ toEuler() {
962
+ return toEuler(this, new Vector3());
994
963
  }
995
964
  }
996
965
  //# sourceMappingURL=Quaternion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Quaternion.js","sourceRoot":"","sources":["../../src/linalg/Quaternion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Quaternion.js","sourceRoot":"","sources":["../../src/linalg/Quaternion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlowMatrix.d.ts","sourceRoot":"","sources":["../../src/linalg/SlowMatrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKjE;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAa,YAAW,MAAM;IACrE;;;OAGG;gBACgB,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IAqBtC,yCAAyC;IACzC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;;;OAKG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAsB1C;;;OAGG;IACI,KAAK,IAAI,UAAU;IAe1B;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAoBrC;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAqB1C;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAgB/C;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IA8B/C;;;;;OAKG;IACI,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAajD;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU;IAS3E;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAsB/C;;;;OAIG;IACI,SAAS,IAAI,UAAU;CAc9B"}
1
+ {"version":3,"file":"SlowMatrix.d.ts","sourceRoot":"","sources":["../../src/linalg/SlowMatrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA2BjE;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAa,YAAW,MAAM;IACrE;;;OAGG;gBACgB,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;IActC,yCAAyC;IACzC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;;;OAKG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAoB1C;;;OAGG;IACI,KAAK,IAAI,UAAU;IAW1B;;;;OAIG;IACI,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAgBrC;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAkB1C;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAkB/C;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IA0B/C;;;;;OAKG;IACI,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IASjD;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU;IAoB3E;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAoB/C;;;;OAIG;IACI,SAAS,IAAI,UAAU;CAU9B"}