linearly 0.24.3 → 0.26.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.
- package/lib/cjs/mat2.d.ts +90 -42
- package/lib/cjs/mat2.d.ts.map +1 -1
- package/lib/cjs/mat2.js +94 -46
- package/lib/cjs/mat2d.d.ts +109 -55
- package/lib/cjs/mat2d.d.ts.map +1 -1
- package/lib/cjs/mat2d.js +112 -58
- package/lib/cjs/mat3.d.ts +93 -45
- package/lib/cjs/mat3.d.ts.map +1 -1
- package/lib/cjs/mat3.js +96 -48
- package/lib/cjs/mat4.d.ts +93 -45
- package/lib/cjs/mat4.d.ts.map +1 -1
- package/lib/cjs/mat4.js +96 -48
- package/lib/cjs/quat.d.ts +62 -29
- package/lib/cjs/quat.d.ts.map +1 -1
- package/lib/cjs/quat.js +64 -31
- package/lib/cjs/scalar.d.ts +164 -54
- package/lib/cjs/scalar.d.ts.map +1 -1
- package/lib/cjs/scalar.js +192 -62
- package/lib/cjs/vec2.d.ts +176 -72
- package/lib/cjs/vec2.d.ts.map +1 -1
- package/lib/cjs/vec2.js +208 -105
- package/lib/cjs/vec3.d.ts +183 -82
- package/lib/cjs/vec3.d.ts.map +1 -1
- package/lib/cjs/vec3.js +210 -93
- package/lib/cjs/vec4.d.ts +159 -67
- package/lib/cjs/vec4.d.ts.map +1 -1
- package/lib/cjs/vec4.js +189 -78
- package/lib/esm/mat2.d.ts +90 -42
- package/lib/esm/mat2.d.ts.map +1 -1
- package/lib/esm/mat2.js +94 -46
- package/lib/esm/mat2d.d.ts +109 -55
- package/lib/esm/mat2d.d.ts.map +1 -1
- package/lib/esm/mat2d.js +112 -58
- package/lib/esm/mat3.d.ts +93 -45
- package/lib/esm/mat3.d.ts.map +1 -1
- package/lib/esm/mat3.js +96 -48
- package/lib/esm/mat4.d.ts +93 -45
- package/lib/esm/mat4.d.ts.map +1 -1
- package/lib/esm/mat4.js +96 -48
- package/lib/esm/quat.d.ts +62 -29
- package/lib/esm/quat.d.ts.map +1 -1
- package/lib/esm/quat.js +64 -31
- package/lib/esm/scalar.d.ts +164 -54
- package/lib/esm/scalar.d.ts.map +1 -1
- package/lib/esm/scalar.js +192 -62
- package/lib/esm/vec2.d.ts +176 -72
- package/lib/esm/vec2.d.ts.map +1 -1
- package/lib/esm/vec2.js +208 -105
- package/lib/esm/vec3.d.ts +183 -82
- package/lib/esm/vec3.d.ts.map +1 -1
- package/lib/esm/vec3.js +210 -93
- package/lib/esm/vec4.d.ts +159 -67
- package/lib/esm/vec4.d.ts.map +1 -1
- package/lib/esm/vec4.js +189 -78
- package/package.json +1 -1
package/lib/cjs/mat2d.d.ts
CHANGED
|
@@ -63,8 +63,22 @@ export declare namespace mat2d {
|
|
|
63
63
|
* 0, 0]
|
|
64
64
|
* ```
|
|
65
65
|
* @category Constants
|
|
66
|
+
*
|
|
67
|
+
* @shorthands
|
|
68
|
+
* - {@link id}
|
|
69
|
+
* - {@link ident}
|
|
66
70
|
*/
|
|
67
71
|
const identity: mat2d;
|
|
72
|
+
/**
|
|
73
|
+
* Alias for {@link identity}
|
|
74
|
+
* @category Shorthands
|
|
75
|
+
*/
|
|
76
|
+
const id: mat2d;
|
|
77
|
+
/**
|
|
78
|
+
* Alias for {@link identity}
|
|
79
|
+
* @category Shorthands
|
|
80
|
+
*/
|
|
81
|
+
const ident: mat2d;
|
|
68
82
|
/**
|
|
69
83
|
* The mat2d matrix filled with zeros.
|
|
70
84
|
* @category Constants
|
|
@@ -72,16 +86,40 @@ export declare namespace mat2d {
|
|
|
72
86
|
const zero: mat2d;
|
|
73
87
|
/**
|
|
74
88
|
* Inverts a mat2d
|
|
89
|
+
*
|
|
90
|
+
* @shorthands
|
|
91
|
+
* - {@link inv}
|
|
75
92
|
*/
|
|
76
93
|
function invert(a: mat2d): mat2d | null;
|
|
94
|
+
/**
|
|
95
|
+
* Alias for {@link invert}
|
|
96
|
+
* @category Shorthands
|
|
97
|
+
*/
|
|
98
|
+
const inv: typeof invert;
|
|
77
99
|
/**
|
|
78
100
|
* Calculates the determinant of a mat2d
|
|
101
|
+
*
|
|
102
|
+
* @shorthands
|
|
103
|
+
* - {@link det}
|
|
79
104
|
*/
|
|
80
105
|
function determinant(a: mat2d): number;
|
|
106
|
+
/**
|
|
107
|
+
* Alias for {@link determinant}
|
|
108
|
+
* @category Shorthands
|
|
109
|
+
*/
|
|
110
|
+
const det: typeof determinant;
|
|
81
111
|
/**
|
|
82
112
|
* Multiplies given mat2d's
|
|
113
|
+
*
|
|
114
|
+
* @shorthands
|
|
115
|
+
* - {@link mul}
|
|
83
116
|
*/
|
|
84
117
|
function multiply(...ms: mat2d[]): mat2d;
|
|
118
|
+
/**
|
|
119
|
+
* Alias for {@link multiply}
|
|
120
|
+
* @category Shorthands
|
|
121
|
+
*/
|
|
122
|
+
const mul: typeof multiply;
|
|
85
123
|
/**
|
|
86
124
|
* Rotates a mat2d by the given angle
|
|
87
125
|
*/
|
|
@@ -104,24 +142,56 @@ export declare namespace mat2d {
|
|
|
104
142
|
* Creates a matrix from a given angle
|
|
105
143
|
* This is equivalent to (but much faster than):
|
|
106
144
|
* @category Generators
|
|
145
|
+
*
|
|
146
|
+
* @shorthands
|
|
147
|
+
* - {@link rotation}
|
|
107
148
|
*/
|
|
108
149
|
function fromRotation(deg: number, origin?: vec2): mat2d;
|
|
150
|
+
/**
|
|
151
|
+
* Alias for {@link fromRotation}
|
|
152
|
+
* @category Shorthands
|
|
153
|
+
*/
|
|
154
|
+
const rotation: typeof fromRotation;
|
|
109
155
|
/**
|
|
110
156
|
* Creates a matrix from a vector scaling
|
|
111
157
|
* @category Generators
|
|
158
|
+
*
|
|
159
|
+
* @shorthands
|
|
160
|
+
* - {@link scaling}
|
|
112
161
|
*/
|
|
113
162
|
function fromScaling(v: vec2 | number, origin?: vec2): mat2d;
|
|
163
|
+
/**
|
|
164
|
+
* Alias for {@link fromScaling}
|
|
165
|
+
* @category Shorthands
|
|
166
|
+
*/
|
|
167
|
+
const scaling: typeof fromScaling;
|
|
114
168
|
/**
|
|
115
169
|
* Creates a matrix from a vector translation
|
|
116
170
|
* @category Generators
|
|
171
|
+
*
|
|
172
|
+
* @shorthands
|
|
173
|
+
* - {@link translation}
|
|
117
174
|
*/
|
|
118
175
|
function fromTranslation(v: vec2 | number): mat2d;
|
|
176
|
+
/**
|
|
177
|
+
* Alias for {@link fromTranslation}
|
|
178
|
+
* @category Shorthands
|
|
179
|
+
*/
|
|
180
|
+
const translation: typeof fromTranslation;
|
|
119
181
|
/**
|
|
120
182
|
* Creates a matrix from a vector skew
|
|
121
183
|
* https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew
|
|
122
184
|
* @category Generators
|
|
185
|
+
*
|
|
186
|
+
* @shorthands
|
|
187
|
+
* - {@link skewing}
|
|
123
188
|
*/
|
|
124
189
|
function fromSkew(deg: vec2, origin?: vec2): mat2d;
|
|
190
|
+
/**
|
|
191
|
+
* Alias for {@link fromSkew}
|
|
192
|
+
* @category Shorthands
|
|
193
|
+
*/
|
|
194
|
+
const skewing: typeof fromSkew;
|
|
125
195
|
/**
|
|
126
196
|
* Computes a fixed point of the given matrix.
|
|
127
197
|
* @param m The matrix to compute a fixed point of
|
|
@@ -138,8 +208,16 @@ export declare namespace mat2d {
|
|
|
138
208
|
function add(...ms: mat2d[]): mat2d;
|
|
139
209
|
/**
|
|
140
210
|
* Subtracts matrix b from matrix a
|
|
211
|
+
*
|
|
212
|
+
* @shorthands
|
|
213
|
+
* - {@link sub}
|
|
141
214
|
*/
|
|
142
215
|
function subtract(...ms: mat2d[]): mat2d;
|
|
216
|
+
/**
|
|
217
|
+
* Alias for {@link subtract}
|
|
218
|
+
* @category Shorthands
|
|
219
|
+
*/
|
|
220
|
+
const sub: typeof subtract;
|
|
143
221
|
/**
|
|
144
222
|
* Subtracts b from a
|
|
145
223
|
*/
|
|
@@ -171,8 +249,16 @@ export declare namespace mat2d {
|
|
|
171
249
|
* @param r Rotation angle in degrees
|
|
172
250
|
* @param s Scaling vector
|
|
173
251
|
* @returns The matrix that represents the transformation
|
|
252
|
+
*
|
|
253
|
+
* @shorthands
|
|
254
|
+
* - {@link trs}
|
|
174
255
|
*/
|
|
175
256
|
function fromTRS(t?: vec2 | null, r?: number | null, s?: vec2 | null): mat2d;
|
|
257
|
+
/**
|
|
258
|
+
* Alias for {@link fromTRS}
|
|
259
|
+
* @category Shorthands
|
|
260
|
+
*/
|
|
261
|
+
const trs: typeof fromTRS;
|
|
176
262
|
/**
|
|
177
263
|
* Copies a the values from {@link mat2}, assuming the translation component is `[0, 0]`
|
|
178
264
|
* @param m The matrix to convert
|
|
@@ -182,72 +268,40 @@ export declare namespace mat2d {
|
|
|
182
268
|
function fromMat2(m: mat2): mat2d;
|
|
183
269
|
/**
|
|
184
270
|
* Returns whether or not the matrices have exactly the same elements in the same position (when compared with `===`)
|
|
271
|
+
*
|
|
272
|
+
* @shorthands
|
|
273
|
+
* - {@link eq}
|
|
185
274
|
*/
|
|
186
275
|
function exactEquals(a: mat2d, b: mat2d): boolean;
|
|
187
276
|
/**
|
|
188
|
-
*
|
|
189
|
-
|
|
190
|
-
function equals(a: mat2d, b: mat2d): boolean;
|
|
191
|
-
/**
|
|
192
|
-
* Returns a string representation of a mat2d
|
|
193
|
-
* @param m matrix to represent as a string
|
|
194
|
-
* @param fractionDigits number of digits to appear after the decimal point
|
|
195
|
-
*/
|
|
196
|
-
const toString: (m: mat2d, fractionDigits?: number) => string;
|
|
197
|
-
/**
|
|
198
|
-
* Alias for {@link identity}
|
|
199
|
-
* @category Aliases
|
|
200
|
-
*/
|
|
201
|
-
const id: mat2d;
|
|
202
|
-
/**
|
|
203
|
-
* Alias for {@link identity}
|
|
204
|
-
* @category Aliases
|
|
205
|
-
*/
|
|
206
|
-
const ident: mat2d;
|
|
207
|
-
/**
|
|
208
|
-
* Alias for {@link subtract}
|
|
209
|
-
* @category Aliases
|
|
210
|
-
*/
|
|
211
|
-
const sub: typeof subtract;
|
|
212
|
-
/**
|
|
213
|
-
* Alias for {@link multiply}
|
|
214
|
-
* @category Aliases
|
|
215
|
-
*/
|
|
216
|
-
const mul: typeof multiply;
|
|
217
|
-
/**
|
|
218
|
-
* Alias for {@link determinant}
|
|
219
|
-
* @category Aliases
|
|
277
|
+
* Alias for {@link exactEquals}
|
|
278
|
+
* @category Shorthands
|
|
220
279
|
*/
|
|
221
|
-
const
|
|
280
|
+
const eq: typeof exactEquals;
|
|
222
281
|
/**
|
|
223
|
-
*
|
|
224
|
-
*
|
|
282
|
+
* Returns whether or not the matrices have approximately the same elements in the same position.
|
|
283
|
+
*
|
|
284
|
+
* @shorthands
|
|
285
|
+
* - {@link approx}
|
|
286
|
+
* - {@link equals}
|
|
225
287
|
*/
|
|
226
|
-
|
|
288
|
+
function approxEquals(a: mat2d, b: mat2d): boolean;
|
|
227
289
|
/**
|
|
228
|
-
* Alias for {@link
|
|
229
|
-
* @category
|
|
290
|
+
* Alias for {@link approxEquals}
|
|
291
|
+
* @category Shorthands
|
|
230
292
|
*/
|
|
231
|
-
const
|
|
293
|
+
const approx: typeof approxEquals;
|
|
232
294
|
/**
|
|
233
|
-
* Alias for {@link
|
|
234
|
-
* @category
|
|
295
|
+
* Alias for {@link approxEquals}. This is provided for compatibility with gl-matrix.
|
|
296
|
+
* @category Shorthands
|
|
297
|
+
* @deprecated Use {@link approxEquals} instead
|
|
235
298
|
*/
|
|
236
|
-
const
|
|
299
|
+
const equals: typeof approxEquals;
|
|
237
300
|
/**
|
|
238
|
-
*
|
|
239
|
-
* @
|
|
240
|
-
|
|
241
|
-
const scaling: typeof fromScaling;
|
|
242
|
-
/**
|
|
243
|
-
* Alias for {@link fromSkew}
|
|
244
|
-
* @category Aliases
|
|
245
|
-
*/
|
|
246
|
-
const skewing: typeof fromSkew;
|
|
247
|
-
/**
|
|
248
|
-
* Alias for {@link fromTRS}
|
|
249
|
-
* @category Aliases
|
|
301
|
+
* Returns a string representation of a mat2d
|
|
302
|
+
* @param m matrix to represent as a string
|
|
303
|
+
* @param fractionDigits number of digits to appear after the decimal point
|
|
250
304
|
*/
|
|
251
|
-
const
|
|
305
|
+
const toString: (m: mat2d, fractionDigits?: number) => string;
|
|
252
306
|
}
|
|
253
307
|
//# sourceMappingURL=mat2d.d.ts.map
|
package/lib/cjs/mat2d.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mat2d.d.ts","sourceRoot":"","sources":["../../src/mat2d.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAE3B;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,KAAK,GAAG,SAAS;IAC5B,CAAC,EAAE,MAAM;IAAE,CAAC,EAAE,MAAM;IACpB,CAAC,EAAE,MAAM;IAAE,CAAC,EAAE,MAAM;IACpB,EAAE,EAAE,MAAM;IAAE,EAAE,EAAE,MAAM;CACtB,CAAA;AAED;;;GAGG;AACH,yBAAiB,KAAK,CAAC;IACtB;;;OAGG;IAEH,KAAY,OAAO,GAAG;QACrB,CAAC,EAAE,MAAM;QAAE,CAAC,EAAE,MAAM;QACpB,CAAC,EAAE,MAAM;QAAE,CAAC,EAAE,MAAM;QACpB,EAAE,EAAE,MAAM;QAAE,EAAE,EAAE,MAAM;KACtB,CAAA;IAED;;;OAGG;IAEH,SAAgB,EAAE,CACjB,CAAC,EAAE,MAAM,EAAG,CAAC,EAAE,MAAM,EACrB,CAAC,EAAE,MAAM,EAAG,CAAC,EAAE,MAAM,EACrB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GACpB,KAAK,CAEP;IAED;;;OAGG;IACH,SAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAEvC;IAED
|
|
1
|
+
{"version":3,"file":"mat2d.d.ts","sourceRoot":"","sources":["../../src/mat2d.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/mat2d.js
CHANGED
|
@@ -58,6 +58,10 @@ var mat2d;
|
|
|
58
58
|
* 0, 0]
|
|
59
59
|
* ```
|
|
60
60
|
* @category Constants
|
|
61
|
+
*
|
|
62
|
+
* @shorthands
|
|
63
|
+
* - {@link id}
|
|
64
|
+
* - {@link ident}
|
|
61
65
|
*/
|
|
62
66
|
// prettier-ignore
|
|
63
67
|
mat2d.identity = Object.freeze([
|
|
@@ -65,6 +69,16 @@ var mat2d;
|
|
|
65
69
|
0, 1,
|
|
66
70
|
0, 0
|
|
67
71
|
]);
|
|
72
|
+
/**
|
|
73
|
+
* Alias for {@link identity}
|
|
74
|
+
* @category Shorthands
|
|
75
|
+
*/
|
|
76
|
+
mat2d.id = mat2d.identity;
|
|
77
|
+
/**
|
|
78
|
+
* Alias for {@link identity}
|
|
79
|
+
* @category Shorthands
|
|
80
|
+
*/
|
|
81
|
+
mat2d.ident = mat2d.identity;
|
|
68
82
|
/**
|
|
69
83
|
* The mat2d matrix filled with zeros.
|
|
70
84
|
* @category Constants
|
|
@@ -72,6 +86,9 @@ var mat2d;
|
|
|
72
86
|
mat2d.zero = Object.freeze([0, 0, 0, 0, 0, 0]);
|
|
73
87
|
/**
|
|
74
88
|
* Inverts a mat2d
|
|
89
|
+
*
|
|
90
|
+
* @shorthands
|
|
91
|
+
* - {@link inv}
|
|
75
92
|
*/
|
|
76
93
|
function invert(a) {
|
|
77
94
|
const [aa, ab, ac, ad, atx, aty] = a;
|
|
@@ -89,15 +106,31 @@ var mat2d;
|
|
|
89
106
|
];
|
|
90
107
|
}
|
|
91
108
|
mat2d.invert = invert;
|
|
109
|
+
/**
|
|
110
|
+
* Alias for {@link invert}
|
|
111
|
+
* @category Shorthands
|
|
112
|
+
*/
|
|
113
|
+
mat2d.inv = invert;
|
|
92
114
|
/**
|
|
93
115
|
* Calculates the determinant of a mat2d
|
|
116
|
+
*
|
|
117
|
+
* @shorthands
|
|
118
|
+
* - {@link det}
|
|
94
119
|
*/
|
|
95
120
|
function determinant(a) {
|
|
96
121
|
return a[0] * a[3] - a[1] * a[2];
|
|
97
122
|
}
|
|
98
123
|
mat2d.determinant = determinant;
|
|
124
|
+
/**
|
|
125
|
+
* Alias for {@link determinant}
|
|
126
|
+
* @category Shorthands
|
|
127
|
+
*/
|
|
128
|
+
mat2d.det = determinant;
|
|
99
129
|
/**
|
|
100
130
|
* Multiplies given mat2d's
|
|
131
|
+
*
|
|
132
|
+
* @shorthands
|
|
133
|
+
* - {@link mul}
|
|
101
134
|
*/
|
|
102
135
|
function multiply(...ms) {
|
|
103
136
|
if (ms.length === 0) {
|
|
@@ -122,6 +155,11 @@ var mat2d;
|
|
|
122
155
|
];
|
|
123
156
|
}
|
|
124
157
|
mat2d.multiply = multiply;
|
|
158
|
+
/**
|
|
159
|
+
* Alias for {@link multiply}
|
|
160
|
+
* @category Shorthands
|
|
161
|
+
*/
|
|
162
|
+
mat2d.mul = multiply;
|
|
125
163
|
/**
|
|
126
164
|
* Rotates a mat2d by the given angle
|
|
127
165
|
*/
|
|
@@ -190,6 +228,9 @@ var mat2d;
|
|
|
190
228
|
* Creates a matrix from a given angle
|
|
191
229
|
* This is equivalent to (but much faster than):
|
|
192
230
|
* @category Generators
|
|
231
|
+
*
|
|
232
|
+
* @shorthands
|
|
233
|
+
* - {@link rotation}
|
|
193
234
|
*/
|
|
194
235
|
function fromRotation(deg, origin) {
|
|
195
236
|
if (origin) {
|
|
@@ -205,9 +246,17 @@ var mat2d;
|
|
|
205
246
|
];
|
|
206
247
|
}
|
|
207
248
|
mat2d.fromRotation = fromRotation;
|
|
249
|
+
/**
|
|
250
|
+
* Alias for {@link fromRotation}
|
|
251
|
+
* @category Shorthands
|
|
252
|
+
*/
|
|
253
|
+
mat2d.rotation = fromRotation;
|
|
208
254
|
/**
|
|
209
255
|
* Creates a matrix from a vector scaling
|
|
210
256
|
* @category Generators
|
|
257
|
+
*
|
|
258
|
+
* @shorthands
|
|
259
|
+
* - {@link scaling}
|
|
211
260
|
*/
|
|
212
261
|
function fromScaling(v, origin) {
|
|
213
262
|
if (origin) {
|
|
@@ -222,9 +271,17 @@ var mat2d;
|
|
|
222
271
|
];
|
|
223
272
|
}
|
|
224
273
|
mat2d.fromScaling = fromScaling;
|
|
274
|
+
/**
|
|
275
|
+
* Alias for {@link fromScaling}
|
|
276
|
+
* @category Shorthands
|
|
277
|
+
*/
|
|
278
|
+
mat2d.scaling = fromScaling;
|
|
225
279
|
/**
|
|
226
280
|
* Creates a matrix from a vector translation
|
|
227
281
|
* @category Generators
|
|
282
|
+
*
|
|
283
|
+
* @shorthands
|
|
284
|
+
* - {@link translation}
|
|
228
285
|
*/
|
|
229
286
|
function fromTranslation(v) {
|
|
230
287
|
const [x, y] = typeof v === 'number' ? [v, v] : v;
|
|
@@ -236,10 +293,18 @@ var mat2d;
|
|
|
236
293
|
];
|
|
237
294
|
}
|
|
238
295
|
mat2d.fromTranslation = fromTranslation;
|
|
296
|
+
/**
|
|
297
|
+
* Alias for {@link fromTranslation}
|
|
298
|
+
* @category Shorthands
|
|
299
|
+
*/
|
|
300
|
+
mat2d.translation = fromTranslation;
|
|
239
301
|
/**
|
|
240
302
|
* Creates a matrix from a vector skew
|
|
241
303
|
* https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew
|
|
242
304
|
* @category Generators
|
|
305
|
+
*
|
|
306
|
+
* @shorthands
|
|
307
|
+
* - {@link skewing}
|
|
243
308
|
*/
|
|
244
309
|
function fromSkew(deg, origin) {
|
|
245
310
|
if (origin) {
|
|
@@ -256,6 +321,11 @@ var mat2d;
|
|
|
256
321
|
];
|
|
257
322
|
}
|
|
258
323
|
mat2d.fromSkew = fromSkew;
|
|
324
|
+
/**
|
|
325
|
+
* Alias for {@link fromSkew}
|
|
326
|
+
* @category Shorthands
|
|
327
|
+
*/
|
|
328
|
+
mat2d.skewing = fromSkew;
|
|
259
329
|
/**
|
|
260
330
|
* Computes a fixed point of the given matrix.
|
|
261
331
|
* @param m The matrix to compute a fixed point of
|
|
@@ -301,6 +371,9 @@ var mat2d;
|
|
|
301
371
|
mat2d.add = add;
|
|
302
372
|
/**
|
|
303
373
|
* Subtracts matrix b from matrix a
|
|
374
|
+
*
|
|
375
|
+
* @shorthands
|
|
376
|
+
* - {@link sub}
|
|
304
377
|
*/
|
|
305
378
|
function subtract(...ms) {
|
|
306
379
|
if (ms.length === 0) {
|
|
@@ -324,6 +397,11 @@ var mat2d;
|
|
|
324
397
|
];
|
|
325
398
|
}
|
|
326
399
|
mat2d.subtract = subtract;
|
|
400
|
+
/**
|
|
401
|
+
* Alias for {@link subtract}
|
|
402
|
+
* @category Shorthands
|
|
403
|
+
*/
|
|
404
|
+
mat2d.sub = subtract;
|
|
327
405
|
/**
|
|
328
406
|
* Subtracts b from a
|
|
329
407
|
*/
|
|
@@ -417,6 +495,9 @@ var mat2d;
|
|
|
417
495
|
* @param r Rotation angle in degrees
|
|
418
496
|
* @param s Scaling vector
|
|
419
497
|
* @returns The matrix that represents the transformation
|
|
498
|
+
*
|
|
499
|
+
* @shorthands
|
|
500
|
+
* - {@link trs}
|
|
420
501
|
*/
|
|
421
502
|
function fromTRS(t = null, r = null, s = null) {
|
|
422
503
|
t ??= vec2_1.vec2.zero;
|
|
@@ -427,6 +508,11 @@ var mat2d;
|
|
|
427
508
|
return [s[0] * C, s[0] * S, s[1] * -S, s[1] * C, ...t];
|
|
428
509
|
}
|
|
429
510
|
mat2d.fromTRS = fromTRS;
|
|
511
|
+
/**
|
|
512
|
+
* Alias for {@link fromTRS}
|
|
513
|
+
* @category Shorthands
|
|
514
|
+
*/
|
|
515
|
+
mat2d.trs = fromTRS;
|
|
430
516
|
/**
|
|
431
517
|
* Copies a the values from {@link mat2}, assuming the translation component is `[0, 0]`
|
|
432
518
|
* @param m The matrix to convert
|
|
@@ -439,6 +525,9 @@ var mat2d;
|
|
|
439
525
|
mat2d.fromMat2 = fromMat2;
|
|
440
526
|
/**
|
|
441
527
|
* Returns whether or not the matrices have exactly the same elements in the same position (when compared with `===`)
|
|
528
|
+
*
|
|
529
|
+
* @shorthands
|
|
530
|
+
* - {@link eq}
|
|
442
531
|
*/
|
|
443
532
|
function exactEquals(a, b) {
|
|
444
533
|
return (a[0] === b[0] &&
|
|
@@ -449,10 +538,19 @@ var mat2d;
|
|
|
449
538
|
a[5] === b[5]);
|
|
450
539
|
}
|
|
451
540
|
mat2d.exactEquals = exactEquals;
|
|
541
|
+
/**
|
|
542
|
+
* Alias for {@link exactEquals}
|
|
543
|
+
* @category Shorthands
|
|
544
|
+
*/
|
|
545
|
+
mat2d.eq = exactEquals;
|
|
452
546
|
/**
|
|
453
547
|
* Returns whether or not the matrices have approximately the same elements in the same position.
|
|
548
|
+
*
|
|
549
|
+
* @shorthands
|
|
550
|
+
* - {@link approx}
|
|
551
|
+
* - {@link equals}
|
|
454
552
|
*/
|
|
455
|
-
function
|
|
553
|
+
function approxEquals(a, b) {
|
|
456
554
|
const [a0, a1, a2, a3, a4, a5] = a;
|
|
457
555
|
const [b0, b1, b2, b3, b4, b5] = b;
|
|
458
556
|
return (Math.abs(a0 - b0) <=
|
|
@@ -468,67 +566,23 @@ var mat2d;
|
|
|
468
566
|
Math.abs(a5 - b5) <=
|
|
469
567
|
Common.EPSILON * Math.max(1, Math.abs(a5), Math.abs(b5)));
|
|
470
568
|
}
|
|
471
|
-
mat2d.
|
|
472
|
-
/**
|
|
473
|
-
* Returns a string representation of a mat2d
|
|
474
|
-
* @param m matrix to represent as a string
|
|
475
|
-
* @param fractionDigits number of digits to appear after the decimal point
|
|
476
|
-
*/
|
|
477
|
-
mat2d.toString = Common.createMatToStringFunction(2, 3);
|
|
478
|
-
/**
|
|
479
|
-
* Alias for {@link identity}
|
|
480
|
-
* @category Aliases
|
|
481
|
-
*/
|
|
482
|
-
mat2d.id = mat2d.identity;
|
|
483
|
-
/**
|
|
484
|
-
* Alias for {@link identity}
|
|
485
|
-
* @category Aliases
|
|
486
|
-
*/
|
|
487
|
-
mat2d.ident = mat2d.identity;
|
|
488
|
-
/**
|
|
489
|
-
* Alias for {@link subtract}
|
|
490
|
-
* @category Aliases
|
|
491
|
-
*/
|
|
492
|
-
mat2d.sub = subtract;
|
|
569
|
+
mat2d.approxEquals = approxEquals;
|
|
493
570
|
/**
|
|
494
|
-
* Alias for {@link
|
|
495
|
-
* @category
|
|
571
|
+
* Alias for {@link approxEquals}
|
|
572
|
+
* @category Shorthands
|
|
496
573
|
*/
|
|
497
|
-
mat2d.
|
|
574
|
+
mat2d.approx = approxEquals;
|
|
498
575
|
/**
|
|
499
|
-
* Alias for {@link
|
|
500
|
-
* @category
|
|
576
|
+
* Alias for {@link approxEquals}. This is provided for compatibility with gl-matrix.
|
|
577
|
+
* @category Shorthands
|
|
578
|
+
* @deprecated Use {@link approxEquals} instead
|
|
501
579
|
*/
|
|
502
|
-
mat2d.
|
|
580
|
+
mat2d.equals = approxEquals;
|
|
503
581
|
/**
|
|
504
|
-
*
|
|
505
|
-
* @
|
|
506
|
-
|
|
507
|
-
mat2d.inv = invert;
|
|
508
|
-
/**
|
|
509
|
-
* Alias for {@link fromTranslation}
|
|
510
|
-
* @category Aliases
|
|
511
|
-
*/
|
|
512
|
-
mat2d.translation = fromTranslation;
|
|
513
|
-
/**
|
|
514
|
-
* Alias for {@link fromRotation}
|
|
515
|
-
* @category Aliases
|
|
516
|
-
*/
|
|
517
|
-
mat2d.rotation = fromRotation;
|
|
518
|
-
/**
|
|
519
|
-
* Alias for {@link fromScaling}
|
|
520
|
-
* @category Aliases
|
|
521
|
-
*/
|
|
522
|
-
mat2d.scaling = fromScaling;
|
|
523
|
-
/**
|
|
524
|
-
* Alias for {@link fromSkew}
|
|
525
|
-
* @category Aliases
|
|
526
|
-
*/
|
|
527
|
-
mat2d.skewing = fromSkew;
|
|
528
|
-
/**
|
|
529
|
-
* Alias for {@link fromTRS}
|
|
530
|
-
* @category Aliases
|
|
582
|
+
* Returns a string representation of a mat2d
|
|
583
|
+
* @param m matrix to represent as a string
|
|
584
|
+
* @param fractionDigits number of digits to appear after the decimal point
|
|
531
585
|
*/
|
|
532
|
-
mat2d.
|
|
586
|
+
mat2d.toString = Common.createMatToStringFunction(2, 3);
|
|
533
587
|
})(mat2d || (exports.mat2d = mat2d = {}));
|
|
534
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0MmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0MmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBa0M7QUFDbEMsaUNBQTJCO0FBQzNCLGlDQUEyQjtBQTZCM0I7OztHQUdHO0FBQ0gsSUFBaUIsS0FBSyxDQXNrQnJCO0FBdGtCRCxXQUFpQixLQUFLO0lBWXJCOzs7T0FHRztJQUNILGtCQUFrQjtJQUNsQixTQUFnQixFQUFFLENBQ2pCLENBQVMsRUFBRyxDQUFTLEVBQ3JCLENBQVMsRUFBRyxDQUFTLEVBQ3JCLEVBQVUsRUFBRSxFQUFVO1FBRXRCLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFOZSxRQUFFLEtBTWpCLENBQUE7SUFFRDs7O09BR0c7SUFDSCxTQUFnQixLQUFLLENBQUMsQ0FBUTtRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNkLENBQUM7SUFGZSxXQUFLLFFBRXBCLENBQUE7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGtCQUFrQjtJQUNMLGNBQVEsR0FBVSxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzVDLENBQUMsRUFBRSxDQUFDO1FBQ0osQ0FBQyxFQUFFLENBQUM7UUFDSixDQUFDLEVBQUUsQ0FBQztLQUNKLENBQUMsQ0FBQTtJQUVGOzs7T0FHRztJQUNVLFVBQUksR0FBVSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRTVEOztPQUVHO0lBQ0gsU0FBZ0IsTUFBTSxDQUFDLENBQVE7UUFDOUIsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFB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
|
|
588
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0MmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0MmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBa0M7QUFDbEMsaUNBQTJCO0FBQzNCLGlDQUEyQjtBQTZCM0I7OztHQUdHO0FBQ0gsSUFBaUIsS0FBSyxDQStuQnJCO0FBL25CRCxXQUFpQixLQUFLO0lBWXJCOzs7T0FHRztJQUNILGtCQUFrQjtJQUNsQixTQUFnQixFQUFFLENBQ2pCLENBQVMsRUFBRyxDQUFTLEVBQ3JCLENBQVMsRUFBRyxDQUFTLEVBQ3JCLEVBQVUsRUFBRSxFQUFVO1FBRXRCLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFOZSxRQUFFLEtBTWpCLENBQUE7SUFFRDs7O09BR0c7SUFDSCxTQUFnQixLQUFLLENBQUMsQ0FBUTtRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNkLENBQUM7SUFGZSxXQUFLLFFBRXBCLENBQUE7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxrQkFBa0I7SUFDTCxjQUFRLEdBQVUsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QyxDQUFDLEVBQUUsQ0FBQztRQUNKLENBQUMsRUFBRSxDQUFDO1FBQ0osQ0FBQyxFQUFFLENBQUM7S0FDSixDQUFDLENBQUE7SUFFRjs7O09BR0c7SUFDVSxRQUFFLEdBQUcsTUFBQSxRQUFRLENBQUE7SUFFMUI7OztPQUdHO0lBQ1UsV0FBSyxHQUFHLE1BQUEsUUFBUSxDQUFBO0lBRTdCOzs7T0FHRztJQUNVLFVBQUksR0FBVSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1gsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNYLENBQUE7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFMUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2IsT0FBTyxJQUFJLENBQUE7UUFDWixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQVU7WUFDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNYLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDWCxDQUFBO1FBRUQsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUExQ2UsZ0JBQVUsYUEwQ3pCLENBQUE7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxTQUFnQixPQUFPLENBQ3RCLElBQWlCLElBQUksRUFDckIsSUFBbUIsSUFBSSxFQUN2QixJQUFpQixJQUFJO1FBRXJCLENBQUMsS0FBSyxXQUFJLENBQUMsSUFBSSxDQUFBO1FBQ2YsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNQLENBQUMsS0FBSyxXQUFJLENBQUMsR0FBRyxDQUFBO1FBRWQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUV0QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQWJlLGFBQU8sVUFhdEIsQ0FBQTtJQUVEOzs7T0FHRztJQUNVLFNBQUcsR0FBRyxPQUFPLENBQUE7SUFFMUI7Ozs7O09BS0c7SUFDSCxTQUFnQixRQUFRLENBQUMsQ0FBTztRQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BCLENBQUM7SUFGZSxjQUFRLFdBRXZCLENBQUE7SUFFRDs7Ozs7T0FLRztJQUNILFNBQWdCLFdBQVcsQ0FBQyxDQUFRLEVBQUUsQ0FBUTtRQUM3QyxPQUFPLENBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2IsQ0FBQTtJQUNGLENBQUM7SUFUZSxpQkFBVyxjQVMxQixDQUFBO0lBRUQ7OztPQUdHO0lBQ1UsUUFBRSxHQUFHLFdBQVcsQ0FBQTtJQUU3Qjs7Ozs7O09BTUc7SUFDSCxTQUFnQixZQUFZLENBQUMsQ0FBUSxFQUFFLENBQVE7UUFDOUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2xDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNsQyxPQUFPLENBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO2dCQUNoQixNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO2dCQUNoQixNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN6RCxDQUFBO0lBQ0YsQ0FBQztJQWpCZSxrQkFBWSxlQWlCM0IsQ0FBQTtJQUVEOzs7T0FHRztJQUNVLFlBQU0sR0FBRyxZQUFZLENBQUE7SUFFbEM7Ozs7T0FJRztJQUNVLFlBQU0sR0FBRyxZQUFZLENBQUE7SUFFbEM7Ozs7T0FJRztJQUNVLGNBQVEsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FHbEQsQ0FBQTtBQUNaLENBQUMsRUEvbkJnQixLQUFLLHFCQUFMLEtBQUssUUErbkJyQiJ9
|