smol-string 0.0.0 → 0.0.1
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/README.md +22 -0
- package/dist/common.d.ts +13 -8
- package/dist/smol-string-packed.d.ts +2 -2
- package/dist/smol-string-packed.js +30 -42
- package/dist/smol-string-worker-packed.d.ts +2 -2
- package/dist/smol-string-worker-packed.js +37 -37
- package/dist/smol-string-worker.d.ts +2 -2
- package/dist/smol-string-worker.js +37 -37
- package/dist/smol-string.d.ts +2 -2
- package/dist/smol-string.js +28 -42
- package/dist/wasm-helper-57a16a1d.js +56 -0
- package/dist/worker-packed.d.ts +5 -5
- package/dist/worker.d.ts +5 -5
- package/package.json +1 -1
- package/src/common.ts +18 -4
- package/src/module-packed.wasm +0 -0
- package/src/module.wasm +0 -0
- package/src/smol-string-packed.ts +25 -35
- package/src/smol-string.ts +24 -39
- package/test/basic.test.ts +29 -29
- package/test/common.ts +15 -15
- package/test/json.bench.ts +51 -51
- package/dist/wasm-helper-6790be72.js +0 -45
package/README.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# smol-string
|
|
2
|
+
|
|
3
|
+
`smol-string` is a compression library designed for use with browsers' `localStorage` (and `sessionStorage`). It serves as a faster alternative to [`lz-string`](https://github.com/pieroxy/lz-string).
|
|
4
|
+
|
|
5
|
+
For more information, check the [GitHub Repository](https://github.com/Senryoku/smol-string).
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
npm install -S smol-string
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Basic Usage
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { compress, decompress } from "smol-string";
|
|
17
|
+
|
|
18
|
+
const input = "Any JS String";
|
|
19
|
+
|
|
20
|
+
const compressed = compress(input);
|
|
21
|
+
const decompressed = decompress(compressed);
|
|
22
|
+
```
|
package/dist/common.d.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
export declare function copyToWasmBuffer(str: string, exports: {
|
|
2
|
-
allocUint8: (size: number) => number;
|
|
3
|
-
memory: any;
|
|
4
|
-
}): {
|
|
5
|
-
ptr: number;
|
|
6
|
-
length: number;
|
|
7
|
-
};
|
|
8
|
-
export declare function Uint16ArraytoString(buf: Uint16Array): string;
|
|
1
|
+
export declare function copyToWasmBuffer(str: string, exports: {
|
|
2
|
+
allocUint8: (size: number) => number;
|
|
3
|
+
memory: any;
|
|
4
|
+
}): {
|
|
5
|
+
ptr: number;
|
|
6
|
+
length: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function Uint16ArraytoString(buf: Uint16Array): string;
|
|
9
|
+
export declare function extractFooter(memory: WebAssembly.Memory, ptrToFooter: number): {
|
|
10
|
+
start: number;
|
|
11
|
+
end: number;
|
|
12
|
+
capacity: number;
|
|
13
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function compressPacked(str: string): string;
|
|
2
|
-
export declare function decompressPacked(compressedStr: string): string;
|
|
1
|
+
export declare function compressPacked(str: string): string;
|
|
2
|
+
export declare function decompressPacked(compressedStr: string): string;
|
|
@@ -1,42 +1,30 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
const a = (I) => w(I, "data:application/wasm;base64,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IBItAARFDQQgEigCACEPCyAOQXRqKAIAIA9BAnRqIQ0LIA0gCTsBACANQQJqIAlBgIA8cUEQdjoAAAJAAkAgDA0AIAstAAAhDQwBCyACQfAAaiACQTBqIAsgDEEBahCNgICAACACLwFwIAItAHJBEHRyIQ0LIAJByABqIA0Qh4CAgABB//8DcQ0BIAogDGpBAWohCiAJQQFqIglB//8/cUH//z9HDQAgDkEAIA5BfGooAgAiDBCkgICAABogAkEANgI0IAIgDK1C0AB+QuQAgD4COCACQcgAakH//z8Qh4CAgABB//8DcQ0BIAJBADYCYCACQQk6AGRBgAIhCQwACwsgAkEwahCLgICAAAwBCyACQTBqEIuAgIAAC0EAIRALIAJB8AFqJICAgIAAIBALPwEBfyOAgICAAEEQayIBJICAgIAAIAEgACkCDDcDCCABQQhqIAAoAgAgACgCCBCSgICAACABQRBqJICAgIAACzcBAX8CQCACQQF0QQAgAhsiA0UNACAAKAIAIAFBAiACGyADQQFBACAAKAIEKAIIEYGAgIAAAAsLPwEBfyOAgICAAEEQayIBJICAgIAAIAEgACkCDDcDCCABQQhqIAAoAgAgACgCCBCUgICAACABQRBqJICAgIAACzcBAX8CQCACQQN0QQAgAhsiA0UNACAAKAIAIAFBBCACGyADQQJBACAAKAIEKAIIEYGAgIAAAAsL3wsDAX8Bfgt/I4CAgIAAQdAAayIDJICAgIAAIANBADYCPCADQqrVqtUKNwI0IAMjgYCAgABBmIDAgABqKQMAIgQ3AkACQAJAAkACQCACDQBBqtWq1XohBUEAIQYMAQtBqtWq1XohBSACIQYgA0HAAGoiB0Gq1arVekEAIAIQloCAgABBAXENACADQSBqIAcgAhCXgICAACADLwEoDQEgAygCJCEGIAMoAiAhBQtBCSEIQQAhCUEAIQpBACELQQAhDANAAkACQAJAAkAgDCACRg0AIAhB/wFxIgdBFEkNAQwDCyADIAQ3A0gCQAJAIANByABqIAUgBiACEJaAgIAAQQFxRQ0AIAUhCAwBCyADQTRqIANByABqIAIQl4CAgAAgAy8BPA0FIAMoAjQiCCAFIAMoAjgiAkECdBClgICAABogAyAENwMgIANBIGogBSAGEJiAgIAACyADQQA2AiggA0Kq1arV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AkAgAUGBgHxPDQACQCOBgICAAEGogMCAAGogAUH//wNqQRB2IgEgAhCcgICAACIEQX9HDQACQCOBgICAAEGggMCAAGogASACEJyAgIAAIgRBf0YNACAEQYAQaiEEDAELQQAhBEEBIAJ0IgU/ACIGQRB0IgJqQX9qQQAgBWtxIgUgAmtBEHYiByABakAAQQFIDQEgByAGaiEEIAUgAkYNACAGIAQQnoCAgAALIARBEHQhBAsgBAtPAQF/AkAgAkH//wNqIgZBgIB8cSAETyICRQ0AIARB//8DakEQdiIEIAZBEHYiBkYNACAEIAFB//8DakEQdiIBaiABIAZqEJ6AgIAACyACCyEAIAFB//8DakEQdiIBIAEgAkH//wNqQRB2ahCegICAAAt1AQF+IAAgBCABfiACIAN+fCADQiCIIgIgAUIgiCIEfnwgA0L/////D4MiAyABQv////8PgyIBfiIFQiCIIAMgBH58IgNCIIh8IANC/////w+DIAIgAX58IgFCIIh8NwMIIAAgAUIghiAFQv////8Pg4Q3AwALLAEBfwJAIAJFDQAgACEDA0AgAyABOgAAIANBAWohAyACQX9qIgINAAsLIAALQgEBfwJAIAJFDQAgAkF/aiECIAAhAwNAIAMgAS0AADoAACACRQ0BIAJBf2ohAiABQQFqIQEgA0EBaiEDDAALCyAACwtBAgBBgIDAAAsIAAAAAAAAAAAAQYiAwAALKAEAAAACAAAAAwAAAAAAAAAAAAAACAAQAKqqqqoAAAAAMAAQABAAAAA="), N = await a(), A = N.exports;
|
|
3
|
-
function
|
|
4
|
-
const { ptr:
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
let
|
|
17
|
-
A.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
C,
|
|
32
|
-
C + (A.memory.buffer.byteLength - C)
|
|
33
|
-
)
|
|
34
|
-
), D = B.indexOf(0), o = new TextDecoder().decode(
|
|
35
|
-
B.slice(0, D)
|
|
36
|
-
);
|
|
37
|
-
return A.free(C, D + 1), o;
|
|
38
|
-
}
|
|
39
|
-
export {
|
|
40
|
-
F as compressPacked,
|
|
41
|
-
y as decompressPacked
|
|
42
|
-
};
|
|
1
|
+
import { i as J, c as h, e as k, U as G } from "./wasm-helper-57a16a1d.js";
|
|
2
|
+
const N = (A) => J(A, "data:application/wasm;base64,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KQAAIASFQgAgBUEQaikAAELjjaPkid6a3o5/hUIAEJ2AgIAAIAJBIGogBUEoaikAACAHhUIAIAVBIGopAABCw5ndqce52czYAIVCABCdgICAACACQcAAakEIaikDACACKQNAhSEGIAJBIGpBCGopAwAgAikDIIUhByACQTBqQQhqKQMAIAIpAzCFIQQgCCEFDAALC0IAIQZCrJri06PS8PofIQcCQCABDQBCACEEDAMLIAAgAUEBdmoxAABCCIYgADEAAEIQhoQgASAAakF/ajEAAIQhBAwCCyAEIAeFIAaFIQcLIAAgBWohCSABIAVrIQgCQANAIANBEGoiBSAITw0BIAJB0ABqIAkgA2oiA0EIaikAACAHhUIAIAMpAABC29HQhZra34FnhUIAEJ2AgIAAIAJB0ABqQQhqKQMAIAIpA1CFIQcgBSEDDAALCyABIABqIgNBeGopAAAhBiADQXBqKQAAIQQLIAJBEGogBELb0dCFmtrfgWeFQgAgBiAHhUIAEJ2AgIAAIAIgAkEQakEIaikDAELb0dCFmtrfgWeFQgAgAa0gAikDEIVCr8j1xcesh7ugf4VCABCdgICAACACQQhqKQMAIQcgAikDACEEIAJB4ABqJICAgIAAIAcgBIULWAECf0EAIQQCQCABIANHDQACQCAAIAJHDQBBAQ8LA0AgAUUhBCABRQ0BIAFBf2ohASACLQAAIQMgAC0AACEFIABBAWohACACQQFqIQIgBSADRg0ACwsgBAv8FAQBfwF+H38BfiOAgICAAEHgAWsiAiSAgICAAAJAAkACQCABDQAjgYCAgABBmIDAgABqKQMAIQNBqtWq1XohBEEAIQVBCSEGQQAhB0EAIQFBACEIQQAhCQwBCyACQSBqQQhqIgpBADYCACACQgA3AyAgAiOBgICAAEGYgMCAAGopAwAiAzcCLCACIAM3ArQBIAJBADYCsAEgAkKq1arVCjcCqAECQAJAAkAgAkGoAWogARCNgICAAEH//wNxDQAgAkEgakEMaiELIAJBOGpBEGogAkGoAWpBEGooAgA2AgAgAkE4akEIaiACQagBakEIaiIMKQIANwMAIAIgAikCqAE3AzggAkEJOwFUIAJCADcCTCADQiCIpyENIAOnIQ5BgAIhD0EAIQgDQCAAIAhqIQdBACEEAkACQAJAAkACQAJAAkACQAJA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"), w = await N(), I = w.exports;
|
|
3
|
+
function c(A) {
|
|
4
|
+
const { ptr: g, length: C } = h(A, I), D = I.compressPacked(g, C);
|
|
5
|
+
I.free(g, C);
|
|
6
|
+
const { start: Q, end: B, capacity: i } = k(I.memory, D), o = new Uint16Array(I.memory.buffer.slice(Q, B)), F = G(o);
|
|
7
|
+
return I.free(Q, i), F;
|
|
8
|
+
}
|
|
9
|
+
function y(A) {
|
|
10
|
+
const g = (A.charCodeAt(A.length - 1) << 16) + A.charCodeAt(A.length - 2);
|
|
11
|
+
let C = I.allocUint16(A.length - 2), D = new Uint16Array(
|
|
12
|
+
I.memory.buffer,
|
|
13
|
+
C,
|
|
14
|
+
A.length - 2
|
|
15
|
+
);
|
|
16
|
+
for (let E = 0; E < A.length - 2; E++)
|
|
17
|
+
D[E] = A.charCodeAt(E);
|
|
18
|
+
const Q = I.decompressPacked(
|
|
19
|
+
C,
|
|
20
|
+
A.length - 2,
|
|
21
|
+
g
|
|
22
|
+
);
|
|
23
|
+
I.free(C, A.length - 2);
|
|
24
|
+
const { start: B, end: i, capacity: o } = k(I.memory, Q), F = new Uint8Array(I.memory.buffer.slice(B, i)), a = new TextDecoder().decode(F);
|
|
25
|
+
return I.free(B, o), a;
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
c as compressPacked,
|
|
29
|
+
y as decompressPacked
|
|
30
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function compress(data: string): Promise<unknown>;
|
|
2
|
-
export declare function decompress(data: string): Promise<unknown>;
|
|
1
|
+
export declare function compress(data: string): Promise<unknown>;
|
|
2
|
+
export declare function decompress(data: string): Promise<unknown>;
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
const l = "ZnVuY3Rpb24gYShJLCBRKSB7CiAgY29uc3QgQSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShJKSwgZyA9IFEuYWxsb2NVaW50OChBLmxlbmd0aCArIDEpLCBDID0gbmV3IFVpbnQ4QXJyYXkoCiAgICBRLm1lbW9yeS5idWZmZXIsCiAgICBnLAogICAgQS5sZW5ndGggKyAxCiAgKTsKICByZXR1cm4gQy5zZXQoQSksIENbQS5sZW5ndGhdID0gMCwgeyBwdHI6IGcsIGxlbmd0aDogQS5sZW5ndGggKyAxIH07Cn0KZnVuY3Rpb24gdChJKSB7CiAgY29uc3QgUSA9IG5ldyBBcnJheShJLmxlbmd0aCk7CiAgZm9yIChsZXQgQSA9IDA7IEEgPCBJLmxlbmd0aDsgQSsrKQogICAgUVtBXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoSVtBXSk7CiAgcmV0dXJuIFEuam9pbigiIik7Cn0KdmFyIHcgPSBhc3luYyAoSSA9IHt9LCBRKSA9PiB7CiAgbGV0IEE7CiAgaWYgKFEuc3RhcnRzV2l0aCgiZGF0YToiKSkgewogICAgY29uc3QgZyA9IFEucmVwbGFjZSgvXmRhdGE6Lio/YmFzZTY0LC8sICIiKTsKICAgIGxldCBDOwogICAgaWYgKHR5cGVvZiBCdWZmZXIgPT0gImZ1bmN0aW9uIiAmJiB0eXBlb2YgQnVmZmVyLmZyb20gPT0gImZ1bmN0aW9uIikKICAgICAgQyA9IEJ1ZmZlci5mcm9tKGcsICJiYXNlNjQiKTsKICAgIGVsc2UgaWYgKHR5cGVvZiBhdG9iID09ICJmdW5jdGlvbiIpIHsKICAgICAgY29uc3QgRSA9IGF0b2IoZyk7CiAgICAgIEMgPSBuZXcgVWludDhBcnJheShFLmxlbmd0aCk7CiAgICAgIGZvciAobGV0IEQgPSAwOyBEIDwgRS5sZW5ndGg7IEQrKykKICAgICAgICBDW0RdID0gRS5jaGFyQ29kZUF0KEQpOwogICAgfSBlbHNlCiAgICAgIHRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGRlY29kZSBiYXNlNjQtZW5jb2RlZCBkYXRhIFVSTCwgQnVmZmVyIGFuZCBhdG9iIGFyZSBub3Qgc3VwcG9ydGVkIik7CiAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoQywgSSk7CiAgfSBlbHNlIHsKICAgIGNvbnN0IGcgPSBhd2FpdCBmZXRjaChRKSwgQyA9IGcuaGVhZGVycy5nZXQoIkNvbnRlbnQtVHlwZSIpIHx8ICIiOwogICAgaWYgKCJpbnN0YW50aWF0ZVN0cmVhbWluZyIgaW4gV2ViQXNzZW1ibHkgJiYgQy5zdGFydHNXaXRoKCJhcHBsaWNhdGlvbi93YXNtIikpCiAgICAgIEEgPSBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhnLCBJKTsKICAgIGVsc2UgewogICAgICBjb25zdCBFID0gYXdhaXQgZy5hcnJheUJ1ZmZlcigpOwogICAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoRSwgSSk7CiAgICB9CiAgfQogIHJldHVybiBBLmluc3RhbmNlOwp9LCBoID0gKEkpID0+IHcoSSwgImRhdGE6YXBwbGljYXRpb24vd2FzbTtiYXNlNjQsQUdGemJRRUFBQUFCVVF4Z0JIOS9mMzhCZjJBRmYzOS9mMzhBWUFaL2YzOS9mMzhCZjJBQmZ3Ri9ZQU4vZjM4QVlBSi9md0JnQW45L0FYOWdBWDhBWUFSL2YzOS9BR0FDZjM4QmZtQURmMzkvQVg5Z0JYOStmbjUrQUFNbkpnTUVBd1FFQlFRR0F3WUdCd1VJQ1FBR0J3UUhCQW9BQkFRR0FBUUtDQVVFQUFJQkN3b0tCQVVCY0FFRUJBVURBUUFSQmc0Q2Z3RkJnSURBQUF0L0FFRUFDd2RRQmdadFpXMXZjbmtDQUFwaGJHeHZZMVZwYm5RNEFBQUxZV3hzYjJOVmFXNTBNVFlBQWdSbWNtVmxBQVVPWTI5dGNISmxjM05RWVdOclpXUUFFQkJrWldOdmJYQnlaWE56VUdGamEyVmtBQlVKQ1FFQVFRRUxBeUFoSWdxMlNDWmVBUUYvSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFnQVNPQmdJQ0FBRUdZZ01DQUFHb3BBd0EzQXdBZ0FVRUlhaUFCSUFBUWdZQ0FnQUFDUUNBQkx3RU1EUUFnQVNnQ0NDRUFJQUZCRUdva2dJQ0FnQUFnQUE4TEEzOEFEQUFMQzNFQ0FYOEJmaU9BZ0lDQUFFRVFheUlESklDQWdJQUFRb0NBZ0lBUUlRUUNRRUVCUlEwQUFrQWdBZzBBUXYvLy8vOFBJUVFNQVFzZ0FTZ0NBQ0FDUVFCQkFDQUJLQUlFS0FJQUVZQ0FnSUFBQUNJQ1JhMUNJSVlnQXEyRUlRUUxJQUFnQkRjQ0FDQURRUkJxSklDQWdJQUFDMVFCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQlFRUnFJNEdBZ0lBQVFaaUF3SUFBYWlBQUVJT0FnSUFBQWtBZ0FTOEJEQTBBSUFFb0FnUWhBQ0FCUVJCcUpJQ0FnSUFBSUFBUEN3Ti9BQXdBQ3d1VkFRRUJmeU9BZ0lDQUFFRXdheUlESklDQWdJQUFJQU1nQVNrQ0FEY0RDQ0FEUVJCcUlBTkJDR29nQWhDRWdJQ0FBQUpBQWtBZ0F5OEJGQ0lCUlEwQUlBTWdBVHNCSUNBRFFSaHFJUUlNQVFzZ0EwRUFPd0VzSUFNZ0FqWUNLQ0FESUFNb0FoQTJBaVFnQTBFa2FpRUNDeUFBSUFJcEFnQTNBZ0FnQUVFSWFpQUNRUWhxS0FJQU5nSUFJQU5CTUdva2dJQ0FnQUFMaHdFQ0FYOEJmaU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQU1nQWtFQVNEb0FEQUpBQWtBZ0FrRi9TZzBBUW9DQWdJQVFJUVFNQVFzQ1FDQUNRUUYwSWdJTkFFTCsvLy8vRHlFRURBRUxJQUVvQWdBZ0FrRUJRUUFnQVNnQ0JDZ0NBQkdBZ0lDQUFBQWlBa1d0UWlDR0lBS3RoQ0VFQ3lBQUlBUTNBZ0FnQTBFUWFpU0FnSUNBQUFzWkFDT0JnSUNBQUVHWWdNQ0FBR29nQUNBQkVJYUFnSUFBQ3pnQkFYOENRQ0FDUVFBZ0Foc2lBMFVOQUNBQUtBSUFJQUZCcXRXcTFYb2dBaHNnQTBFQVFRQWdBQ2dDQkNnQ0NCR0JnSUNBQUFBTEM4QUNBUVIvQWtBZ0FDMEFIQ0lDUVJSUERRQWdBQ2dDR0VHQUFtb2dBaENJZ0lDQUFFRi9ha2tOQUNBQUlBSkJBV29pQWpvQUhBc0NRQUpBQTBBZ0FrSC9BWEVpQTBVTkFTQUFLQUlFSVFRQ1FBSkFJQUF0QUIwaUJVRVFSZzBBSUFRTkFRc0NRQ0FBS0FJSUlnVWdCRXNOQUNBQUlBVWdCRUVCYWhDSmdJQ0FBQkNLZ0lDQUFDSUVRZi8vQTNFTkJDQUFLQUlFSVFRTElBQWdCRUVCYWpZQ0JFRUFJUVVnQUNnQ0FDQUVRUUYwYWtFQU93RUFJQUJCQURvQUhTQUFLQUlFSVFRTElBUkJBWFFnQUNnQ0FHcEJmbW9pQkNBRUx3RUFJQUZCRkNBQ2EwSC9BWEYwUWYvL1AzRWdCVUVFYW5aeU93RUFJQUFnQUMwQUhTQURRUkFnQld0Qi93RnhJZ1FnQXlBRVNSc2lCR282QUIwZ0FpQUVheUVDREFBTEN5QUFJQUFvQWhSQkFXbzJBaFFnQUNBQUtBSVlRUUZxTmdJWVFRQWhCQXNnQkF2TEFRSUVmd0YrSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFDUUFKQUlBQU5BRUVCSVFJTUFRdEJBU0VEUVFJaEJBTkFBa0FDUUNBQVFRSkpEUUFnQUVFQmNVVU5BVUVBSVFJZ0FTQURyU0FFclg0aUJVSWdpS2NpQTBFQVJ6b0FCQ0FERFFNZ0JhY2hBd3dCQ3lBQklBT3RJQVN0ZmlJRlFpQ0lweUlBUVFCSE9nQU1RUUFnQmFjZ0FCc2hBZ3dDQzBFQUlRSWdBU0FFclNJRklBVitJZ1ZDSUlpbklnUkJBRWM2QUFnZ0JBMEJJQVduSVFRZ0FFRUJkaUVBREFBTEN5QUJRUkJxSklDQWdJQUFJQUlMSlFFQmZ3TkFRWDhnQUVFQmRpQUFha0VJYWlJQ0lBSWdBRWtiSWdBZ0FVa05BQXNnQUF2dEFRRUZmeU9BZ0lDQUFFRVFheUlDSklDQWdJQUFRUUFoQXdKQUlBQW9BZ2dpQkNBQlR3MEFJQUFvQWdBaEJRSkFBa0FnQkVVTkFDQUNJQUZCQUVnNkFBZ2dBVUYvVEEwQUlBQW9BZ3dnQlNBRVFRRjBRUUVnQVVFQmRFRUFJQUJCRUdvb0FnQW9BZ1FSZ29DQWdBQUFRUUZ4UlEwQUlBQWdBVFlDQ0F3QkN5QUNJQUJCREdvaUJpa0NBRGNEQUNBQ1FRaHFJQUlnQVJDRWdJQ0FBQ0FDTHdFTUlnTU5BU0FDS0FJSUlBQW9BZ0FnQUNnQ0JFRUJkQkNsZ0lDQUFDRURJQVlnQlNBRUVKS0FnSUFBSUFBZ0FUWUNDQ0FBSUFNMkFnQUxRUUFoQXdzZ0FrRVFhaVNBZ0lDQUFDQURDdzhBSUFBZ0FFRU1haENNZ0lDQUFBdGxBUU4vQWtBZ0FDZ0NBQ0lDUlEwQUFrQWdBa0YwYWlJRFFRaHFLQUlBUVExc1FROXFRWHh4SWdKQkFDQUNHeUlFUlEwQUlBRW9BZ0FnQTBFRUlBSWJJQVJCQWtFQUlBRW9BZ1FvQWdnUmdZQ0FnQUFBQ3lBQVFRQTJBZ2dnQUVFQU5nSUFDd3VCQXdRRWZ3RitCSDhCZmlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBSTRHQWdJQUFJUVVnQVNnQ0FDRUdBa0FDUUNBQktBSUVEUUFnQlVHQWdNQ0FBR29oQnd3QkN5QUNJQU1Ram9DQWdBQWhDQUpBQWtBZ0JnMEFRUUFoQlVGL0lRa01BUXNnQmtGOGFpZ0NBQ0lGUVg5cUlRa0xJQVpCZUdvaENpQUpJQWluY1NFQklBaENPWWluSVFzRFFDT0JnSUNBQUVHQWdNQ0FBR29oQnlBR0lBRnFMQUFBSWd4RkRRRWdCVVVOQVFKQUlBeEJmMG9OQUNBTElBeEIvd0J4UncwQUlBSWdBeUFLS0FJQUlBRkJBM1JxSWd3b0FnQWdEQ2dDQkJDUGdJQ0FBRUVCY1VVTkFDQUVRUUU2QUF3Z0JDQUJOZ0lJSUFSQkNHb2hCd3dDQ3lBRlFYOXFJUVVnQVVFQmFpQUpjU0VCREFBTEN3SkFBa0FnQnkwQUJBMEFRZ0FoQ0VJQUlRME1BUXNnQkNBR1FYUnFLQUlBSUFjb0FnQkJBblJxSWdGQkFtb3RBQUJCRDNFNkFBSWdCQ0FCTHdFQU93RUFJQVF6QVFBZ0JERUFBa0lRaG9RaENFS0FnSUNBRUNFTkN5QUFJQTBnQ0lRM0FnQWdCRUVRYWlTQWdJQ0FBQXZzQlFVQ2Z3RitBWDhDZmdKL0k0Q0FnSUFBUWVBQWF5SUNKSUNBZ0lBQUFrQUNRQUpBQWtBQ1FDQUJRUkJMRFFBZ0FVRURUUTBCSUFBMUFBQkNJSVlnQUNBQlFRRjJRZnovLy84SGNTSURhalVBQUlRaEJDQUFJQUZCZkdvaUJXbzFBQUJDSUlZZ0FDQUZJQU5yYWpVQUFJUWhCa0tzbXVMVG85THcraDhoQnd3RUMwRUFJUU5DckpyaTA2UFM4UG9mSVFkQkFDRUZJQUZCTUVrTkFrRUFJUVZDckpyaTA2UFM4UG9mSVFkQ3JKcmkwNlBTOFBvZklRUkNySnJpMDZQUzhQb2ZJUVlEUUNBRlFUQnFJZ2dnQVU4TkFpQUNRY0FBYWlBQUlBVnFJZ1VwQUFnZ0JvVkNBQ0FGS1FBQVF0dlIwSVdhMnQrQlo0VkNBQkNqZ0lDQUFDQUNRVEJxSUFWQkdHb3BBQUFnQklWQ0FDQUZRUkJxS1FBQVF1T05vK1NKM3ByZWpuK0ZRZ0FRbzRDQWdBQWdBa0VnYWlBRlFTaHFLUUFBSUFlRlFnQWdCVUVnYWlrQUFFTERtZDJweDduWnpOZ0FoVUlBRUtPQWdJQUFJQUpCd0FCcVFRaHFLUU1BSUFJcEEwQ0ZJUVlnQWtFZ2FrRUlhaWtEQUNBQ0tRTWdoU0VISUFKQk1HcEJDR29wQXdBZ0Fpa0RNSVVoQkNBSUlRVU1BQXNMUWdBaEJrS3NtdUxUbzlMdytoOGhCd0pBSUFFTkFFSUFJUVFNQXdzZ0FDQUJRUUYyYWpFQUFFSUloaUFBTVFBQVFoQ0doQ0FCSUFCcVFYOXFNUUFBaENFRURBSUxJQVFnQjRVZ0JvVWhCd3NnQUNBRmFpRUpJQUVnQldzaENBSkFBMEFnQTBFUWFpSUZJQWhQRFFFZ0FrSFFBR29nQ1NBRGFpSURRUWhxS1FBQUlBZUZRZ0FnQXlrQUFFTGIwZENGbXRyZmdXZUZRZ0FRbzRDQWdBQWdBa0hRQUdwQkNHb3BBd0FnQWlrRFVJVWhCeUFGSVFNTUFBc0xJQUVnQUdvaUEwRjRhaWtBQUNFR0lBTkJjR29wQUFBaEJBc2dBa0VRYWlBRVF0dlIwSVdhMnQrQlo0VkNBQ0FHSUFlRlFnQVFvNENBZ0FBZ0FpQUNRUkJxUVFocUtRTUFRdHZSMElXYTJ0K0JaNFZDQUNBQnJTQUNLUU1RaFVLdnlQWEZ4NnlIdTZCL2hVSUFFS09BZ0lBQUlBSkJDR29wQXdBaEJ5QUNLUU1BSVFRZ0FrSGdBR29rZ0lDQWdBQWdCeUFFaFF0WUFRSi9RUUFoQkFKQUlBRWdBMGNOQUFKQUlBQWdBa2NOQUVFQkR3c0RRQ0FCUlNFRUlBRkZEUUVnQVVGL2FpRUJJQUl0QUFBaEF5QUFMUUFBSVFVZ0FFRUJhaUVBSUFKQkFXb2hBaUFGSUFOR0RRQUxDeUFFQzhjVUJBSi9BWDRlZndGK0k0Q0FnSUFBUWZBQmF5SUNKSUNBZ0lBQUlBSkJNR3BCQ0dvaUEwRUFOZ0lBSUFKQ0FEY0RNQ0FDSTRHQWdJQUFRWmlBd0lBQWFpa0RBQ0lFTndJOElBSWdCRGNDeEFFZ0FrRUFOZ0xBQVNBQ1FxclZxdFVLTndLNEFRSkFBa0FDUUFKQUlBSkJ1QUZxSUFFUWlvQ0FnQUJCLy84RGNRMEFJQUpCTUdwQkRHb2hCU0FDUWNnQWFrRVFhaUFDUWJnQmFrRVFhaWdDQURZQ0FDQUNRY2dBYWtFSWFpQUNRYmdCYWtFSWFpSUdLUUlBTndNQUlBSWdBaWtDdUFFM0EwZ2dBa0VKT3dGa0lBSkNBRGNDWENBRVFpQ0lweUVISUFTbklRaEJnQUloQ1VFQUlRb0RRQ0FBSUFwcUlRdEJBQ0VNQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQTBBQ1FBSkFJQXhCQW1vaURTQUthaUFCVHcwQUlBSkI2QUJxSUFKQk1Hb2dDeUFORUkyQWdJQUFJQUl0QUd3TkFTQUNLQUl3SVE0Z0FpZ0NPQTBHQWtBQ1FDQU9EUUJCQVNFUERBRUxJQTVCZkdvb0FnQ3RRdEFBZmlJRUlBUkM1QUNDZlVMa0FIeEMwQUNBcHlFUEMwRUFJUkFnQmtFQU5nSUFJQUpDQURjRHVBRkJBQTBGQWtBQ1FFSUJRU0FnRDJkcnJVTC8vd09EaHFjaUQwRUlJQTlCQ0VzYkloRkJEMm9pRWlBUlFRTjBhaUlUSUJGQkFuUnFRWHh4SWc4TkFFRjhJUThNQVF0QkFDRVFJQWdnRDBFQ1FRQWdCeWdDQUJHQWdJQ0FBQUFpRDBVTkJnc2dEMEVJYWlJVUlCRTJBZ0FnRHlBUElCSkJmSEZxTmdJRUlBOGdEeUFUUVh4eGFqWUNBQ0FDSUE5QkRHb2lEellDdUFFZ0QwRUFJQkVRcElDQWdBQWhFQ0FDSUJHdFF0QUFma0xrQUlDbkloVTJBc0FCSUFJb0FqUWlGa1VOQkVFQUlSZEJBQ0VZQWtBZ0RrVU5BQ0FPUVh4cUtBSUFJUmdMSUJCQmRHb2hHU0FRUVhocUlSb2dEa0YwYWlJUEtBSUFJUnNnRDBFRWFpZ0NBQ0VjUVFBaEhRTkFJQjBnR0VZTkJBSkFJQTRnSFdvc0FBQkJBRTROQUNBYklCMUJBblJxSWc5QkFtb3RBQUJCRUhRaEhpQVBMd0VBSVI4Z0hDQWRRUU4wYWlJUEtBSUVJU0FnRHlnQ0FDRWhBa0FnRjBVTkFDQWhJQ0FRam9DQWdBQWhCQ0FVS0FJQUloRkJmMm9pRXlBRXAzRWhEeUFFUWptSXB5RWlBMEFnRUNBUGFpd0FBQ0lTUlEwQklCRkZEUUVDUUNBU1FYOUtEUUFnSWlBU1FmOEFjVWNOQUNBaElDQWdHaWdDQUNBUFFRTjBhaUlTS0FJQUlCSW9BZ1FRajRDQWdBQkJBWEZGRFFBZ0FrRUJPZ0RzQVF3Q0N5QVJRWDlxSVJFZ0QwRUJhaUFUY1NFUERBQUxDeUFmSUI1eUlSTWdJU0FnRUk2QWdJQUFJUVFnRkNnQ0FFRi9haUlTSUFTbmNTRVBBa0FEUUNBUUlBOXFJaEVzQUFCQmYwb05BU0FQUVFGcUlCSnhJUThNQUFzTElCRWdCRUk1aUtkQmdBRnlPZ0FBSUJvb0FnQWdEMEVEZEdvaUVTQWdOZ0lFSUJFZ0lUWUNBQ0FaS0FJQUlBOUJBblJxSWc4Z0V6c0JBQ0FQUVFKcUlCTkJnSUE4Y1VFUWRqb0FBQ0FWUVg5cUlSVWdGMEVCYWlJWElCWkhEUUFnRmlFWERBVUxJQjFCQVdvaEhRd0FDd3NDUUFKQUlBcEJBV29nQVVrTkFDQUNRY2dBYWlBTExRQUFFSWVBZ0lBQVFmLy9BM0VORGd3QkN5QUNRZmdBYWtFUWFpQUNRVEJxUVJCcUtBSUFOZ0lBSUFKQitBQnFRUWhxSUFKQk1HcEJDR29wQXdBM0F3QWdBaUFDS1FNd053TjRJQUpCa0FGcUlBSkIrQUJxSUFzZ0RFRUNhaENOZ0lDQUFBSkFJQUl0QUpRQkRRQUNRQUpBSUF3TkFDQUxMUUFBSVEwTUFRc2dBa0dZQVdwQkVHb2dBa0V3YWtFUWFpZ0NBRFlDQUNBQ1FaZ0Jha0VJYWlBQ1FUQnFRUWhxS1FNQU53TUFJQUlnQWlrRE1EY0RtQUVnQWtHd0FXb2dBa0dZQVdvZ0N5QU1RUUZxRUkyQWdJQUFJQUl2QWJBQklBSXRBTElCUVJCMGNpRU5DeUFDUWNnQWFpQU5FSWVBZ0lBQVFmLy9BM0VORGlBQ1FjZ0FhaUFMSUF4cVFRRnFMUUFBRUllQWdJQUFRZi8vQTNGRkRRRU1EZ3NnQWtISUFHb2dBaThCa0FFZ0FpMEFrZ0ZCRUhSeUVJZUFnSUFBUWYvL0EzRU5EUXNnQWtFd2FoQ0xnSUNBQUNBQ1FSaHFJQUpCeUFCcVFSaHFLUU1BTndNQUlBSkJFR29nQWtISUFHcEJFR29wQXdBM0F3QWdBa0VJYWlBQ1FjZ0Fha0VJYWlrREFEY0RBQ0FDSUFJcEEwZzNBd0FnQWtFa2FpT0JnSUNBQUVHWWdNQ0FBR29nQWlnQ0JDSU1RUVJxRUlPQWdJQUFBa0FnQWk4QkxBMEFJQUlvQWlRaUVDQUNLQUlvUVJCNE5nRUFJQkFnQWlnQ0ZFRVFlRFlCQkNBUVFRaHFJUTBnQWlnQ0FDRVBBa0FEUUNBTVJRMEJJQTBnRHk4QkFEc0JBQ0FNUVg5cUlRd2dEVUVDYWlFTklBOUJBbW9oRHd3QUN3c2dBaENSZ0lDQUFBd1FDeUFDRUpHQWdJQUFEQTRMSUF4QkFXb2hEQXdBQ3dzZ0FpQVZOZ0xBQVNBQ0lCYzJBcndCQ3lBREtBSUFJUThnQXlBR0tBSUFOZ0lBSUFZZ0R6WUNBQ0FDUVFBMkFqUWdBaWtETUNFRUlBSWdBaWtEdUFFaUl6Y0RNQ0FDSUFRM0E3Z0JJQ09uSVE1QkFTRVFDeUFDUWJnQmFpQUZFSXlBZ0lBQUlCQU5BQ09CZ0lDQUFDRVBJQUlvQWpRTkFTQVBRWUNBd0lBQWFpRVNEQU1MSUFzZ0RSQ09nSUNBQUNFRUFrQUNRQ0FPRFFBZ0JLY2hEMEVBSVJKQmZ5RWREQUVMSUE1QmZHb29BZ0FpRWtGL2FpSWRJQVNuY1NFUEN5QU9RWGhxSVNBZ0RrRjhhaUVoSUFSQ09ZaW5JU0lnRWlFUUEwQWdEaUFQYWlJVExBQUFJaEZGRFFJZ0VFRUFSZzBDQWtBQ1FDQVJRWDlLRFFBZ0lpQVJRZjhBY1VjTkFDQUxJQTBnSUNnQ0FDQVBRUU4wYWlJUktBSUFJQkVvQWdRUWo0Q0FnQUJCQVhGRkRRRU1CZ3NnRWlBaEtBSUFSdzBBSUE4Z0VpQVJRUUZHR3lFU0N5QVFRWDlxSVJBZ0QwRUJhaUFkY1NFUERBQUxDeUFMSUEwUWpvQ0FnQUFoQkFKQUFrQWdEZzBBUVFBaEVFRi9JUk1NQVFzZ0RrRjhhaWdDQUNJUVFYOXFJUk1MSUE1QmVHb2hJaUFUSUFTbmNTRVBJQVJDT1lpbklSMERRQ09CZ0lDQUFFR0FnTUNBQUdvaEVpQU9JQTlxTEFBQUloRkZEUUlnRUVVTkFnSkFJQkZCZjBvTkFDQWRJQkZCL3dCeFJ3MEFJQXNnRFNBaUtBSUFJQTlCQTNScUloRW9BZ0FnRVNnQ0JCQ1BnSUNBQUVFQmNVVU5BQ0FDUVFFNkFOQUJJQUlnRHpZQ3pBRWdBa0hNQVdvaEVnd0RDeUFRUVg5cUlSQWdEMEVCYWlBVGNTRVBEQUFMQ3lBaEtBSUFJUkFnQWlBQ0tBSTRRWDlxTmdJNElBNGdFbW9nRXlBU0lCQkpJaEFiSUNKQmdBRnlPZ0FBSUE1QmRHb29BZ0FoRVNBZ0tBSUFJUk1nQWlBQ0tBSTBRUUZxTmdJMElCTWdFaUFQSUJBYklnOUJBM1JxSWhBZ0RUWUNCQ0FRSUFzMkFnQWdFU0FQUVFKMGFpRU5EQUlMSUJJdEFBUkZEUVFnRWlnQ0FDRVBDeUFPUVhScUtBSUFJQTlCQW5ScUlRMExJQTBnQ1RzQkFDQU5RUUpxSUFsQmdJQThjVUVRZGpvQUFBSkFBa0FnREEwQUlBc3RBQUFoRFF3QkN5QUNRZkFBYWlBQ1FUQnFJQXNnREVFQmFoQ05nSUNBQUNBQ0x3RndJQUl0QUhKQkVIUnlJUTBMSUFKQnlBQnFJQTBRaDRDQWdBQkIvLzhEY1EwQklBb2dER3BCQVdvaENpQUpRUUZxSWdsQi8vOC9jVUgvL3o5SERRQWdEa0VBSUE1QmZHb29BZ0FpREJDa2dJQ0FBQm9nQWtFQU5nSTBJQUlnREsxQzBBQitRdVFBZ0Q0Q09DQUNRY2dBYWtILy96OFFoNENBZ0FCQi8vOERjUTBCSUFKQkFEWUNZQ0FDUVFrNkFHUkJnQUloQ1F3QUN3c2dBa0V3YWhDTGdJQ0FBQXdCQ3lBQ1FUQnFFSXVBZ0lBQUMwRUFJUkFMSUFKQjhBRnFKSUNBZ0lBQUlCQUxQd0VCZnlPQWdJQ0FBRUVRYXlJQkpJQ0FnSUFBSUFFZ0FDa0NERGNEQ0NBQlFRaHFJQUFvQWdBZ0FDZ0NDQkNTZ0lDQUFDQUJRUkJxSklDQWdJQUFDemNCQVg4Q1FDQUNRUUYwUVFBZ0Foc2lBMFVOQUNBQUtBSUFJQUZCQWlBQ0d5QURRUUZCQUNBQUtBSUVLQUlJRVlHQWdJQUFBQXNMUHdFQmZ5T0FnSUNBQUVFUWF5SUJKSUNBZ0lBQUlBRWdBQ2tDRERjRENDQUJRUWhxSUFBb0FnQWdBQ2dDQ0JDVWdJQ0FBQ0FCUVJCcUpJQ0FnSUFBQ3pjQkFYOENRQ0FDUVFOMFFRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQkJDQUNHeUFEUVFKQkFDQUFLQUlFS0FJSUVZR0FnSUFBQUFzTDN3c0RBWDhCZmd0L0k0Q0FnSUFBUWRBQWF5SURKSUNBZ0lBQUlBTkJBRFlDUENBRFFxclZxdFVLTndJMElBTWpnWUNBZ0FCQm1JREFnQUJxS1FNQUlnUTNBa0FDUUFKQUFrQUNRQ0FDRFFCQnF0V3ExWG9oQlVFQUlRWU1BUXRCcXRXcTFYb2hCU0FDSVFZZ0EwSEFBR29pQjBHcTFhclZla0VBSUFJUWxvQ0FnQUJCQVhFTkFDQURRU0JxSUFjZ0FoQ1hnSUNBQUNBREx3RW9EUUVnQXlnQ0pDRUdJQU1vQWlBaEJRdEJDU0VJUVFBaENVRUFJUXBCQUNFTFFRQWhEQU5BQWtBQ1FBSkFBa0FnRENBQ1JnMEFJQWhCL3dGeElnZEJGRWtOQVF3REN5QURJQVEzQTBnQ1FBSkFJQU5CeUFCcUlBVWdCaUFDRUphQWdJQUFRUUZ4UlEwQUlBVWhDQXdCQ3lBRFFUUnFJQU5CeUFCcUlBSVFsNENBZ0FBZ0F5OEJQQTBGSUFNb0FqUWlDQ0FGSUFNb0FqZ2lBa0VDZEJDbGdJQ0FBQm9nQXlBRU53TWdJQU5CSUdvZ0JTQUdFSmlBZ0lBQUN5QURRUUEyQWlnZ0EwS3ExYXJWQ2pjQ0lDQURJQVEzQWl3Z0EwRUFRZi8vUHhDSmdJQ0FBQ0lIUWYvLy8vOEJTem9BTkNBSFFZQ0FnSUFDVHcwQkFrQUNRQ0FIUVFOMElnME5BRUY4SVEwTUFRc2dCS2NnRFVFQ1FRQWdCRUlnaUtjb0FnQVJnSUNBZ0FBQUlnMUZEUUlMSUFNZ0J6WUNLQ0FESUEwMkFpQkJBQ0VIQWtBRFFDQUhRZmovL3dOR0RRRWdEU0FIYWtJQU53SUFJQWRCQ0dvaEJ3d0FDd3NnQTBILy96ODJBaVFnQXlBRU53SkFRUUFoQnlBRFFRQTJBandnQTBLcTFhclZDamNDTkNBRFFUUnFJQUpCRkd3UW1ZQ0FnQUJCLy84RGNRMEJJQU1wQWtBaEJDQURLQUk4SVFzZ0F5Z0NOQ0lBSUFNb0FqZ2lDV29nQ0MwQUFEb0FBQ0FOSUFndkFRQWdDRUVDYWkwQUFFRVFkSEpCQTNScUlnNUJBVFlDQkNBT0lBQTJBZ0FnQ1VFQmFpRVBRWUFDSVFwQkFTRUpBMEFnRHlFT0FrQUNRQUpBQWtBZ0NTQUNUdzBBQWtBZ0NDQUpRUUowYWlJUEx3RUFJQTlCQW1vdEFBQkJFSFJ5SWc5Qi8vOC9SdzBBSUFsQkFXb2lDU0FDVHcwQlFRQWhCd0pBQTBBZ0IwSDQvLzhEUmcwQklBMGdCMnBDQURjQ0FDQUhRUWhxSVFjTUFBc0xBa0FnQ0NBSlFRSjBhaUlITHdFQUlBZEJBbW90QUFCQkVIUnlJZ2RCZ0FKSkRRQWdBMEgvL3o4MkFpUU1DQXNnQUNBT2FpQUhPZ0FBSUE1QkFXb2hEMEdBQWlFS0RBUUxJQTlCZ0FKSkRRRUNRQ0FOSUE5QkEzUnFJZzhvQWdBaURBMEFJQUFnRG1vZ0FDQUhhaUlQSUE0Z0Iyc2lEQkNsZ0lDQUFCb2dBQ0FNSUE1cUlneHFJQTh0QUFBNkFBQWdERUVCYWlFUERBTUxJQUFnRG1vZ0RDQVBLQUlFSWc4UXBZQ0FnQUFhSUE4Z0Rtb2hEd3dDQ3lBRFFmLy9QellDSkNBRFFTQnFFSk9BZ0lBQUlBTWdCRGNDR0NBRElBczJBaFFnQXlBQU5nSU1JQU1nRGpZQ0VFRUFJUWNnQTBFTWFpQU9RUUZxRUptQWdJQUFRZi8vQTNFTkNTQURLQUlNSWcwZ0F5Z0NFQ0lIYWtFQU9nQUFJQU1vQWhRaENTQURJQU1wQWhnaUJEY0RTQUpBSUFOQnlBQnFJQTBnQ1NBSFFRRnFJZ2NRbW9DQWdBQkJBWEZGRFFBZ0RTRUhEQW9MSUFOQk5Hb2dBMEhJQUdvZ0J4Q2JnSUNBQUNBREx3RThEUWdnQXlnQ05DSUhJQTBnQXlnQ09CQ2xnSUNBQUJvZ0F5QUVOd01nSUFOQklHb2dEU0FKRUlhQWdJQUFEQWtMSUFBZ0Rtb2dEem9BQUNBT1FRRnFJUThMSUEwZ0NrSC8vejl4UVFOMGFpSU1JQTRnQjJ0QkFXbzJBZ1FnRENBQUlBZHFOZ0lBSUFwQkFXb2hDZ3NnQ1VFQmFpRUpJQTRoQnd3QUN3c2dDQ0FMUVlBQ2FpQUhFSWlBZ0lBQVFYOXFUMm9oQ0F3QkN5QURRU0JxRUpPQWdJQUFEQUlMUVFBaERpQUlJUWNDUUFOQUlBZEIvd0Z4SWcxRkRRRWdBQ0FLSUFsQi93RnhRUkJHSWc5cUlncEJBWFJxTHdFQVFRQWdDU0FQR3lJSlFROXhkRUgvL3dOeFFRQWdEVUVRSUFsclFmOEJjU0lQSUEwZ0Qwa2JJZzFyUVE5eGRpQUhJQTFySWdkMElBNXlJUTRnRFNBSmFpRUpEQUFMQ3lBRklBeEJBblJxSWdjZ0Rqc0JBQ0FIUVFKcUlBNUIvLzgvY1NJSFFSQjJPZ0FBUVFBZ0MwRUJhaUFIUWYvL1AwWWlCeHNoQzBFSklBZ2dCeHNoQ0NBTVFRRnFJUXdNQUFzTFFRQWhCd3NnQTBIUUFHb2tnSUNBZ0FBZ0J3dVFBUUVDZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBQWtBQ1FDQUREUUFnQkNBQUtRSUFOd01BSUFRZ0FTQUNFSmlBZ0lBQVFRRWhCUXdCQzBFQUlRVWdBa1VOQUNBRUlBTkIvLy8vL3dOTE9nQU1JQU5CZ0lDQWdBUlBEUUFnQUNnQ0FDQUJJQUpCQW5SQkFpQURRUUowUVFBZ0FDZ0NCQ2dDQkJHQ2dJQ0FBQUFoQlFzZ0JFRVFhaVNBZ0lDQUFDQUZDOEVCQWdGL0FYNGpnSUNBZ0FCQklHc2lBeVNBZ0lDQUFDQUJLUUlBSVFRZ0F5QUNRZi8vLy84RFN6b0FIQUpBQWtBZ0FrR0FnSUNBQkU4TkFBSkFBa0FnQWtFQ2RDSUJEUUJCZkNFQkRBRUxJQVNuSUFGQkFrRUFJQVJDSUlpbktBSUFFWUNBZ0lBQUFDSUJSUTBCQ3lBRElBSTJBaFFnQXlBQk5nSVFJQU5CQURzQkdDQURRUkJxSVFJTUFRc2dBMEVCT3dFTUlBTkJCR29oQWdzZ0FDQUNLUUlBTndJQUlBQkJDR29nQWtFSWFpZ0NBRFlDQUNBRFFTQnFKSUNBZ0lBQUN6Y0JBWDhDUUNBQ1FRSjBRUUFnQWhzaUEwVU5BQ0FBS0FJQUlBRkJCQ0FDR3lBRFFRSkJBQ0FBS0FJRUtBSUlFWUdBZ0lBQUFBc0xxUUVCQlg4amdJQ0FnQUJCRUdzaUFpU0FnSUNBQUVFQUlRTUNRQ0FBS0FJSUlnUWdBVThOQUFKQUlBQkJER29pQlNBQUtBSUFJZ1lnQkNBQkVKcUFnSUFBUVFGeERRQWdBa0VFYWlBRklBRVFtNENBZ0FBZ0FpOEJEQ0lERFFFZ0FpZ0NDQ0VCSUFJb0FnUWdBQ2dDQUNBQUtBSUVFS1dBZ0lBQUlRTWdCU0FHSUFRUWhvQ0FnQUFnQUNBRE5nSUFDeUFBSUFFMkFnaEJBQ0VEQ3lBQ1FSQnFKSUNBZ0lBQUlBTUxkUUVDZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBQWtBQ1FDQUREUUFnQkNBQUtRSUFOd01BSUFRZ0FTQUNFSWFBZ0lBQVFRRWhCUXdCQzBFQUlRVWdBa1VOQUVFQURRQWdBQ2dDQUNBQklBSkJBQ0FEUVFBZ0FDZ0NCQ2dDQkJHQ2dJQ0FBQUFoQlFzZ0JFRVFhaVNBZ0lDQUFDQUZDNVVCQVFGL0k0Q0FnSUFBUVRCcklnTWtnSUNBZ0FBZ0F5QUJLUUlBTndNSUlBTkJFR29nQTBFSWFpQUNFSUdBZ0lBQUFrQUNRQ0FETHdFVUlnRkZEUUFnQXlBQk93RWdJQU5CR0dvaEFnd0JDeUFEUVFBN0FTd2dBeUFDTmdJb0lBTWdBeWdDRURZQ0pDQURRU1JxSVFJTElBQWdBaWtDQURjQ0FDQUFRUWhxSUFKQkNHb29BZ0EyQWdBZ0EwRXdhaVNBZ0lDQUFBdlNBZ01HZndGK0IzOGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFDQUFLQUlFSVFRZ0FDZ0NBQ0VGUVFBaEJpQUNRZjhCY1NFSEEzOENRQUpBQWtBZ0JpQUVSdzBBUVg4aENBd0JDd0pBSUFVZ0JrRUVkR29pQWtFSWFpa0RBQ0lKUWdCVERRQWdBaWtEQUhzZ0NYdDhweUFCU1EwQ0N5QUdRUWQwSWdoQmdBRnFJUW9EUUNBSUlBcFBEUUlnQ0NBQUtRSUFJZ2xDR1lpblFZQi9jU0lDSUFnZ0Frc2JJZ3NnQ0dzaERDQUpwMEVJSUFsQ0lJaW5HeUVOSUFoQkVIUm9JUTVCQUNFQ0FrQURRQUpBSUF3Z0FrY05BQ0FMSVE4TUFndEIvd0VnQ0NBQ2FpSVBRUWR4SWhCQkIzTjJRUUVnRUhSeElBMGdEMEVEZG1vdEFBQnhSUTBCSUFKQkFXb2lBaUFCU1EwQUlBNGdCMGtOQUFzZ0F5QUpOd01JSUFOQkNHb2dDQ0FCUVFBUW5ZQ0FnQUFNQWdzZ0QwRUJhaUVJREFBTEN5QURRUkJxSklDQWdJQUFJQWdQQ3lBR1FRRnFJUVlNQUFzTFZBRUJmeUFEUVFGeElRUUNRQU5BSUFKRkRRRWdBQ2dDQUVFSUlBQW9BZ1FiSUFGQkEzWnFJZ01nQXkwQUFFRitJQUZCQjNFaUEzZHhJQVFnQTNSeU9nQUFJQUZCQVdvaEFTQUNRWDlxSVFJTUFBc0xDOXNCQVFOL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FBQ1FDQUFRWUFRVHcwQUk0R0FnSUFBUWFpQXdJQUFhaUFBSUFGQmdCQWdBVUdBRUVrYklBQnJFSitBZ0lBQUN3SkFJQUZCZ0JCTkRRQUNRQ09CZ0lDQUFFR2dnTUNBQUdvb0FnUU5BQ09CZ0lDQUFFR2dnTUNBQUdvaUEwR0FJRFlDQkNBRElBRkJmMm9pQVVFUWRDSUVOZ0lBSUFSQkFFR0FnQVFRcElDQWdBQWFDeUFDSTRHQWdJQUFRYUNBd0lBQWFpa0RBRGNEQ0NBQ1FRaHFJQUJCZ0JBZ0FFR0FFRXNiSWdCQmdIQnFJQUVnQUdzUW40Q0FnQUFMSUFKQkVHb2tnSUNBZ0FBTE93RUJmeU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQU1nQUNrQ0FEY0RDQ0FEUVFocUlBRWdBa0VCRUoyQWdJQUFJQU5CRUdva2dJQ0FnQUFMdlFFQkJIOUJBQ0VFQWtBZ0FVR0JnSHhQRFFBQ1FDT0JnSUNBQUVHb2dNQ0FBR29nQVVILy93TnFRUkIySWdFZ0FoQ2NnSUNBQUNJRVFYOUhEUUFDUUNPQmdJQ0FBRUdnZ01DQUFHb2dBU0FDRUp5QWdJQUFJZ1JCZjBZTkFDQUVRWUFRYWlFRURBRUxRUUFoQkVFQklBSjBJZ1UvQUNJR1FSQjBJZ0pxUVg5cVFRQWdCV3R4SWdVZ0FtdEJFSFlpQnlBQmFrQUFRUUZJRFFFZ0J5QUdhaUVFSUFVZ0FrWU5BQ0FHSUFRUW5vQ0FnQUFMSUFSQkVIUWhCQXNnQkF0UEFRRi9Ba0FnQWtILy93TnFJZ1pCZ0lCOGNTQUVUeUlDUlEwQUlBUkIvLzhEYWtFUWRpSUVJQVpCRUhZaUJrWU5BQ0FFSUFGQi8vOERha0VRZGlJQmFpQUJJQVpxRUo2QWdJQUFDeUFDQ3lFQUlBRkIvLzhEYWtFUWRpSUJJQUVnQWtILy93TnFRUkIyYWhDZWdJQ0FBQXQxQVFGK0lBQWdCQ0FCZmlBQ0lBTitmQ0FEUWlDSUlnSWdBVUlnaUNJRWZud2dBMEwvLy8vL0Q0TWlBeUFCUXYvLy8vOFBneUlCZmlJRlFpQ0lJQU1nQkg1OElnTkNJSWg4SUFOQy8vLy8vdytESUFJZ0FYNThJZ0ZDSUloOE53TUlJQUFnQVVJZ2hpQUZRdi8vLy84UGc0UTNBd0FMTEFFQmZ3SkFJQUpGRFFBZ0FDRURBMEFnQXlBQk9nQUFJQU5CQVdvaEF5QUNRWDlxSWdJTkFBc0xJQUFMUWdFQmZ3SkFJQUpGRFFBZ0FrRi9haUVDSUFBaEF3TkFJQU1nQVMwQUFEb0FBQ0FDUlEwQklBSkJmMm9oQWlBQlFRRnFJUUVnQTBFQmFpRUREQUFMQ3lBQUN3dEJBZ0JCZ0lEQUFBc0lBQUFBQUFBQUFBQUFRWWlBd0FBTEtBRUFBQUFDQUFBQUF3QUFBQUFBQUFBQUFBQUFDQUFRQUtxcXFxb0FBQUFBTUFBUUFCQUFBQUE9Iik7CmNvbnN0IGUgPSBhd2FpdCBoKCksIEIgPSBlLmV4cG9ydHM7CmZ1bmN0aW9uIGsoSSkgewogIGNvbnN0IHsgcHRyOiBRLCBsZW5ndGg6IEEgfSA9IGEoSSwgQiksIGcgPSBCLmNvbXByZXNzUGFja2VkKFEsIEEpOwogIEIuZnJlZShRLCBBKTsKICBjb25zdCBDID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLnNsaWNlKAogICAgICBnLAogICAgICBnICsgKEIubWVtb3J5LmJ1ZmZlci5ieXRlTGVuZ3RoIC0gZykKICAgICkKICApLCBFID0gKEMuYXQoMCkgPDwgMTYpICsgQy5hdCgxKSwgRCA9IEMuc2xpY2UoMiwgRSksIG8gPSB0KEQpOwogIHJldHVybiBCLmZyZWUoZywgRSksIG87Cn0KZnVuY3Rpb24gcyhJKSB7CiAgY29uc3QgUSA9IChJLmNoYXJDb2RlQXQoMCkgPDwgMTYpICsgSS5jaGFyQ29kZUF0KDEpOwogIGxldCBBID0gQi5hbGxvY1VpbnQxNihJLmxlbmd0aCAtIDIpLCBnID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLAogICAgQSwKICAgIEkubGVuZ3RoIC0gMgogICk7CiAgZm9yIChsZXQgaSA9IDI7IGkgPCBJLmxlbmd0aDsgaSsrKQogICAgZ1tpIC0gMl0gPSBJLmNoYXJDb2RlQXQoaSk7CiAgY29uc3QgQyA9IEIuZGVjb21wcmVzc1BhY2tlZCgKICAgIEEsCiAgICBJLmxlbmd0aCwKICAgIFEKICApOwogIEIuZnJlZShBLCBJLmxlbmd0aCk7CiAgY29uc3QgRSA9IG5ldyBVaW50OEFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLnNsaWNlKAogICAgICBDLAogICAgICBDICsgKEIubWVtb3J5LmJ1ZmZlci5ieXRlTGVuZ3RoIC0gQykKICAgICkKICApLCBEID0gRS5pbmRleE9mKDApLCBvID0gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKAogICAgRS5zbGljZSgwLCBEKQogICk7CiAgcmV0dXJuIEIuZnJlZShDLCBEICsgMSksIG87Cn0Kb25tZXNzYWdlID0gYXN5bmMgZnVuY3Rpb24oSSkgewogIGNvbnN0IHsgY29tbWFuZDogUSwgaWQ6IEEsIGRhdGE6IGcgfSA9IEkuZGF0YTsKICBzd2l0Y2ggKFEpIHsKICAgIGNhc2UgImRlY29tcHJlc3MiOiB7CiAgICAgIHBvc3RNZXNzYWdlKHsgaWQ6IEEsIGRhdGE6IHMoZykgfSk7CiAgICAgIGJyZWFrOwogICAgfQogICAgY2FzZSAiY29tcHJlc3MiOiB7CiAgICAgIHBvc3RNZXNzYWdlKHsgaWQ6IEEsIGRhdGE6IGsoZykgfSk7CiAgICAgIGJyZWFrOwogICAgfQogIH0KfTsK", J = typeof window < "u" && window.Blob && new Blob([atob(l)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
-
function S() {
|
|
3
|
-
let U;
|
|
4
|
-
try {
|
|
5
|
-
if (U =
|
|
6
|
-
throw "";
|
|
7
|
-
return new Worker(U);
|
|
8
|
-
} catch {
|
|
9
|
-
return new Worker("data:application/javascript;base64," + l, { type: "module" });
|
|
10
|
-
} finally {
|
|
11
|
-
U && (window.URL || window.webkitURL).revokeObjectURL(U);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
const R = new S();
|
|
15
|
-
let
|
|
16
|
-
const Q = {};
|
|
17
|
-
R.onmessage = function(U) {
|
|
18
|
-
console.log("onmessage", U);
|
|
19
|
-
const F = U.data.id;
|
|
20
|
-
Q[F](U.data.data), delete Q[F];
|
|
21
|
-
};
|
|
22
|
-
async function
|
|
23
|
-
const F =
|
|
24
|
-
return console.log("compress", F), new Promise((B) => {
|
|
25
|
-
Q[F] = B, R.postMessage({ command: "compress", id: F, data: U });
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
async function
|
|
29
|
-
const F =
|
|
30
|
-
return console.log("decompress", F), new Promise((B) => {
|
|
31
|
-
Q[F] = B, R.postMessage({ command: "decompress", id: F, data: U });
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
export {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
};
|
|
1
|
+
const l = "ZnVuY3Rpb24gayhBLCBDKSB7CiAgY29uc3QgSSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShBKSwgZyA9IEMuYWxsb2NVaW50OChJLmxlbmd0aCk7CiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KAogICAgQy5tZW1vcnkuYnVmZmVyLAogICAgZywKICAgIEkubGVuZ3RoCiAgKS5zZXQoSSksIHsgcHRyOiBnLCBsZW5ndGg6IEkubGVuZ3RoIH07Cn0KZnVuY3Rpb24gaChBKSB7CiAgY29uc3QgQyA9IG5ldyBBcnJheShBLmxlbmd0aCk7CiAgZm9yIChsZXQgSSA9IDA7IEkgPCBBLmxlbmd0aDsgSSsrKQogICAgQ1tJXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoQVtJXSk7CiAgcmV0dXJuIEMuam9pbigiIik7Cn0KZnVuY3Rpb24gdChBLCBDKSB7CiAgY29uc3QgSSA9IG5ldyBVaW50MzJBcnJheSgKICAgIEEuYnVmZmVyLnNsaWNlKEMsIEMgKyA4KQogICksIGcgPSBJLmF0KDApLCBRID0gSS5hdCgxKTsKICByZXR1cm4gewogICAgc3RhcnQ6IEMgLSBnLAogICAgZW5kOiBDLAogICAgY2FwYWNpdHk6IFEKICB9Owp9CnZhciBuID0gYXN5bmMgKEEgPSB7fSwgQykgPT4gewogIGxldCBJOwogIGlmIChDLnN0YXJ0c1dpdGgoImRhdGE6IikpIHsKICAgIGNvbnN0IGcgPSBDLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCAiIik7CiAgICBsZXQgUTsKICAgIGlmICh0eXBlb2YgQnVmZmVyID09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIEJ1ZmZlci5mcm9tID09ICJmdW5jdGlvbiIpCiAgICAgIFEgPSBCdWZmZXIuZnJvbShnLCAiYmFzZTY0Iik7CiAgICBlbHNlIGlmICh0eXBlb2YgYXRvYiA9PSAiZnVuY3Rpb24iKSB7CiAgICAgIGNvbnN0IEUgPSBhdG9iKGcpOwogICAgICBRID0gbmV3IFVpbnQ4QXJyYXkoRS5sZW5ndGgpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEUubGVuZ3RoOyBpKyspCiAgICAgICAgUVtpXSA9IEUuY2hhckNvZGVBdChpKTsKICAgIH0gZWxzZQogICAgICB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpOwogICAgSSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKFEsIEEpOwogIH0gZWxzZSB7CiAgICBjb25zdCBnID0gYXdhaXQgZmV0Y2goQyksIFEgPSBnLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKSB8fCAiIjsKICAgIGlmICgiaW5zdGFudGlhdGVTdHJlYW1pbmciIGluIFdlYkFzc2VtYmx5ICYmIFEuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24vd2FzbSIpKQogICAgICBJID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoZywgQSk7CiAgICBlbHNlIHsKICAgICAgY29uc3QgRSA9IGF3YWl0IGcuYXJyYXlCdWZmZXIoKTsKICAgICAgSSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsIEEpOwogICAgfQogIH0KICByZXR1cm4gSS5pbnN0YW5jZTsKfSwgSiA9IChBKSA9PiBuKEEsICJkYXRhOmFwcGxpY2F0aW9uL3dhc207YmFzZTY0LEFHRnpiUUVBQUFBQlVReGdCSDkvZjM4QmYyQUZmMzkvZjM4QVlBWi9mMzkvZjM4QmYyQUJmd0YvWUFOL2YzOEFZQUovZndCZ0FuOS9BWDlnQVg4QVlBUi9mMzkvQUdBQ2YzOEJmbUFEZjM5L0FYOWdCWDkrZm41K0FBTWhJQU1FQXdVRUJnWUhCUWdKQUFZR0JnY0VDZ0FFQkFZS0NBVUVBQUlCQ3dvS0JBVUJjQUVFQkFVREFRQVJCZzRDZndGQmdJREFBQXQvQUVFQUN3ZFFCZ1p0WlcxdmNua0NBQXBoYkd4dlkxVnBiblE0QUFBTFlXeHNiMk5WYVc1ME1UWUFBZ1JtY21WbEFBTU9ZMjl0Y0hKbGMzTlFZV05yWldRQURCQmtaV052YlhCeVpYTnpVR0ZqYTJWa0FCRUpDUUVBUVFFTEF4b2JIQXFGUkNCZUFRRi9JNENBZ0lBQVFSQnJJZ0VrZ0lDQWdBQWdBU09CZ0lDQUFFR1lnTUNBQUdvcEF3QTNBd0FnQVVFSWFpQUJJQUFRZ1lDQWdBQUNRQ0FCTHdFTURRQWdBU2dDQ0NFQUlBRkJFR29rZ0lDQWdBQWdBQThMQTM4QURBQUxDM0VDQVg4QmZpT0FnSUNBQUVFUWF5SURKSUNBZ0lBQVFvQ0FnSUFRSVFRQ1FFRUJSUTBBQWtBZ0FnMEFRdi8vLy84UElRUU1BUXNnQVNnQ0FDQUNRUUJCQUNBQktBSUVLQUlBRVlDQWdJQUFBQ0lDUmExQ0lJWWdBcTJFSVFRTElBQWdCRGNDQUNBRFFSQnFKSUNBZ0lBQUM0WUJBZ0ovQVg0amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQklBQkJBRWc2QUF3amdZQ0FnQUFoQWdKQUlBQkJmMHdOQUFKQUFrQWdBRUVCZENJQURRQkJmaUVBREFFTElBSkJtSURBZ0FCcUtRTUFJZ09uSUFCQkFVRUFJQU5DSUlpbktBSUFFWUNBZ0lBQUFDSUFSUTBCQ3lBQlFSQnFKSUNBZ0lBQUlBQVBDd04vQUF3QUN3c1pBQ09CZ0lDQUFFR1lnTUNBQUdvZ0FDQUJFSVNBZ0lBQUN6Z0JBWDhDUUNBQ1FRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQnF0V3ExWG9nQWhzZ0EwRUFRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDNjBDQXdGL0FYNENmd0pBSUFBdEFCd2lBa0VVVHcwQUlBQW9BaGhCZ0FKcVFYOGdBblJCZjNOSkRRQWdBQ0FDUVFGcUlnSTZBQndMSUFHdFF2Ly9QNE1oQXdKQUFrQURRQ0FDUWY4QmNTSUVSUTBCSUFBb0FnUWhBUUpBQWtBZ0FDMEFIU0lGUWNBQVJnMEFJQUVOQVFzZ0FDQUJRUUZxRUlhQWdJQUFJZ0ZCLy84RGNRMERJQUFnQUNnQ0JDSUJRUUZxTmdJRUlBQW9BZ0FnQVVFRGRHcENBRGNEQUVFQUlRVWdBRUVBT2dBZElBQW9BZ1FoQVFzZ0FVRURkQ0FBS0FJQWFrRjRhaUlCSUFFcEF3QWdBMEVBSUFKclFUOXhyWVlnQmEySWhEY0RBQ0FBSUFBdEFCMGdCRUhBQUNBRmEwSC9BWEVpQVNBRUlBRkpHeUlCYWpvQUhTQUNJQUZySVFJTUFBc0xJQUFnQUNnQ0ZFRUJhallDRkNBQUlBQW9BaGhCQVdvMkFoaEJBQ0VCQ3lBQkN5MEJBbjlCQUNFQ0FrQWdBQ2dDQ0NJRElBRlBEUUFnQUNBRElBRVFqb0NBZ0FBUWpZQ0FnQUFoQWdzZ0Fnc1BBQ0FBSUFCQkRHb1FpSUNBZ0FBTFpRRURmd0pBSUFBb0FnQWlBa1VOQUFKQUlBSkJkR29pQTBFSWFpZ0NBRUVOYkVFUGFrRjhjU0lDUVFBZ0Foc2lCRVVOQUNBQktBSUFJQU5CQkNBQ0d5QUVRUUpCQUNBQktBSUVLQUlJRVlHQWdJQUFBQXNnQUVFQU5nSUlJQUJCQURZQ0FBc0xnUU1FQkg4QmZnUi9BWDRqZ0lDQWdBQkJFR3NpQkNTQWdJQ0FBQ09CZ0lDQUFDRUZJQUVvQWdBaEJnSkFBa0FnQVNnQ0JBMEFJQVZCZ0lEQWdBQnFJUWNNQVFzZ0FpQURFSXFBZ0lBQUlRZ0NRQUpBSUFZTkFFRUFJUVZCZnlFSkRBRUxJQVpCZkdvb0FnQWlCVUYvYWlFSkN5QUdRWGhxSVFvZ0NTQUlwM0VoQVNBSVFqbUlweUVMQTBBamdZQ0FnQUJCZ0lEQWdBQnFJUWNnQmlBQmFpd0FBQ0lNUlEwQklBVkZEUUVDUUNBTVFYOUtEUUFnQ3lBTVFmOEFjVWNOQUNBQ0lBTWdDaWdDQUNBQlFRTjBhaUlNS0FJQUlBd29BZ1FRaTRDQWdBQkJBWEZGRFFBZ0JFRUJPZ0FNSUFRZ0FUWUNDQ0FFUVFocUlRY01BZ3NnQlVGL2FpRUZJQUZCQVdvZ0NYRWhBUXdBQ3dzQ1FBSkFJQWN0QUFRTkFFSUFJUWhDQUNFTkRBRUxJQVFnQmtGMGFpZ0NBQ0FIS0FJQVFRSjBhaUlCUVFKcUxRQUFRUTl4T2dBQ0lBUWdBUzhCQURzQkFDQUVNd0VBSUFReEFBSkNFSWFFSVFoQ2dJQ0FnQkFoRFFzZ0FDQU5JQWlFTndJQUlBUkJFR29rZ0lDQWdBQUw3QVVGQW44QmZnRi9BbjRDZnlPQWdJQ0FBRUhnQUdzaUFpU0FnSUNBQUFKQUFrQUNRQUpBQWtBZ0FVRVFTdzBBSUFGQkEwME5BU0FBTlFBQVFpQ0dJQUFnQVVFQmRrSDgvLy8vQjNFaUEybzFBQUNFSVFRZ0FDQUJRWHhxSWdWcU5RQUFRaUNHSUFBZ0JTQURhMm8xQUFDRUlRWkNySnJpMDZQUzhQb2ZJUWNNQkF0QkFDRURRcXlhNHRPajB2RDZIeUVIUVFBaEJTQUJRVEJKRFFKQkFDRUZRcXlhNHRPajB2RDZIeUVIUXF5YTR0T2owdkQ2SHlFRVFxeWE0dE9qMHZENkh5RUdBMEFnQlVFd2FpSUlJQUZQRFFJZ0FrSEFBR29nQUNBRmFpSUZLUUFJSUFhRlFnQWdCU2tBQUVMYjBkQ0ZtdHJmZ1dlRlFnQVFuWUNBZ0FBZ0FrRXdhaUFGUVJocUtRQUFJQVNGUWdBZ0JVRVFhaWtBQUVMamphUGtpZDZhM281L2hVSUFFSjJBZ0lBQUlBSkJJR29nQlVFb2Fpa0FBQ0FIaFVJQUlBVkJJR29wQUFCQ3c1bmRxY2U1MmN6WUFJVkNBQkNkZ0lDQUFDQUNRY0FBYWtFSWFpa0RBQ0FDS1FOQWhTRUdJQUpCSUdwQkNHb3BBd0FnQWlrRElJVWhCeUFDUVRCcVFRaHFLUU1BSUFJcEF6Q0ZJUVFnQ0NFRkRBQUxDMElBSVFaQ3JKcmkwNlBTOFBvZklRY0NRQ0FCRFFCQ0FDRUVEQU1MSUFBZ0FVRUJkbW94QUFCQ0NJWWdBREVBQUVJUWhvUWdBU0FBYWtGL2FqRUFBSVFoQkF3Q0N5QUVJQWVGSUFhRklRY0xJQUFnQldvaENTQUJJQVZySVFnQ1FBTkFJQU5CRUdvaUJTQUlUdzBCSUFKQjBBQnFJQWtnQTJvaUEwRUlhaWtBQUNBSGhVSUFJQU1wQUFCQzI5SFFoWnJhMzRGbmhVSUFFSjJBZ0lBQUlBSkIwQUJxUVFocUtRTUFJQUlwQTFDRklRY2dCU0VEREFBTEN5QUJJQUJxSWdOQmVHb3BBQUFoQmlBRFFYQnFLUUFBSVFRTElBSkJFR29nQkVMYjBkQ0ZtdHJmZ1dlRlFnQWdCaUFIaFVJQUVKMkFnSUFBSUFJZ0FrRVFha0VJYWlrREFFTGIwZENGbXRyZmdXZUZRZ0FnQWEwZ0Fpa0RFSVZDcjhqMXhjZXNoN3VnZjRWQ0FCQ2RnSUNBQUNBQ1FRaHFLUU1BSVFjZ0Fpa0RBQ0VFSUFKQjRBQnFKSUNBZ0lBQUlBY2dCSVVMV0FFQ2YwRUFJUVFDUUNBQklBTkhEUUFDUUNBQUlBSkhEUUJCQVE4TEEwQWdBVVVoQkNBQlJRMEJJQUZCZjJvaEFTQUNMUUFBSVFNZ0FDMEFBQ0VGSUFCQkFXb2hBQ0FDUVFGcUlRSWdCU0FEUmcwQUN3c2dCQXY4RkFRQmZ3RitIMzhCZmlPQWdJQ0FBRUhnQVdzaUFpU0FnSUNBQUFKQUFrQUNRQ0FCRFFBamdZQ0FnQUJCbUlEQWdBQnFLUU1BSVFOQnF0V3ExWG9oQkVFQUlRVkJDU0VHUVFBaEIwRUFJUUZCQUNFSVFRQWhDUXdCQ3lBQ1FTQnFRUWhxSWdwQkFEWUNBQ0FDUWdBM0F5QWdBaU9CZ0lDQUFFR1lnTUNBQUdvcEF3QWlBemNDTENBQ0lBTTNBclFCSUFKQkFEWUNzQUVnQWtLcTFhclZDamNDcUFFQ1FBSkFBa0FnQWtHb0FXb2dBUkNOZ0lDQUFFSC8vd054RFFBZ0FrRWdha0VNYWlFTElBSkJPR3BCRUdvZ0FrR29BV3BCRUdvb0FnQTJBZ0FnQWtFNGFrRUlhaUFDUWFnQmFrRUlhaUlNS1FJQU53TUFJQUlnQWlrQ3FBRTNBemdnQWtFSk93RlVJQUpDQURjQ1RDQURRaUNJcHlFTklBT25JUTVCZ0FJaEQwRUFJUWdEUUNBQUlBaHFJUWRCQUNFRUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUEwQUNRQUpBSUFSQkFtb2lDU0FJYWlBQlR3MEFJQUpCMkFCcUlBSkJJR29nQnlBSkVJbUFnSUFBSUFJdEFGd05BU0FDS0FJZ0lSQWdBaWdDS0EwR0FrQUNRQ0FRRFFCQkFTRUZEQUVMSUJCQmZHb29BZ0N0UXRBQWZpSURJQU5DNUFDQ2ZVTGtBSHhDMEFDQXB5RUZDMEVBSVFZZ0RFRUFOZ0lBSUFKQ0FEY0RxQUZCQUEwRkFrQUNRRUlCUVNBZ0JXZHJyVUwvL3dPRGhxY2lCVUVJSUFWQkNFc2JJaEZCRDJvaUVpQVJRUU4wYWlJVElCRkJBblJxUVh4eElnVU5BRUY4SVFVTUFRdEJBQ0VHSUE0Z0JVRUNRUUFnRFNnQ0FCR0FnSUNBQUFBaUJVVU5CZ3NnQlVFSWFpSVVJQkUyQWdBZ0JTQUZJQkpCZkhGcU5nSUVJQVVnQlNBVFFYeHhhallDQUNBQ0lBVkJER29pQlRZQ3FBRWdCVUVBSUJFUW5vQ0FnQUFoQmlBQ0lCR3RRdEFBZmtMa0FJQ25JaFUyQXJBQklBSW9BaVFpRmtVTkJFRUFJUmRCQUNFWUFrQWdFRVVOQUNBUVFYeHFLQUlBSVJnTElBWkJkR29oR1NBR1FYaHFJUm9nRUVGMGFpSUZLQUlBSVJzZ0JVRUVhaWdDQUNFY1FRQWhIUU5BSUIwZ0dFWU5CQUpBSUJBZ0hXb3NBQUJCQUU0TkFDQWJJQjFCQW5ScUlnVkJBbW90QUFCQkVIUWhIaUFGTHdFQUlSOGdIQ0FkUVFOMGFpSUZLQUlFSVNBZ0JTZ0NBQ0VoQWtBZ0YwVU5BQ0FoSUNBUWlvQ0FnQUFoQXlBVUtBSUFJaEZCZjJvaUV5QURwM0VoQlNBRFFqbUlweUVpQTBBZ0JpQUZhaXdBQUNJU1JRMEJJQkZGRFFFQ1FDQVNRWDlLRFFBZ0lpQVNRZjhBY1VjTkFDQWhJQ0FnR2lnQ0FDQUZRUU4wYWlJU0tBSUFJQklvQWdRUWk0Q0FnQUJCQVhGRkRRQWdBa0VCT2dEY0FRd0NDeUFSUVg5cUlSRWdCVUVCYWlBVGNTRUZEQUFMQ3lBZklCNXlJUk1nSVNBZ0VJcUFnSUFBSVFNZ0ZDZ0NBRUYvYWlJU0lBT25jU0VGQWtBRFFDQUdJQVZxSWhFc0FBQkJmMG9OQVNBRlFRRnFJQkp4SVFVTUFBc0xJQkVnQTBJNWlLZEJnQUZ5T2dBQUlCb29BZ0FnQlVFRGRHb2lFU0FnTmdJRUlCRWdJVFlDQUNBWktBSUFJQVZCQW5ScUlnVWdFenNCQUNBRlFRSnFJQk5CZ0lBOGNVRVFkam9BQUNBVlFYOXFJUlVnRjBFQmFpSVhJQlpIRFFBZ0ZpRVhEQVVMSUIxQkFXb2hIUXdBQ3dzQ1FBSkFJQWhCQVdvZ0FVa05BQ0FDUVRocUlBY3RBQUFRaFlDQWdBQkIvLzhEY1EwT0RBRUxJQUpCNkFCcVFSQnFJQUpCSUdwQkVHb29BZ0EyQWdBZ0FrSG9BR3BCQ0dvZ0FrRWdha0VJYWlrREFEY0RBQ0FDSUFJcEF5QTNBMmdnQWtHQUFXb2dBa0hvQUdvZ0J5QUVRUUpxRUltQWdJQUFBa0FDUUFKQUlBSXRBSVFCRFFBZ0JBMEJJQWN0QUFBaENRd0NDeUFDUVRocUlBSXZBWUFCSUFJdEFJSUJRUkIwY2hDRmdJQ0FBRUgvL3dOeFJRMENEQThMSUFKQmlBRnFRUkJxSUFKQklHcEJFR29vQWdBMkFnQWdBa0dJQVdwQkNHb2dBa0VnYWtFSWFpa0RBRGNEQUNBQ0lBSXBBeUEzQTRnQklBSkJvQUZxSUFKQmlBRnFJQWNnQkVFQmFoQ0pnSUNBQUNBQ0x3R2dBU0FDTFFDaUFVRVFkSEloQ1FzZ0FrRTRhaUFKRUlXQWdJQUFRZi8vQTNFTkRTQUNRVGhxSUFjZ0JHcEJBV290QUFBUWhZQ0FnQUJCLy84RGNRME5DeUFDUVNCcUVJZUFnSUFBSUFJdkFWWWhFU0FDTFFCVklRVWdBaTBBVkNFR0lBSW9BbEFoQnlBQ0tBSk1JUUVnQWlrQ1JDRURJQUlvQWtBaENDQUNLQUk4SVFrZ0FpZ0NPQ0VFREE4TElBUkJBV29oQkF3QUN3c2dBaUFWTmdLd0FTQUNJQmMyQXF3QkN5QUtLQUlBSVFVZ0NpQU1LQUlBTmdJQUlBd2dCVFlDQUNBQ1FRQTJBaVFnQWlrRElDRURJQUlnQWlrRHFBRWlJemNESUNBQ0lBTTNBNmdCSUNPbklSQkJBU0VHQ3lBQ1FhZ0JhaUFMRUlpQWdJQUFJQVlOQUNPQmdJQ0FBQ0VGSUFJb0FpUU5BU0FGUVlDQXdJQUFhaUVTREFNTElBY2dDUkNLZ0lDQUFDRURBa0FDUUNBUURRQWdBNmNoQlVFQUlSSkJmeUVkREFFTElCQkJmR29vQWdBaUVrRi9haUlkSUFPbmNTRUZDeUFRUVhocUlTQWdFRUY4YWlFaElBTkNPWWluSVNJZ0VpRUdBMEFnRUNBRmFpSVRMQUFBSWhGRkRRSWdCa0VBUmcwQ0FrQUNRQ0FSUVg5S0RRQWdJaUFSUWY4QWNVY05BQ0FISUFrZ0lDZ0NBQ0FGUVFOMGFpSVJLQUlBSUJFb0FnUVFpNENBZ0FCQkFYRkZEUUVNQmdzZ0VpQWhLQUlBUncwQUlBVWdFaUFSUVFGR0d5RVNDeUFHUVg5cUlRWWdCVUVCYWlBZGNTRUZEQUFMQ3lBSElBa1Fpb0NBZ0FBaEF3SkFBa0FnRUEwQVFRQWhCa0YvSVJNTUFRc2dFRUY4YWlnQ0FDSUdRWDlxSVJNTElCQkJlR29oSWlBVElBT25jU0VGSUFOQ09ZaW5JUjBEUUNPQmdJQ0FBRUdBZ01DQUFHb2hFaUFRSUFWcUxBQUFJaEZGRFFJZ0JrVU5BZ0pBSUJGQmYwb05BQ0FkSUJGQi93QnhSdzBBSUFjZ0NTQWlLQUlBSUFWQkEzUnFJaEVvQWdBZ0VTZ0NCQkNMZ0lDQUFFRUJjVVVOQUNBQ1FRRTZBTUFCSUFJZ0JUWUN2QUVnQWtHOEFXb2hFZ3dEQ3lBR1FYOXFJUVlnQlVFQmFpQVRjU0VGREFBTEN5QWhLQUlBSVFZZ0FpQUNLQUlvUVg5cU5nSW9JQkFnRW1vZ0V5QVNJQVpKSWdZYklDSkJnQUZ5T2dBQUlCQkJkR29vQWdBaEVTQWdLQUlBSVJNZ0FpQUNLQUlrUVFGcU5nSWtJQk1nRWlBRklBWWJJZ1ZCQTNScUlnWWdDVFlDQkNBR0lBYzJBZ0FnRVNBRlFRSjBhaUVKREFJTElCSXRBQVJGRFFRZ0VpZ0NBQ0VGQ3lBUVFYUnFLQUlBSUFWQkFuUnFJUWtMSUFrZ0R6c0JBQ0FKUVFKcUlBOUJnSUE4Y1VFUWRqb0FBQUpBQWtBZ0JBMEFJQWN0QUFBaENRd0JDeUFDUWVBQWFpQUNRU0JxSUFjZ0JFRUJhaENKZ0lDQUFDQUNMd0ZnSUFJdEFHSkJFSFJ5SVFrTElBSkJPR29nQ1JDRmdJQ0FBRUgvL3dOeERRRWdDQ0FFYWtFQmFpRUlJQTlCQVdvaUQwSC8vejl4UWYvL1AwY05BQ0FRUVFBZ0VFRjhhaWdDQUNJRUVKNkFnSUFBR2lBQ1FRQTJBaVFnQWlBRXJVTFFBSDVDNUFDQVBnSW9JQUpCT0dwQi8vOC9FSVdBZ0lBQVFmLy9BM0VOQVNBQ1FRQTJBbEFnQWtFSk9nQlVRWUFDSVE4TUFBc0xJQUpCSUdvUWg0Q0FnQUFNQVFzZ0FrRWdhaENIZ0lDQUFBdEJBQ0VFREFFTElBSWdFVHNCSGlBQ0lBVTZBQjBnQWlBR09nQWNJQUlnQnpZQ0dDQUNJQUUyQWhRZ0FpQUROd0lNSUFJZ0NEWUNDQ0FDSUFRMkFnQWdBaUFKTmdJRVFRQWhCQ0FDSUFsQkFtb1Fob0NBZ0FCQi8vOERjUTBBSUFJb0FnQWlCQ0FDS0FJRVFRTjBhaUlGUVFocUlBSW9BZ2hCQW5TdE53TUFJQVVnQ1VFRGRDSUpRUVJ5clVJZ2hpQUNOUUlVaERjREFDQUVJQWxxUVFScUlRUUxJQUpCNEFGcUpJQ0FnSUFBSUFRTDFnSURCSDhCZmdKL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FCQkFDRURBa0FnQUNnQ0NDSUVJQUZQRFFBZ0FDZ0NBQ0VGQWtBZ0JFVU5BQ0FDSUFGQi8vLy8vd0ZMT2dBSUlBRkJnSUNBZ0FKUERRQkJBQ0VESUFBb0Fnd2dCU0FFUVFOMFFRTWdBVUVEZEVFQUlBQkJFR29vQWdBb0FnUVJnb0NBZ0FBQVFRRnhSUTBBSUFBZ0FUWUNDQXdCQ3lBQUtRSU1JUVlnQWlBQlFmLy8vLzhCU3pvQURBSkFJQUZCZ0lDQWdBSlBEUUFDUUFKQUlBRkJBM1FpQXcwQVFYZ2hBd3dCQ3lBR3B5QURRUU5CQUNBR1FpQ0lweWdDQUJHQWdJQ0FBQUFpQTBVTkFRc2dBeUFBS0FJQUlBQW9BZ1JCQTNRUW40Q0FnQUFoQjBFQUlRTUNRQ0FFUVFOMFFRQWdCQnNpQ0VVTkFDQUFLQUlNSUFWQkNDQUVHeUFJUVFOQkFDQUFRUkJxS0FJQUtBSUlFWUdBZ0lBQUFBc2dBQ0FCTmdJSUlBQWdCellDQUF3QkMwRUJJUU1MSUFKQkVHb2tnSUNBZ0FBZ0F3c2xBUUYvQTBCQmZ5QUFRUUYySUFCcVFRaHFJZ0lnQWlBQVNSc2lBQ0FCU1EwQUN5QUFDejhCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQklBQXBBZ3czQXdnZ0FVRUlhaUFBS0FJQUlBQW9BZ2dRa0lDQWdBQWdBVUVRYWlTQWdJQ0FBQXMzQVFGL0FrQWdBa0VEZEVFQUlBSWJJZ05GRFFBZ0FDZ0NBQ0FCUVFRZ0Foc2dBMEVDUVFBZ0FDZ0NCQ2dDQ0JHQmdJQ0FBQUFMQzRNTUF3Ri9BWDRMZnlPQWdJQ0FBRUhRQUdzaUF5U0FnSUNBQUNBRFFRQTJBa1FnQTBLcTFhclZDamNDUENBREk0R0FnSUFBUVppQXdJQUFhaWtEQUNJRU53SklBa0FDUUFKQUFrQWdBZzBBUWFyVnF0VjZJUVZCQUNFR0RBRUxRYXJWcXRWNklRVWdBaUVHSUFOQnlBQnFJZ2RCcXRXcTFYcEJBQ0FDRUpLQWdJQUFRUUZ4RFFBZ0EwRW9haUFISUFJUWs0Q0FnQUFnQXk4Qk1BMEJJQU1vQWl3aEJpQURLQUlvSVFVTFFRa2hDRUVBSVFsQkFDRUtRUUFoQzBFQUlRd0RRQUpBQWtBQ1FBSkFBa0FnRENBQ1JnMEFJQWhCL3dGeElnZEJGRWtOQVF3RUN5QURJQVEzQXlBQ1FBSkFJQU5CSUdvZ0JTQUdJQUlRa29DQWdBQkJBWEZGRFFBZ0JTRUlEQUVMSUFOQlBHb2dBMEVnYWlBQ0VKT0FnSUFBSUFNdkFVUU5CaUFES0FJOElnZ2dCU0FES0FKQUlnSkJBblFRbjRDQWdBQWFJQU1nQkRjREtDQURRU2hxSUFVZ0JoQ1VnSUNBQUFzQ1FDQUNEUUJCQUNFSlFhclZxdFY2SVFwQkFDRU1EQUlMSUFOQkFEWUNNQ0FEUXFyVnF0VUtOd0lvSUFNZ0JEY0NOQ0FEUVFCQi8vOC9FSTZBZ0lBQUlnZEIvLy8vL3dGTE9nQThJQWRCZ0lDQWdBSlBEUUlDUUFKQUlBZEJBM1FpRFEwQVFYd2hEUXdCQ3lBRXB5QU5RUUpCQUNBRVFpQ0lweWdDQUJHQWdJQ0FBQUFpRFVVTkF3c2dBeUFITmdJd0lBTWdEVFlDS0VFQUlRY0NRQU5BSUFkQitQLy9BMFlOQVNBTklBZHFRZ0EzQWdBZ0IwRUlhaUVIREFBTEN5QURRZi8vUHpZQ0xDQURJQVEzQWtoQkFDRUhJQU5CQURZQ1JDQURRcXJWcXRVS053SThJQU5CUEdvZ0FrRVliQkNWZ0lDQUFFSC8vd054RFFJZ0F5a0NTQ0VFSUFNb0FrUWhEQ0FES0FJOElnb2dBeWdDUUNJSmFpQUlMUUFBT2dBQUlBMGdDQzhCQUNBSVFRSnFMUUFBUVJCMGNrRURkR29pRGtFQk5nSUVJQTRnQ2pZQ0FDQUpRUUZxSVFCQmdBSWhEMEVCSVE0RFFDQUFJUWtDUUFKQUFrQUNRQ0FPSUFKUERRQUNRQ0FJSUE1QkFuUnFJZ0F2QVFBZ0FFRUNhaTBBQUVFUWRISWlBRUgvL3o5SERRQWdEa0VCYWlJT0lBSlBEUUZCQUNFSEFrQURRQ0FIUWZqLy93TkdEUUVnRFNBSGFrSUFOd0lBSUFkQkNHb2hCd3dBQ3dzQ1FDQUlJQTVCQW5ScUlnY3ZBUUFnQjBFQ2FpMEFBRUVRZEhJaUIwR0FBa2tOQUNBRFFmLy9QellDTEF3SkN5QUtJQWxxSUFjNkFBQWdDVUVCYWlFQVFZQUNJUThNQkFzZ0FFR0FBa2tOQVFKQUlBMGdBRUVEZEdvaUFDZ0NBQ0lMRFFBZ0NpQUphaUFLSUFkcUlnQWdDU0FIYXlJTEVKK0FnSUFBR2lBS0lBc2dDV29pQzJvZ0FDMEFBRG9BQUNBTFFRRnFJUUFNQXdzZ0NpQUphaUFMSUFBb0FnUWlBQkNmZ0lDQUFCb2dBQ0FKYWlFQURBSUxJQU5CLy84L05nSXNJQU5CS0dvUWo0Q0FnQUFNQlFzZ0NpQUphaUFBT2dBQUlBbEJBV29oQUFzZ0RTQVBRZi8vUDNGQkEzUnFJZ3NnQ1NBSGEwRUJhallDQkNBTElBb2dCMm8yQWdBZ0QwRUJhaUVQQ3lBT1FRRnFJUTRnQ1NFSERBQUxDeUFJSUF0QmdBSnFRWDhnQjNSQmYzTlBhaUVJREFJTElBTWdCRGNDR0NBRElBbzJBZ3dnQXlBSk5nSVFJQU1nRERZQ0ZBSkFBa0FnRENBSlFRaHFJZzFKRFFBZ0NTRUhEQUVMUVFBaEJ5QURRUXhxSUF3Z0RSQ09nSUNBQUJDVmdJQ0FBRUgvL3dOeERRVWdBeWdDRENFS0lBTW9BaFFoRENBREtBSVFJUWNMSUFvZ0Iyb2lCeUFKT2dBQUlBZEJCMm9nREVFWWRqb0FBQ0FIUVFacUlBeEJFSFk2QUFBZ0IwRUZhaUFNUVFoMk9nQUFJQWRCQkdvZ0REb0FBQ0FIUVFOcUlBbEJHSFk2QUFBZ0IwRUNhaUFKUVJCMk9nQUFJQWRCQVdvZ0NVRUlkam9BQUNBS0lBbHFJUWNNQkFzZ0EwRW9haENQZ0lDQUFBd0NDMEVBSVE0Z0NDRUhBa0FEUUNBSFFmOEJjU0lOUlEwQklBQWdDaUFKUWY4QmNVSEFBRVlpRDJvaUNrRURkR29wQXdCQkFDQUpJQThiSWdsQlAzR3Roa0VBSUExQndBQWdDV3RCL3dGeElnOGdEU0FQU1JzaURXdEJQM0d0aUtjZ0J5QU5heUlIZENBT2NpRU9JQTBnQ1dvaENRd0FDd3NnQlNBTVFRSjBhaUlISUE0N0FRQWdCMEVDYWlBT1FmLy9QM0VpQjBFUWRqb0FBRUVBSUF0QkFXb2dCMEgvL3o5R0lnY2JJUXRCQ1NBSUlBY2JJUWdnREVFQmFpRU1EQUFMQzBFQUlRY0xJQU5CMEFCcUpJQ0FnSUFBSUFjTGtBRUJBbjhqZ0lDQWdBQkJFR3NpQkNTQWdJQ0FBQUpBQWtBZ0F3MEFJQVFnQUNrQ0FEY0RBQ0FFSUFFZ0FoQ1VnSUNBQUVFQklRVU1BUXRCQUNFRklBSkZEUUFnQkNBRFFmLy8vLzhEU3pvQURDQURRWUNBZ0lBRVR3MEFJQUFvQWdBZ0FTQUNRUUowUVFJZ0EwRUNkRUVBSUFBb0FnUW9BZ1FSZ29DQWdBQUFJUVVMSUFSQkVHb2tnSUNBZ0FBZ0JRdkJBUUlCZndGK0k0Q0FnSUFBUVNCcklnTWtnSUNBZ0FBZ0FTa0NBQ0VFSUFNZ0FrSC8vLy8vQTBzNkFCd0NRQUpBSUFKQmdJQ0FnQVJQRFFBQ1FBSkFJQUpCQW5RaUFRMEFRWHdoQVF3QkN5QUVweUFCUVFKQkFDQUVRaUNJcHlnQ0FCR0FnSUNBQUFBaUFVVU5BUXNnQXlBQ05nSVVJQU1nQVRZQ0VDQURRUUE3QVJnZ0EwRVFhaUVDREFFTElBTkJBVHNCRENBRFFRUnFJUUlMSUFBZ0Fpa0NBRGNDQUNBQVFRaHFJQUpCQ0dvb0FnQTJBZ0FnQTBFZ2FpU0FnSUNBQUFzM0FRRi9Ba0FnQWtFQ2RFRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFRUWdBaHNnQTBFQ1FRQWdBQ2dDQkNnQ0NCR0JnSUNBQUFBTEM5b0JBUVYvSTRDQWdJQUFRU0JySWdJa2dJQ0FnQUJCQUNFREFrQWdBQ2dDQ0NJRUlBRlBEUUFnQUNnQ0FDRUZBa0FDUUNBRVJRMEFRUUFOQUNBQUtBSU1JQVVnQkVFQUlBRkJBQ0FBUVJCcUtBSUFLQUlFRVlLQWdJQUFBRUVCY1VVTkFDQUFJQUUyQWdnTUFRc2dBaUFBUVF4cUlnWXBBZ0EzQXhBZ0FrRVlhaUFDUVJCcUlBRVFnWUNBZ0FBZ0FpOEJIQ0lERFFFZ0FpZ0NHQ0FBS0FJQUlBQW9BZ1FRbjRDQWdBQWhBeUFHSUFVZ0JCQ0VnSUNBQUNBQUlBRTJBZ2dnQUNBRE5nSUFDMEVBSVFNTElBSkJJR29rZ0lDQWdBQWdBd3ZTQWdNR2Z3RitCMzhqZ0lDQWdBQkJFR3NpQXlTQWdJQ0FBQ0FBS0FJRUlRUWdBQ2dDQUNFRlFRQWhCaUFDUWY4QmNTRUhBMzhDUUFKQUFrQWdCaUFFUncwQVFYOGhDQXdCQ3dKQUlBVWdCa0VFZEdvaUFrRUlhaWtEQUNJSlFnQlREUUFnQWlrREFIc2dDWHQ4cHlBQlNRMENDeUFHUVFkMElnaEJnQUZxSVFvRFFDQUlJQXBQRFFJZ0NDQUFLUUlBSWdsQ0dZaW5RWUIvY1NJQ0lBZ2dBa3NiSWdzZ0NHc2hEQ0FKcDBFSUlBbENJSWluR3lFTklBaEJFSFJvSVE1QkFDRUNBa0FEUUFKQUlBd2dBa2NOQUNBTElROE1BZ3RCL3dFZ0NDQUNhaUlQUVFkeEloQkJCM04yUVFFZ0VIUnhJQTBnRDBFRGRtb3RBQUJ4UlEwQklBSkJBV29pQWlBQlNRMEFJQTRnQjBrTkFBc2dBeUFKTndNSUlBTkJDR29nQ0NBQlFRQVFsNENBZ0FBTUFnc2dEMEVCYWlFSURBQUxDeUFEUVJCcUpJQ0FnSUFBSUFnUEN5QUdRUUZxSVFZTUFBc0xWQUVCZnlBRFFRRnhJUVFDUUFOQUlBSkZEUUVnQUNnQ0FFRUlJQUFvQWdRYklBRkJBM1pxSWdNZ0F5MEFBRUYrSUFGQkIzRWlBM2R4SUFRZ0EzUnlPZ0FBSUFGQkFXb2hBU0FDUVg5cUlRSU1BQXNMQzlzQkFRTi9JNENBZ0lBQVFSQnJJZ0lrZ0lDQWdBQUNRQ0FBUVlBUVR3MEFJNEdBZ0lBQVFhaUF3SUFBYWlBQUlBRkJnQkFnQVVHQUVFa2JJQUJyRUptQWdJQUFDd0pBSUFGQmdCQk5EUUFDUUNPQmdJQ0FBRUdnZ01DQUFHb29BZ1FOQUNPQmdJQ0FBRUdnZ01DQUFHb2lBMEdBSURZQ0JDQURJQUZCZjJvaUFVRVFkQ0lFTmdJQUlBUkJBRUdBZ0FRUW5vQ0FnQUFhQ3lBQ0k0R0FnSUFBUWFDQXdJQUFhaWtEQURjRENDQUNRUWhxSUFCQmdCQWdBRUdBRUVzYklnQkJnSEJxSUFFZ0FHc1FtWUNBZ0FBTElBSkJFR29rZ0lDQWdBQUxPd0VCZnlPQWdJQ0FBRUVRYXlJREpJQ0FnSUFBSUFNZ0FDa0NBRGNEQ0NBRFFRaHFJQUVnQWtFQkVKZUFnSUFBSUFOQkVHb2tnSUNBZ0FBTHZRRUJCSDlCQUNFRUFrQWdBVUdCZ0h4UERRQUNRQ09CZ0lDQUFFR29nTUNBQUdvZ0FVSC8vd05xUVJCMklnRWdBaENXZ0lDQUFDSUVRWDlIRFFBQ1FDT0JnSUNBQUVHZ2dNQ0FBR29nQVNBQ0VKYUFnSUFBSWdSQmYwWU5BQ0FFUVlBUWFpRUVEQUVMUVFBaEJFRUJJQUowSWdVL0FDSUdRUkIwSWdKcVFYOXFRUUFnQld0eElnVWdBbXRCRUhZaUJ5QUJha0FBUVFGSURRRWdCeUFHYWlFRUlBVWdBa1lOQUNBR0lBUVFtSUNBZ0FBTElBUkJFSFFoQkFzZ0JBdFBBUUYvQWtBZ0FrSC8vd05xSWdaQmdJQjhjU0FFVHlJQ1JRMEFJQVJCLy84RGFrRVFkaUlFSUFaQkVIWWlCa1lOQUNBRUlBRkIvLzhEYWtFUWRpSUJhaUFCSUFacUVKaUFnSUFBQ3lBQ0N5RUFJQUZCLy84RGFrRVFkaUlCSUFFZ0FrSC8vd05xUVJCMmFoQ1lnSUNBQUF0MUFRRitJQUFnQkNBQmZpQUNJQU4rZkNBRFFpQ0lJZ0lnQVVJZ2lDSUVmbndnQTBMLy8vLy9ENE1pQXlBQlF2Ly8vLzhQZ3lJQmZpSUZRaUNJSUFNZ0JINThJZ05DSUloOElBTkMvLy8vL3crRElBSWdBWDU4SWdGQ0lJaDhOd01JSUFBZ0FVSWdoaUFGUXYvLy8vOFBnNFEzQXdBTExBRUJmd0pBSUFKRkRRQWdBQ0VEQTBBZ0F5QUJPZ0FBSUFOQkFXb2hBeUFDUVg5cUlnSU5BQXNMSUFBTFFnRUJmd0pBSUFKRkRRQWdBa0YvYWlFQ0lBQWhBd05BSUFNZ0FTMEFBRG9BQUNBQ1JRMEJJQUpCZjJvaEFpQUJRUUZxSVFFZ0EwRUJhaUVEREFBTEN5QUFDd3RCQWdCQmdJREFBQXNJQUFBQUFBQUFBQUFBUVlpQXdBQUxLQUVBQUFBQ0FBQUFBd0FBQUFBQUFBQUFBQUFBQ0FBUUFLcXFxcW9BQUFBQU1BQVFBQkFBQUFBPSIpOwpjb25zdCBlID0gYXdhaXQgSigpLCBCID0gZS5leHBvcnRzOwpmdW5jdGlvbiBjKEEpIHsKICBjb25zdCB7IHB0cjogQywgbGVuZ3RoOiBJIH0gPSBrKEEsIEIpLCBnID0gQi5jb21wcmVzc1BhY2tlZChDLCBJKTsKICBCLmZyZWUoQywgSSk7CiAgY29uc3QgeyBzdGFydDogUSwgZW5kOiBFLCBjYXBhY2l0eTogaSB9ID0gdChCLm1lbW9yeSwgZyksIEQgPSBuZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsIEUpKSwgYSA9IGgoRCk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgYTsKfQpmdW5jdGlvbiBzKEEpIHsKICBjb25zdCBDID0gKEEuY2hhckNvZGVBdChBLmxlbmd0aCAtIDEpIDw8IDE2KSArIEEuY2hhckNvZGVBdChBLmxlbmd0aCAtIDIpOwogIGxldCBJID0gQi5hbGxvY1VpbnQxNihBLmxlbmd0aCAtIDIpLCBnID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLAogICAgSSwKICAgIEEubGVuZ3RoIC0gMgogICk7CiAgZm9yIChsZXQgbyA9IDA7IG8gPCBBLmxlbmd0aCAtIDI7IG8rKykKICAgIGdbb10gPSBBLmNoYXJDb2RlQXQobyk7CiAgY29uc3QgUSA9IEIuZGVjb21wcmVzc1BhY2tlZCgKICAgIEksCiAgICBBLmxlbmd0aCAtIDIsCiAgICBDCiAgKTsKICBCLmZyZWUoSSwgQS5sZW5ndGggLSAyKTsKICBjb25zdCB7IHN0YXJ0OiBFLCBlbmQ6IGksIGNhcGFjaXR5OiBEIH0gPSB0KEIubWVtb3J5LCBRKSwgYSA9IG5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShFLCBpKSksIEYgPSBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYSk7CiAgcmV0dXJuIEIuZnJlZShFLCBEKSwgRjsKfQpvbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihBKSB7CiAgY29uc3QgeyBjb21tYW5kOiBDLCBpZDogSSwgZGF0YTogZyB9ID0gQS5kYXRhOwogIHN3aXRjaCAoQykgewogICAgY2FzZSAiZGVjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogSSwgZGF0YTogcyhnKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBjYXNlICJjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogSSwgZGF0YTogYyhnKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgfQp9Owo=", V = typeof window < "u" && window.Blob && new Blob([atob(l)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
+
function S() {
|
|
3
|
+
let U;
|
|
4
|
+
try {
|
|
5
|
+
if (U = V && (window.URL || window.webkitURL).createObjectURL(V), !U)
|
|
6
|
+
throw "";
|
|
7
|
+
return new Worker(U);
|
|
8
|
+
} catch {
|
|
9
|
+
return new Worker("data:application/javascript;base64," + l, { type: "module" });
|
|
10
|
+
} finally {
|
|
11
|
+
U && (window.URL || window.webkitURL).revokeObjectURL(U);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const R = new S();
|
|
15
|
+
let J = 0;
|
|
16
|
+
const Q = {};
|
|
17
|
+
R.onmessage = function(U) {
|
|
18
|
+
console.log("onmessage", U);
|
|
19
|
+
const F = U.data.id;
|
|
20
|
+
Q[F](U.data.data), delete Q[F];
|
|
21
|
+
};
|
|
22
|
+
async function Z(U) {
|
|
23
|
+
const F = J++;
|
|
24
|
+
return console.log("compress", F), new Promise((B) => {
|
|
25
|
+
Q[F] = B, R.postMessage({ command: "compress", id: F, data: U });
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async function d(U) {
|
|
29
|
+
const F = J++;
|
|
30
|
+
return console.log("decompress", F), new Promise((B) => {
|
|
31
|
+
Q[F] = B, R.postMessage({ command: "decompress", id: F, data: U });
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
Z as compress,
|
|
36
|
+
d as decompress
|
|
37
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function compress(data: string): Promise<unknown>;
|
|
2
|
-
export declare function decompress(data: string): Promise<unknown>;
|
|
1
|
+
export declare function compress(data: string): Promise<unknown>;
|
|
2
|
+
export declare function decompress(data: string): Promise<unknown>;
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
const J = "ZnVuY3Rpb24gRChJLCBDKSB7CiAgY29uc3QgQSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShJKSwgZyA9IEMuYWxsb2NVaW50OChBLmxlbmd0aCArIDEpLCBRID0gbmV3IFVpbnQ4QXJyYXkoCiAgICBDLm1lbW9yeS5idWZmZXIsCiAgICBnLAogICAgQS5sZW5ndGggKyAxCiAgKTsKICByZXR1cm4gUS5zZXQoQSksIFFbQS5sZW5ndGhdID0gMCwgeyBwdHI6IGcsIGxlbmd0aDogQS5sZW5ndGggKyAxIH07Cn0KZnVuY3Rpb24gYShJKSB7CiAgY29uc3QgQyA9IG5ldyBBcnJheShJLmxlbmd0aCk7CiAgZm9yIChsZXQgQSA9IDA7IEEgPCBJLmxlbmd0aDsgQSsrKQogICAgQ1tBXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoSVtBXSk7CiAgcmV0dXJuIEMuam9pbigiIik7Cn0KdmFyIGUgPSBhc3luYyAoSSA9IHt9LCBDKSA9PiB7CiAgbGV0IEE7CiAgaWYgKEMuc3RhcnRzV2l0aCgiZGF0YToiKSkgewogICAgY29uc3QgZyA9IEMucmVwbGFjZSgvXmRhdGE6Lio/YmFzZTY0LC8sICIiKTsKICAgIGxldCBROwogICAgaWYgKHR5cGVvZiBCdWZmZXIgPT0gImZ1bmN0aW9uIiAmJiB0eXBlb2YgQnVmZmVyLmZyb20gPT0gImZ1bmN0aW9uIikKICAgICAgUSA9IEJ1ZmZlci5mcm9tKGcsICJiYXNlNjQiKTsKICAgIGVsc2UgaWYgKHR5cGVvZiBhdG9iID09ICJmdW5jdGlvbiIpIHsKICAgICAgY29uc3QgRSA9IGF0b2IoZyk7CiAgICAgIFEgPSBuZXcgVWludDhBcnJheShFLmxlbmd0aCk7CiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgRS5sZW5ndGg7IGkrKykKICAgICAgICBRW2ldID0gRS5jaGFyQ29kZUF0KGkpOwogICAgfSBlbHNlCiAgICAgIHRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGRlY29kZSBiYXNlNjQtZW5jb2RlZCBkYXRhIFVSTCwgQnVmZmVyIGFuZCBhdG9iIGFyZSBub3Qgc3VwcG9ydGVkIik7CiAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSwgSSk7CiAgfSBlbHNlIHsKICAgIGNvbnN0IGcgPSBhd2FpdCBmZXRjaChDKSwgUSA9IGcuaGVhZGVycy5nZXQoIkNvbnRlbnQtVHlwZSIpIHx8ICIiOwogICAgaWYgKCJpbnN0YW50aWF0ZVN0cmVhbWluZyIgaW4gV2ViQXNzZW1ibHkgJiYgUS5zdGFydHNXaXRoKCJhcHBsaWNhdGlvbi93YXNtIikpCiAgICAgIEEgPSBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhnLCBJKTsKICAgIGVsc2UgewogICAgICBjb25zdCBFID0gYXdhaXQgZy5hcnJheUJ1ZmZlcigpOwogICAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoRSwgSSk7CiAgICB9CiAgfQogIHJldHVybiBBLmluc3RhbmNlOwp9LCB0ID0gKEkpID0+IGUoSSwgImRhdGE6YXBwbGljYXRpb24vd2FzbTtiYXNlNjQsQUdGemJRRUFBQUFCVVF4Z0JIOS9mMzhCZjJBRmYzOS9mMzhBWUFaL2YzOS9mMzhCZjJBQmZ3Ri9ZQU4vZjM4QVlBSi9md0JnQVg4QVlBUi9mMzkvQUdBQ2YzOEJmbUFDZjM4QmYyQURmMzkvQVg5Z0JYOStmbjUrQUFNaElBTUVBd1FGQkFZRkJ3Z0FBd2tBQkFRR0JBTUpBQVFLQndVRUFBSUJDd29LQkFVQmNBRUVCQVVEQVFBUkJnNENmd0ZCZ0lEQUFBdC9BRUVBQ3dkRUJnWnRaVzF2Y25rQ0FBcGhiR3h2WTFWcGJuUTRBQUFMWVd4c2IyTlZhVzUwTVRZQUFnUm1jbVZsQUFRSVkyOXRjSEpsYzNNQUN3cGtaV052YlhCeVpYTnpBQklKQ1FFQVFRRUxBeG9iSEFxak95QmVBUUYvSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFnQVNPQmdJQ0FBRUdZZ01DQUFHb3BBd0EzQXdBZ0FVRUlhaUFCSUFBUWdZQ0FnQUFDUUNBQkx3RU1EUUFnQVNnQ0NDRUFJQUZCRUdva2dJQ0FnQUFnQUE4TEEzOEFEQUFMQzNFQ0FYOEJmaU9BZ0lDQUFFRVFheUlESklDQWdJQUFRb0NBZ0lBUUlRUUNRRUVCUlEwQUFrQWdBZzBBUXYvLy8vOFBJUVFNQVFzZ0FTZ0NBQ0FDUVFCQkFDQUJLQUlFS0FJQUVZQ0FnSUFBQUNJQ1JhMUNJSVlnQXEyRUlRUUxJQUFnQkRjQ0FDQURRUkJxSklDQWdJQUFDMTRCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQkk0R0FnSUFBUVppQXdJQUFhaWtEQURjREFDQUJRUWhxSUFFZ0FCQ0RnSUNBQUFKQUlBRXZBUXdOQUNBQktBSUlJUUFnQVVFUWFpU0FnSUNBQUNBQUR3c0Rmd0FNQUFzTGh3RUNBWDhCZmlPQWdJQ0FBRUVRYXlJREpJQ0FnSUFBSUFNZ0FrRUFTRG9BREFKQUFrQWdBa0YvU2cwQVFvQ0FnSUFRSVFRTUFRc0NRQ0FDUVFGMElnSU5BRUwrLy8vL0R5RUVEQUVMSUFFb0FnQWdBa0VCUVFBZ0FTZ0NCQ2dDQUJHQWdJQ0FBQUFpQWtXdFFpQ0dJQUt0aENFRUN5QUFJQVEzQWdBZ0EwRVFhaVNBZ0lDQUFBc1pBQ09CZ0lDQUFFR1lnTUNBQUdvZ0FDQUJFSVdBZ0lBQUN6Z0JBWDhDUUNBQ1FRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQnF0V3ExWG9nQWhzZ0EwRUFRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDdzhBSUFBZ0FFRU1haENIZ0lDQUFBdHdBUU4vQWtBZ0FDZ0NBQ0lDUlEwQUFrQWdBa0YwYWlJRFFRaHFLQUlBSWdKQkNtd2dBa0VQYWtGOGNXcEJBMnBCZkhFaUFrRUFJQUliSWdSRkRRQWdBU2dDQUNBRFFRUWdBaHNnQkVFQ1FRQWdBU2dDQkNnQ0NCR0JnSUNBQUFBTElBQkJBRFlDQ0NBQVFRQTJBZ0FMQzlnQ0F3Ui9BWDRFZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBSTRHQWdJQUFJUVVnQVNnQ0FDRUdBa0FDUUNBQktBSUVEUUFnQlVHQWdNQ0FBR29oQnd3QkN5QUNJQU1RaVlDQWdBQWhDQUpBQWtBZ0JnMEFRUUFoQlVGL0lRa01BUXNnQmtGOGFpZ0NBQ0lGUVg5cUlRa0xJQVpCZUdvaENpQUpJQWluY1NFQklBaENPWWluSVFzRFFDT0JnSUNBQUVHQWdNQ0FBR29oQnlBR0lBRnFMQUFBSWd4RkRRRWdCVVVOQVFKQUlBeEJmMG9OQUNBTElBeEIvd0J4UncwQUlBSWdBeUFLS0FJQUlBRkJBM1JxSWd3b0FnQWdEQ2dDQkJDS2dJQ0FBRUVCY1VVTkFDQUVRUUU2QUF3Z0JDQUJOZ0lJSUFSQkNHb2hCd3dDQ3lBRlFYOXFJUVVnQVVFQmFpQUpjU0VCREFBTEN3SkFBa0FnQnkwQUJBMEFRUUFoQVVFQUlRVU1BUXNnQmtGMGFpZ0NBQ0FIS0FJQVFRRjBhaThCQUNFQlFZQ0FCQ0VGQ3lBQUlBVWdBWEkyQVFBZ0JFRVFhaVNBZ0lDQUFBdnNCUVVDZndGK0FYOENmZ0ovSTRDQWdJQUFRZUFBYXlJQ0pJQ0FnSUFBQWtBQ1FBSkFBa0FDUUNBQlFSQkxEUUFnQVVFRFRRMEJJQUExQUFCQ0lJWWdBQ0FCUVFGMlFmei8vLzhIY1NJRGFqVUFBSVFoQkNBQUlBRkJmR29pQldvMUFBQkNJSVlnQUNBRklBTnJhalVBQUlRaEJrS3NtdUxUbzlMdytoOGhCd3dFQzBFQUlRTkNySnJpMDZQUzhQb2ZJUWRCQUNFRklBRkJNRWtOQWtFQUlRVkNySnJpMDZQUzhQb2ZJUWRDckpyaTA2UFM4UG9mSVFSQ3JKcmkwNlBTOFBvZklRWURRQ0FGUVRCcUlnZ2dBVThOQWlBQ1FjQUFhaUFBSUFWcUlnVXBBQWdnQm9WQ0FDQUZLUUFBUXR2UjBJV2EydCtCWjRWQ0FCQ2RnSUNBQUNBQ1FUQnFJQVZCR0dvcEFBQWdCSVZDQUNBRlFSQnFLUUFBUXVPTm8rU0ozcHJlam4rRlFnQVFuWUNBZ0FBZ0FrRWdhaUFGUVNocUtRQUFJQWVGUWdBZ0JVRWdhaWtBQUVMRG1kMnB4N25aek5nQWhVSUFFSjJBZ0lBQUlBSkJ3QUJxUVFocUtRTUFJQUlwQTBDRklRWWdBa0VnYWtFSWFpa0RBQ0FDS1FNZ2hTRUhJQUpCTUdwQkNHb3BBd0FnQWlrRE1JVWhCQ0FJSVFVTUFBc0xRZ0FoQmtLc211TFRvOUx3K2g4aEJ3SkFJQUVOQUVJQUlRUU1Bd3NnQUNBQlFRRjJhakVBQUVJSWhpQUFNUUFBUWhDR2hDQUJJQUJxUVg5cU1RQUFoQ0VFREFJTElBUWdCNFVnQm9VaEJ3c2dBQ0FGYWlFSklBRWdCV3NoQ0FKQUEwQWdBMEVRYWlJRklBaFBEUUVnQWtIUUFHb2dDU0FEYWlJRFFRaHFLUUFBSUFlRlFnQWdBeWtBQUVMYjBkQ0ZtdHJmZ1dlRlFnQVFuWUNBZ0FBZ0FrSFFBR3BCQ0dvcEF3QWdBaWtEVUlVaEJ5QUZJUU1NQUFzTElBRWdBR29pQTBGNGFpa0FBQ0VHSUFOQmNHb3BBQUFoQkFzZ0FrRVFhaUFFUXR2UjBJV2EydCtCWjRWQ0FDQUdJQWVGUWdBUW5ZQ0FnQUFnQWlBQ1FSQnFRUWhxS1FNQVF0dlIwSVdhMnQrQlo0VkNBQ0FCclNBQ0tRTVFoVUt2eVBYRng2eUh1NkIvaFVJQUVKMkFnSUFBSUFKQkNHb3BBd0FoQnlBQ0tRTUFJUVFnQWtIZ0FHb2tnSUNBZ0FBZ0J5QUVoUXRZQVFKL1FRQWhCQUpBSUFFZ0EwY05BQUpBSUFBZ0FrY05BRUVCRHdzRFFDQUJSU0VFSUFGRkRRRWdBVUYvYWlFQklBSXRBQUFoQXlBQUxRQUFJUVVnQUVFQmFpRUFJQUpCQVdvaEFpQUZJQU5HRFFBTEN5QUVDNnNUQmdWL0FYNERmd0YrRzM4QmZpT0FnSUNBQUVHZ0FXc2lBU1NBZ0lDQUFFRUFJUUlEUUNBQUlBSnFJUU1nQWtFQmFpSUVJUUlnQXkwQUFBMEFDMEVBSVFJZ0FVRVlha0VJYWlJRlFRQTJBZ0FnQVVJQU53TVlJQUVqZ1lDQWdBQkJtSURBZ0FCcUtRTUFJZ1kzQWlRZ0FTQUdOd0owSUFGQkFEWUNjQ0FCUXFyVnF0VUtOd0pvQWtBQ1FDQUJRZWdBYWlBRVFYOXFJZ2NRaklDQWdBQkIvLzhEY1VVTkFDQUJRUmhxRUlhQWdJQUFEQUVMSUFGQkdHcEJER29oQ0NBR1FpQ0lweUVKSUFFcEFuUWhDaUFCS0FKd0lRc2dBU2dDYkNFQ0lBRW9BbWdoRENBR3B5RU5RWUFDSVE1QkFDRVBBa0FEUUNBQ0lSQWdEMEVDYWlFRElBQWdEMm9oRVVFQUlRSUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBQ1FDQURJQUpxSUFkUERRQWdBVUV3YWlBQlFSaHFJQkVnQWtFQ2FpSVNFSWlBZ0lBQUlBRXRBRElOQVNBQktBSVlJUk1nQVNnQ0lBMEdBa0FDUUNBVERRQkJBU0VEREFFTElCTkJmR29vQWdDdFF0QUFmaUlHSUFaQzVBQ0NmVUxrQUh4QzBBQ0FweUVEQzBFQUlRUWdBVUhvQUdwQkNHb2lGRUVBTmdJQUlBRkNBRGNEYUVFQURRVUNRQUpBUWdGQklDQURaMnV0UXYvL0E0T0dweUlEUVFnZ0EwRUlTeHNpRlVFQmRDQVZRUTlxUVh4eEloWWdGVUVEZEdvaUYycEJBMnBCZkhFaUF3MEFRWHdoQXd3QkMwRUFJUVFnRFNBRFFRSkJBQ0FKS0FJQUVZQ0FnSUFBQUNJRFJRMEdDeUFEUVFocUloZ2dGVFlDQUNBRElBTWdGbW8yQWdRZ0F5QURJQmRxTmdJQUlBRWdBMEVNYWlJRE5nSm9JQU5CQUNBVkVKNkFnSUFBSVFRZ0FTQVZyVUxRQUg1QzVBQ0FweUlaTmdKd0lBRW9BaHdpR2tVTkJFRUFJUnRCQUNFY0FrQWdFMFVOQUNBVFFYeHFLQUlBSVJ3TElBUkJkR29oSFNBRVFYaHFJUjRnRTBGMGFpSURLQUlBSVI4Z0EwRUVhaWdDQUNFZ1FRQWhJUU5BSUNFZ0hFWU5CQUpBSUJNZ0lXb3NBQUJCQUU0TkFDQWZJQ0ZCQVhScUx3RUFJU0lnSUNBaFFRTjBhaUlES0FJRUlTTWdBeWdDQUNFa0FrQWdHMFVOQUNBa0lDTVFpWUNBZ0FBaEJpQVlLQUlBSWhWQmYyb2lGeUFHcDNFaEF5QUdRam1JcHlFbEEwQWdCQ0FEYWl3QUFDSVdSUTBCSUJWRkRRRUNRQ0FXUVg5S0RRQWdKU0FXUWY4QWNVY05BQ0FrSUNNZ0hpZ0NBQ0FEUVFOMGFpSVdLQUlBSUJZb0FnUVFpb0NBZ0FCQkFYRkZEUUFnQVVFQk9nQ2NBUXdDQ3lBVlFYOXFJUlVnQTBFQmFpQVhjU0VEREFBTEN5QWtJQ01RaVlDQWdBQWhCaUFZS0FJQVFYOXFJaFlnQnFkeElRTUNRQU5BSUFRZ0Eyb2lGU3dBQUVGL1NnMEJJQU5CQVdvZ0ZuRWhBd3dBQ3dzZ0ZTQUdRam1JcDBHQUFYSTZBQUFnSGlnQ0FDQURRUU4wYWlJVklDTTJBZ1FnRlNBa05nSUFJQjBvQWdBZ0EwRUJkR29nSWpzQkFDQVpRWDlxSVJrZ0cwRUJhaUliSUJwSERRQWdHaUViREFVTElDRkJBV29oSVF3QUN3c0NRQUpBSUE5QkFXb2dCMGtOQUNBUkxRQUFJUUlNQVFzZ0FVRTRha0VRYWlBQlFSaHFRUkJxS0FJQU5nSUFJQUZCT0dwQkNHb2dBVUVZYWtFSWFpa0RBRGNEQUNBQklBRXBBeGczQXpnZ0FVSE1BR29nQVVFNGFpQVJJQUpCQW1vUWlJQ0FnQUFDUUNBQkxRQk9EUUFDUUFKQUlBSU5BQ0FSTFFBQUlRTU1BUXNnQVVIUUFHcEJFR29nQVVFWWFrRVFhaWdDQURZQ0FDQUJRZEFBYWtFSWFpQUJRUmhxUVFocUtRTUFOd01BSUFFZ0FTa0RHRGNEVUNBQlFlUUFhaUFCUWRBQWFpQVJJQUpCQVdvUWlJQ0FnQUFnQVM4QlpDRURDeUFNSUJCQkFYUnFJQU03QVFBZ0VFRUJhaUVRSUJFZ0FtcEJBV290QUFBaEFnd0JDeUFCTHdGTUlRSUxJQXdnRUVFQmRHb2dBanNCQUNBQlFSaHFFSWFBZ0lBQUlBRWdDamNDRUNBQklBczJBZ3dnQVNBUVFRRnFOZ0lJSUFFZ0REWUNCRUVBSVFJZ0FVRUVhaUFRUVFKcUVJeUFnSUFBUWYvL0EzRU5EaUFCS0FJRUlnTWdBU2dDQ0NJQ1FRRjBha0VBT3dFQUlBRW9BZ3doQUNBQklBRXBBaEFpQmpjRE9BSkFJQUZCT0dvZ0F5QUFJQUpCQVdvaUFoQ05nSUNBQUVFQmNVVU5BQ0FESVFJTUR3c2dBVUhvQUdvZ0FVRTRhaUFDRUk2QWdJQUFJQUV2QVhBTkRTQUJLQUpvSWdJZ0F5QUJLQUpzUVFGMEVKK0FnSUFBR2lBQklBWTNBMUFnQVVIUUFHb2dBeUFBRUkrQWdJQUFEQTRMSUFKQkFXb2hBZ3dBQ3dzZ0FTQVpOZ0p3SUFFZ0d6WUNiQXNnQlNnQ0FDRURJQVVnRkNnQ0FEWUNBQ0FVSUFNMkFnQWdBVUVBTmdJY0lBRXBBeGdoQmlBQklBRXBBMmdpSmpjREdDQUJJQVkzQTJnZ0pxY2hFMEVCSVFRTElBRkI2QUJxSUFnUWg0Q0FnQUFnQkEwQUk0R0FnSUFBSVFNZ0FTZ0NIQTBCSUFOQmdJREFnQUJxSVJZTUF3c2dFU0FTRUltQWdJQUFJUVlDUUFKQUlCTU5BQ0FHcHlFRFFRQWhGa0YvSVNFTUFRc2dFMEY4YWlnQ0FDSVdRWDlxSWlFZ0JxZHhJUU1MSUJOQmVHb2hJeUFUUVh4cUlTUWdCa0k1aUtjaEpTQVdJUVFEUUNBVElBTnFJaGNzQUFBaUZVVU5BaUFFUVFCR0RRSUNRQUpBSUJWQmYwb05BQ0FsSUJWQi93QnhSdzBBSUJFZ0VpQWpLQUlBSUFOQkEzUnFJaFVvQWdBZ0ZTZ0NCQkNLZ0lDQUFFRUJjVVVOQVF3R0N5QVdJQ1FvQWdCSERRQWdBeUFXSUJWQkFVWWJJUllMSUFSQmYyb2hCQ0FEUVFGcUlDRnhJUU1NQUFzTElCRWdFaENKZ0lDQUFDRUdBa0FDUUNBVERRQkJBQ0VFUVg4aEZ3d0JDeUFUUVh4cUtBSUFJZ1JCZjJvaEZ3c2dFMEY0YWlFbElCY2dCcWR4SVFNZ0JrSTVpS2NoSVFOQUk0R0FnSUFBUVlDQXdJQUFhaUVXSUJNZ0Eyb3NBQUFpRlVVTkFpQUVSUTBDQWtBZ0ZVRi9TZzBBSUNFZ0ZVSC9BSEZIRFFBZ0VTQVNJQ1VvQWdBZ0EwRURkR29pRlNnQ0FDQVZLQUlFRUlxQWdJQUFRUUZ4UlEwQUlBRkJBVG9BZ0FFZ0FTQUROZ0o4SUFGQi9BQnFJUllNQXdzZ0JFRi9haUVFSUFOQkFXb2dGM0VoQXd3QUN3c2dKQ2dDQUNFRUlBRWdBU2dDSUVGL2FqWUNJQ0FUSUJacUlCY2dGaUFFU1NJRUd5QWxRWUFCY2pvQUFDQVRRWFJxS0FJQUlSVWdJeWdDQUNFWElBRWdBU2dDSEVFQmFqWUNIQ0FYSUJZZ0F5QUVHeUlEUVFOMGFpSUVJQkkyQWdRZ0JDQVJOZ0lBSUJVZ0EwRUJkR29oQXd3Q0N5QVdMUUFFUlEwQ0lCWW9BZ0FoQXdzZ0UwRjBhaWdDQUNBRFFRRjBhaUVEQ3lBRElBNDdBUUFDUUFKQUlBSU5BQ0FSTFFBQUlRSkJBU0VEREFFTElBRkJOR29nQVVFWWFpQVJJQUpCQVdvaUF4Q0lnSUNBQUNBQkx3RTBJUUlMSUF3Z0VFRUJkR29nQWpzQkFDQURJQTlxSVE4Z0VFRUJhaUVDSUE1QkFXb2lEa0gvL3dOeFFmLy9BMGNOQVNBVFFRQWdFMEY4YWlnQ0FDSURFSjZBZ0lBQUdpQU1JQUpCQVhScVFmNy9BenNCQUNBQlFRQTJBaHdnQVNBRHJVTFFBSDVDNUFDQVBnSWdJQkJCQW1vaEFrR0FBaUVPREFFTEN5QUJRUmhxRUlhQWdJQUFDMEVBSVFJTElBRkJvQUZxSklDQWdJQUFJQUlMckFFQkJYOGpnSUNBZ0FCQkVHc2lBaVNBZ0lDQUFFRUFJUU1DUUNBQUtBSUlJZ1FnQVU4TkFBSkFJQUJCREdvaUJTQUFLQUlBSWdZZ0JDQUJFSTJBZ0lBQVFRRnhEUUFnQWtFRWFpQUZJQUVRam9DQWdBQWdBaThCRENJRERRRWdBaWdDQ0NFQklBSW9BZ1FnQUNnQ0FDQUFLQUlFUVFGMEVKK0FnSUFBSVFNZ0JTQUdJQVFRajRDQWdBQWdBQ0FETmdJQUN5QUFJQUUyQWdoQkFDRURDeUFDUVJCcUpJQ0FnSUFBSUFNTGlBRUJBbjhqZ0lDQWdBQkJFR3NpQkNTQWdJQ0FBQUpBQWtBZ0F3MEFJQVFnQUNrQ0FEY0RBQ0FFSUFFZ0FoQ1BnSUNBQUVFQklRVU1BUXRCQUNFRklBSkZEUUFnQkNBRFFRQklPZ0FNSUFOQmYwd05BQ0FBS0FJQUlBRWdBa0VCZEVFQklBTkJBWFJCQUNBQUtBSUVLQUlFRVlLQWdJQUFBQ0VGQ3lBRVFSQnFKSUNBZ0lBQUlBVUxsUUVCQVg4amdJQ0FnQUJCTUdzaUF5U0FnSUNBQUNBRElBRXBBZ0EzQXdnZ0EwRVFhaUFEUVFocUlBSVFnNENBZ0FBQ1FBSkFJQU12QVJRaUFVVU5BQ0FESUFFN0FTQWdBMEVZYWlFQ0RBRUxJQU5CQURzQkxDQURJQUkyQWlnZ0F5QURLQUlRTmdJa0lBTkJKR29oQWdzZ0FDQUNLUUlBTndJQUlBQkJDR29nQWtFSWFpZ0NBRFlDQUNBRFFUQnFKSUNBZ0lBQUN6Y0JBWDhDUUNBQ1FRRjBRUUFnQWhzaUEwVU5BQ0FBS0FJQUlBRkJBaUFDR3lBRFFRRkJBQ0FBS0FJRUtBSUlFWUdBZ0lBQUFBc0xQd0VCZnlPQWdJQ0FBRUVRYXlJQkpJQ0FnSUFBSUFFZ0FDa0NERGNEQ0NBQlFRaHFJQUFvQWdBZ0FDZ0NDQkNSZ0lDQUFDQUJRUkJxSklDQWdJQUFDemNCQVg4Q1FDQUNRUU4wUVFBZ0Foc2lBMFVOQUNBQUtBSUFJQUZCQkNBQ0d5QURRUUpCQUNBQUtBSUVLQUlJRVlHQWdJQUFBQXNMdFFjREJYOEJmZ1ovSTRDQWdJQUFRZEFBYXlJQkpJQ0FnSUFBUVd3aEFrRi9JUU1nQUNFRUEwQWdBMEVCYWlFRElBSkJGR29oQWlBRUx3RUFJUVVnQkVFQ2FpRUVJQVVOQUFzZ0FVRUFOZ0lvSUFGQ3F0V3ExUW8zQWlBZ0FTT0JnSUNBQUVHWWdNQ0FBR29wQXdBaUJqY0NMQ0FCUVFBNkFEUUNRQUpBQWtCQkFVVU5BQ0FHcDBINHdTWkJBa0VBSUFaQ0lJaW5LQUlBRVlDQWdJQUFBQ0lGUlEwQUlBRkJuK2dFTmdJb0lBRWdCVFlDSUVFQUlRUUNRQU5BSUFSQitQOGZSZzBCSUFVZ0JHcENBRGNDQUNBRVFRaHFJUVFNQUFzTElBRkIvLzhETmdJa0lBRWdCamNDUUVFQUlRUWdBVUVBTmdJOElBRkNxdFdxMVFvM0FqUWdBVUUwYWlBQ0VKT0FnSUFBUWYvL0EzRU5BQ0FCS1FKQUlRWWdBU2dDUENFSElBRW9BalFpQ0NBQktBSTRJZ0pxSUFBdEFBQTZBQUFnQlNBQUx3RUFRUU4wYWlJSlFRRTJBZ1FnQ1NBSU5nSUFJQUpCQVdvaENrRUJJUUpCZ0FJaEN3TkFJQW9oQ1FKQUFrQUNRQUpBSUFJZ0EwOE5BQUpBSUFBZ0FrRUJkR292QVFBaUNrSCsvd05IRFFBZ0FrRUJhaUlDSUFOUERRRkJBQ0VFQWtBRFFDQUVRZmovSDBZTkFTQUZJQVJxUWdBM0FnQWdCRUVJYWlFRURBQUxDd0pBSUFBZ0FrRUJkR292QVFBaUJFR0FBa2tOQUNBQlFmLy9BellDSkF3SEN5QUlJQWxxSUFRNkFBQWdDVUVCYWlFS1FZQUNJUXNNQkFzZ0NrR0FBa2tOQVFKQUlBVWdDa0VEZEdvaUNpZ0NBQ0lNRFFBZ0NDQUphaUFJSUFScUlnb2dDU0FFYXlJTUVKK0FnSUFBR2lBSUlBd2dDV29pREdvZ0NpMEFBRG9BQUNBTVFRRnFJUW9NQXdzZ0NDQUphaUFNSUFvb0FnUWlDaENmZ0lDQUFCb2dDaUFKYWlFS0RBSUxJQUZCLy84RE5nSWtJQUZCSUdvUWtJQ0FnQUFnQVNBR053SVlJQUVnQnpZQ0ZDQUJJQWcyQWd3Z0FTQUpOZ0lRUVFBaEJDQUJRUXhxSUFsQkFXb1FrNENBZ0FCQi8vOERjUTBHSUFFb0Fnd2lBeUFCS0FJUUlnUnFRUUE2QUFBZ0FTZ0NGQ0VDSUFFZ0FTa0NHQ0lHTndOSUFrQWdBVUhJQUdvZ0F5QUNJQVJCQVdvaUJCQ1VnSUNBQUVFQmNVVU5BQ0FESVFRTUJ3c2dBVUUwYWlBQlFjZ0FhaUFFRUpXQWdJQUFJQUV2QVR3TkJTQUJLQUkwSWdRZ0F5QUJLQUk0RUorQWdJQUFHaUFCSUFZM0F5QWdBVUVnYWlBRElBSVFoWUNBZ0FBTUJnc2dDQ0FKYWlBS09nQUFJQWxCQVdvaENnc2dCU0FMUWYvL0EzRkJBM1JxSWd3Z0NTQUVhMEVCYWpZQ0JDQU1JQWdnQkdvMkFnQWdDMEVCYWlFTEN5QUNRUUZxSVFJZ0NTRUVEQUFMQ3lBQlFTQnFFSkNBZ0lBQUMwRUFJUVFMSUFGQjBBQnFKSUNBZ0lBQUlBUUxxUUVCQlg4amdJQ0FnQUJCRUdzaUFpU0FnSUNBQUVFQUlRTUNRQ0FBS0FJSUlnUWdBVThOQUFKQUlBQkJER29pQlNBQUtBSUFJZ1lnQkNBQkVKU0FnSUFBUVFGeERRQWdBa0VFYWlBRklBRVFsWUNBZ0FBZ0FpOEJEQ0lERFFFZ0FpZ0NDQ0VCSUFJb0FnUWdBQ2dDQUNBQUtBSUVFSitBZ0lBQUlRTWdCU0FHSUFRUWhZQ0FnQUFnQUNBRE5nSUFDeUFBSUFFMkFnaEJBQ0VEQ3lBQ1FSQnFKSUNBZ0lBQUlBTUxkUUVDZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBQWtBQ1FDQUREUUFnQkNBQUtRSUFOd01BSUFRZ0FTQUNFSVdBZ0lBQVFRRWhCUXdCQzBFQUlRVWdBa1VOQUVFQURRQWdBQ2dDQUNBQklBSkJBQ0FEUVFBZ0FDZ0NCQ2dDQkJHQ2dJQ0FBQUFoQlFzZ0JFRVFhaVNBZ0lDQUFDQUZDNVVCQVFGL0k0Q0FnSUFBUVRCcklnTWtnSUNBZ0FBZ0F5QUJLUUlBTndNSUlBTkJFR29nQTBFSWFpQUNFSUdBZ0lBQUFrQUNRQ0FETHdFVUlnRkZEUUFnQXlBQk93RWdJQU5CR0dvaEFnd0JDeUFEUVFBN0FTd2dBeUFDTmdJb0lBTWdBeWdDRURZQ0pDQURRU1JxSVFJTElBQWdBaWtDQURjQ0FDQUFRUWhxSUFKQkNHb29BZ0EyQWdBZ0EwRXdhaVNBZ0lDQUFBdlNBZ01HZndGK0IzOGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFDQUFLQUlFSVFRZ0FDZ0NBQ0VGUVFBaEJpQUNRZjhCY1NFSEEzOENRQUpBQWtBZ0JpQUVSdzBBUVg4aENBd0JDd0pBSUFVZ0JrRUVkR29pQWtFSWFpa0RBQ0lKUWdCVERRQWdBaWtEQUhzZ0NYdDhweUFCU1EwQ0N5QUdRUWQwSWdoQmdBRnFJUW9EUUNBSUlBcFBEUUlnQ0NBQUtRSUFJZ2xDR1lpblFZQi9jU0lDSUFnZ0Frc2JJZ3NnQ0dzaERDQUpwMEVJSUFsQ0lJaW5HeUVOSUFoQkVIUm9JUTVCQUNFQ0FrQURRQUpBSUF3Z0FrY05BQ0FMSVE4TUFndEIvd0VnQ0NBQ2FpSVBRUWR4SWhCQkIzTjJRUUVnRUhSeElBMGdEMEVEZG1vdEFBQnhSUTBCSUFKQkFXb2lBaUFCU1EwQUlBNGdCMGtOQUFzZ0F5QUpOd01JSUFOQkNHb2dDQ0FCUVFBUWw0Q0FnQUFNQWdzZ0QwRUJhaUVJREFBTEN5QURRUkJxSklDQWdJQUFJQWdQQ3lBR1FRRnFJUVlNQUFzTFZBRUJmeUFEUVFGeElRUUNRQU5BSUFKRkRRRWdBQ2dDQUVFSUlBQW9BZ1FiSUFGQkEzWnFJZ01nQXkwQUFFRitJQUZCQjNFaUEzZHhJQVFnQTNSeU9nQUFJQUZCQVdvaEFTQUNRWDlxSVFJTUFBc0xDOXNCQVFOL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FBQ1FDQUFRWUFRVHcwQUk0R0FnSUFBUWFpQXdJQUFhaUFBSUFGQmdCQWdBVUdBRUVrYklBQnJFSm1BZ0lBQUN3SkFJQUZCZ0JCTkRRQUNRQ09CZ0lDQUFFR2dnTUNBQUdvb0FnUU5BQ09CZ0lDQUFFR2dnTUNBQUdvaUEwR0FJRFlDQkNBRElBRkJmMm9pQVVFUWRDSUVOZ0lBSUFSQkFFR0FnQVFRbm9DQWdBQWFDeUFDSTRHQWdJQUFRYUNBd0lBQWFpa0RBRGNEQ0NBQ1FRaHFJQUJCZ0JBZ0FFR0FFRXNiSWdCQmdIQnFJQUVnQUdzUW1ZQ0FnQUFMSUFKQkVHb2tnSUNBZ0FBTE93RUJmeU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQU1nQUNrQ0FEY0RDQ0FEUVFocUlBRWdBa0VCRUplQWdJQUFJQU5CRUdva2dJQ0FnQUFMdlFFQkJIOUJBQ0VFQWtBZ0FVR0JnSHhQRFFBQ1FDT0JnSUNBQUVHb2dNQ0FBR29nQVVILy93TnFRUkIySWdFZ0FoQ1dnSUNBQUNJRVFYOUhEUUFDUUNPQmdJQ0FBRUdnZ01DQUFHb2dBU0FDRUphQWdJQUFJZ1JCZjBZTkFDQUVRWUFRYWlFRURBRUxRUUFoQkVFQklBSjBJZ1UvQUNJR1FSQjBJZ0pxUVg5cVFRQWdCV3R4SWdVZ0FtdEJFSFlpQnlBQmFrQUFRUUZJRFFFZ0J5QUdhaUVFSUFVZ0FrWU5BQ0FHSUFRUW1JQ0FnQUFMSUFSQkVIUWhCQXNnQkF0UEFRRi9Ba0FnQWtILy93TnFJZ1pCZ0lCOGNTQUVUeUlDUlEwQUlBUkIvLzhEYWtFUWRpSUVJQVpCRUhZaUJrWU5BQ0FFSUFGQi8vOERha0VRZGlJQmFpQUJJQVpxRUppQWdJQUFDeUFDQ3lFQUlBRkIvLzhEYWtFUWRpSUJJQUVnQWtILy93TnFRUkIyYWhDWWdJQ0FBQXQxQVFGK0lBQWdCQ0FCZmlBQ0lBTitmQ0FEUWlDSUlnSWdBVUlnaUNJRWZud2dBMEwvLy8vL0Q0TWlBeUFCUXYvLy8vOFBneUlCZmlJRlFpQ0lJQU1nQkg1OElnTkNJSWg4SUFOQy8vLy8vdytESUFJZ0FYNThJZ0ZDSUloOE53TUlJQUFnQVVJZ2hpQUZRdi8vLy84UGc0UTNBd0FMTEFFQmZ3SkFJQUpGRFFBZ0FDRURBMEFnQXlBQk9nQUFJQU5CQVdvaEF5QUNRWDlxSWdJTkFBc0xJQUFMUWdFQmZ3SkFJQUpGRFFBZ0FrRi9haUVDSUFBaEF3TkFJQU1nQVMwQUFEb0FBQ0FDUlEwQklBSkJmMm9oQWlBQlFRRnFJUUVnQTBFQmFpRUREQUFMQ3lBQUN3dEJBZ0JCZ0lEQUFBc0lBQUFBQUFBQUFBQUFRWWlBd0FBTEtBRUFBQUFDQUFBQUF3QUFBQUFBQUFBQUFBQUFDQUFRQUtxcXFxb0FBQUFBTUFBUUFCQUFBQUE9Iik7CmNvbnN0IHMgPSBhd2FpdCB0KCksIEIgPSBzLmV4cG9ydHM7CmZ1bmN0aW9uIHcoSSkgewogIGNvbnN0IHsgcHRyOiBDLCBsZW5ndGg6IEEgfSA9IEQoSSwgQiksIGcgPSBCLmNvbXByZXNzKEMpOwogIEIuZnJlZShDLCBBKTsKICBjb25zdCBRID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLnNsaWNlKAogICAgICBnLAogICAgICBnICsgKEIubWVtb3J5LmJ1ZmZlci5ieXRlTGVuZ3RoIC0gZykKICAgICkKICApLCBFID0gUS5pbmRleE9mKDApLCBpID0gUS5zbGljZSgwLCBFKSwgbyA9IGEoaSk7CiAgcmV0dXJuIEIuZnJlZShnLCBFICsgMSksIG87Cn0KZnVuY3Rpb24gRihJKSB7CiAgY29uc3QgQyA9IEIuYWxsb2NVaW50MTYoCiAgICBJLmxlbmd0aCArIDEKICApLCBBID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLAogICAgQywKICAgIEkubGVuZ3RoICsgMQogICk7CiAgZm9yIChsZXQgbyA9IDA7IG8gPCBJLmxlbmd0aDsgbysrKQogICAgQVtvXSA9IEkuY2hhckNvZGVBdChvKTsKICBBW0kubGVuZ3RoXSA9IDA7CiAgY29uc3QgZyA9IEIuZGVjb21wcmVzcygKICAgIEMKICApOwogIEIuZnJlZShDLCBJLmxlbmd0aCArIDEpOwogIGNvbnN0IFEgPSBuZXcgVWludDhBcnJheSgKICAgIEIubWVtb3J5LmJ1ZmZlci5zbGljZSgKICAgICAgZywKICAgICAgZyArIChCLm1lbW9yeS5idWZmZXIuYnl0ZUxlbmd0aCAtIGcpCiAgICApCiAgKSwgRSA9IFEuaW5kZXhPZigwKTsKICByZXR1cm4gQi5mcmVlKGcsIEUgKyAxKSwgbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKAogICAgUS5zbGljZSgwLCBFKQogICk7Cn0Kb25tZXNzYWdlID0gYXN5bmMgZnVuY3Rpb24oSSkgewogIGNvbnN0IHsgY29tbWFuZDogQywgaWQ6IEEsIGRhdGE6IGcgfSA9IEkuZGF0YTsKICBzd2l0Y2ggKEMpIHsKICAgIGNhc2UgImRlY29tcHJlc3MiOiB7CiAgICAgIHBvc3RNZXNzYWdlKHsgaWQ6IEEsIGRhdGE6IEYoZykgfSk7CiAgICAgIGJyZWFrOwogICAgfQogICAgY2FzZSAiY29tcHJlc3MiOiB7CiAgICAgIHBvc3RNZXNzYWdlKHsgaWQ6IEEsIGRhdGE6IHcoZykgfSk7CiAgICAgIGJyZWFrOwogICAgfQogIH0KfTsK", V = typeof window < "u" && window.Blob && new Blob([atob(J)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
-
function
|
|
3
|
-
let U;
|
|
4
|
-
try {
|
|
5
|
-
if (U =
|
|
6
|
-
throw "";
|
|
7
|
-
return new Worker(U);
|
|
8
|
-
} catch {
|
|
9
|
-
return new Worker("data:application/javascript;base64," +
|
|
10
|
-
} finally {
|
|
11
|
-
U && (window.URL || window.webkitURL).revokeObjectURL(U);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
const R = new
|
|
15
|
-
let
|
|
16
|
-
const
|
|
17
|
-
R.onmessage = function(U) {
|
|
18
|
-
console.log("onmessage", U);
|
|
19
|
-
const
|
|
20
|
-
Q
|
|
21
|
-
};
|
|
22
|
-
async function S(U) {
|
|
23
|
-
const
|
|
24
|
-
return console.log("compress",
|
|
25
|
-
Q
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
async function
|
|
29
|
-
const
|
|
30
|
-
return console.log("decompress",
|
|
31
|
-
Q
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
export {
|
|
35
|
-
S as compress,
|
|
36
|
-
|
|
37
|
-
};
|
|
1
|
+
const V = "ZnVuY3Rpb24gRChJLCBnKSB7CiAgY29uc3QgQSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShJKSwgQyA9IGcuYWxsb2NVaW50OChBLmxlbmd0aCk7CiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KAogICAgZy5tZW1vcnkuYnVmZmVyLAogICAgQywKICAgIEEubGVuZ3RoCiAgKS5zZXQoQSksIHsgcHRyOiBDLCBsZW5ndGg6IEEubGVuZ3RoIH07Cn0KZnVuY3Rpb24gaChJKSB7CiAgY29uc3QgZyA9IG5ldyBBcnJheShJLmxlbmd0aCk7CiAgZm9yIChsZXQgQSA9IDA7IEEgPCBJLmxlbmd0aDsgQSsrKQogICAgZ1tBXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoSVtBXSk7CiAgcmV0dXJuIGcuam9pbigiIik7Cn0KZnVuY3Rpb24gdyhJLCBnKSB7CiAgY29uc3QgQSA9IG5ldyBVaW50MzJBcnJheSgKICAgIEkuYnVmZmVyLnNsaWNlKGcsIGcgKyA4KQogICksIEMgPSBBLmF0KDApLCBRID0gQS5hdCgxKTsKICByZXR1cm4gewogICAgc3RhcnQ6IGcgLSBDLAogICAgZW5kOiBnLAogICAgY2FwYWNpdHk6IFEKICB9Owp9CnZhciBzID0gYXN5bmMgKEkgPSB7fSwgZykgPT4gewogIGxldCBBOwogIGlmIChnLnN0YXJ0c1dpdGgoImRhdGE6IikpIHsKICAgIGNvbnN0IEMgPSBnLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCAiIik7CiAgICBsZXQgUTsKICAgIGlmICh0eXBlb2YgQnVmZmVyID09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIEJ1ZmZlci5mcm9tID09ICJmdW5jdGlvbiIpCiAgICAgIFEgPSBCdWZmZXIuZnJvbShDLCAiYmFzZTY0Iik7CiAgICBlbHNlIGlmICh0eXBlb2YgYXRvYiA9PSAiZnVuY3Rpb24iKSB7CiAgICAgIGNvbnN0IEUgPSBhdG9iKEMpOwogICAgICBRID0gbmV3IFVpbnQ4QXJyYXkoRS5sZW5ndGgpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEUubGVuZ3RoOyBpKyspCiAgICAgICAgUVtpXSA9IEUuY2hhckNvZGVBdChpKTsKICAgIH0gZWxzZQogICAgICB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpOwogICAgQSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKFEsIEkpOwogIH0gZWxzZSB7CiAgICBjb25zdCBDID0gYXdhaXQgZmV0Y2goZyksIFEgPSBDLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKSB8fCAiIjsKICAgIGlmICgiaW5zdGFudGlhdGVTdHJlYW1pbmciIGluIFdlYkFzc2VtYmx5ICYmIFEuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24vd2FzbSIpKQogICAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoQywgSSk7CiAgICBlbHNlIHsKICAgICAgY29uc3QgRSA9IGF3YWl0IEMuYXJyYXlCdWZmZXIoKTsKICAgICAgQSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsIEkpOwogICAgfQogIH0KICByZXR1cm4gQS5pbnN0YW5jZTsKfSwgRyA9IChJKSA9PiBzKEksICJkYXRhOmFwcGxpY2F0aW9uL3dhc207YmFzZTY0LEFHRnpiUUVBQUFBQlVReGdCSDkvZjM4QmYyQUZmMzkvZjM4QVlBWi9mMzkvZjM4QmYyQUJmd0YvWUFOL2YzOEFZQUovZndCZ0FYOEFZQVIvZjM5L0FHQUNmMzhCZm1BQ2YzOEJmMkFEZjM5L0FYOWdCWDkrZm41K0FBTWRIQU1FQXdRRkJBWUZCd2dBQ1FrSkJnUUpDUW9IQlFRQUFnRUxDZ29FQlFGd0FRUUVCUU1CQUJFR0RnSi9BVUdBZ01BQUMzOEFRUUFMQjBRR0JtMWxiVzl5ZVFJQUNtRnNiRzlqVldsdWREZ0FBQXRoYkd4dlkxVnBiblF4TmdBQ0JHWnlaV1VBQkFoamIyMXdjbVZ6Y3dBTENtUmxZMjl0Y0hKbGMzTUFFQWtKQVFCQkFRc0RGaGNZQ3Y4M0hGNEJBWDhqZ0lDQWdBQkJFR3NpQVNTQWdJQ0FBQ0FCSTRHQWdJQUFRWmlBd0lBQWFpa0RBRGNEQUNBQlFRaHFJQUVnQUJDQmdJQ0FBQUpBSUFFdkFRd05BQ0FCS0FJSUlRQWdBVUVRYWlTQWdJQ0FBQ0FBRHdzRGZ3QU1BQXNMY1FJQmZ3RitJNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQkNnSUNBZ0JBaEJBSkFRUUZGRFFBQ1FDQUNEUUJDLy8vLy93OGhCQXdCQ3lBQktBSUFJQUpCQUVFQUlBRW9BZ1FvQWdBUmdJQ0FnQUFBSWdKRnJVSWdoaUFDcllRaEJBc2dBQ0FFTndJQUlBTkJFR29rZ0lDQWdBQUxYZ0VCZnlPQWdJQ0FBRUVRYXlJQkpJQ0FnSUFBSUFFamdZQ0FnQUJCbUlEQWdBQnFLUU1BTndNQUlBRkJDR29nQVNBQUVJT0FnSUFBQWtBZ0FTOEJEQTBBSUFFb0FnZ2hBQ0FCUVJCcUpJQ0FnSUFBSUFBUEN3Ti9BQXdBQ3d1SEFRSUJmd0YrSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQXlBQ1FRQklPZ0FNQWtBQ1FDQUNRWDlLRFFCQ2dJQ0FnQkFoQkF3QkN3SkFJQUpCQVhRaUFnMEFRdjcvLy84UElRUU1BUXNnQVNnQ0FDQUNRUUZCQUNBQktBSUVLQUlBRVlDQWdJQUFBQ0lDUmExQ0lJWWdBcTJFSVFRTElBQWdCRGNDQUNBRFFSQnFKSUNBZ0lBQUN4a0FJNEdBZ0lBQVFaaUF3SUFBYWlBQUlBRVFoWUNBZ0FBTE9BRUJmd0pBSUFKQkFDQUNHeUlEUlEwQUlBQW9BZ0FnQVVHcTFhclZlaUFDR3lBRFFRQkJBQ0FBS0FJRUtBSUlFWUdBZ0lBQUFBc0xEd0FnQUNBQVFReHFFSWVBZ0lBQUMzQUJBMzhDUUNBQUtBSUFJZ0pGRFFBQ1FDQUNRWFJxSWdOQkNHb29BZ0FpQWtFS2JDQUNRUTlxUVh4eGFrRURha0Y4Y1NJQ1FRQWdBaHNpQkVVTkFDQUJLQUlBSUFOQkJDQUNHeUFFUVFKQkFDQUJLQUlFS0FJSUVZR0FnSUFBQUFzZ0FFRUFOZ0lJSUFCQkFEWUNBQXNMMkFJREJIOEJmZ1IvSTRDQWdJQUFRUkJySWdRa2dJQ0FnQUFqZ1lDQWdBQWhCU0FCS0FJQUlRWUNRQUpBSUFFb0FnUU5BQ0FGUVlDQXdJQUFhaUVIREFFTElBSWdBeENKZ0lDQUFDRUlBa0FDUUNBR0RRQkJBQ0VGUVg4aENRd0JDeUFHUVh4cUtBSUFJZ1ZCZjJvaENRc2dCa0Y0YWlFS0lBa2dDS2R4SVFFZ0NFSTVpS2NoQ3dOQUk0R0FnSUFBUVlDQXdJQUFhaUVISUFZZ0FXb3NBQUFpREVVTkFTQUZSUTBCQWtBZ0RFRi9TZzBBSUFzZ0RFSC9BSEZIRFFBZ0FpQURJQW9vQWdBZ0FVRURkR29pRENnQ0FDQU1LQUlFRUlxQWdJQUFRUUZ4UlEwQUlBUkJBVG9BRENBRUlBRTJBZ2dnQkVFSWFpRUhEQUlMSUFWQmYyb2hCU0FCUVFGcUlBbHhJUUVNQUFzTEFrQUNRQ0FITFFBRURRQkJBQ0VCUVFBaEJRd0JDeUFHUVhScUtBSUFJQWNvQWdCQkFYUnFMd0VBSVFGQmdJQUVJUVVMSUFBZ0JTQUJjallCQUNBRVFSQnFKSUNBZ0lBQUMrd0ZCUUovQVg0QmZ3SitBbjhqZ0lDQWdBQkI0QUJySWdJa2dJQ0FnQUFDUUFKQUFrQUNRQUpBSUFGQkVFc05BQ0FCUVFOTkRRRWdBRFVBQUVJZ2hpQUFJQUZCQVhaQi9QLy8vd2R4SWdOcU5RQUFoQ0VFSUFBZ0FVRjhhaUlGYWpVQUFFSWdoaUFBSUFVZ0EydHFOUUFBaENFR1FxeWE0dE9qMHZENkh5RUhEQVFMUVFBaEEwS3NtdUxUbzlMdytoOGhCMEVBSVFVZ0FVRXdTUTBDUVFBaEJVS3NtdUxUbzlMdytoOGhCMEtzbXVMVG85THcraDhoQkVLc211TFRvOUx3K2g4aEJnTkFJQVZCTUdvaUNDQUJUdzBDSUFKQndBQnFJQUFnQldvaUJTa0FDQ0FHaFVJQUlBVXBBQUJDMjlIUWhacmEzNEZuaFVJQUVKbUFnSUFBSUFKQk1Hb2dCVUVZYWlrQUFDQUVoVUlBSUFWQkVHb3BBQUJDNDQyajVJbmVtdDZPZjRWQ0FCQ1pnSUNBQUNBQ1FTQnFJQVZCS0dvcEFBQWdCNFZDQUNBRlFTQnFLUUFBUXNPWjNhbkh1ZG5NMkFDRlFnQVFtWUNBZ0FBZ0FrSEFBR3BCQ0dvcEF3QWdBaWtEUUlVaEJpQUNRU0JxUVFocUtRTUFJQUlwQXlDRklRY2dBa0V3YWtFSWFpa0RBQ0FDS1FNd2hTRUVJQWdoQlF3QUN3dENBQ0VHUXF5YTR0T2owdkQ2SHlFSEFrQWdBUTBBUWdBaEJBd0RDeUFBSUFGQkFYWnFNUUFBUWdpR0lBQXhBQUJDRUlhRUlBRWdBR3BCZjJveEFBQ0VJUVFNQWdzZ0JDQUhoU0FHaFNFSEN5QUFJQVZxSVFrZ0FTQUZheUVJQWtBRFFDQURRUkJxSWdVZ0NFOE5BU0FDUWRBQWFpQUpJQU5xSWdOQkNHb3BBQUFnQjRWQ0FDQURLUUFBUXR2UjBJV2EydCtCWjRWQ0FCQ1pnSUNBQUNBQ1FkQUFha0VJYWlrREFDQUNLUU5RaFNFSElBVWhBd3dBQ3dzZ0FTQUFhaUlEUVhocUtRQUFJUVlnQTBGd2Fpa0FBQ0VFQ3lBQ1FSQnFJQVJDMjlIUWhacmEzNEZuaFVJQUlBWWdCNFZDQUJDWmdJQ0FBQ0FDSUFKQkVHcEJDR29wQXdCQzI5SFFoWnJhMzRGbmhVSUFJQUd0SUFJcEF4Q0ZRcS9JOWNYSHJJZTdvSCtGUWdBUW1ZQ0FnQUFnQWtFSWFpa0RBQ0VISUFJcEF3QWhCQ0FDUWVBQWFpU0FnSUNBQUNBSElBU0ZDMWdCQW45QkFDRUVBa0FnQVNBRFJ3MEFBa0FnQUNBQ1J3MEFRUUVQQ3dOQUlBRkZJUVFnQVVVTkFTQUJRWDlxSVFFZ0FpMEFBQ0VESUFBdEFBQWhCU0FBUVFGcUlRQWdBa0VCYWlFQ0lBVWdBMFlOQUFzTElBUUxpUk1HQVg4QmZnVi9BWDRjZndGK0k0Q0FnSUFBUWFBQmF5SUNKSUNBZ0lBQUFrQUNRQUpBSUFFTkFDT0JnSUNBQUVHWWdNQ0FBR29wQXdBaEEwR3ExYXJWZWlFRVFRQWhCVUVBSVFZTUFRdEJBQ0VISUFKQkdHcEJDR29pQ0VFQU5nSUFJQUpDQURjREdDQUNJNEdBZ0lBQVFaaUF3SUFBYWlrREFDSUpOd0lrSUFJZ0NUY0NkQ0FDUVFBMkFuQWdBa0txMWFyVkNqY0NhQUpBSUFKQjZBQnFJQUVRaklDQWdBQkIvLzhEY1VVTkFDQUNRUmhxRUlhQWdJQUFEQUlMSUFKQkdHcEJER29oQ2lBSlFpQ0lweUVMSUFJcEFuUWhBeUFDS0FKd0lRVWdBaWdDYkNFR0lBSW9BbWdoQkNBSnB5RU1RWUFDSVExQkFDRU9BMEFnQmlFUElBNUJBbW9oQnlBQUlBNXFJUkJCQUNFR0FrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQURRQUpBQWtBZ0J5QUdhaUFCVHcwQUlBSkJNR29nQWtFWWFpQVFJQVpCQW1vaUVSQ0lnSUNBQUNBQ0xRQXlEUUVnQWlnQ0dDRVNJQUlvQWlBTkJnSkFBa0FnRWcwQVFRRWhCd3dCQ3lBU1FYeHFLQUlBclVMUUFINGlDU0FKUXVRQWduMUM1QUI4UXRBQWdLY2hCd3RCQUNFVElBSkI2QUJxUVFocUloUkJBRFlDQUNBQ1FnQTNBMmhCQUEwRkFrQUNRRUlCUVNBZ0IyZHJyVUwvL3dPRGhxY2lCMEVJSUFkQkNFc2JJaFZCQVhRZ0ZVRVBha0Y4Y1NJV0lCVkJBM1JxSWhkcVFRTnFRWHh4SWdjTkFFRjhJUWNNQVF0QkFDRVRJQXdnQjBFQ1FRQWdDeWdDQUJHQWdJQ0FBQUFpQjBVTkJnc2dCMEVJYWlJWUlCVTJBZ0FnQnlBSElCWnFOZ0lFSUFjZ0J5QVhhallDQUNBQ0lBZEJER29pQnpZQ2FDQUhRUUFnRlJDYWdJQ0FBQ0VUSUFJZ0ZhMUMwQUIrUXVRQWdLY2lHVFlDY0NBQ0tBSWNJaHBGRFFSQkFDRWJRUUFoSEFKQUlCSkZEUUFnRWtGOGFpZ0NBQ0VjQ3lBVFFYUnFJUjBnRTBGNGFpRWVJQkpCZEdvaUJ5Z0NBQ0VmSUFkQkJHb29BZ0FoSUVFQUlTRURRQ0FoSUJ4R0RRUUNRQ0FTSUNGcUxBQUFRUUJPRFFBZ0h5QWhRUUYwYWk4QkFDRWlJQ0FnSVVFRGRHb2lCeWdDQkNFaklBY29BZ0FoSkFKQUlCdEZEUUFnSkNBakVJbUFnSUFBSVFrZ0dDZ0NBQ0lWUVg5cUloY2dDYWR4SVFjZ0NVSTVpS2NoSlFOQUlCTWdCMm9zQUFBaUZrVU5BU0FWUlEwQkFrQWdGa0YvU2cwQUlDVWdGa0gvQUhGSERRQWdKQ0FqSUI0b0FnQWdCMEVEZEdvaUZpZ0NBQ0FXS0FJRUVJcUFnSUFBUVFGeFJRMEFJQUpCQVRvQW5BRU1BZ3NnRlVGL2FpRVZJQWRCQVdvZ0YzRWhCd3dBQ3dzZ0pDQWpFSW1BZ0lBQUlRa2dHQ2dDQUVGL2FpSVdJQW1uY1NFSEFrQURRQ0FUSUFkcUloVXNBQUJCZjBvTkFTQUhRUUZxSUJaeElRY01BQXNMSUJVZ0NVSTVpS2RCZ0FGeU9nQUFJQjRvQWdBZ0IwRURkR29pRlNBak5nSUVJQlVnSkRZQ0FDQWRLQUlBSUFkQkFYUnFJQ0k3QVFBZ0dVRi9haUVaSUJ0QkFXb2lHeUFhUncwQUlCb2hHd3dGQ3lBaFFRRnFJU0VNQUFzTEFrQUNRQ0FPUVFGcUlBRkpEUUFnRUMwQUFDRUdEQUVMSUFKQk9HcEJFR29nQWtFWWFrRVFhaWdDQURZQ0FDQUNRVGhxUVFocUlBSkJHR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTVlOd000SUFKQnpBQnFJQUpCT0dvZ0VDQUdRUUpxRUlpQWdJQUFBa0FDUUFKQUlBSXRBRTROQUNBR0RRRWdFQzBBQUNFSERBSUxJQUl2QVV3aEJnd0NDeUFDUWRBQWFrRVFhaUFDUVJocVFSQnFLQUlBTmdJQUlBSkIwQUJxUVFocUlBSkJHR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTVlOd05RSUFKQjVBQnFJQUpCMEFCcUlCQWdCa0VCYWhDSWdJQ0FBQ0FDTHdGa0lRY0xJQVFnRDBFQmRHb2dCenNCQUNBUFFRRnFJUThnRUNBR2FrRUJhaTBBQUNFR0N5QUVJQTlCQVhScUlBWTdBUUFnRDBFQmFpRUdJQUpCR0dvUWhvQ0FnQUFNRFFzZ0JrRUJhaUVHREFBTEN5QUNJQmsyQW5BZ0FpQWJOZ0pzQ3lBSUtBSUFJUWNnQ0NBVUtBSUFOZ0lBSUJRZ0J6WUNBQ0FDUVFBMkFod2dBaWtER0NFSklBSWdBaWtEYUNJbU53TVlJQUlnQ1RjRGFDQW1weUVTUVFFaEV3c2dBa0hvQUdvZ0NoQ0hnSUNBQUNBVERRQWpnWUNBZ0FBaEJ5QUNLQUljRFFFZ0IwR0FnTUNBQUdvaEZnd0RDeUFRSUJFUWlZQ0FnQUFoQ1FKQUFrQWdFZzBBSUFtbklRZEJBQ0VXUVg4aElRd0JDeUFTUVh4cUtBSUFJaFpCZjJvaUlTQUpwM0VoQndzZ0VrRjRhaUVqSUJKQmZHb2hKQ0FKUWptSXB5RWxJQlloRXdOQUlCSWdCMm9pRnl3QUFDSVZSUTBDSUJOQkFFWU5BZ0pBQWtBZ0ZVRi9TZzBBSUNVZ0ZVSC9BSEZIRFFBZ0VDQVJJQ01vQWdBZ0IwRURkR29pRlNnQ0FDQVZLQUlFRUlxQWdJQUFRUUZ4UlEwQkRBWUxJQllnSkNnQ0FFY05BQ0FISUJZZ0ZVRUJSaHNoRmdzZ0UwRi9haUVUSUFkQkFXb2dJWEVoQnd3QUN3c2dFQ0FSRUltQWdJQUFJUWtDUUFKQUlCSU5BRUVBSVJOQmZ5RVhEQUVMSUJKQmZHb29BZ0FpRTBGL2FpRVhDeUFTUVhocUlTVWdGeUFKcDNFaEJ5QUpRam1JcHlFaEEwQWpnWUNBZ0FCQmdJREFnQUJxSVJZZ0VpQUhhaXdBQUNJVlJRMENJQk5GRFFJQ1FDQVZRWDlLRFFBZ0lTQVZRZjhBY1VjTkFDQVFJQkVnSlNnQ0FDQUhRUU4wYWlJVktBSUFJQlVvQWdRUWlvQ0FnQUJCQVhGRkRRQWdBa0VCT2dDQUFTQUNJQWMyQW53Z0FrSDhBR29oRmd3REN5QVRRWDlxSVJNZ0IwRUJhaUFYY1NFSERBQUxDeUFrS0FJQUlSTWdBaUFDS0FJZ1FYOXFOZ0lnSUJJZ0Ztb2dGeUFXSUJOSkloTWJJQ1ZCZ0FGeU9nQUFJQkpCZEdvb0FnQWhGU0FqS0FJQUlSY2dBaUFDS0FJY1FRRnFOZ0ljSUJjZ0ZpQUhJQk1iSWdkQkEzUnFJaE1nRVRZQ0JDQVRJQkEyQWdBZ0ZTQUhRUUYwYWlFSERBSUxJQll0QUFSRkRRSWdGaWdDQUNFSEN5QVNRWFJxS0FJQUlBZEJBWFJxSVFjTElBY2dEVHNCQUFKQUFrQWdCZzBBSUJBdEFBQWhCa0VCSVFjTUFRc2dBa0UwYWlBQ1FSaHFJQkFnQmtFQmFpSUhFSWlBZ0lBQUlBSXZBVFFoQmdzZ0JDQVBRUUYwYWlBR093RUFJQWNnRG1vaERpQVBRUUZxSVFZZ0RVRUJhaUlOUWYvL0EzRkIvLzhEUncwQklCSkJBQ0FTUVh4cUtBSUFJZ2NRbW9DQWdBQWFJQVFnQmtFQmRHcEIvdjhET3dFQUlBSkJBRFlDSENBQ0lBZXRRdEFBZmtMa0FJQStBaUFnRDBFQ2FpRUdRWUFDSVEwTUFRc0xJQUpCR0dvUWhvQ0FnQUJCQUNFSERBRUxJQUlnQXpjQ0VDQUNJQVEyQWdRZ0FpQUdOZ0lJSUFJZ0JUWUNEQ0FHSVFjQ1FDQUZJQVpCQkdvaUUwOE5BRUVBSVFjZ0FrRUVhaUFGSUJNUWpZQ0FnQUFRaklDQWdBQkIvLzhEY1EwQklBSW9BZ1FoQkNBQ0tBSUlJUWNMSUFRZ0IwRUJkR29pQnlBR1FRRjBJaE03QVFBZ0IwRUNhaUFHUVE5Mk93RUFJQWRCQkdvZ0JVRUJkRHNCQUNBSFFRWnFJQVZCRDNZN0FRQWdCQ0FUYWlFSEN5QUNRYUFCYWlTQWdJQ0FBQ0FIQzVNQ0FRWi9JNENBZ0lBQVFSQnJJZ0lrZ0lDQWdBQkJBQ0VEQWtBZ0FDZ0NDQ0lFSUFGUERRQWdBQ2dDQUNFRkFrQWdCRVVOQUNBQ0lBRkJBRWc2QUFnZ0FVRi9UQTBBSUFBb0Fnd2dCU0FFUVFGMFFRRWdBVUVCZEVFQUlBQkJFR29vQWdBb0FnUVJnb0NBZ0FBQVFRRnhSUTBBSUFBZ0FUWUNDRUVBSVFNTUFRc2dBaUFBS1FJTU53TUFJQUpCQ0dvZ0FpQUJFSU9BZ0lBQUlBSXZBUXdpQXcwQUlBSW9BZ2dnQUNnQ0FDQUFLQUlFUVFGMEVKdUFnSUFBSVFaQkFDRURBa0FnQkVFQmRFRUFJQVFiSWdkRkRRQWdBQ2dDRENBRlFRSWdCQnNnQjBFQlFRQWdBRUVRYWlnQ0FDZ0NDQkdCZ0lDQUFBQUxJQUFnQVRZQ0NDQUFJQVkyQWdBTElBSkJFR29rZ0lDQWdBQWdBd3NsQVFGL0EwQkJmeUFBUVFGMklBQnFRUWhxSWdJZ0FpQUFTUnNpQUNBQlNRMEFDeUFBQ3o4QkFYOGpnSUNBZ0FCQkVHc2lBU1NBZ0lDQUFDQUJJQUFwQWd3M0F3Z2dBVUVJYWlBQUtBSUFJQUFvQWdnUWo0Q0FnQUFnQVVFUWFpU0FnSUNBQUFzM0FRRi9Ba0FnQWtFRGRFRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFRUWdBaHNnQTBFQ1FRQWdBQ2dDQkNnQ0NCR0JnSUNBQUFBTEM5c0hBd0YvQVg0SmZ5T0FnSUNBQUVIQUFHc2lBaVNBZ0lDQUFDT0JnSUNBQUVHWWdNQ0FBR29wQXdBaEF3SkFBa0FDUUFKQUlBRU5BRUdxMWFyVmVpRUVRUUFoQlVFQUlRWU1BUXNnQWtFQU5nSWdJQUpDcXRXcTFRbzNBaGdnQWlBRE53SWtJQUpCQUVILy93TVFqWUNBZ0FBaUIwSC8vLy8vQVVzNkFDd2dCMEdBZ0lDQUFrOE5BUUpBQWtBZ0IwRURkQ0lJRFFCQmZDRUlEQUVMSUFPbklBaEJBa0VBSUFOQ0lJaW5LQUlBRVlDQWdJQUFBQ0lJUlEwQ0N5QUNJQWMyQWlBZ0FpQUlOZ0lZUVFBaEJ3SkFBMEFnQjBINC94OUdEUUVnQ0NBSGFrSUFOd0lBSUFkQkNHb2hCd3dBQ3dzZ0FrSC8vd00yQWh3Z0FpQUROd0k0UVFBaEJ5QUNRUUEyQWpRZ0FrS3ExYXJWQ2pjQ0xDQUNRU3hxSUFGQkdHd1FrWUNBZ0FCQi8vOERjUTBCSUFJcEFqZ2hBeUFDS0FJMElRVWdBaWdDTENJRUlBSW9BakFpQm1vZ0FDMEFBRG9BQUNBSUlBQXZBUUJCQTNScUlnbEJBVFlDQkNBSklBUTJBZ0FnQmtFQmFpRUtRUUVoQ1VHQUFpRUxBMEFnQ2lFR0FrQUNRQUpBQWtBZ0NTQUJUdzBBQWtBZ0FDQUpRUUYwYWk4QkFDSUtRZjcvQTBjTkFDQUpRUUZxSWdrZ0FVOE5BVUVBSVFjQ1FBTkFJQWRCK1A4ZlJnMEJJQWdnQjJwQ0FEY0NBQ0FIUVFocUlRY01BQXNMQWtBZ0FDQUpRUUYwYWk4QkFDSUhRWUFDU1EwQUlBSkIvLzhETmdJY0RBZ0xJQVFnQm1vZ0J6b0FBQ0FHUVFGcUlRcEJnQUloQ3d3RUN5QUtRWUFDU1EwQkFrQWdDQ0FLUVFOMGFpSUtLQUlBSWd3TkFDQUVJQVpxSUFRZ0Iyb2lDaUFHSUFkcklnd1FtNENBZ0FBYUlBUWdEQ0FHYWlJTWFpQUtMUUFBT2dBQUlBeEJBV29oQ2d3REN5QUVJQVpxSUF3Z0NpZ0NCQ0lLRUp1QWdJQUFHaUFLSUFacUlRb01BZ3NnQWtILy93TTJBaHdnQWtFWWFoQ09nSUNBQUF3RUN5QUVJQVpxSUFvNkFBQWdCa0VCYWlFS0N5QUlJQXRCLy84RGNVRURkR29pRENBR0lBZHJRUUZxTmdJRUlBd2dCQ0FIYWpZQ0FDQUxRUUZxSVFzTElBbEJBV29oQ1NBR0lRY01BQXNMSUFJZ0F6Y0NFQ0FDSUFRMkFnUWdBaUFHTmdJSUlBSWdCVFlDREFKQUFrQWdCU0FHUVFocUlnaEpEUUFnQmlFSERBRUxRUUFoQnlBQ1FRUnFJQVVnQ0JDTmdJQ0FBQkNSZ0lDQUFFSC8vd054RFFJZ0FpZ0NCQ0VFSUFJb0Fnd2hCU0FDS0FJSUlRY0xJQVFnQjJvaUJ5QUdPZ0FBSUFkQkIyb2dCVUVZZGpvQUFDQUhRUVpxSUFWQkVIWTZBQUFnQjBFRmFpQUZRUWgyT2dBQUlBZEJCR29nQlRvQUFDQUhRUU5xSUFaQkdIWTZBQUFnQjBFQ2FpQUdRUkIyT2dBQUlBZEJBV29nQmtFSWRqb0FBQ0FFSUFacUlRY01BUXNnQWtFWWFoQ09nSUNBQUVFQUlRY0xJQUpCd0FCcUpJQ0FnSUFBSUFjTDJnRUJCWDhqZ0lDQWdBQkJJR3NpQWlTQWdJQ0FBRUVBSVFNQ1FDQUFLQUlJSWdRZ0FVOE5BQ0FBS0FJQUlRVUNRQUpBSUFSRkRRQkJBQTBBSUFBb0Fnd2dCU0FFUVFBZ0FVRUFJQUJCRUdvb0FnQW9BZ1FSZ29DQWdBQUFRUUZ4UlEwQUlBQWdBVFlDQ0F3QkN5QUNJQUJCREdvaUJpa0NBRGNERUNBQ1FSaHFJQUpCRUdvZ0FSQ0JnSUNBQUNBQ0x3RWNJZ01OQVNBQ0tBSVlJQUFvQWdBZ0FDZ0NCQkNiZ0lDQUFDRURJQVlnQlNBRUVJV0FnSUFBSUFBZ0FUWUNDQ0FBSUFNMkFnQUxRUUFoQXdzZ0FrRWdhaVNBZ0lDQUFDQURDOUlDQXdaL0FYNEhmeU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQUFvQWdRaEJDQUFLQUlBSVFWQkFDRUdJQUpCL3dGeElRY0Rmd0pBQWtBQ1FDQUdJQVJIRFFCQmZ5RUlEQUVMQWtBZ0JTQUdRUVIwYWlJQ1FRaHFLUU1BSWdsQ0FGTU5BQ0FDS1FNQWV5QUplM3luSUFGSkRRSUxJQVpCQjNRaUNFR0FBV29oQ2dOQUlBZ2dDazhOQWlBSUlBQXBBZ0FpQ1VJWmlLZEJnSDl4SWdJZ0NDQUNTeHNpQ3lBSWF5RU1JQW1uUVFnZ0NVSWdpS2NiSVEwZ0NFRVFkR2doRGtFQUlRSUNRQU5BQWtBZ0RDQUNSdzBBSUFzaER3d0NDMEgvQVNBSUlBSnFJZzlCQjNFaUVFRUhjM1pCQVNBUWRIRWdEU0FQUVFOMmFpMEFBSEZGRFFFZ0FrRUJhaUlDSUFGSkRRQWdEaUFIU1EwQUN5QURJQWszQXdnZ0EwRUlhaUFJSUFGQkFCQ1RnSUNBQUF3Q0N5QVBRUUZxSVFnTUFBc0xJQU5CRUdva2dJQ0FnQUFnQ0E4TElBWkJBV29oQmd3QUN3dFVBUUYvSUFOQkFYRWhCQUpBQTBBZ0FrVU5BU0FBS0FJQVFRZ2dBQ2dDQkJzZ0FVRURkbW9pQXlBRExRQUFRWDRnQVVFSGNTSURkM0VnQkNBRGRISTZBQUFnQVVFQmFpRUJJQUpCZjJvaEFnd0FDd3NMMndFQkEzOGpnSUNBZ0FCQkVHc2lBaVNBZ0lDQUFBSkFJQUJCZ0JCUERRQWpnWUNBZ0FCQnFJREFnQUJxSUFBZ0FVR0FFQ0FCUVlBUVNSc2dBR3NRbFlDQWdBQUxBa0FnQVVHQUVFME5BQUpBSTRHQWdJQUFRYUNBd0lBQWFpZ0NCQTBBSTRHQWdJQUFRYUNBd0lBQWFpSURRWUFnTmdJRUlBTWdBVUYvYWlJQlFSQjBJZ1EyQWdBZ0JFRUFRWUNBQkJDYWdJQ0FBQm9MSUFJamdZQ0FnQUJCb0lEQWdBQnFLUU1BTndNSUlBSkJDR29nQUVHQUVDQUFRWUFRU3hzaUFFR0FjR29nQVNBQWF4Q1ZnSUNBQUFzZ0FrRVFhaVNBZ0lDQUFBczdBUUYvSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQXlBQUtRSUFOd01JSUFOQkNHb2dBU0FDUVFFUWs0Q0FnQUFnQTBFUWFpU0FnSUNBQUF1OUFRRUVmMEVBSVFRQ1FDQUJRWUdBZkU4TkFBSkFJNEdBZ0lBQVFhaUF3SUFBYWlBQlFmLy9BMnBCRUhZaUFTQUNFSktBZ0lBQUlnUkJmMGNOQUFKQUk0R0FnSUFBUWFDQXdJQUFhaUFCSUFJUWtvQ0FnQUFpQkVGL1JnMEFJQVJCZ0JCcUlRUU1BUXRCQUNFRVFRRWdBblFpQlQ4QUlnWkJFSFFpQW1wQmYycEJBQ0FGYTNFaUJTQUNhMEVRZGlJSElBRnFRQUJCQVVnTkFTQUhJQVpxSVFRZ0JTQUNSZzBBSUFZZ0JCQ1VnSUNBQUFzZ0JFRVFkQ0VFQ3lBRUMwOEJBWDhDUUNBQ1FmLy9BMm9pQmtHQWdIeHhJQVJQSWdKRkRRQWdCRUgvL3dOcVFSQjJJZ1FnQmtFUWRpSUdSZzBBSUFRZ0FVSC8vd05xUVJCMklnRnFJQUVnQm1vUWxJQ0FnQUFMSUFJTElRQWdBVUgvL3dOcVFSQjJJZ0VnQVNBQ1FmLy9BMnBCRUhacUVKU0FnSUFBQzNVQkFYNGdBQ0FFSUFGK0lBSWdBMzU4SUFOQ0lJZ2lBaUFCUWlDSUlnUitmQ0FEUXYvLy8vOFBneUlESUFGQy8vLy8vdytESWdGK0lnVkNJSWdnQXlBRWZud2lBMElnaUh3Z0EwTC8vLy8vRDRNZ0FpQUJmbndpQVVJZ2lIdzNBd2dnQUNBQlFpQ0dJQVZDLy8vLy93K0RoRGNEQUFzc0FRRi9Ba0FnQWtVTkFDQUFJUU1EUUNBRElBRTZBQUFnQTBFQmFpRURJQUpCZjJvaUFnMEFDd3NnQUF0Q0FRRi9Ba0FnQWtVTkFDQUNRWDlxSVFJZ0FDRURBMEFnQXlBQkxRQUFPZ0FBSUFKRkRRRWdBa0YvYWlFQ0lBRkJBV29oQVNBRFFRRnFJUU1NQUFzTElBQUxDMEVDQUVHQWdNQUFDd2dBQUFBQUFBQUFBQUJCaUlEQUFBc29BUUFBQUFJQUFBQURBQUFBQUFBQUFBQUFBQUFJQUJBQXFxcXFxZ0FBQUFBd0FCQUFFQUFBQUE9PSIpOwpjb25zdCBlID0gYXdhaXQgRygpLCBCID0gZS5leHBvcnRzOwpmdW5jdGlvbiBGKEkpIHsKICBjb25zdCB7IHB0cjogZywgbGVuZ3RoOiBBIH0gPSBEKEksIEIpLCBDID0gQi5jb21wcmVzcyhnLCBBKTsKICBCLmZyZWUoZywgQSk7CiAgY29uc3QgeyBzdGFydDogUSwgZW5kOiBFLCBjYXBhY2l0eTogaSB9ID0gdyhCLm1lbW9yeSwgQyksIGEgPSBuZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsIEUpKSwgdCA9IGgoYSk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgdDsKfQpmdW5jdGlvbiBuKEkpIHsKICBjb25zdCBnID0gQi5hbGxvY1VpbnQxNihJLmxlbmd0aCksIEEgPSBuZXcgVWludDE2QXJyYXkoCiAgICBCLm1lbW9yeS5idWZmZXIsCiAgICBnLAogICAgSS5sZW5ndGgKICApOwogIGZvciAobGV0IG8gPSAwOyBvIDwgSS5sZW5ndGg7IG8rKykKICAgIEFbb10gPSBJLmNoYXJDb2RlQXQobyk7CiAgY29uc3QgQyA9IEIuZGVjb21wcmVzcygKICAgIGcsCiAgICBJLmxlbmd0aAogICk7CiAgQi5mcmVlKGcsIEkubGVuZ3RoKTsKICBjb25zdCB7IHN0YXJ0OiBRLCBlbmQ6IEUsIGNhcGFjaXR5OiBpIH0gPSB3KEIubWVtb3J5LCBDKSwgYSA9IG5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShRLCBFKSksIHQgPSBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYSk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgdDsKfQpvbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihJKSB7CiAgY29uc3QgeyBjb21tYW5kOiBnLCBpZDogQSwgZGF0YTogQyB9ID0gSS5kYXRhOwogIHN3aXRjaCAoZykgewogICAgY2FzZSAiZGVjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogQSwgZGF0YTogbihDKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBjYXNlICJjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogQSwgZGF0YTogRihDKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgfQp9Owo=", J = typeof window < "u" && window.Blob && new Blob([atob(V)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
+
function l() {
|
|
3
|
+
let U;
|
|
4
|
+
try {
|
|
5
|
+
if (U = J && (window.URL || window.webkitURL).createObjectURL(J), !U)
|
|
6
|
+
throw "";
|
|
7
|
+
return new Worker(U);
|
|
8
|
+
} catch {
|
|
9
|
+
return new Worker("data:application/javascript;base64," + V, { type: "module" });
|
|
10
|
+
} finally {
|
|
11
|
+
U && (window.URL || window.webkitURL).revokeObjectURL(U);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const R = new l();
|
|
15
|
+
let d = 0;
|
|
16
|
+
const F = {};
|
|
17
|
+
R.onmessage = function(U) {
|
|
18
|
+
console.log("onmessage", U);
|
|
19
|
+
const Q = U.data.id;
|
|
20
|
+
F[Q](U.data.data), delete F[Q];
|
|
21
|
+
};
|
|
22
|
+
async function S(U) {
|
|
23
|
+
const Q = d++;
|
|
24
|
+
return console.log("compress", Q), new Promise((B) => {
|
|
25
|
+
F[Q] = B, R.postMessage({ command: "compress", id: Q, data: U });
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async function W(U) {
|
|
29
|
+
const Q = d++;
|
|
30
|
+
return console.log("decompress", Q), new Promise((B) => {
|
|
31
|
+
F[Q] = B, R.postMessage({ command: "decompress", id: Q, data: U });
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
S as compress,
|
|
36
|
+
W as decompress
|
|
37
|
+
};
|
package/dist/smol-string.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function compress(str: string): string;
|
|
2
|
-
export declare function decompress(compressedStr: string): string;
|
|
1
|
+
export declare function compress(str: string): string;
|
|
2
|
+
export declare function decompress(compressedStr: string): string;
|
package/dist/smol-string.js
CHANGED
|
@@ -1,42 +1,28 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
const w = (I) => o(I, "data:application/wasm;base64,AGFzbQEAAAABUQxgBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ABfwF/YAN/f38AYAJ/fwBgAX8AYAR/f39/AGACf38BfmACf38Bf2ADf39/AX9gBX9+fn5+AAMhIAMEAwQFBAYFBwgAAwkABAQGBAMJAAQKBwUEAAIBCwoKBAUBcAEEBAUDAQARBg4CfwFBgIDAAAt/AEEACwdEBgZtZW1vcnkCAAphbGxvY1VpbnQ4AAALYWxsb2NVaW50MTYAAgRmcmVlAAQIY29tcHJlc3MACwpkZWNvbXByZXNzABIJCQEAQQELAxobHAqjOyBeAQF/I4CAgIAAQRBrIgEkgICAgAAgASOBgICAAEGYgMCAAGopAwA3AwAgAUEIaiABIAAQgYCAgAACQCABLwEMDQAgASgCCCEAIAFBEGokgICAgAAgAA8LA38ADAALC3ECAX8BfiOAgICAAEEQayIDJICAgIAAQoCAgIAQIQQCQEEBRQ0AAkAgAg0AQv////8PIQQMAQsgASgCACACQQBBACABKAIEKAIAEYCAgIAAACICRa1CIIYgAq2EIQQLIAAgBDcCACADQRBqJICAgIAAC14BAX8jgICAgABBEGsiASSAgICAACABI4GAgIAAQZiAwIAAaikDADcDACABQQhqIAEgABCDgICAAAJAIAEvAQwNACABKAIIIQAgAUEQaiSAgICAACAADwsDfwAMAAsLhwECAX8BfiOAgICAAEEQayIDJICAgIAAIAMgAkEASDoADAJAAkAgAkF/Sg0AQoCAgIAQIQQMAQsCQCACQQF0IgINAEL+////DyEEDAELIAEoAgAgAkEBQQAgASgCBCgCABGAgICAAAAiAkWtQiCGIAKthCEECyAAIAQ3AgAgA0EQaiSAgICAAAsZACOBgICAAEGYgMCAAGogACABEIWAgIAACzgBAX8CQCACQQAgAhsiA0UNACAAKAIAIAFBqtWq1XogAhsgA0EAQQAgACgCBCgCCBGBgICAAAALCw8AIAAgAEEMahCHgICAAAtwAQN/AkAgACgCACICRQ0AAkAgAkF0aiIDQQhqKAIAIgJBCmwgAkEPakF8cWpBA2pBfHEiAkEAIAIbIgRFDQAgASgCACADQQQgAhsgBEECQQAgASgCBCgCCBGBgICAAAALIABBADYCCCAAQQA2AgALC9gCAwR/AX4EfyOAgICAAEEQayIEJICAgIAAI4GAgIAAIQUgASgCACEGAkACQCABKAIEDQAgBUGAgMCAAGohBwwBCyACIAMQiYCAgAAhCAJAAkAgBg0AQQAhBUF/IQkMAQsgBkF8aigCACIFQX9qIQkLIAZBeGohCiAJIAincSEBIAhCOYinIQsDQCOBgICAAEGAgMCAAGohByAGIAFqLAAAIgxFDQEgBUUNAQJAIAxBf0oNACALIAxB/wBxRw0AIAIgAyAKKAIAIAFBA3RqIgwoAgAgDCgCBBCKgICAAEEBcUUNACAEQQE6AAwgBCABNgIIIARBCGohBwwCCyAFQX9qIQUgAUEBaiAJcSEBDAALCwJAAkAgBy0ABA0AQQAhAUEAIQUMAQsgBkF0aigCACAHKAIAQQF0ai8BACEBQYCABCEFCyAAIAUgAXI2AQAgBEEQaiSAgICAAAvsBQUCfwF+AX8CfgJ/I4CAgIAAQeAAayICJICAgIAAAkACQAJAAkACQCABQRBLDQAgAUEDTQ0BIAA1AABCIIYgACABQQF2Qfz///8HcSIDajUAAIQhBCAAIAFBfGoiBWo1AABCIIYgACAFIANrajUAAIQhBkKsmuLTo9Lw+h8hBwwEC0EAIQNCrJri06PS8PofIQdBACEFIAFBMEkNAkEAIQVCrJri06PS8PofIQdCrJri06PS8PofIQRCrJri06PS8PofIQYDQCAFQTBqIgggAU8NAiACQcAAaiAAIAVqIgUpAAggBoVCACAFKQAAQtvR0IWa2t+BZ4VCABCdgICAACACQTBqIAVBGGopAAAgBIVCACAFQRBqKQAAQuONo+SJ3prejn+FQgAQnYCAgAAgAkEgaiAFQShqKQAAIAeFQgAgBUEgaikAAELDmd2px7nZzNgAhUIAEJ2AgIAAIAJBwABqQQhqKQMAIAIpA0CFIQYgAkEgakEIaikDACACKQMghSEHIAJBMGpBCGopAwAgAikDMIUhBCAIIQUMAAsLQgAhBkKsmuLTo9Lw+h8hBwJAIAENAEIAIQQMAwsgACABQQF2ajEAAEIIhiAAMQAAQhCGhCABIABqQX9qMQAAhCEEDAILIAQgB4UgBoUhBwsgACAFaiEJIAEgBWshCAJAA0AgA0EQaiIFIAhPDQEgAkHQAGogCSADaiIDQQhqKQAAIAeFQgAgAykAAELb0dCFmtrfgWeFQgAQnYCAgAAgAkHQAGpBCGopAwAgAikDUIUhByAFIQMMAAsLIAEgAGoiA0F4aikAACEGIANBcGopAAAhBAsgAkEQaiAEQtvR0IWa2t+BZ4VCACAGIAeFQgAQnYCAgAAgAiACQRBqQQhqKQMAQtvR0IWa2t+BZ4VCACABrSACKQMQhUKvyPXFx6yHu6B/hUIAEJ2AgIAAIAJBCGopAwAhByACKQMAIQQgAkHgAGokgICAgAAgByAEhQtYAQJ/QQAhBAJAIAEgA0cNAAJAIAAgAkcNAEEBDwsDQCABRSEEIAFFDQEgAUF/aiEBIAItAAAhAyAALQAAIQUgAEEBaiEAIAJBAWohAiAFIANGDQALCyAEC6sTBgV/AX4DfwF+G38BfiOAgICAAEGgAWsiASSAgICAAEEAIQIDQCAAIAJqIQMgAkEBaiIEIQIgAy0AAA0AC0EAIQIgAUEYakEIaiIFQQA2AgAgAUIANwMYIAEjgYCAgABBmIDAgABqKQMAIgY3AiQgASAGNwJ0IAFBADYCcCABQqrVqtUKNwJoAkACQCABQegAaiAEQX9qIgcQjICAgABB//8DcUUNACABQRhqEIaAgIAADAELIAFBGGpBDGohCCAGQiCIpyEJIAEpAnQhCiABKAJwIQsgASgCbCECIAEoAmghDCAGpyENQYACIQ5BACEPAkADQCACIRAgD0ECaiEDIAAgD2ohEUEAIQICQAJAAkACQAJAAkACQAJAAkACQANAAkACQCADIAJqIAdPDQAgAUEwaiABQRhqIBEgAkECaiISEIiAgIAAIAEtADINASABKAIYIRMgASgCIA0GAkACQCATDQBBASEDDAELIBNBfGooAgCtQtAAfiIGIAZC5ACCfULkAHxC0ACApyEDC0EAIQQgAUHoAGpBCGoiFEEANgIAIAFCADcDaEEADQUCQAJAQgFBICADZ2utQv//A4OGpyIDQQggA0EISxsiFUEBdCAVQQ9qQXxxIhYgFUEDdGoiF2pBA2pBfHEiAw0AQXwhAwwBC0EAIQQgDSADQQJBACAJKAIAEYCAgIAAACIDRQ0GCyADQQhqIhggFTYCACADIAMgFmo2AgQgAyADIBdqNgIAIAEgA0EMaiIDNgJoIANBACAVEJ6AgIAAIQQgASAVrULQAH5C5ACApyIZNgJwIAEoAhwiGkUNBEEAIRtBACEcAkAgE0UNACATQXxqKAIAIRwLIARBdGohHSAEQXhqIR4gE0F0aiIDKAIAIR8gA0EEaigCACEgQQAhIQNAICEgHEYNBAJAIBMgIWosAABBAE4NACAfICFBAXRqLwEAISIgICAhQQN0aiIDKAIEISMgAygCACEkAkAgG0UNACAkICMQiYCAgAAhBiAYKAIAIhVBf2oiFyAGp3EhAyAGQjmIpyElA0AgBCADaiwAACIWRQ0BIBVFDQECQCAWQX9KDQAgJSAWQf8AcUcNACAkICMgHigCACADQQN0aiIWKAIAIBYoAgQQioCAgABBAXFFDQAgAUEBOgCcAQwCCyAVQX9qIRUgA0EBaiAXcSEDDAALCyAkICMQiYCAgAAhBiAYKAIAQX9qIhYgBqdxIQMCQANAIAQgA2oiFSwAAEF/Sg0BIANBAWogFnEhAwwACwsgFSAGQjmIp0GAAXI6AAAgHigCACADQQN0aiIVICM2AgQgFSAkNgIAIB0oAgAgA0EBdGogIjsBACAZQX9qIRkgG0EBaiIbIBpHDQAgGiEbDAULICFBAWohIQwACwsCQAJAIA9BAWogB0kNACARLQAAIQIMAQsgAUE4akEQaiABQRhqQRBqKAIANgIAIAFBOGpBCGogAUEYakEIaikDADcDACABIAEpAxg3AzggAUHMAGogAUE4aiARIAJBAmoQiICAgAACQCABLQBODQACQAJAIAINACARLQAAIQMMAQsgAUHQAGpBEGogAUEYakEQaigCADYCACABQdAAakEIaiABQRhqQQhqKQMANwMAIAEgASkDGDcDUCABQeQAaiABQdAAaiARIAJBAWoQiICAgAAgAS8BZCEDCyAMIBBBAXRqIAM7AQAgEEEBaiEQIBEgAmpBAWotAAAhAgwBCyABLwFMIQILIAwgEEEBdGogAjsBACABQRhqEIaAgIAAIAEgCjcCECABIAs2AgwgASAQQQFqNgIIIAEgDDYCBEEAIQIgAUEEaiAQQQJqEIyAgIAAQf//A3ENDiABKAIEIgMgASgCCCICQQF0akEAOwEAIAEoAgwhACABIAEpAhAiBjcDOAJAIAFBOGogAyAAIAJBAWoiAhCNgICAAEEBcUUNACADIQIMDwsgAUHoAGogAUE4aiACEI6AgIAAIAEvAXANDSABKAJoIgIgAyABKAJsQQF0EJ+AgIAAGiABIAY3A1AgAUHQAGogAyAAEI+AgIAADA4LIAJBAWohAgwACwsgASAZNgJwIAEgGzYCbAsgBSgCACEDIAUgFCgCADYCACAUIAM2AgAgAUEANgIcIAEpAxghBiABIAEpA2giJjcDGCABIAY3A2ggJqchE0EBIQQLIAFB6ABqIAgQh4CAgAAgBA0AI4GAgIAAIQMgASgCHA0BIANBgIDAgABqIRYMAwsgESASEImAgIAAIQYCQAJAIBMNACAGpyEDQQAhFkF/ISEMAQsgE0F8aigCACIWQX9qIiEgBqdxIQMLIBNBeGohIyATQXxqISQgBkI5iKchJSAWIQQDQCATIANqIhcsAAAiFUUNAiAEQQBGDQICQAJAIBVBf0oNACAlIBVB/wBxRw0AIBEgEiAjKAIAIANBA3RqIhUoAgAgFSgCBBCKgICAAEEBcUUNAQwGCyAWICQoAgBHDQAgAyAWIBVBAUYbIRYLIARBf2ohBCADQQFqICFxIQMMAAsLIBEgEhCJgICAACEGAkACQCATDQBBACEEQX8hFwwBCyATQXxqKAIAIgRBf2ohFwsgE0F4aiElIBcgBqdxIQMgBkI5iKchIQNAI4GAgIAAQYCAwIAAaiEWIBMgA2osAAAiFUUNAiAERQ0CAkAgFUF/Sg0AICEgFUH/AHFHDQAgESASICUoAgAgA0EDdGoiFSgCACAVKAIEEIqAgIAAQQFxRQ0AIAFBAToAgAEgASADNgJ8IAFB/ABqIRYMAwsgBEF/aiEEIANBAWogF3EhAwwACwsgJCgCACEEIAEgASgCIEF/ajYCICATIBZqIBcgFiAESSIEGyAlQYABcjoAACATQXRqKAIAIRUgIygCACEXIAEgASgCHEEBajYCHCAXIBYgAyAEGyIDQQN0aiIEIBI2AgQgBCARNgIAIBUgA0EBdGohAwwCCyAWLQAERQ0CIBYoAgAhAwsgE0F0aigCACADQQF0aiEDCyADIA47AQACQAJAIAINACARLQAAIQJBASEDDAELIAFBNGogAUEYaiARIAJBAWoiAxCIgICAACABLwE0IQILIAwgEEEBdGogAjsBACADIA9qIQ8gEEEBaiECIA5BAWoiDkH//wNxQf//A0cNASATQQAgE0F8aigCACIDEJ6AgIAAGiAMIAJBAXRqQf7/AzsBACABQQA2AhwgASADrULQAH5C5ACAPgIgIBBBAmohAkGAAiEODAELCyABQRhqEIaAgIAAC0EAIQILIAFBoAFqJICAgIAAIAILrAEBBX8jgICAgABBEGsiAiSAgICAAEEAIQMCQCAAKAIIIgQgAU8NAAJAIABBDGoiBSAAKAIAIgYgBCABEI2AgIAAQQFxDQAgAkEEaiAFIAEQjoCAgAAgAi8BDCIDDQEgAigCCCEBIAIoAgQgACgCACAAKAIEQQF0EJ+AgIAAIQMgBSAGIAQQj4CAgAAgACADNgIACyAAIAE2AghBACEDCyACQRBqJICAgIAAIAMLiAEBAn8jgICAgABBEGsiBCSAgICAAAJAAkAgAw0AIAQgACkCADcDACAEIAEgAhCPgICAAEEBIQUMAQtBACEFIAJFDQAgBCADQQBIOgAMIANBf0wNACAAKAIAIAEgAkEBdEEBIANBAXRBACAAKAIEKAIEEYKAgIAAACEFCyAEQRBqJICAgIAAIAULlQEBAX8jgICAgABBMGsiAySAgICAACADIAEpAgA3AwggA0EQaiADQQhqIAIQg4CAgAACQAJAIAMvARQiAUUNACADIAE7ASAgA0EYaiECDAELIANBADsBLCADIAI2AiggAyADKAIQNgIkIANBJGohAgsgACACKQIANwIAIABBCGogAkEIaigCADYCACADQTBqJICAgIAACzcBAX8CQCACQQF0QQAgAhsiA0UNACAAKAIAIAFBAiACGyADQQFBACAAKAIEKAIIEYGAgIAAAAsLPwEBfyOAgICAAEEQayIBJICAgIAAIAEgACkCDDcDCCABQQhqIAAoAgAgACgCCBCRgICAACABQRBqJICAgIAACzcBAX8CQCACQQN0QQAgAhsiA0UNACAAKAIAIAFBBCACGyADQQJBACAAKAIEKAIIEYGAgIAAAAsLtQcDBX8BfgZ/I4CAgIAAQdAAayIBJICAgIAAQWwhAkF/IQMgACEEA0AgA0EBaiEDIAJBFGohAiAELwEAIQUgBEECaiEEIAUNAAsgAUEANgIoIAFCqtWq1Qo3AiAgASOBgICAAEGYgMCAAGopAwAiBjcCLCABQQA6ADQCQAJAAkBBAUUNACAGp0H4wSZBAkEAIAZCIIinKAIAEYCAgIAAACIFRQ0AIAFBn+gENgIoIAEgBTYCIEEAIQQCQANAIARB+P8fRg0BIAUgBGpCADcCACAEQQhqIQQMAAsLIAFB//8DNgIkIAEgBjcCQEEAIQQgAUEANgI8IAFCqtWq1Qo3AjQgAUE0aiACEJOAgIAAQf//A3ENACABKQJAIQYgASgCPCEHIAEoAjQiCCABKAI4IgJqIAAtAAA6AAAgBSAALwEAQQN0aiIJQQE2AgQgCSAINgIAIAJBAWohCkEBIQJBgAIhCwNAIAohCQJAAkACQAJAIAIgA08NAAJAIAAgAkEBdGovAQAiCkH+/wNHDQAgAkEBaiICIANPDQFBACEEAkADQCAEQfj/H0YNASAFIARqQgA3AgAgBEEIaiEEDAALCwJAIAAgAkEBdGovAQAiBEGAAkkNACABQf//AzYCJAwHCyAIIAlqIAQ6AAAgCUEBaiEKQYACIQsMBAsgCkGAAkkNAQJAIAUgCkEDdGoiCigCACIMDQAgCCAJaiAIIARqIgogCSAEayIMEJ+AgIAAGiAIIAwgCWoiDGogCi0AADoAACAMQQFqIQoMAwsgCCAJaiAMIAooAgQiChCfgICAABogCiAJaiEKDAILIAFB//8DNgIkIAFBIGoQkICAgAAgASAGNwIYIAEgBzYCFCABIAg2AgwgASAJNgIQQQAhBCABQQxqIAlBAWoQk4CAgABB//8DcQ0GIAEoAgwiAyABKAIQIgRqQQA6AAAgASgCFCECIAEgASkCGCIGNwNIAkAgAUHIAGogAyACIARBAWoiBBCUgICAAEEBcUUNACADIQQMBwsgAUE0aiABQcgAaiAEEJWAgIAAIAEvATwNBSABKAI0IgQgAyABKAI4EJ+AgIAAGiABIAY3AyAgAUEgaiADIAIQhYCAgAAMBgsgCCAJaiAKOgAAIAlBAWohCgsgBSALQf//A3FBA3RqIgwgCSAEa0EBajYCBCAMIAggBGo2AgAgC0EBaiELCyACQQFqIQIgCSEEDAALCyABQSBqEJCAgIAAC0EAIQQLIAFB0ABqJICAgIAAIAQLqQEBBX8jgICAgABBEGsiAiSAgICAAEEAIQMCQCAAKAIIIgQgAU8NAAJAIABBDGoiBSAAKAIAIgYgBCABEJSAgIAAQQFxDQAgAkEEaiAFIAEQlYCAgAAgAi8BDCIDDQEgAigCCCEBIAIoAgQgACgCACAAKAIEEJ+AgIAAIQMgBSAGIAQQhYCAgAAgACADNgIACyAAIAE2AghBACEDCyACQRBqJICAgIAAIAMLdQECfyOAgICAAEEQayIEJICAgIAAAkACQCADDQAgBCAAKQIANwMAIAQgASACEIWAgIAAQQEhBQwBC0EAIQUgAkUNAEEADQAgACgCACABIAJBACADQQAgACgCBCgCBBGCgICAAAAhBQsgBEEQaiSAgICAACAFC5UBAQF/I4CAgIAAQTBrIgMkgICAgAAgAyABKQIANwMIIANBEGogA0EIaiACEIGAgIAAAkACQCADLwEUIgFFDQAgAyABOwEgIANBGGohAgwBCyADQQA7ASwgAyACNgIoIAMgAygCEDYCJCADQSRqIQILIAAgAikCADcCACAAQQhqIAJBCGooAgA2AgAgA0EwaiSAgICAAAvSAgMGfwF+B38jgICAgABBEGsiAySAgICAACAAKAIEIQQgACgCACEFQQAhBiACQf8BcSEHA38CQAJAAkAgBiAERw0AQX8hCAwBCwJAIAUgBkEEdGoiAkEIaikDACIJQgBTDQAgAikDAHsgCXt8pyABSQ0CCyAGQQd0IghBgAFqIQoDQCAIIApPDQIgCCAAKQIAIglCGYinQYB/cSICIAggAksbIgsgCGshDCAJp0EIIAlCIIinGyENIAhBEHRoIQ5BACECAkADQAJAIAwgAkcNACALIQ8MAgtB/wEgCCACaiIPQQdxIhBBB3N2QQEgEHRxIA0gD0EDdmotAABxRQ0BIAJBAWoiAiABSQ0AIA4gB0kNAAsgAyAJNwMIIANBCGogCCABQQAQl4CAgAAMAgsgD0EBaiEIDAALCyADQRBqJICAgIAAIAgPCyAGQQFqIQYMAAsLVAEBfyADQQFxIQQCQANAIAJFDQEgACgCAEEIIAAoAgQbIAFBA3ZqIgMgAy0AAEF+IAFBB3EiA3dxIAQgA3RyOgAAIAFBAWohASACQX9qIQIMAAsLC9sBAQN/I4CAgIAAQRBrIgIkgICAgAACQCAAQYAQTw0AI4GAgIAAQaiAwIAAaiAAIAFBgBAgAUGAEEkbIABrEJmAgIAACwJAIAFBgBBNDQACQCOBgICAAEGggMCAAGooAgQNACOBgICAAEGggMCAAGoiA0GAIDYCBCADIAFBf2oiAUEQdCIENgIAIARBAEGAgAQQnoCAgAAaCyACI4GAgIAAQaCAwIAAaikDADcDCCACQQhqIABBgBAgAEGAEEsbIgBBgHBqIAEgAGsQmYCAgAALIAJBEGokgICAgAALOwEBfyOAgICAAEEQayIDJICAgIAAIAMgACkCADcDCCADQQhqIAEgAkEBEJeAgIAAIANBEGokgICAgAALvQEBBH9BACEEAkAgAUGBgHxPDQACQCOBgICAAEGogMCAAGogAUH//wNqQRB2IgEgAhCWgICAACIEQX9HDQACQCOBgICAAEGggMCAAGogASACEJaAgIAAIgRBf0YNACAEQYAQaiEEDAELQQAhBEEBIAJ0IgU/ACIGQRB0IgJqQX9qQQAgBWtxIgUgAmtBEHYiByABakAAQQFIDQEgByAGaiEEIAUgAkYNACAGIAQQmICAgAALIARBEHQhBAsgBAtPAQF/AkAgAkH//wNqIgZBgIB8cSAETyICRQ0AIARB//8DakEQdiIEIAZBEHYiBkYNACAEIAFB//8DakEQdiIBaiABIAZqEJiAgIAACyACCyEAIAFB//8DakEQdiIBIAEgAkH//wNqQRB2ahCYgICAAAt1AQF+IAAgBCABfiACIAN+fCADQiCIIgIgAUIgiCIEfnwgA0L/////D4MiAyABQv////8PgyIBfiIFQiCIIAMgBH58IgNCIIh8IANC/////w+DIAIgAX58IgFCIIh8NwMIIAAgAUIghiAFQv////8Pg4Q3AwALLAEBfwJAIAJFDQAgACEDA0AgAyABOgAAIANBAWohAyACQX9qIgINAAsLIAALQgEBfwJAIAJFDQAgAkF/aiECIAAhAwNAIAMgAS0AADoAACACRQ0BIAJBf2ohAiABQQFqIQEgA0EBaiEDDAALCyAACwtBAgBBgIDAAAsIAAAAAAAAAAAAQYiAwAALKAEAAAACAAAAAwAAAAAAAAAAAAAACAAQAKqqqqoAAAAAMAAQABAAAAA="), a = await w(), A = a.exports;
|
|
3
|
-
function
|
|
4
|
-
const { ptr: C, length:
|
|
5
|
-
A.free(C,
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
I.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const B = new Uint8Array(
|
|
30
|
-
A.memory.buffer.slice(
|
|
31
|
-
g,
|
|
32
|
-
g + (A.memory.buffer.byteLength - g)
|
|
33
|
-
)
|
|
34
|
-
), E = B.indexOf(0);
|
|
35
|
-
return A.free(g, E + 1), new TextDecoder().decode(
|
|
36
|
-
B.slice(0, E)
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
export {
|
|
40
|
-
h as compress,
|
|
41
|
-
J as decompress
|
|
42
|
-
};
|
|
1
|
+
import { i as F, c as a, e as G, U as h } from "./wasm-helper-57a16a1d.js";
|
|
2
|
+
const k = (I) => F(I, "data:application/wasm;base64,AGFzbQEAAAABUQxgBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ABfwF/YAN/f38AYAJ/fwBgAX8AYAR/f39/AGACf38BfmACf38Bf2ADf39/AX9gBX9+fn5+AAMdHAMEAwQFBAYFBwgACQkJBgQJCQoHBQQAAgELCgoEBQFwAQQEBQMBABEGDgJ/AUGAgMAAC38AQQALB0QGBm1lbW9yeQIACmFsbG9jVWludDgAAAthbGxvY1VpbnQxNgACBGZyZWUABAhjb21wcmVzcwALCmRlY29tcHJlc3MAEAkJAQBBAQsDFhcYCv83HF4BAX8jgICAgABBEGsiASSAgICAACABI4GAgIAAQZiAwIAAaikDADcDACABQQhqIAEgABCBgICAAAJAIAEvAQwNACABKAIIIQAgAUEQaiSAgICAACAADwsDfwAMAAsLcQIBfwF+I4CAgIAAQRBrIgMkgICAgABCgICAgBAhBAJAQQFFDQACQCACDQBC/////w8hBAwBCyABKAIAIAJBAEEAIAEoAgQoAgARgICAgAAAIgJFrUIghiACrYQhBAsgACAENwIAIANBEGokgICAgAALXgEBfyOAgICAAEEQayIBJICAgIAAIAEjgYCAgABBmIDAgABqKQMANwMAIAFBCGogASAAEIOAgIAAAkAgAS8BDA0AIAEoAgghACABQRBqJICAgIAAIAAPCwN/AAwACwuHAQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyACQQBIOgAMAkACQCACQX9KDQBCgICAgBAhBAwBCwJAIAJBAXQiAg0AQv7///8PIQQMAQsgASgCACACQQFBACABKAIEKAIAEYCAgIAAACICRa1CIIYgAq2EIQQLIAAgBDcCACADQRBqJICAgIAACxkAI4GAgIAAQZiAwIAAaiAAIAEQhYCAgAALOAEBfwJAIAJBACACGyIDRQ0AIAAoAgAgAUGq1arVeiACGyADQQBBACAAKAIEKAIIEYGAgIAAAAsLDwAgACAAQQxqEIeAgIAAC3ABA38CQCAAKAIAIgJFDQACQCACQXRqIgNBCGooAgAiAkEKbCACQQ9qQXxxakEDakF8cSICQQAgAhsiBEUNACABKAIAIANBBCACGyAEQQJBACABKAIEKAIIEYGAgIAAAAsgAEEANgIIIABBADYCAAsL2AIDBH8BfgR/I4CAgIAAQRBrIgQkgICAgAAjgYCAgAAhBSABKAIAIQYCQAJAIAEoAgQNACAFQYCAwIAAaiEHDAELIAIgAxCJgICAACEIAkACQCAGDQBBACEFQX8hCQwBCyAGQXxqKAIAIgVBf2ohCQsgBkF4aiEKIAkgCKdxIQEgCEI5iKchCwNAI4GAgIAAQYCAwIAAaiEHIAYgAWosAAAiDEUNASAFRQ0BAkAgDEF/Sg0AIAsgDEH/AHFHDQAgAiADIAooAgAgAUEDdGoiDCgCACAMKAIEEIqAgIAAQQFxRQ0AIARBAToADCAEIAE2AgggBEEIaiEHDAILIAVBf2ohBSABQQFqIAlxIQEMAAsLAkACQCAHLQAEDQBBACEBQQAhBQwBCyAGQXRqKAIAIAcoAgBBAXRqLwEAIQFBgIAEIQULIAAgBSABcjYBACAEQRBqJICAgIAAC+wFBQJ/AX4BfwJ+An8jgICAgABB4ABrIgIkgICAgAACQAJAAkACQAJAIAFBEEsNACABQQNNDQEgADUAAEIghiAAIAFBAXZB/P///wdxIgNqNQAAhCEEIAAgAUF8aiIFajUAAEIghiAAIAUgA2tqNQAAhCEGQqya4tOj0vD6HyEHDAQLQQAhA0KsmuLTo9Lw+h8hB0EAIQUgAUEwSQ0CQQAhBUKsmuLTo9Lw+h8hB0KsmuLTo9Lw+h8hBEKsmuLTo9Lw+h8hBgNAIAVBMGoiCCABTw0CIAJBwABqIAAgBWoiBSkACCAGhUIAIAUpAABC29HQhZra34FnhUIAEJmAgIAAIAJBMGogBUEYaikAACAEhUIAIAVBEGopAABC442j5Inemt6Of4VCABCZgICAACACQSBqIAVBKGopAAAgB4VCACAFQSBqKQAAQsOZ3anHudnM2ACFQgAQmYCAgAAgAkHAAGpBCGopAwAgAikDQIUhBiACQSBqQQhqKQMAIAIpAyCFIQcgAkEwakEIaikDACACKQMwhSEEIAghBQwACwtCACEGQqya4tOj0vD6HyEHAkAgAQ0AQgAhBAwDCyAAIAFBAXZqMQAAQgiGIAAxAABCEIaEIAEgAGpBf2oxAACEIQQMAgsgBCAHhSAGhSEHCyAAIAVqIQkgASAFayEIAkADQCADQRBqIgUgCE8NASACQdAAaiAJIANqIgNBCGopAAAgB4VCACADKQAAQtvR0IWa2t+BZ4VCABCZgICAACACQdAAakEIaikDACACKQNQhSEHIAUhAwwACwsgASAAaiIDQXhqKQAAIQYgA0FwaikAACEECyACQRBqIARC29HQhZra34FnhUIAIAYgB4VCABCZgICAACACIAJBEGpBCGopAwBC29HQhZra34FnhUIAIAGtIAIpAxCFQq/I9cXHrIe7oH+FQgAQmYCAgAAgAkEIaikDACEHIAIpAwAhBCACQeAAaiSAgICAACAHIASFC1gBAn9BACEEAkAgASADRw0AAkAgACACRw0AQQEPCwNAIAFFIQQgAUUNASABQX9qIQEgAi0AACEDIAAtAAAhBSAAQQFqIQAgAkEBaiECIAUgA0YNAAsLIAQLiRMGAX8BfgV/AX4cfwF+I4CAgIAAQaABayICJICAgIAAAkACQAJAIAENACOBgICAAEGYgMCAAGopAwAhA0Gq1arVeiEEQQAhBUEAIQYMAQtBACEHIAJBGGpBCGoiCEEANgIAIAJCADcDGCACI4GAgIAAQZiAwIAAaikDACIJNwIkIAIgCTcCdCACQQA2AnAgAkKq1arVCjcCaAJAIAJB6ABqIAEQjICAgABB//8DcUUNACACQRhqEIaAgIAADAILIAJBGGpBDGohCiAJQiCIpyELIAIpAnQhAyACKAJwIQUgAigCbCEGIAIoAmghBCAJpyEMQYACIQ1BACEOA0AgBiEPIA5BAmohByAAIA5qIRBBACEGAkACQAJAAkACQAJAAkACQAJAAkADQAJAAkAgByAGaiABTw0AIAJBMGogAkEYaiAQIAZBAmoiERCIgICAACACLQAyDQEgAigCGCESIAIoAiANBgJAAkAgEg0AQQEhBwwBCyASQXxqKAIArULQAH4iCSAJQuQAgn1C5AB8QtAAgKchBwtBACETIAJB6ABqQQhqIhRBADYCACACQgA3A2hBAA0FAkACQEIBQSAgB2drrUL//wODhqciB0EIIAdBCEsbIhVBAXQgFUEPakF8cSIWIBVBA3RqIhdqQQNqQXxxIgcNAEF8IQcMAQtBACETIAwgB0ECQQAgCygCABGAgICAAAAiB0UNBgsgB0EIaiIYIBU2AgAgByAHIBZqNgIEIAcgByAXajYCACACIAdBDGoiBzYCaCAHQQAgFRCagICAACETIAIgFa1C0AB+QuQAgKciGTYCcCACKAIcIhpFDQRB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"), J = await k(), A = J.exports;
|
|
3
|
+
function c(I) {
|
|
4
|
+
const { ptr: C, length: Q } = a(I, A), E = A.compress(C, Q);
|
|
5
|
+
A.free(C, Q);
|
|
6
|
+
const { start: g, end: i, capacity: o } = G(A.memory, E), D = new Uint16Array(A.memory.buffer.slice(g, i)), w = h(D);
|
|
7
|
+
return A.free(g, o), w;
|
|
8
|
+
}
|
|
9
|
+
function s(I) {
|
|
10
|
+
const C = A.allocUint16(I.length), Q = new Uint16Array(
|
|
11
|
+
A.memory.buffer,
|
|
12
|
+
C,
|
|
13
|
+
I.length
|
|
14
|
+
);
|
|
15
|
+
for (let B = 0; B < I.length; B++)
|
|
16
|
+
Q[B] = I.charCodeAt(B);
|
|
17
|
+
const E = A.decompress(
|
|
18
|
+
C,
|
|
19
|
+
I.length
|
|
20
|
+
);
|
|
21
|
+
A.free(C, I.length);
|
|
22
|
+
const { start: g, end: i, capacity: o } = G(A.memory, E), D = new Uint8Array(A.memory.buffer.slice(g, i)), w = new TextDecoder().decode(D);
|
|
23
|
+
return A.free(g, o), w;
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
c as compress,
|
|
27
|
+
s as decompress
|
|
28
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
function o(n, e) {
|
|
2
|
+
const t = new TextEncoder().encode(n), a = e.allocUint8(t.length);
|
|
3
|
+
return new Uint8Array(
|
|
4
|
+
e.memory.buffer,
|
|
5
|
+
a,
|
|
6
|
+
t.length
|
|
7
|
+
).set(t), { ptr: a, length: t.length };
|
|
8
|
+
}
|
|
9
|
+
function f(n) {
|
|
10
|
+
const e = new Array(n.length);
|
|
11
|
+
for (let t = 0; t < n.length; t++)
|
|
12
|
+
e[t] = String.fromCharCode(n[t]);
|
|
13
|
+
return e.join("");
|
|
14
|
+
}
|
|
15
|
+
function c(n, e) {
|
|
16
|
+
const t = new Uint32Array(
|
|
17
|
+
n.buffer.slice(e, e + 8)
|
|
18
|
+
), a = t.at(0), r = t.at(1);
|
|
19
|
+
return {
|
|
20
|
+
start: e - a,
|
|
21
|
+
end: e,
|
|
22
|
+
capacity: r
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const l = async (n = {}, e) => {
|
|
26
|
+
let t;
|
|
27
|
+
if (e.startsWith("data:")) {
|
|
28
|
+
const a = e.replace(/^data:.*?base64,/, "");
|
|
29
|
+
let r;
|
|
30
|
+
if (typeof Buffer == "function" && typeof Buffer.from == "function")
|
|
31
|
+
r = Buffer.from(a, "base64");
|
|
32
|
+
else if (typeof atob == "function") {
|
|
33
|
+
const s = atob(a);
|
|
34
|
+
r = new Uint8Array(s.length);
|
|
35
|
+
for (let i = 0; i < s.length; i++)
|
|
36
|
+
r[i] = s.charCodeAt(i);
|
|
37
|
+
} else
|
|
38
|
+
throw new Error("Failed to decode base64-encoded data URL, Buffer and atob are not supported");
|
|
39
|
+
t = await WebAssembly.instantiate(r, n);
|
|
40
|
+
} else {
|
|
41
|
+
const a = await fetch(e), r = a.headers.get("Content-Type") || "";
|
|
42
|
+
if ("instantiateStreaming" in WebAssembly && r.startsWith("application/wasm"))
|
|
43
|
+
t = await WebAssembly.instantiateStreaming(a, n);
|
|
44
|
+
else {
|
|
45
|
+
const s = await a.arrayBuffer();
|
|
46
|
+
t = await WebAssembly.instantiate(s, n);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return t.instance;
|
|
50
|
+
};
|
|
51
|
+
export {
|
|
52
|
+
f as U,
|
|
53
|
+
o as c,
|
|
54
|
+
c as e,
|
|
55
|
+
l as i
|
|
56
|
+
};
|
package/dist/worker-packed.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type Message = {
|
|
2
|
-
command: string;
|
|
3
|
-
id: number;
|
|
4
|
-
data: string;
|
|
5
|
-
};
|
|
1
|
+
export type Message = {
|
|
2
|
+
command: string;
|
|
3
|
+
id: number;
|
|
4
|
+
data: string;
|
|
5
|
+
};
|
package/dist/worker.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type Message = {
|
|
2
|
-
command: string;
|
|
3
|
-
id: number;
|
|
4
|
-
data: string;
|
|
5
|
-
};
|
|
1
|
+
export type Message = {
|
|
2
|
+
command: string;
|
|
3
|
+
id: number;
|
|
4
|
+
data: string;
|
|
5
|
+
};
|
package/package.json
CHANGED
package/src/common.ts
CHANGED
|
@@ -4,16 +4,15 @@ export function copyToWasmBuffer(
|
|
|
4
4
|
) {
|
|
5
5
|
// There's also an 'encodeInto' method to avoid a copy, but by encoding first, we con allocate only exactly what we need.
|
|
6
6
|
const utf8Str = new TextEncoder().encode(str);
|
|
7
|
-
const ptrToStr = exports.allocUint8(utf8Str.length
|
|
7
|
+
const ptrToStr = exports.allocUint8(utf8Str.length);
|
|
8
8
|
const inBuffer = new Uint8Array(
|
|
9
9
|
exports.memory.buffer,
|
|
10
10
|
ptrToStr,
|
|
11
|
-
utf8Str.length
|
|
11
|
+
utf8Str.length
|
|
12
12
|
);
|
|
13
13
|
inBuffer.set(utf8Str); // Copy to WASM buffer.
|
|
14
|
-
inBuffer[utf8Str.length] = 0; // null terminate it.
|
|
15
14
|
|
|
16
|
-
return { ptr: ptrToStr, length: utf8Str.length
|
|
15
|
+
return { ptr: ptrToStr, length: utf8Str.length };
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
// Horrible. Surely we can do better...
|
|
@@ -23,3 +22,18 @@ export function Uint16ArraytoString(buf: Uint16Array) {
|
|
|
23
22
|
strBuilder[i] = String.fromCharCode(buf[i]);
|
|
24
23
|
return strBuilder.join("");
|
|
25
24
|
}
|
|
25
|
+
|
|
26
|
+
export function extractFooter(memory: WebAssembly.Memory, ptrToFooter: number) {
|
|
27
|
+
const footer = new Uint32Array(
|
|
28
|
+
memory.buffer.slice(ptrToFooter, ptrToFooter + 8)
|
|
29
|
+
);
|
|
30
|
+
const streamLength = footer.at(0)!;
|
|
31
|
+
const capacity = footer.at(1)!;
|
|
32
|
+
const start = ptrToFooter - streamLength;
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
start,
|
|
36
|
+
end: ptrToFooter,
|
|
37
|
+
capacity,
|
|
38
|
+
};
|
|
39
|
+
}
|
package/src/module-packed.wasm
CHANGED
|
Binary file
|
package/src/module.wasm
CHANGED
|
Binary file
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Uint16ArraytoString,
|
|
3
|
+
copyToWasmBuffer,
|
|
4
|
+
extractFooter,
|
|
5
|
+
} from "./common.js";
|
|
2
6
|
import init from "./module-packed.wasm?init";
|
|
3
7
|
|
|
4
8
|
type exportsType = {
|
|
@@ -11,7 +15,7 @@ type exportsType = {
|
|
|
11
15
|
tokenCount: number
|
|
12
16
|
) => number;
|
|
13
17
|
free: (ptr: number, length: number) => void;
|
|
14
|
-
memory:
|
|
18
|
+
memory: WebAssembly.Memory;
|
|
15
19
|
};
|
|
16
20
|
|
|
17
21
|
const instance = await init();
|
|
@@ -20,31 +24,26 @@ const exports = instance.exports as exportsType;
|
|
|
20
24
|
export function compressPacked(str: string) {
|
|
21
25
|
const { ptr, length } = copyToWasmBuffer(str, exports);
|
|
22
26
|
|
|
23
|
-
const
|
|
27
|
+
const ptrToFooter = exports.compressPacked(ptr, length);
|
|
24
28
|
|
|
25
29
|
exports.free(ptr, length);
|
|
26
30
|
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
(exports.memory.buffer.byteLength - ptrToCompressed)
|
|
32
|
-
)
|
|
33
|
-
);
|
|
34
|
-
const streamLength = (buffer.at(0)! << 16) + buffer.at(1)!;
|
|
35
|
-
// Includes the tokenCount at the start of the stream (2 * u16).
|
|
36
|
-
const compressedBuffer = buffer.slice(2, streamLength);
|
|
31
|
+
const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
|
|
32
|
+
|
|
33
|
+
// Includes the tokenCount at the end of the stream (2 * u16).
|
|
34
|
+
const compressed = new Uint16Array(exports.memory.buffer.slice(start, end));
|
|
37
35
|
|
|
38
|
-
const
|
|
36
|
+
const r = Uint16ArraytoString(compressed);
|
|
39
37
|
|
|
40
|
-
exports.free(
|
|
38
|
+
exports.free(start, capacity);
|
|
41
39
|
|
|
42
|
-
return
|
|
40
|
+
return r;
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
export function decompressPacked(compressedStr: string) {
|
|
46
44
|
const tokenCount =
|
|
47
|
-
(compressedStr.charCodeAt(
|
|
45
|
+
(compressedStr.charCodeAt(compressedStr.length - 1)! << 16) +
|
|
46
|
+
compressedStr.charCodeAt(compressedStr.length - 2);
|
|
48
47
|
|
|
49
48
|
let ptrToCompressed = exports.allocUint16(compressedStr.length - 2);
|
|
50
49
|
let compressed_buffer = new Uint16Array(
|
|
@@ -53,31 +52,22 @@ export function decompressPacked(compressedStr: string) {
|
|
|
53
52
|
compressedStr.length - 2
|
|
54
53
|
);
|
|
55
54
|
|
|
56
|
-
for (let i =
|
|
57
|
-
compressed_buffer[i
|
|
55
|
+
for (let i = 0; i < compressedStr.length - 2; i++)
|
|
56
|
+
compressed_buffer[i] = compressedStr.charCodeAt(i);
|
|
58
57
|
|
|
59
|
-
const
|
|
58
|
+
const ptrToFooter = exports.decompressPacked(
|
|
60
59
|
ptrToCompressed,
|
|
61
|
-
compressedStr.length,
|
|
60
|
+
compressedStr.length - 2,
|
|
62
61
|
tokenCount
|
|
63
62
|
);
|
|
64
63
|
|
|
65
|
-
exports.free(ptrToCompressed, compressedStr.length);
|
|
64
|
+
exports.free(ptrToCompressed, compressedStr.length - 2);
|
|
66
65
|
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
ptrToDecompressedNullTerminated +
|
|
71
|
-
(exports.memory.buffer.byteLength -
|
|
72
|
-
ptrToDecompressedNullTerminated)
|
|
73
|
-
)
|
|
74
|
-
);
|
|
75
|
-
const decompressed_end = decompressed_buffer.indexOf(0);
|
|
76
|
-
const r = new TextDecoder().decode(
|
|
77
|
-
decompressed_buffer.slice(0, decompressed_end)
|
|
78
|
-
);
|
|
66
|
+
const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
|
|
67
|
+
const content = new Uint8Array(exports.memory.buffer.slice(start, end));
|
|
68
|
+
const r = new TextDecoder().decode(content);
|
|
79
69
|
|
|
80
|
-
exports.free(
|
|
70
|
+
exports.free(start, capacity);
|
|
81
71
|
|
|
82
72
|
return r;
|
|
83
73
|
}
|
package/src/smol-string.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Uint16ArraytoString,
|
|
3
|
+
copyToWasmBuffer,
|
|
4
|
+
extractFooter,
|
|
5
|
+
} from "./common.js";
|
|
2
6
|
import init from "./module.wasm?init";
|
|
3
7
|
|
|
4
8
|
type exportsType = {
|
|
5
9
|
allocUint8: (size: number) => number;
|
|
6
10
|
allocUint16: (size: number) => number;
|
|
7
|
-
compress: (ptr: number) => number;
|
|
8
|
-
decompress: (ptr: number) => number;
|
|
11
|
+
compress: (ptr: number, length: number) => number;
|
|
12
|
+
decompress: (ptr: number, length: number) => number;
|
|
9
13
|
free: (ptr: number, length: number) => void;
|
|
10
|
-
memory:
|
|
14
|
+
memory: WebAssembly.Memory;
|
|
11
15
|
};
|
|
12
16
|
|
|
13
17
|
const instance = await init();
|
|
@@ -16,61 +20,42 @@ const exports = instance.exports as exportsType;
|
|
|
16
20
|
export function compress(str: string) {
|
|
17
21
|
const { ptr, length } = copyToWasmBuffer(str, exports);
|
|
18
22
|
|
|
19
|
-
const
|
|
23
|
+
const ptrToFooter = exports.compress(ptr, length);
|
|
20
24
|
|
|
21
25
|
exports.free(ptr, length);
|
|
22
26
|
|
|
23
|
-
const
|
|
24
|
-
exports.memory.buffer.slice(
|
|
25
|
-
ptrToCompressed,
|
|
26
|
-
ptrToCompressed +
|
|
27
|
-
(exports.memory.buffer.byteLength - ptrToCompressed)
|
|
28
|
-
)
|
|
29
|
-
);
|
|
30
|
-
const end = buffer.indexOf(0);
|
|
31
|
-
const compressed = buffer.slice(0, end);
|
|
27
|
+
const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
|
|
32
28
|
|
|
33
|
-
const
|
|
29
|
+
const content = new Uint16Array(exports.memory.buffer.slice(start, end));
|
|
30
|
+
const r = Uint16ArraytoString(content);
|
|
34
31
|
|
|
35
|
-
exports.free(
|
|
32
|
+
exports.free(start, capacity);
|
|
36
33
|
|
|
37
34
|
return r;
|
|
38
35
|
}
|
|
39
36
|
|
|
40
37
|
export function decompress(compressedStr: string) {
|
|
41
|
-
const
|
|
42
|
-
compressedStr.length + 1
|
|
43
|
-
);
|
|
38
|
+
const ptrToCompressed = exports.allocUint16(compressedStr.length);
|
|
44
39
|
const compressed_buffer = new Uint16Array(
|
|
45
40
|
exports.memory.buffer,
|
|
46
|
-
|
|
47
|
-
compressedStr.length
|
|
41
|
+
ptrToCompressed,
|
|
42
|
+
compressedStr.length
|
|
48
43
|
);
|
|
49
44
|
for (let i = 0; i < compressedStr.length; i++)
|
|
50
45
|
compressed_buffer[i] = compressedStr.charCodeAt(i);
|
|
51
|
-
compressed_buffer[compressedStr.length] = 0;
|
|
52
46
|
|
|
53
|
-
const
|
|
54
|
-
|
|
47
|
+
const ptrToFooter = exports.decompress(
|
|
48
|
+
ptrToCompressed,
|
|
49
|
+
compressedStr.length
|
|
55
50
|
);
|
|
56
51
|
|
|
57
|
-
exports.free(
|
|
52
|
+
exports.free(ptrToCompressed, compressedStr.length);
|
|
58
53
|
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
ptrToDecompressedNullTerminated +
|
|
63
|
-
(exports.memory.buffer.byteLength -
|
|
64
|
-
ptrToDecompressedNullTerminated)
|
|
65
|
-
)
|
|
66
|
-
);
|
|
67
|
-
const decompressed_end = decompressed_buffer.indexOf(0);
|
|
54
|
+
const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
|
|
55
|
+
const content = new Uint8Array(exports.memory.buffer.slice(start, end));
|
|
56
|
+
const r = new TextDecoder().decode(content);
|
|
68
57
|
|
|
69
|
-
exports.free(
|
|
70
|
-
|
|
71
|
-
const r = new TextDecoder().decode(
|
|
72
|
-
decompressed_buffer.slice(0, decompressed_end)
|
|
73
|
-
);
|
|
58
|
+
exports.free(start, capacity);
|
|
74
59
|
|
|
75
60
|
return r;
|
|
76
61
|
}
|
package/test/basic.test.ts
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { describe, expect, test } from "vitest";
|
|
2
|
-
|
|
3
|
-
import { TestData } from "./common.js";
|
|
4
|
-
|
|
5
|
-
import { compress, decompress } from "../dist/smol-string.js";
|
|
6
|
-
import {
|
|
7
|
-
compressPacked,
|
|
8
|
-
decompressPacked,
|
|
9
|
-
} from "../dist/smol-string-packed.js";
|
|
10
|
-
|
|
11
|
-
describe("compress and decompress", () => {
|
|
12
|
-
for (const { name, input } of TestData) {
|
|
13
|
-
test(name, async () => {
|
|
14
|
-
const compressed = compress(input);
|
|
15
|
-
const decompressed = decompress(compressed);
|
|
16
|
-
expect(decompressed).toBe(input);
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
describe("compressPacked and decompressPacked", () => {
|
|
22
|
-
for (const { name, input } of TestData) {
|
|
23
|
-
test(name, async () => {
|
|
24
|
-
const compressed = compressPacked(input);
|
|
25
|
-
const decompressed = decompressPacked(compressed);
|
|
26
|
-
expect(decompressed).toBe(input);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
});
|
|
1
|
+
import { describe, expect, test } from "vitest";
|
|
2
|
+
|
|
3
|
+
import { TestData } from "./common.js";
|
|
4
|
+
|
|
5
|
+
import { compress, decompress } from "../dist/smol-string.js";
|
|
6
|
+
import {
|
|
7
|
+
compressPacked,
|
|
8
|
+
decompressPacked,
|
|
9
|
+
} from "../dist/smol-string-packed.js";
|
|
10
|
+
|
|
11
|
+
describe("compress and decompress", () => {
|
|
12
|
+
for (const { name, input } of TestData) {
|
|
13
|
+
test(name, async () => {
|
|
14
|
+
const compressed = compress(input);
|
|
15
|
+
const decompressed = decompress(compressed);
|
|
16
|
+
expect(decompressed).toBe(input);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
describe("compressPacked and decompressPacked", () => {
|
|
22
|
+
for (const { name, input } of TestData) {
|
|
23
|
+
test(name, async () => {
|
|
24
|
+
const compressed = compressPacked(input);
|
|
25
|
+
const decompressed = decompressPacked(compressed);
|
|
26
|
+
expect(decompressed).toBe(input);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
});
|
package/test/common.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export const json_512kb = import("../../test/data/512KB.json");
|
|
2
|
-
export const json_1mb = import("../../test/data/1MB.json");
|
|
3
|
-
export const rw_medium = import("../../test/data/rw_medium.json");
|
|
4
|
-
export const rw_large = import("../../test/data/rw_large.json");
|
|
5
|
-
|
|
6
|
-
export const TestData = [
|
|
7
|
-
{
|
|
8
|
-
name: "Simple String",
|
|
9
|
-
input: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum",
|
|
10
|
-
},
|
|
11
|
-
{ name: "json_512kb", input: JSON.stringify(await json_512kb) },
|
|
12
|
-
{ name: "json_1mb", input: JSON.stringify(await json_1mb) },
|
|
13
|
-
{ name: "rw_medium", input: JSON.stringify(await rw_medium) },
|
|
14
|
-
{ name: "rw_large", input: JSON.stringify(await rw_large) },
|
|
15
|
-
];
|
|
1
|
+
export const json_512kb = import("../../test/data/512KB.json");
|
|
2
|
+
export const json_1mb = import("../../test/data/1MB.json");
|
|
3
|
+
export const rw_medium = import("../../test/data/rw_medium.json");
|
|
4
|
+
export const rw_large = import("../../test/data/rw_large.json");
|
|
5
|
+
|
|
6
|
+
export const TestData = [
|
|
7
|
+
{
|
|
8
|
+
name: "Simple String",
|
|
9
|
+
input: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum",
|
|
10
|
+
},
|
|
11
|
+
{ name: "json_512kb", input: JSON.stringify(await json_512kb) },
|
|
12
|
+
{ name: "json_1mb", input: JSON.stringify(await json_1mb) },
|
|
13
|
+
{ name: "rw_medium", input: JSON.stringify(await rw_medium) },
|
|
14
|
+
{ name: "rw_large", input: JSON.stringify(await rw_large) },
|
|
15
|
+
];
|
package/test/json.bench.ts
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import { describe, bench, expect, test, beforeAll } from "vitest";
|
|
2
|
-
|
|
3
|
-
import { TestData } from "./common.js";
|
|
4
|
-
|
|
5
|
-
import { compress, decompress } from "../dist/smol-string.js";
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
compressPacked,
|
|
9
|
-
decompressPacked,
|
|
10
|
-
} from "../dist/smol-string-packed.js";
|
|
11
|
-
|
|
12
|
-
const options = { iterations: 5 };
|
|
13
|
-
|
|
14
|
-
describe.each(TestData)("Compression: $name", ({ name, input }) => {
|
|
15
|
-
bench(
|
|
16
|
-
"compress",
|
|
17
|
-
async () => {
|
|
18
|
-
compress(input);
|
|
19
|
-
},
|
|
20
|
-
options
|
|
21
|
-
);
|
|
22
|
-
bench(
|
|
23
|
-
"compressPacked",
|
|
24
|
-
async () => {
|
|
25
|
-
compressPacked(input);
|
|
26
|
-
},
|
|
27
|
-
options
|
|
28
|
-
);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
describe.each(TestData)("Decompression: $name", ({ name, input }) => {
|
|
32
|
-
let compressed = compress(input);
|
|
33
|
-
let compressedPacked = compressPacked(input);
|
|
34
|
-
|
|
35
|
-
bench(
|
|
36
|
-
"decompress",
|
|
37
|
-
async () => {
|
|
38
|
-
const decompressed = decompress(compressed);
|
|
39
|
-
expect(decompressed).toBe(input);
|
|
40
|
-
},
|
|
41
|
-
options
|
|
42
|
-
);
|
|
43
|
-
bench(
|
|
44
|
-
"decompressPacked",
|
|
45
|
-
async () => {
|
|
46
|
-
const decompressed = decompressPacked(compressedPacked);
|
|
47
|
-
expect(decompressed).toBe(input);
|
|
48
|
-
},
|
|
49
|
-
options
|
|
50
|
-
);
|
|
51
|
-
});
|
|
1
|
+
import { describe, bench, expect, test, beforeAll } from "vitest";
|
|
2
|
+
|
|
3
|
+
import { TestData } from "./common.js";
|
|
4
|
+
|
|
5
|
+
import { compress, decompress } from "../dist/smol-string.js";
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
compressPacked,
|
|
9
|
+
decompressPacked,
|
|
10
|
+
} from "../dist/smol-string-packed.js";
|
|
11
|
+
|
|
12
|
+
const options = { iterations: 5 };
|
|
13
|
+
|
|
14
|
+
describe.each(TestData)("Compression: $name", ({ name, input }) => {
|
|
15
|
+
bench(
|
|
16
|
+
"compress",
|
|
17
|
+
async () => {
|
|
18
|
+
compress(input);
|
|
19
|
+
},
|
|
20
|
+
options
|
|
21
|
+
);
|
|
22
|
+
bench(
|
|
23
|
+
"compressPacked",
|
|
24
|
+
async () => {
|
|
25
|
+
compressPacked(input);
|
|
26
|
+
},
|
|
27
|
+
options
|
|
28
|
+
);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
describe.each(TestData)("Decompression: $name", ({ name, input }) => {
|
|
32
|
+
let compressed = compress(input);
|
|
33
|
+
let compressedPacked = compressPacked(input);
|
|
34
|
+
|
|
35
|
+
bench(
|
|
36
|
+
"decompress",
|
|
37
|
+
async () => {
|
|
38
|
+
const decompressed = decompress(compressed);
|
|
39
|
+
expect(decompressed).toBe(input);
|
|
40
|
+
},
|
|
41
|
+
options
|
|
42
|
+
);
|
|
43
|
+
bench(
|
|
44
|
+
"decompressPacked",
|
|
45
|
+
async () => {
|
|
46
|
+
const decompressed = decompressPacked(compressedPacked);
|
|
47
|
+
expect(decompressed).toBe(input);
|
|
48
|
+
},
|
|
49
|
+
options
|
|
50
|
+
);
|
|
51
|
+
});
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
function s(e, n) {
|
|
2
|
-
const t = new TextEncoder().encode(e), a = n.allocUint8(t.length + 1), r = new Uint8Array(
|
|
3
|
-
n.memory.buffer,
|
|
4
|
-
a,
|
|
5
|
-
t.length + 1
|
|
6
|
-
);
|
|
7
|
-
return r.set(t), r[t.length] = 0, { ptr: a, length: t.length + 1 };
|
|
8
|
-
}
|
|
9
|
-
function f(e) {
|
|
10
|
-
const n = new Array(e.length);
|
|
11
|
-
for (let t = 0; t < e.length; t++)
|
|
12
|
-
n[t] = String.fromCharCode(e[t]);
|
|
13
|
-
return n.join("");
|
|
14
|
-
}
|
|
15
|
-
const c = async (e = {}, n) => {
|
|
16
|
-
let t;
|
|
17
|
-
if (n.startsWith("data:")) {
|
|
18
|
-
const a = n.replace(/^data:.*?base64,/, "");
|
|
19
|
-
let r;
|
|
20
|
-
if (typeof Buffer == "function" && typeof Buffer.from == "function")
|
|
21
|
-
r = Buffer.from(a, "base64");
|
|
22
|
-
else if (typeof atob == "function") {
|
|
23
|
-
const i = atob(a);
|
|
24
|
-
r = new Uint8Array(i.length);
|
|
25
|
-
for (let o = 0; o < i.length; o++)
|
|
26
|
-
r[o] = i.charCodeAt(o);
|
|
27
|
-
} else
|
|
28
|
-
throw new Error("Failed to decode base64-encoded data URL, Buffer and atob are not supported");
|
|
29
|
-
t = await WebAssembly.instantiate(r, e);
|
|
30
|
-
} else {
|
|
31
|
-
const a = await fetch(n), r = a.headers.get("Content-Type") || "";
|
|
32
|
-
if ("instantiateStreaming" in WebAssembly && r.startsWith("application/wasm"))
|
|
33
|
-
t = await WebAssembly.instantiateStreaming(a, e);
|
|
34
|
-
else {
|
|
35
|
-
const i = await a.arrayBuffer();
|
|
36
|
-
t = await WebAssembly.instantiate(i, e);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return t.instance;
|
|
40
|
-
};
|
|
41
|
-
export {
|
|
42
|
-
f as U,
|
|
43
|
-
s as c,
|
|
44
|
-
c as i
|
|
45
|
-
};
|