@tutao/tutanota-utils 3.119.9 → 3.120.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.
@@ -187,4 +187,8 @@ export declare function partitionAsync<T>(array: Array<T>, predicate: (arg0: T)
187
187
  * Create an array with n elements by calling the provided factory
188
188
  */
189
189
  export declare function arrayOf<T>(n: number, factory: (idx: number) => T): Array<T>;
190
+ /**
191
+ * Destroy contents of the byte arrays passed. Useful for purging unwanted memory.
192
+ */
193
+ export declare function zeroOut(...arrays: (Uint8Array | Int8Array)[]): void;
190
194
  export {};
@@ -461,3 +461,11 @@ export async function partitionAsync(array, predicate) {
461
461
  export function arrayOf(n, factory) {
462
462
  return numberRange(0, n - 1).map(factory);
463
463
  }
464
+ /**
465
+ * Destroy contents of the byte arrays passed. Useful for purging unwanted memory.
466
+ */
467
+ export function zeroOut(...arrays) {
468
+ for (const a of arrays) {
469
+ a.fill(0);
470
+ }
471
+ }
@@ -101,3 +101,16 @@ export declare function uint8ArrayToString(charset: string, bytes: Uint8Array):
101
101
  export declare function decodeQuotedPrintable(charset: string, input: string): string;
102
102
  export declare function decodeBase64(charset: string, input: string): string;
103
103
  export declare function stringToBase64(str: string): string;
104
+ /**
105
+ * Encodes a variable number of byte arrays as a single byte array. Format:
106
+ * short(length of byteArray[0]) | byteArray[0] | ... | short(length of byteArray[n]) | byteArray[n]
107
+ *
108
+ * @return encoded byte array
109
+ */
110
+ export declare function byteArraysToBytes(byteArrays: Array<Uint8Array>): Uint8Array;
111
+ /**
112
+ * Decodes a byte array encoded by #byteArraysToBytes.
113
+ *
114
+ * @return list of byte arrays
115
+ */
116
+ export declare function bytesToByteArrays(encodedByteArrays: Uint8Array, expectedByteArrays: Number): Array<Uint8Array>;
package/dist/Encoding.js CHANGED
@@ -304,3 +304,72 @@ export function decodeBase64(charset, input) {
304
304
  export function stringToBase64(str) {
305
305
  return uint8ArrayToBase64(stringToUtf8Uint8Array(str));
306
306
  }
307
+ /**
308
+ * Encodes a variable number of byte arrays as a single byte array. Format:
309
+ * short(length of byteArray[0]) | byteArray[0] | ... | short(length of byteArray[n]) | byteArray[n]
310
+ *
311
+ * @return encoded byte array
312
+ */
313
+ export function byteArraysToBytes(byteArrays) {
314
+ const totalBytesLength = byteArrays.reduce((acc, element) => acc + element.length, 0);
315
+ const encodingOverhead = byteArrays.length * 2; // two byte length overhead for each byte array
316
+ const encodedByteArrays = new Uint8Array(encodingOverhead + totalBytesLength);
317
+ let index = 0;
318
+ for (var byteArray of byteArrays) {
319
+ if (byteArray.length > MAX_ENCODED_BYTES_LENGTH) {
320
+ throw new Error("byte array is to long for encoding");
321
+ }
322
+ index = writeByteArray(encodedByteArrays, byteArray, index);
323
+ }
324
+ return encodedByteArrays;
325
+ }
326
+ /**
327
+ * Decodes a byte array encoded by #byteArraysToBytes.
328
+ *
329
+ * @return list of byte arrays
330
+ */
331
+ export function bytesToByteArrays(encodedByteArrays, expectedByteArrays) {
332
+ const byteArrays = new Array();
333
+ let index = 0;
334
+ while (index < encodedByteArrays.length) {
335
+ const readResult = readByteArray(encodedByteArrays, index);
336
+ byteArrays.push(readResult.byteArray);
337
+ index = readResult.index;
338
+ }
339
+ if (byteArrays.length != expectedByteArrays) {
340
+ throw new Error("invalid amount of key parameters. Expected: " + expectedByteArrays + " actual:" + byteArrays.length);
341
+ }
342
+ return byteArrays;
343
+ }
344
+ // Size of the length field for encoded byte arrays
345
+ const BYTE_ARRAY_LENGTH_FIELD_SIZE = 2;
346
+ const MAX_ENCODED_BYTES_LENGTH = 65535;
347
+ function writeByteArray(result, byteArray, index) {
348
+ writeShort(result, byteArray.length, index);
349
+ index += BYTE_ARRAY_LENGTH_FIELD_SIZE;
350
+ result.set(byteArray, index);
351
+ index += byteArray.length;
352
+ return index;
353
+ }
354
+ function readByteArray(encoded, index) {
355
+ const length = readShort(encoded, index);
356
+ index += BYTE_ARRAY_LENGTH_FIELD_SIZE;
357
+ const byteArray = encoded.slice(index, length + index);
358
+ index += length;
359
+ if (byteArray.length != length) {
360
+ throw new Error("cannot read encoded byte array at pos:" + index + " expected bytes:" + length + " read bytes:" + byteArray.length);
361
+ }
362
+ return { index, byteArray };
363
+ }
364
+ function writeShort(array, value, index) {
365
+ array[index] = (value & 0x0000ff00) >> 8;
366
+ array[index + 1] = (value & 0x000000ff) >> 0;
367
+ }
368
+ function readShort(array, index) {
369
+ const bytes = array.subarray(index, index + BYTE_ARRAY_LENGTH_FIELD_SIZE);
370
+ let n = 0;
371
+ for (const byte of bytes.values()) {
372
+ n = (n << 8) | byte;
373
+ }
374
+ return n;
375
+ }
package/dist/TypeRef.d.ts CHANGED
@@ -16,6 +16,6 @@ export declare class TypeRef<T> {
16
16
  toString(): string;
17
17
  }
18
18
  export declare function getTypeId(typeRef: TypeRef<unknown>): string;
19
- export declare function isSameTypeRefByAttr(typeRef: TypeRef<unknown>, app: string, type: string): boolean;
19
+ export declare function isSameTypeRefByAttr(typeRef: TypeRef<unknown>, app: string, typeName: string): boolean;
20
20
  export declare function isSameTypeRef(typeRef1: TypeRef<unknown>, typeRef2: TypeRef<unknown>): boolean;
21
21
  export declare function isSameTypeRefNullable(typeRef1: TypeRef<unknown> | null, typeRef2: TypeRef<unknown> | null): boolean;
package/dist/TypeRef.js CHANGED
@@ -22,8 +22,8 @@ export class TypeRef {
22
22
  export function getTypeId(typeRef) {
23
23
  return typeRef.app + "/" + typeRef.type;
24
24
  }
25
- export function isSameTypeRefByAttr(typeRef, app, type) {
26
- return typeRef.app === app && typeRef.type === type;
25
+ export function isSameTypeRefByAttr(typeRef, app, typeName) {
26
+ return typeRef.app === app && typeRef.type === typeName;
27
27
  }
28
28
  export function isSameTypeRef(typeRef1, typeRef2) {
29
29
  return isSameTypeRefByAttr(typeRef1, typeRef2.app, typeRef2.type);
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Call the WebAssembly function with the given arguments.
3
+ *
4
+ * Automatically allocates strings and buffers and frees them while passing booleans and numbers as-is.
5
+ *
6
+ * @param func function to call
7
+ * @param exports WASM module instance's exports
8
+ * @param args arguments to pass
9
+ *
10
+ * @return return value of the function
11
+ */
12
+ export declare function callWebAssemblyFunctionWithArguments<T>(func: (...args: number[]) => T, exports: WebAssembly.Exports, ...args: (string | number | Uint8Array | Int8Array | MutableUint8Array | SecureFreeUint8Array | boolean | null)[]): T;
13
+ /**
14
+ * Allocate memory on the heap of the WebAssembly instance.
15
+ *
16
+ * Be sure to call `free` on the byteOffset when you are done!
17
+ *
18
+ * @param length length of data to allocate
19
+ * @param exports WASM module instance's exports
20
+ */
21
+ export declare function allocateBuffer(length: number, exports: WebAssembly.Exports): Uint8Array;
22
+ /**
23
+ * Wrapper to be passed to a WebAssembly function.
24
+ *
25
+ * The contents of the array will be updated when the function finishes.
26
+ */
27
+ export declare class MutableUint8Array {
28
+ readonly uint8ArrayInputOutput: Uint8Array | SecureFreeUint8Array;
29
+ constructor(uint8ArrayInputOutput: Uint8Array | SecureFreeUint8Array);
30
+ }
31
+ /**
32
+ * Wrapper to be passed to a WebAssembly function.
33
+ *
34
+ * The copy allocated on the VM will be filled with zero bytes. This is slower, but it will ensure that its contents won't linger after being freed.
35
+ *
36
+ * Note that the buffer pointed to by uint8ArrayInput is *not* zeroed out automatically, as it is not a deep copy, so remember to zero out the original buffer
37
+ * when you are done with it, too!
38
+ */
39
+ export declare class SecureFreeUint8Array {
40
+ readonly uint8ArrayInput: Uint8Array;
41
+ constructor(uint8ArrayInput: Uint8Array);
42
+ }
43
+ /**
44
+ * Convenience function for wrapping an array as a MutableUint8Array.
45
+ *
46
+ * Data from the WASM module will be copied back to the array once finished.
47
+ * @param array array to wrap
48
+ * @return wrapper
49
+ */
50
+ export declare function mutable(array: Uint8Array): MutableUint8Array;
51
+ /**
52
+ * Convenience function for wrapping an array as a MutableUint8Array and SecureFreeUint8Array.
53
+ *
54
+ * Data from the WASM module will be copied back to the array once finished, and then it will be erased from the module.
55
+ * @param array array to wrap
56
+ * @return wrapper
57
+ */
58
+ export declare function mutableSecureFree(array: Uint8Array): MutableUint8Array;
59
+ /**
60
+ * Convenience function for wrapping an array as a MutableUint8Array and SecureFreeUint8Array.
61
+ *
62
+ * Data from the WASM module will be erased once finished.
63
+ * @param array array to wrap
64
+ * @return wrapper
65
+ */
66
+ export declare function secureFree(array: Uint8Array): SecureFreeUint8Array;
67
+ /**
68
+ * Defines a pointer type
69
+ */
70
+ export type Ptr = number;
71
+ /**
72
+ * Defines a pointer type for immutable memory
73
+ */
74
+ export type ConstPtr = number;
75
+ /**
76
+ * Free function interface
77
+ */
78
+ export type FreeFN = (what: Ptr) => void;
@@ -0,0 +1,212 @@
1
+ import { stringToUtf8Uint8Array } from "./Encoding.js";
2
+ /**
3
+ * Call the WebAssembly function with the given arguments.
4
+ *
5
+ * Automatically allocates strings and buffers and frees them while passing booleans and numbers as-is.
6
+ *
7
+ * @param func function to call
8
+ * @param exports WASM module instance's exports
9
+ * @param args arguments to pass
10
+ *
11
+ * @return return value of the function
12
+ */
13
+ export function callWebAssemblyFunctionWithArguments(func, exports, ...args) {
14
+ const free = exports.free;
15
+ const argsToPass = [];
16
+ const toFree = [];
17
+ const toClear = [];
18
+ const toOverwrite = [];
19
+ try {
20
+ for (const arg of args) {
21
+ if (arg === null) {
22
+ // `NULL` in C is equal to 0
23
+ argsToPass.push(0);
24
+ }
25
+ else if (typeof arg === "number") {
26
+ // These can be passed as-is
27
+ argsToPass.push(arg);
28
+ }
29
+ else if (typeof arg === "boolean") {
30
+ // Convert to number
31
+ argsToPass.push(arg ? 1 : 0);
32
+ }
33
+ else if (typeof arg === "string") {
34
+ // Strings require null termination and copying, so we do this here
35
+ const s = allocateStringCopy(arg, exports, toFree);
36
+ try {
37
+ toClear.push(s);
38
+ argsToPass.push(s.byteOffset);
39
+ toFree.push(s.byteOffset);
40
+ }
41
+ catch (e) {
42
+ free(s.byteOffset);
43
+ throw e;
44
+ }
45
+ }
46
+ else if (arg instanceof MutableUint8Array) {
47
+ // Unwrap to get our original buffer back
48
+ const inputOutput = arg.uint8ArrayInputOutput;
49
+ let arrayInWASM;
50
+ if (inputOutput instanceof SecureFreeUint8Array) {
51
+ arrayInWASM = allocateSecureArrayCopy(inputOutput.uint8ArrayInput, exports, toFree, toClear);
52
+ }
53
+ else {
54
+ arrayInWASM = allocateArrayCopy(inputOutput, exports, toFree);
55
+ }
56
+ toOverwrite.push({ arrayInWASM: arrayInWASM, originalBufferYouPassedIn: arg });
57
+ argsToPass.push(arrayInWASM.byteOffset);
58
+ }
59
+ else if (arg instanceof SecureFreeUint8Array) {
60
+ const arrayInWASM = allocateSecureArrayCopy(arg.uint8ArrayInput, exports, toFree, toClear);
61
+ argsToPass.push(arrayInWASM.byteOffset);
62
+ }
63
+ else if (arg instanceof Uint8Array || arg instanceof Int8Array) {
64
+ const arrayInWASM = allocateArrayCopy(arg, exports, toFree);
65
+ argsToPass.push(arrayInWASM.byteOffset);
66
+ }
67
+ else {
68
+ throw new Error(`passed an unhandled argument type ${typeof arg}`);
69
+ }
70
+ }
71
+ return func(...argsToPass);
72
+ }
73
+ finally {
74
+ // First copy back in the contents from the WASM memory to JavaScript
75
+ for (const f of toOverwrite) {
76
+ const inputOutput = f.originalBufferYouPassedIn.uint8ArrayInputOutput;
77
+ if (inputOutput instanceof SecureFreeUint8Array) {
78
+ inputOutput.uint8ArrayInput.set(f.arrayInWASM);
79
+ }
80
+ else {
81
+ inputOutput.set(f.arrayInWASM);
82
+ }
83
+ }
84
+ // Handle secure free buffers
85
+ for (const f of toClear) {
86
+ f.fill(0);
87
+ }
88
+ // Finally free
89
+ for (const f of toFree) {
90
+ free(f);
91
+ }
92
+ }
93
+ }
94
+ /**
95
+ * Allocate memory on the heap of the WebAssembly instance.
96
+ *
97
+ * Be sure to call `free` on the byteOffset when you are done!
98
+ *
99
+ * @param length length of data to allocate
100
+ * @param exports WASM module instance's exports
101
+ */
102
+ export function allocateBuffer(length, exports) {
103
+ const malloc = exports.malloc;
104
+ const memory = exports.memory;
105
+ const ptr = malloc(length);
106
+ if (ptr === 0) {
107
+ throw new Error("malloc failed to allocate memory for string");
108
+ }
109
+ try {
110
+ return new Uint8Array(memory.buffer, ptr, length);
111
+ }
112
+ catch (e) {
113
+ const free = exports.free;
114
+ free(ptr);
115
+ throw e;
116
+ }
117
+ }
118
+ /**
119
+ * Wrapper to be passed to a WebAssembly function.
120
+ *
121
+ * The contents of the array will be updated when the function finishes.
122
+ */
123
+ export class MutableUint8Array {
124
+ constructor(uint8ArrayInputOutput) {
125
+ this.uint8ArrayInputOutput = uint8ArrayInputOutput;
126
+ }
127
+ }
128
+ /**
129
+ * Wrapper to be passed to a WebAssembly function.
130
+ *
131
+ * The copy allocated on the VM will be filled with zero bytes. This is slower, but it will ensure that its contents won't linger after being freed.
132
+ *
133
+ * Note that the buffer pointed to by uint8ArrayInput is *not* zeroed out automatically, as it is not a deep copy, so remember to zero out the original buffer
134
+ * when you are done with it, too!
135
+ */
136
+ export class SecureFreeUint8Array {
137
+ constructor(uint8ArrayInput) {
138
+ this.uint8ArrayInput = uint8ArrayInput;
139
+ }
140
+ }
141
+ /**
142
+ * Convenience function for wrapping an array as a MutableUint8Array.
143
+ *
144
+ * Data from the WASM module will be copied back to the array once finished.
145
+ * @param array array to wrap
146
+ * @return wrapper
147
+ */
148
+ export function mutable(array) {
149
+ return new MutableUint8Array(array);
150
+ }
151
+ /**
152
+ * Convenience function for wrapping an array as a MutableUint8Array and SecureFreeUint8Array.
153
+ *
154
+ * Data from the WASM module will be copied back to the array once finished, and then it will be erased from the module.
155
+ * @param array array to wrap
156
+ * @return wrapper
157
+ */
158
+ export function mutableSecureFree(array) {
159
+ return new MutableUint8Array(new SecureFreeUint8Array(array));
160
+ }
161
+ /**
162
+ * Convenience function for wrapping an array as a MutableUint8Array and SecureFreeUint8Array.
163
+ *
164
+ * Data from the WASM module will be erased once finished.
165
+ * @param array array to wrap
166
+ * @return wrapper
167
+ */
168
+ export function secureFree(array) {
169
+ return new SecureFreeUint8Array(array);
170
+ }
171
+ function allocateStringCopy(str, exports, toFree) {
172
+ const strBytes = stringToUtf8Uint8Array(str);
173
+ const allocationAmount = strBytes.length + 1;
174
+ let buf = allocateBuffer(allocationAmount, exports);
175
+ try {
176
+ buf.set(strBytes);
177
+ buf[buf.length - 1] = 0; // null terminate after string data
178
+ toFree.push(buf.byteOffset);
179
+ return buf;
180
+ }
181
+ catch (e) {
182
+ const free = exports.free;
183
+ free(buf.byteOffset);
184
+ throw e;
185
+ }
186
+ }
187
+ function allocateArrayCopy(arr, exports, toFree) {
188
+ const allocationAmount = arr.length;
189
+ let buf = allocateBuffer(allocationAmount, exports);
190
+ try {
191
+ buf.set(arr);
192
+ toFree.push(buf.byteOffset);
193
+ return buf;
194
+ }
195
+ catch (e) {
196
+ const free = exports.free;
197
+ free(buf.byteOffset);
198
+ throw e;
199
+ }
200
+ }
201
+ function allocateSecureArrayCopy(arr, exports, toFree, toClear) {
202
+ const arrayInWASM = allocateArrayCopy(arr, exports, toFree);
203
+ try {
204
+ toClear.push(arrayInWASM);
205
+ }
206
+ catch (e) {
207
+ // on the off chance that push fails, we don't want the buffer to linger in memory
208
+ arrayInWASM.fill(0);
209
+ throw e;
210
+ }
211
+ return arrayInWASM;
212
+ }
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { concat, numberRange, arrayEquals, arrayEqualsWithPredicate, arrayHash, remove, clear, findAll, findAndRemove, findAllAndRemove, replace, mapAndFilterNull, filterNull, last, isEmpty, lastThrow, getFirstOrThrow, first, findLast, findLastIndex, contains, addAll, removeAll, groupByAndMapUniquely, groupByAndMap, groupBy, splitInChunks, flatMap, insertIntoSortedArray, zip, deduplicate, binarySearch, lastIndex, union, difference, symmetricDifference, partition, splitUint8ArrayInChunks, partitionAsync, arrayOf, count, mapMapAsync, } from "./ArrayUtils.js";
1
+ export { concat, numberRange, arrayEquals, arrayEqualsWithPredicate, arrayHash, remove, clear, findAll, findAndRemove, findAllAndRemove, replace, mapAndFilterNull, filterNull, last, isEmpty, lastThrow, getFirstOrThrow, first, findLast, findLastIndex, contains, addAll, removeAll, groupByAndMapUniquely, groupByAndMap, groupBy, splitInChunks, flatMap, insertIntoSortedArray, zip, deduplicate, binarySearch, lastIndex, union, difference, symmetricDifference, partition, splitUint8ArrayInChunks, partitionAsync, arrayOf, count, mapMapAsync, zeroOut, } from "./ArrayUtils.js";
2
2
  export { AsyncResult } from "./AsyncResult.js";
3
3
  export { intersection, trisectingDiff, setAddAll, max, maxBy, findBy, min, minBy, mapWith, mapWithout, setEquals, setMap } from "./CollectionUtils.js";
4
4
  export { DAY_IN_MILLIS, getStartOfNextDay, getEndOfDay, getStartOfDay, getHourOfDay, isStartOfDay, isToday, isSameDay, getDayShifted, incrementDate, incrementMonth, isSameDayOfDate, formatSortableDate, formatSortableDateTime, sortableTimestamp, isValidDate, millisToDays, daysToMillis, TIMESTAMP_ZERO_YEAR, } from "./DateUtils.js";
@@ -16,5 +16,6 @@ export { pad, startsWith, capitalizeFirstLetter, endsWith, lazyStringValue, repe
16
16
  export { TypeRef, isSameTypeRefByAttr, isSameTypeRef, getTypeId, isSameTypeRefNullable } from "./TypeRef.js";
17
17
  export { defer, deferWithHandler, asyncFind, asyncFindAndMap, executeInGroups, neverNull, assertNotNull, assertNonNull, assert, isNotNull, downcast, clone, lazyMemoized, makeSingleUse, memoized, identity, noOp, debounce, debounceStart, randomIntFromInterval, errorToString, objectEntries, deepEqual, getChangedProps, freezeMap, addressDomain, typedKeys, typedEntries, typedValues, resolveMaybeLazy, getAsLazy, mapLazily, filterInt, insideRect, mapNullable, mapObject, Require, memoizedWithHiddenArgument, BoundedExecutor, } from "./Utils.js";
18
18
  export type { Callback, DeferredObject, lazy, lazyAsync, Thunk, DeferredObjectWithHandler, MaybeLazy, TimeoutSetter, ErrorInfo } from "./Utils.js";
19
+ export { callWebAssemblyFunctionWithArguments, allocateBuffer, Ptr, ConstPtr, FreeFN, MutableUint8Array, SecureFreeUint8Array, mutableSecureFree, secureFree, mutable, } from "./WebAssembly.js";
19
20
  export { mod, clamp } from "./MathUtils.js";
20
21
  export { renderCsv } from "./Csv.js";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { concat, numberRange, arrayEquals, arrayEqualsWithPredicate, arrayHash, remove, clear, findAll, findAndRemove, findAllAndRemove, replace, mapAndFilterNull, filterNull, last, isEmpty, lastThrow, getFirstOrThrow, first, findLast, findLastIndex, contains, addAll, removeAll, groupByAndMapUniquely, groupByAndMap, groupBy, splitInChunks, flatMap, insertIntoSortedArray, zip, deduplicate, binarySearch, lastIndex, union, difference, symmetricDifference, partition, splitUint8ArrayInChunks, partitionAsync, arrayOf, count, mapMapAsync, } from "./ArrayUtils.js";
1
+ export { concat, numberRange, arrayEquals, arrayEqualsWithPredicate, arrayHash, remove, clear, findAll, findAndRemove, findAllAndRemove, replace, mapAndFilterNull, filterNull, last, isEmpty, lastThrow, getFirstOrThrow, first, findLast, findLastIndex, contains, addAll, removeAll, groupByAndMapUniquely, groupByAndMap, groupBy, splitInChunks, flatMap, insertIntoSortedArray, zip, deduplicate, binarySearch, lastIndex, union, difference, symmetricDifference, partition, splitUint8ArrayInChunks, partitionAsync, arrayOf, count, mapMapAsync, zeroOut, } from "./ArrayUtils.js";
2
2
  export { AsyncResult } from "./AsyncResult.js";
3
3
  export { intersection, trisectingDiff, setAddAll, max, maxBy, findBy, min, minBy, mapWith, mapWithout, setEquals, setMap } from "./CollectionUtils.js";
4
4
  export { DAY_IN_MILLIS, getStartOfNextDay, getEndOfDay, getStartOfDay, getHourOfDay, isStartOfDay, isToday, isSameDay, getDayShifted, incrementDate, incrementMonth, isSameDayOfDate, formatSortableDate, formatSortableDateTime, sortableTimestamp, isValidDate, millisToDays, daysToMillis, TIMESTAMP_ZERO_YEAR, } from "./DateUtils.js";
@@ -11,5 +11,6 @@ export { SortedArray } from "./SortedArray.js";
11
11
  export { pad, startsWith, capitalizeFirstLetter, endsWith, lazyStringValue, repeat, cleanMatch, NBSP, splitAt, toLowerCase, localeCompare, byteLength, } from "./StringUtils.js";
12
12
  export { TypeRef, isSameTypeRefByAttr, isSameTypeRef, getTypeId, isSameTypeRefNullable } from "./TypeRef.js";
13
13
  export { defer, deferWithHandler, asyncFind, asyncFindAndMap, executeInGroups, neverNull, assertNotNull, assertNonNull, assert, isNotNull, downcast, clone, lazyMemoized, makeSingleUse, memoized, identity, noOp, debounce, debounceStart, randomIntFromInterval, errorToString, objectEntries, deepEqual, getChangedProps, freezeMap, addressDomain, typedKeys, typedEntries, typedValues, resolveMaybeLazy, getAsLazy, mapLazily, filterInt, insideRect, mapNullable, mapObject, memoizedWithHiddenArgument, BoundedExecutor, } from "./Utils.js";
14
+ export { callWebAssemblyFunctionWithArguments, allocateBuffer, MutableUint8Array, SecureFreeUint8Array, mutableSecureFree, secureFree, mutable, } from "./WebAssembly.js";
14
15
  export { mod, clamp } from "./MathUtils.js";
15
16
  export { renderCsv } from "./Csv.js";
package/dist/tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../tutanota-crypto/node_modules/typescript/lib/lib.es5.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2016.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2021.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.dom.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.webworker.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.core.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.object.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.string.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.array.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.object.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.string.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.date.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.string.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.number.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2021.string.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.decorators.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../lib/TypeRef.ts","../lib/Utils.ts","../lib/MapUtils.ts","../lib/ArrayUtils.ts","../lib/AsyncResult.ts","../lib/CollectionUtils.ts","../lib/Csv.ts","../lib/DateUtils.ts","../lib/Encoding.ts","../lib/LazyLoaded.ts","../lib/MathUtils.ts","../lib/PromiseMap.ts","../lib/PromiseUtils.ts","../lib/SortedArray.ts","../lib/StringUtils.ts","../lib/index.ts","../../../types/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"62e1c7a72e1b022223e86a5e7bbabbd2931ab5ec141c940e45db8facfb0d9f0f","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"f8310ab27e030044082335e0bd905cfece23e16f133c153bc71d72a1a06ffe17","signature":"3da412940b7ff85abde6f4f2d82cf8c407aed0fa600acdf4ec9a8a7ca80ab646"},{"version":"10f57d05dc1810d7b7e1147b25cf6f7cf2c580de6902917157d626fad17a4de9","signature":"78fe0ac7655374e4c092e497b708a4633ccb7ac37b1ccb631c7f6b61d591a5e6"},{"version":"c35983642f85a38e1f49ead1fe3eeeb23f0308be6a0b3627681031fb620caea6","signature":"e3101149104640c4c6c4b253fe10c1a30ae239686b821884ac0ab4f4796df770"},{"version":"fb179446510a30f4ca58754f8598ab53f4be8ae1f5d3d500e4c80ae6402491e5","signature":"4a497fc1298d4ef15d0b05c14ab020c673602d9ae47086a2072b60d591b42efe"},{"version":"3d111ac9e9c03126fb8fca5d8453c2ba353c0fb699610beeeb83530adb32d0da","signature":"fe357ec2df98dd3099a24e46378e48a962cfc060700a60b956e1edb78fbd6945"},{"version":"02d8d08657c02006d8c63cc8a8726ae8f8c3bd3edb27649e342427c6454956a0","signature":"6ce2a899d9c07481e95ef3b259ebc65ace1c6b8938b94fc1c94237f717740284"},{"version":"e1ad39c041ebe934ecba32093aa1b1032520db0993239d9e83c641898c7e44d7","signature":"e4c70ab653202cf579d697dd9f7c4134c427723c791a760a9ee76593c5201706"},{"version":"af445b5fe17ed36c24499f7ee93787c93ed29b7467698ba4cf1d40ab76199bca","signature":"aff31a493e793a6426527a640e03824a3d443e11d83ebbea760e4a88f1046b93"},{"version":"021c555853c43b6d414846d65afd24445c0af67e6a69af1f5645c2e5d2bf3590","signature":"dc2cddc70e29cdbbe37c40a6f71cbfe8cdb41242e597701f78ab7abc81c0493f"},{"version":"a61a2326aef3954d4da05b803e1f3e2e30312064cc1fb9e37698d1c5872883c2","signature":"c62081516049e826fd75df960f0e2457427ca5c0a4518628e1558c2e7961e102"},{"version":"f2376cb45d3b18286678b2f98b99be8d518f1ee012da1de285588a6af827cb06","signature":"f2f97bf1d679cf78001b997487a399d624c2eaa3f5783754c08bd3b58c60fadb"},{"version":"19e83bd4d86a1b8ce35a47456eabc3bcd4202ce20b523176715eb487f32f2872","signature":"ddfc56edb0e758326659ad046088e892e1e80e0a60f4179dc742b7e6b1fcc961"},{"version":"af8bf6c94593cf31ebcf1019054d8f5c32d60a1079b91bde31569ca12431629f","signature":"4e1a189df8d26b882701748ae07c5054471b5c67bb5cf2330d26fec0b6a16ed6"},{"version":"c4d9a5c2c13ada6a036dff6ba366d6f5ba4ca96e113f4e7e89f51ce253045a33","signature":"b5f2b568fadab7a51d2ba69199fb0af6d8a13594281ef6f3a561e0f9a82fc483"},{"version":"91859d2f14275c18c4a039015479254ed0c0108966060586b2e3ea26f437e989","signature":"a2ce8a142d300930928eadaee5ddd1f724aafc24c8efddce63bbf8787fe82e27"},{"version":"37ac608774efcabe1c5b9ed5a847eaca2a4d9c50a7b441e60615fcbb2b83e5a7","signature":"91743f3e87cd2e9717898cb49f8de079478d5faa263872d628ab4d946e7b2f74"},{"version":"795d2b919e88d361c8dd36736b26933957e87e46c2af501f516e90a61af47af7","affectsGlobalScope":true},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"185282b122cbca820c297a02a57b89cf5967ab43e220e3e174d872d3f9a94d2c","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","e8968b394e4365588f8f89cfff86435258cf10062585c1d2224627ab92acda22","285e512c7a0db217a0599e18c462d565fa35be4a5153dd7b80bee88c83e83ddf","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"7aae1df2053572c2cfc2089a77847aadbb38eedbaa837a846c6a49fb37c6e5bd","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","1f758340b027b18ae8773ac3d33a60648a2af49eaae9e4fde18d0a0dd608642c","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"dea4c00820d4fac5e530d4842aed2fb20d6744d75a674b95502cbd433f88bcb0","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"0d832a0650a74aafc276cb3f7bb26bde2e2270a6f87e6c871a64122e9203079b","affectsGlobalScope":true},{"version":"c6f3869f12bb5c3bb8ecd0b050ea20342b89b944eae18d313cde6b0ccc0925d7","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","d742ed2db6d5425b3b6ac5fb1f2e4b1ed2ae74fbeee8d0030d852121a4b05d2f","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"2225100373ca3d63bcc7f206e1177152d2e2161285a0bd83c8374db1503a0d1f","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","4a34b074b11c3597fb2ff890bc8f1484375b3b80793ab01f974534808d5777c7",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[51,67]],"options":{"allowSyntheticDefaultImports":true,"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":7,"noEmitOnError":true,"noErrorTruncation":true,"noImplicitAny":true,"noImplicitThis":true,"noStrictGenericChecks":false,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","rootDir":"../lib","skipLibCheck":true,"strict":false,"strictBindCallApply":true,"strictFunctionTypes":false,"strictNullChecks":true,"strictPropertyInitialization":true,"target":8,"tsBuildInfoFile":"./tsbuildinfo","useUnknownInCatchVariables":false},"fileIdsList":[[68],[104],[105,110,138],[106,117,118,125,135,146],[106,107,117,125],[108,147],[109,110,118,126],[110,135,143],[111,113,117,125],[112],[113,114],[117],[115,117],[104,117],[117,118,119,135,146],[117,118,119,132,135,138],[102,105,151],[113,117,120,125,135,146],[117,118,120,121,125,135,143,146],[120,122,135,143,146],[68,69,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153],[117,123],[124,146,151],[113,117,125,135],[126],[127],[104,128],[129,145,151],[130],[131],[117,132,133],[132,134,147,149],[105,117,135,136,137,138],[105,135,137],[135,136],[138],[139],[104,135],[117,141,142],[141,142],[110,125,135,143],[144],[125,145],[105,120,131,146],[110,147],[135,148],[124,149],[150],[105,110,117,119,128,135,146,149,151],[135,152],[79,83,146],[79,135,146],[74],[76,79,143,146],[125,143],[154],[74,154],[76,79,125,146],[71,72,75,78,105,117,135,146],[71,77],[75,79,105,138,146,154],[105,154],[95,105,154],[73,74,154],[79],[73,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,90,91,92,93,94,96,97,98,99,100,101],[79,86,87],[77,79,87,88],[78],[71,74,79],[79,83,87,88],[83],[77,79,82,146],[71,76,77,79,83,86],[105,135],[74,79,95,105,151,154],[52,53],[52],[62],[54],[51],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65]],"referencedMap":[[68,1],[69,1],[104,2],[105,3],[106,4],[107,5],[108,6],[109,7],[110,8],[111,9],[112,10],[113,11],[114,11],[116,12],[115,13],[117,14],[118,15],[119,16],[103,17],[120,18],[121,19],[122,20],[154,21],[123,22],[124,23],[125,24],[126,25],[127,26],[128,27],[129,28],[130,29],[131,30],[132,31],[133,31],[134,32],[135,33],[137,34],[136,35],[138,36],[139,37],[140,38],[141,39],[142,40],[143,41],[144,42],[145,43],[146,44],[147,45],[148,46],[149,47],[150,48],[151,49],[152,50],[86,51],[93,52],[85,51],[100,53],[77,54],[76,55],[99,56],[94,57],[97,58],[79,59],[78,60],[74,61],[73,62],[96,63],[75,64],[80,65],[84,65],[102,66],[101,65],[88,67],[89,68],[91,69],[87,70],[90,71],[95,56],[82,72],[83,73],[92,74],[72,75],[98,76],[54,77],[56,78],[60,78],[53,78],[63,79],[64,80],[65,78],[52,81],[66,82]],"exportedModulesMap":[[68,1],[69,1],[104,2],[105,3],[106,4],[107,5],[108,6],[109,7],[110,8],[111,9],[112,10],[113,11],[114,11],[116,12],[115,13],[117,14],[118,15],[119,16],[103,17],[120,18],[121,19],[122,20],[154,21],[123,22],[124,23],[125,24],[126,25],[127,26],[128,27],[129,28],[130,29],[131,30],[132,31],[133,31],[134,32],[135,33],[137,34],[136,35],[138,36],[139,37],[140,38],[141,39],[142,40],[143,41],[144,42],[145,43],[146,44],[147,45],[148,46],[149,47],[150,48],[151,49],[152,50],[86,51],[93,52],[85,51],[100,53],[77,54],[76,55],[99,56],[94,57],[97,58],[79,59],[78,60],[74,61],[73,62],[96,63],[75,64],[80,65],[84,65],[102,66],[101,65],[88,67],[89,68],[91,69],[87,70],[90,71],[95,56],[82,72],[83,73],[92,74],[72,75],[98,76],[60,78],[63,79],[65,78],[66,82]],"semanticDiagnosticsPerFile":[68,69,104,105,106,107,108,109,110,111,112,113,114,116,115,117,118,119,103,153,120,121,122,154,123,124,125,126,127,128,129,130,131,132,133,134,135,137,136,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,70,86,93,85,100,77,76,99,94,97,79,78,74,73,96,75,80,81,84,71,102,101,88,89,91,87,90,95,82,83,92,72,98,49,50,9,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,8,47,44,45,46,1,48,10,54,55,56,57,58,59,60,53,61,62,63,64,65,51,52,66,67],"latestChangedDtsFile":"./index.d.ts"},"version":"5.0.3"}
1
+ {"program":{"fileNames":["../../tutanota-crypto/node_modules/typescript/lib/lib.es5.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2016.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2021.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.dom.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.webworker.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.core.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.object.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.string.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.array.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.object.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.string.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.date.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.string.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2020.number.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2021.string.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.decorators.d.ts","../../tutanota-crypto/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../lib/TypeRef.ts","../lib/Utils.ts","../lib/MapUtils.ts","../lib/ArrayUtils.ts","../lib/AsyncResult.ts","../lib/CollectionUtils.ts","../lib/Csv.ts","../lib/DateUtils.ts","../lib/Encoding.ts","../lib/LazyLoaded.ts","../lib/MathUtils.ts","../lib/PromiseMap.ts","../lib/PromiseUtils.ts","../lib/SortedArray.ts","../lib/StringUtils.ts","../lib/WebAssembly.ts","../lib/index.ts","../../../types/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"62e1c7a72e1b022223e86a5e7bbabbd2931ab5ec141c940e45db8facfb0d9f0f","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"1be52d219829675b133fce90160462a5baa04c5def58275b0fab3c7040c25955","signature":"5bbb9911220295cc2d2e38a94b7c0e5a03f2869757411f99efaa41d01a0dde72"},{"version":"10f57d05dc1810d7b7e1147b25cf6f7cf2c580de6902917157d626fad17a4de9","signature":"78fe0ac7655374e4c092e497b708a4633ccb7ac37b1ccb631c7f6b61d591a5e6"},{"version":"c35983642f85a38e1f49ead1fe3eeeb23f0308be6a0b3627681031fb620caea6","signature":"e3101149104640c4c6c4b253fe10c1a30ae239686b821884ac0ab4f4796df770"},{"version":"035db4f936a60ccea09dc7ca13bf15a31502f25c35f2c79dc898d80fa3718f88","signature":"3aedd26cb64d795a838c74aa87c182594537d47bf136e9da7ca71310ac2e951c"},{"version":"3d111ac9e9c03126fb8fca5d8453c2ba353c0fb699610beeeb83530adb32d0da","signature":"fe357ec2df98dd3099a24e46378e48a962cfc060700a60b956e1edb78fbd6945"},{"version":"02d8d08657c02006d8c63cc8a8726ae8f8c3bd3edb27649e342427c6454956a0","signature":"6ce2a899d9c07481e95ef3b259ebc65ace1c6b8938b94fc1c94237f717740284"},{"version":"e1ad39c041ebe934ecba32093aa1b1032520db0993239d9e83c641898c7e44d7","signature":"e4c70ab653202cf579d697dd9f7c4134c427723c791a760a9ee76593c5201706"},{"version":"af445b5fe17ed36c24499f7ee93787c93ed29b7467698ba4cf1d40ab76199bca","signature":"aff31a493e793a6426527a640e03824a3d443e11d83ebbea760e4a88f1046b93"},{"version":"eead5205a20fe3e1828bfb1629e07f8e087a4d22fc22f12ef583293ce13bdf99","signature":"a52e1327bafccda903e9b948407725b28fcb7d2c994b5ef1095d5940c754d726"},{"version":"a61a2326aef3954d4da05b803e1f3e2e30312064cc1fb9e37698d1c5872883c2","signature":"c62081516049e826fd75df960f0e2457427ca5c0a4518628e1558c2e7961e102"},{"version":"f2376cb45d3b18286678b2f98b99be8d518f1ee012da1de285588a6af827cb06","signature":"f2f97bf1d679cf78001b997487a399d624c2eaa3f5783754c08bd3b58c60fadb"},{"version":"19e83bd4d86a1b8ce35a47456eabc3bcd4202ce20b523176715eb487f32f2872","signature":"ddfc56edb0e758326659ad046088e892e1e80e0a60f4179dc742b7e6b1fcc961"},{"version":"af8bf6c94593cf31ebcf1019054d8f5c32d60a1079b91bde31569ca12431629f","signature":"4e1a189df8d26b882701748ae07c5054471b5c67bb5cf2330d26fec0b6a16ed6"},{"version":"c4d9a5c2c13ada6a036dff6ba366d6f5ba4ca96e113f4e7e89f51ce253045a33","signature":"b5f2b568fadab7a51d2ba69199fb0af6d8a13594281ef6f3a561e0f9a82fc483"},{"version":"91859d2f14275c18c4a039015479254ed0c0108966060586b2e3ea26f437e989","signature":"a2ce8a142d300930928eadaee5ddd1f724aafc24c8efddce63bbf8787fe82e27"},{"version":"1323bdd176ffa305b18a43de58151f970dcb2b36923a9663fa7311955a30b3d5","signature":"0b6bcaba2dbe73e75660221699febf93877d345988d5c8fbb7f969914d908431"},{"version":"dd96eb086e11ddd84135f49c6bc8cab963c0c90ae83b77f24828f96ed1318f70","signature":"57115b45bf26d5b21706f972089e9447d174bd857b0a460071c1995a23863c63"},{"version":"795d2b919e88d361c8dd36736b26933957e87e46c2af501f516e90a61af47af7","affectsGlobalScope":true},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"185282b122cbca820c297a02a57b89cf5967ab43e220e3e174d872d3f9a94d2c","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","e8968b394e4365588f8f89cfff86435258cf10062585c1d2224627ab92acda22","285e512c7a0db217a0599e18c462d565fa35be4a5153dd7b80bee88c83e83ddf","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"7aae1df2053572c2cfc2089a77847aadbb38eedbaa837a846c6a49fb37c6e5bd","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","1f758340b027b18ae8773ac3d33a60648a2af49eaae9e4fde18d0a0dd608642c","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"dea4c00820d4fac5e530d4842aed2fb20d6744d75a674b95502cbd433f88bcb0","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"0d832a0650a74aafc276cb3f7bb26bde2e2270a6f87e6c871a64122e9203079b","affectsGlobalScope":true},{"version":"c6f3869f12bb5c3bb8ecd0b050ea20342b89b944eae18d313cde6b0ccc0925d7","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","d742ed2db6d5425b3b6ac5fb1f2e4b1ed2ae74fbeee8d0030d852121a4b05d2f","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"2225100373ca3d63bcc7f206e1177152d2e2161285a0bd83c8374db1503a0d1f","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","4a34b074b11c3597fb2ff890bc8f1484375b3b80793ab01f974534808d5777c7",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[51,68]],"options":{"allowSyntheticDefaultImports":true,"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":7,"noEmitOnError":true,"noErrorTruncation":true,"noImplicitAny":true,"noImplicitThis":true,"noStrictGenericChecks":false,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","rootDir":"../lib","skipLibCheck":true,"strict":false,"strictBindCallApply":true,"strictFunctionTypes":false,"strictNullChecks":true,"strictPropertyInitialization":true,"target":8,"tsBuildInfoFile":"./tsbuildinfo","useUnknownInCatchVariables":false},"fileIdsList":[[69],[105],[106,111,139],[107,118,119,126,136,147],[107,108,118,126],[109,148],[110,111,119,127],[111,136,144],[112,114,118,126],[113],[114,115],[118],[116,118],[105,118],[118,119,120,136,147],[118,119,120,133,136,139],[103,106,152],[114,118,121,126,136,147],[118,119,121,122,126,136,144,147],[121,123,136,144,147],[69,70,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154],[118,124],[125,147,152],[114,118,126,136],[127],[128],[105,129],[130,146,152],[131],[132],[118,133,134],[133,135,148,150],[106,118,136,137,138,139],[106,136,138],[136,137],[139],[140],[105,136],[118,142,143],[142,143],[111,126,136,144],[145],[126,146],[106,121,132,147],[111,148],[136,149],[125,150],[151],[106,111,118,120,129,136,147,150,152],[136,153],[80,84,147],[80,136,147],[75],[77,80,144,147],[126,144],[155],[75,155],[77,80,126,147],[72,73,76,79,106,118,136,147],[72,78],[76,80,106,139,147,155],[106,155],[96,106,155],[74,75,155],[80],[74,75,76,77,78,79,80,81,82,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102],[80,87,88],[78,80,88,89],[79],[72,75,80],[80,84,88,89],[84],[78,80,83,147],[72,77,78,80,84,87],[106,136],[75,80,96,106,152,155],[52,53],[52],[62],[54],[51],[59],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66]],"referencedMap":[[69,1],[70,1],[105,2],[106,3],[107,4],[108,5],[109,6],[110,7],[111,8],[112,9],[113,10],[114,11],[115,11],[117,12],[116,13],[118,14],[119,15],[120,16],[104,17],[121,18],[122,19],[123,20],[155,21],[124,22],[125,23],[126,24],[127,25],[128,26],[129,27],[130,28],[131,29],[132,30],[133,31],[134,31],[135,32],[136,33],[138,34],[137,35],[139,36],[140,37],[141,38],[142,39],[143,40],[144,41],[145,42],[146,43],[147,44],[148,45],[149,46],[150,47],[151,48],[152,49],[153,50],[87,51],[94,52],[86,51],[101,53],[78,54],[77,55],[100,56],[95,57],[98,58],[80,59],[79,60],[75,61],[74,62],[97,63],[76,64],[81,65],[85,65],[103,66],[102,65],[89,67],[90,68],[92,69],[88,70],[91,71],[96,56],[83,72],[84,73],[93,74],[73,75],[99,76],[54,77],[56,78],[60,78],[53,78],[63,79],[64,80],[65,78],[52,81],[66,82],[67,83]],"exportedModulesMap":[[69,1],[70,1],[105,2],[106,3],[107,4],[108,5],[109,6],[110,7],[111,8],[112,9],[113,10],[114,11],[115,11],[117,12],[116,13],[118,14],[119,15],[120,16],[104,17],[121,18],[122,19],[123,20],[155,21],[124,22],[125,23],[126,24],[127,25],[128,26],[129,27],[130,28],[131,29],[132,30],[133,31],[134,31],[135,32],[136,33],[138,34],[137,35],[139,36],[140,37],[141,38],[142,39],[143,40],[144,41],[145,42],[146,43],[147,44],[148,45],[149,46],[150,47],[151,48],[152,49],[153,50],[87,51],[94,52],[86,51],[101,53],[78,54],[77,55],[100,56],[95,57],[98,58],[80,59],[79,60],[75,61],[74,62],[97,63],[76,64],[81,65],[85,65],[103,66],[102,65],[89,67],[90,68],[92,69],[88,70],[91,71],[96,56],[83,72],[84,73],[93,74],[73,75],[99,76],[60,78],[63,79],[65,78],[67,83]],"semanticDiagnosticsPerFile":[69,70,105,106,107,108,109,110,111,112,113,114,115,117,116,118,119,120,104,154,121,122,123,155,124,125,126,127,128,129,130,131,132,133,134,135,136,138,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,71,87,94,86,101,78,77,100,95,98,80,79,75,74,97,76,81,82,85,72,103,102,89,90,92,88,91,96,83,84,93,73,99,49,50,9,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,8,47,44,45,46,1,48,10,54,55,56,57,58,59,60,53,61,62,63,64,65,51,52,66,67,68],"latestChangedDtsFile":"./index.d.ts"},"version":"5.0.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tutao/tutanota-utils",
3
- "version": "3.119.9",
3
+ "version": "3.120.0",
4
4
  "license": "GPL-3.0",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -23,6 +23,6 @@
23
23
  ],
24
24
  "devDependencies": {
25
25
  "typescript": "5.0.3",
26
- "@tutao/otest": "3.119.9"
26
+ "@tutao/otest": "3.120.0"
27
27
  }
28
28
  }