mte-relay-browser-public-client 4.4.5

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.
@@ -0,0 +1,1454 @@
1
+ function WA(A) {
2
+ if (Object.prototype.hasOwnProperty.call(A, "__esModule")) return A;
3
+ var g = A.default;
4
+ if (typeof g == "function") {
5
+ var t = function H() {
6
+ return this instanceof H ? Reflect.construct(g, arguments, this.constructor) : g.apply(this, arguments);
7
+ };
8
+ t.prototype = g.prototype;
9
+ } else t = {};
10
+ return Object.defineProperty(t, "__esModule", { value: !0 }), Object.keys(A).forEach(function(H) {
11
+ var F = Object.getOwnPropertyDescriptor(A, H);
12
+ Object.defineProperty(t, H, F.get ? F : {
13
+ enumerable: !0,
14
+ get: function() {
15
+ return A[H];
16
+ }
17
+ });
18
+ }), t;
19
+ }
20
+ var AA = {};
21
+ const KA = {}, OA = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
22
+ __proto__: null,
23
+ default: KA
24
+ }, Symbol.toStringTag, { value: "Module" })), TA = /* @__PURE__ */ WA(OA);
25
+ var SA;
26
+ function vA() {
27
+ return SA || (SA = 1, function(A) {
28
+ var g = AA && AA.__awaiter || function(s, Q, I, B) {
29
+ function C(E) {
30
+ return E instanceof I ? E : new I(function(a) {
31
+ a(E);
32
+ });
33
+ }
34
+ return new (I || (I = Promise))(function(E, a) {
35
+ function i(f) {
36
+ try {
37
+ d(B.next(f));
38
+ } catch (n) {
39
+ a(n);
40
+ }
41
+ }
42
+ function c(f) {
43
+ try {
44
+ d(B.throw(f));
45
+ } catch (n) {
46
+ a(n);
47
+ }
48
+ }
49
+ function d(f) {
50
+ f.done ? E(f.value) : C(f.value).then(i, c);
51
+ }
52
+ d((B = B.apply(s, Q || [])).next());
53
+ });
54
+ };
55
+ Object.defineProperty(A, "__esModule", { value: !0 }), A.MteMem = A.MteWasm = A.MteKyber = A.MteKyberStatus = A.MteKyberStrength = A.MteRandom = A.MteSdrStorage = A.MteSdrCookie = A.MteSdrAbs = A.MteMkeDec = A.MteMkeEnc = A.MteDec = A.MteEnc = A.MteBase = A.MteInitInfo = A.MteHashes = A.MteCiphers = A.MteVerifiers = A.MteDrbgs = A.MteStatus = void 0;
56
+ var t;
57
+ (function(s) {
58
+ s[s.mte_status_success = 0] = "mte_status_success", s[s.mte_status_invalid_input = 1] = "mte_status_invalid_input", s[s.mte_status_unsupported = 2] = "mte_status_unsupported", s[s.mte_status_drbg_error = 3] = "mte_status_drbg_error", s[s.mte_status_drbg_catastrophic = 4] = "mte_status_drbg_catastrophic", s[s.mte_status_drbg_seedlife_reached = 5] = "mte_status_drbg_seedlife_reached", s[s.mte_status_cipher_test_failed = 6] = "mte_status_cipher_test_failed", s[s.mte_status_hash_test_failed = 7] = "mte_status_hash_test_failed", s[s.mte_status_output_inhibited = 8] = "mte_status_output_inhibited", s[s.mte_status_impl_error = 9] = "mte_status_impl_error", s[s.mte_status_license_error = 10] = "mte_status_license_error", s[s.mte_status_token_does_not_exist = 11] = "mte_status_token_does_not_exist", s[s.mte_status_checksum_mismatch = 12] = "mte_status_checksum_mismatch", s[s.mte_status_digest_mismatch = 13] = "mte_status_digest_mismatch", s[s.mte_status_time_before_exceeded = 14] = "mte_status_time_before_exceeded", s[s.mte_status_time_after_exceeded = 15] = "mte_status_time_after_exceeded", s[s.mte_status_seq_outside_window = 16] = "mte_status_seq_outside_window", s[s.mte_status_seq_async_replay = 17] = "mte_status_seq_async_replay", s[s.mte_status_seq_mismatch = 18] = "mte_status_seq_mismatch";
59
+ })(t = A.MteStatus || (A.MteStatus = {}));
60
+ var H;
61
+ (function(s) {
62
+ s[s.mte_drbgs_none = 0] = "mte_drbgs_none", s[s.mte_drbgs_increment = 1] = "mte_drbgs_increment", s[s.mte_drbgs_ctr_aes128_df = 2] = "mte_drbgs_ctr_aes128_df", s[s.mte_drbgs_ctr_aes128_nodf = 3] = "mte_drbgs_ctr_aes128_nodf", s[s.mte_drbgs_ctr_aes192_df = 4] = "mte_drbgs_ctr_aes192_df", s[s.mte_drbgs_ctr_aes192_nodf = 5] = "mte_drbgs_ctr_aes192_nodf", s[s.mte_drbgs_ctr_aes256_df = 6] = "mte_drbgs_ctr_aes256_df", s[s.mte_drbgs_ctr_aes256_nodf = 7] = "mte_drbgs_ctr_aes256_nodf", s[s.mte_drbgs_hash_sha1 = 8] = "mte_drbgs_hash_sha1", s[s.mte_drbgs_hash_sha256 = 9] = "mte_drbgs_hash_sha256", s[s.mte_drbgs_hash_sha512 = 10] = "mte_drbgs_hash_sha512";
63
+ })(H = A.MteDrbgs || (A.MteDrbgs = {}));
64
+ var F;
65
+ (function(s) {
66
+ s[s.mte_verifiers_none = 0] = "mte_verifiers_none", s[s.mte_verifiers_crc32 = 1] = "mte_verifiers_crc32", s[s.mte_verifiers_crc32_seq = 2] = "mte_verifiers_crc32_seq", s[s.mte_verifiers_seq = 3] = "mte_verifiers_seq", s[s.mte_verifiers_t64 = 4] = "mte_verifiers_t64", s[s.mte_verifiers_t64_crc32 = 5] = "mte_verifiers_t64_crc32", s[s.mte_verifiers_t64_crc32_seq = 6] = "mte_verifiers_t64_crc32_seq", s[s.mte_verifiers_t64_seq = 7] = "mte_verifiers_t64_seq";
67
+ })(F = A.MteVerifiers || (A.MteVerifiers = {}));
68
+ var N;
69
+ (function(s) {
70
+ s[s.mte_ciphers_none = 0] = "mte_ciphers_none", s[s.mte_ciphers_aes128_ctr = 1] = "mte_ciphers_aes128_ctr", s[s.mte_ciphers_aes192_ctr = 2] = "mte_ciphers_aes192_ctr", s[s.mte_ciphers_aes256_ctr = 3] = "mte_ciphers_aes256_ctr";
71
+ })(N = A.MteCiphers || (A.MteCiphers = {}));
72
+ var k;
73
+ (function(s) {
74
+ s[s.mte_hashes_none = 0] = "mte_hashes_none", s[s.mte_hashes_crc32 = 1] = "mte_hashes_crc32", s[s.mte_hashes_sha1 = 2] = "mte_hashes_sha1", s[s.mte_hashes_sha256 = 3] = "mte_hashes_sha256", s[s.mte_hashes_sha512 = 4] = "mte_hashes_sha512";
75
+ })(k = A.MteHashes || (A.MteHashes = {})), function(s) {
76
+ s[s.mte_init_info_arm64_aes_paa = 0] = "mte_init_info_arm64_aes_paa", s[s.mte_init_info_arm64_sha1_paa = 1] = "mte_init_info_arm64_sha1_paa", s[s.mte_init_info_arm64_sha256_paa = 2] = "mte_init_info_arm64_sha256_paa", s[s.mte_init_info_arm64_sha512_paa = 3] = "mte_init_info_arm64_sha512_paa", s[s.mte_init_info_arm64_crc32_paa = 4] = "mte_init_info_arm64_crc32_paa";
77
+ }(A.MteInitInfo || (A.MteInitInfo = {}));
78
+ class R {
79
+ /** Constructor. Derived classes must call initBase() from their
80
+ constructor. */
81
+ constructor(Q) {
82
+ if (this.drbg = H.mte_drbgs_none, this.tokBytes = 0, this.verifiers = F.mte_verifiers_none, this.cipher = N.mte_ciphers_none, this.hash_ = k.mte_hashes_none, this.entropyInput = new iA(), this.nonce = null, this.nonceIntBytes = 0, this.eiCallback = null, this.nCallback = null, this.tsCallback = null, this.initBase = (I, B, C, E, a) => {
83
+ this.drbg = I, this.tokBytes = B, this.verifiers = C, this.cipher = E, this.hash_ = a, this.nonceIntBytes = Math.max(this.getDrbgsNonceMinBytes(I), Math.min(8, this.getDrbgsNonceMaxBytes(I)));
84
+ }, this.destructBase = () => {
85
+ this.wasm.free(this.entropyInput), this.entropyInput.invalidate();
86
+ }, this.getVersion = () => {
87
+ const I = this.exports.mte_base_version();
88
+ return this.wasm.wasmOffToStr(I);
89
+ }, this.getVersionMajor = () => this.exports.mte_wasm_base_version_major(), this.getVersionMinor = () => this.exports.mte_wasm_base_version_minor(), this.getVersionPatch = () => this.exports.mte_wasm_base_version_patch(), this.initLicense = (I, B) => {
90
+ const C = this.wasm.strToWasm(I), E = this.wasm.strToWasm(B), a = this.exports.mte_license_init(C.off, E.off);
91
+ return this.wasm.free(C), this.wasm.free(E), a;
92
+ }, this.getStatusCount = () => this.exports.mte_wasm_base_status_count(), this.getStatusName = (I) => {
93
+ const B = this.exports.mte_wasm_base_status_name(I);
94
+ return this.wasm.wasmOffToStr(B);
95
+ }, this.getStatusDescription = (I) => {
96
+ const B = this.exports.mte_wasm_base_status_description(I);
97
+ return this.wasm.wasmOffToStr(B);
98
+ }, this.getStatusCode = (I) => {
99
+ const B = this.wasm.strToWasm(I), C = this.exports.mte_wasm_base_status_code(B.off);
100
+ return this.wasm.free(B), C;
101
+ }, this.statusIsError = (I) => this.exports.mte_base_status_is_error(I), this.hasRuntimeOpts = () => this.exports.mte_wasm_base_has_runtime_opts(), this.getDefaultDrbg = () => this.exports.mte_wasm_base_default_drbg(), this.getDefaultTokBytes = () => this.exports.mte_wasm_base_default_tok_bytes(), this.getDefaultVerifiers = () => this.exports.mte_wasm_base_default_verifiers(), this.getDefaultCipher = () => this.exports.mte_wasm_base_default_cipher(), this.getDefaultHash = () => this.exports.mte_wasm_base_default_hash(), this.getDrbgsCount = () => this.exports.mte_wasm_base_drbgs_count(), this.getDrbgsName = (I) => {
102
+ const B = this.exports.mte_wasm_base_drbgs_name(I);
103
+ return this.wasm.wasmOffToStr(B);
104
+ }, this.getDrbgsAlgo = (I) => {
105
+ const B = this.wasm.strToWasm(I), C = this.exports.mte_wasm_base_drbgs_algo(B.off);
106
+ return this.wasm.free(B), C;
107
+ }, this.getDrbgsSecStrengthBytes = (I) => this.exports.mte_wasm_base_drbgs_sec_strength_bytes(I), this.getDrbgsPersonalMinBytes = (I) => this.exports.mte_wasm_base_drbgs_personal_min_bytes(I), this.getDrbgsPersonalMaxBytes = (I) => this.exports.mte_wasm_base_drbgs_personal_max_bytes(I), this.getDrbgsEntropyMinBytes = (I) => this.exports.mte_wasm_base_drbgs_entropy_min_bytes(I), this.getDrbgsEntropyMaxBytes = (I) => this.exports.mte_wasm_base_drbgs_entropy_max_bytes(I), this.getDrbgsNonceMinBytes = (I) => this.exports.mte_wasm_base_drbgs_nonce_min_bytes(I), this.getDrbgsNonceMaxBytes = (I) => this.exports.mte_wasm_base_drbgs_nonce_max_bytes(I), this.getDrbgsReseedInterval = (I) => this.exports.mte_wasm_base_drbgs_reseed_interval(I), this.setIncrInstError = (I) => {
108
+ this.exports.mte_wasm_base_drbgs_incr_inst_error(I);
109
+ }, this.setIncrGenError = (I, B) => {
110
+ this.exports.mte_wasm_base_drbgs_incr_gen_error(I, B);
111
+ }, this.getVerifiersCount = () => this.exports.mte_wasm_base_verifiers_count(), this.getVerifiersName = (I) => {
112
+ const B = this.exports.mte_wasm_base_verifiers_name(I);
113
+ return this.wasm.wasmOffToStr(B);
114
+ }, this.getVerifiersAlgo = (I) => {
115
+ const B = this.wasm.strToWasm(I), C = this.exports.mte_wasm_base_verifiers_algo(B.off);
116
+ return this.wasm.free(B), C;
117
+ }, this.getCiphersCount = () => this.exports.mte_wasm_base_ciphers_count(), this.getCiphersName = (I) => {
118
+ const B = this.exports.mte_wasm_base_ciphers_name(I);
119
+ return this.wasm.wasmOffToStr(B);
120
+ }, this.getCiphersAlgo = (I) => {
121
+ const B = this.wasm.strToWasm(I), C = this.exports.mte_wasm_base_ciphers_algo(B.off);
122
+ return this.wasm.free(B), C;
123
+ }, this.getCiphersBlockBytes = (I) => this.exports.mte_wasm_base_ciphers_block_bytes(I), this.getHashesCount = () => this.exports.mte_wasm_base_hashes_count(), this.getHashesName = (I) => {
124
+ const B = this.exports.mte_wasm_base_hashes_name(I);
125
+ return this.wasm.wasmOffToStr(B);
126
+ }, this.getHashesAlgo = (I) => {
127
+ const B = this.wasm.strToWasm(I), C = this.exports.mte_wasm_base_hashes_algo(B.off);
128
+ return this.wasm.free(B), C;
129
+ }, this.getDrbg = () => this.drbg, this.getTokBytes = () => this.tokBytes, this.getVerifiers = () => this.verifiers, this.getCipher = () => this.cipher, this.getHash = () => this.hash_, this.setEntropyCallback = (I) => {
130
+ this.eiCallback = I;
131
+ }, this.setEntropyArr = (I) => {
132
+ this.wasm.free(this.entropyInput), this.entropyInput = this.wasm.arrToWasm(I);
133
+ for (let B = 0; B < I.length; ++B)
134
+ I[B] = 0;
135
+ }, this.setEntropyStr = (I) => {
136
+ this.wasm.free(this.entropyInput), this.entropyInput = this.wasm.strToWasm(I);
137
+ }, this.setEntropyB64 = (I) => {
138
+ this.wasm.free(this.entropyInput), this.entropyInput = this.wasm.strToWasm(I);
139
+ const B = this.exports.mte_wasm_base64_decode(this.entropyInput.off);
140
+ this.entropyInput.used = B;
141
+ }, this.setNonceCallback = (I) => {
142
+ this.nCallback = I;
143
+ }, this.setNonceArr = (I) => {
144
+ this.nonce = I;
145
+ }, this.setNonce = (I) => {
146
+ const B = new Uint8Array(this.nonceIntBytes);
147
+ for (let C = 0; C < I.length; ++C) {
148
+ let E = parseInt(I.charAt(C));
149
+ for (let a = 0; a < B.length; ++a) {
150
+ let i = B[a] * 10 + E;
151
+ B[a] = i % 256, E = Math.floor(i / 256);
152
+ }
153
+ }
154
+ this.setNonceArr(B);
155
+ }, this.setTimestampCallback = (I) => {
156
+ this.tsCallback = I;
157
+ }, this.entropyCallback = (I, B, C, E, a, i) => {
158
+ const c = R.instances[I];
159
+ return c.eiCallback ? c.eiCallback.entropyCallback(B, C, E, a, i) : c.entropyInput.used < C || c.entropyInput.used > E ? t.mte_status_drbg_catastrophic : (c.wasm.intToWasm(a, c.entropyInput.off), c.wasm.intToWasm(i, c.entropyInput.used), t.mte_status_success);
160
+ }, this.nonceCallback = (I, B, C, E, a) => {
161
+ const i = R.instances[I];
162
+ if (i.nCallback) {
163
+ i.nCallback.nonceCallback(B, C, E, a);
164
+ return;
165
+ }
166
+ if (i.nonce == null) {
167
+ i.wasm.intToWasm(a, 0);
168
+ return;
169
+ }
170
+ this.wasm.arrToOffLen(i.nonce, E, i.nonce.length), i.wasm.intToWasm(a, i.nonce.length);
171
+ }, this.timestampCallback = (I, B) => {
172
+ const C = R.instances[I];
173
+ let E = { ts: 0, upper: 0 };
174
+ C.tsCallback && (E = C.tsCallback.timestampCallback()), E.upper == 0 ? C.wasm.int64ToWasm(B, E.ts) : (C.wasm.intToWasm(B, E.ts), C.wasm.intToWasm(B + 4, E.upper));
175
+ }, this.wasm = Q, Q.exports !== null)
176
+ this.exports = Q.exports;
177
+ else
178
+ throw new TypeError("MteBase: WASM does not have exports.");
179
+ if (Q.memory !== null)
180
+ this.memory = Q.memory;
181
+ else
182
+ throw new TypeError("MteBase: WASM does not have memory.");
183
+ if (Q.entropyCallback === null && (Q.entropyCallback = this.entropyCallback), Q.nonceCallback === null && (Q.nonceCallback = this.nonceCallback), Q.timestampCallback === null && (Q.timestampCallback = this.timestampCallback), this.instance = R.instances.length, R.instances.push(this), !R.mteInitialized && this.exports.mte_init(0, 0) == 0)
184
+ throw new Error("MteBase: MTE init error.");
185
+ }
186
+ }
187
+ A.MteBase = R, R.instances = [], R.mteInitialized = !1;
188
+ class p extends R {
189
+ /** Constructor taking the DRBG, token size in bytes, and verifiers
190
+ * algorithm. */
191
+ constructor(Q, I, B, C) {
192
+ super(Q), this.destruct = () => {
193
+ this.destructBase(), this.wasm.free(this.encoder), this.encoder.invalidate(), this.wasm.free(this.saved), this.saved.invalidate(), this.wasm.free(this.saved64), this.saved64.invalidate();
194
+ }, this.instantiate = (d) => {
195
+ const f = this.wasm.strToWasm(d), n = this.exports.mte_wasm_enc_instantiate(this.encoder.off, this.instance, this.instance, f.off, f.used);
196
+ return this.wasm.free(f), n;
197
+ }, this.getReseedCounter = () => this.exports.mte_wasm_enc_reseed_counter(this.encoder.off), this.saveState = () => this.exports.mte_enc_state_save(this.encoder.off, this.saved.off) == t.mte_status_success ? new Uint8Array(this.saved.buff) : null, this.saveStateB64 = () => this.exports.mte_wasm_enc_state_save_b64(this.encoder.off, this.saved64.off) == t.mte_status_success ? this.wasm.wasmToStr(this.saved64) : null, this.restoreState = (d) => (this.wasm.arrToOffLen(d, this.saved.off, d.length), this.exports.mte_enc_state_restore(this.encoder.off, this.saved.off)), this.restoreStateB64 = (d) => {
198
+ const f = this.wasm.strToWasm(d), n = this.exports.mte_wasm_enc_state_restore_b64(this.encoder.off, f.off);
199
+ return this.wasm.free(f), n;
200
+ }, this.encode = (d) => {
201
+ const f = this.wasm.arrToWasm(d), n = this.exports.mte_enc_buff_bytes(this.encoder.off, d.length), w = this.wasm.malloc(n), r = this.wasm.newInt(), o = this.wasm.newInt(), h = this.exports.mte_wasm_enc_encode(this.encoder.off, this.instance, f.off, d.length, w.off, r.off, o.off);
202
+ if (h != t.mte_status_success)
203
+ return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { arr: null, status: h };
204
+ const e = this.wasm.wasmToInt(r.off), D = this.wasm.wasmToInt(o.off), m = w.buff.slice(e, e + D);
205
+ return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { arr: m, status: h };
206
+ }, this.encodeB64 = (d) => {
207
+ const f = this.wasm.arrToWasm(d), n = this.exports.mte_wasm_enc_buff_bytes_b64(this.encoder.off, d.length), w = this.wasm.malloc(n), r = this.wasm.newInt(), o = this.wasm.newInt(), h = this.exports.mte_wasm_enc_encode_b64(this.encoder.off, this.instance, f.off, d.length, w.off, r.off, o.off);
208
+ if (h != t.mte_status_success)
209
+ return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { str: null, status: h };
210
+ const e = this.wasm.wasmToInt(r.off), D = this.wasm.wasmToStr(w, e);
211
+ return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { str: D, status: h };
212
+ }, this.encodeStr = (d) => {
213
+ const f = this.wasm.strToWasm(d), n = this.exports.mte_enc_buff_bytes(this.encoder.off, f.used), w = this.wasm.malloc(n), r = this.wasm.newInt(), o = this.wasm.newInt(), h = this.exports.mte_wasm_enc_encode(this.encoder.off, this.instance, f.off, f.used, w.off, r.off, o.off);
214
+ if (h != t.mte_status_success)
215
+ return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { arr: null, status: h };
216
+ const e = this.wasm.wasmToInt(r.off), D = this.wasm.wasmToInt(o.off), m = w.buff.slice(e, e + D);
217
+ return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { arr: m, status: h };
218
+ }, this.encodeStrB64 = (d) => {
219
+ const f = this.wasm.strToWasm(d), n = this.exports.mte_wasm_enc_buff_bytes_b64(this.encoder.off, f.used), w = this.wasm.malloc(n), r = this.wasm.newInt(), o = this.wasm.newInt(), h = this.exports.mte_wasm_enc_encode_b64(this.encoder.off, this.instance, f.off, f.used, w.off, r.off, o.off);
220
+ if (h != t.mte_status_success)
221
+ return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { str: null, status: h };
222
+ const e = this.wasm.wasmToInt(r.off), D = this.wasm.wasmToStr(w, e);
223
+ return this.wasm.free(f), this.wasm.free(w), this.wasm.free(r), this.wasm.free(o), { str: D, status: h };
224
+ }, this.uninstantiate = () => this.exports.mte_enc_uninstantiate(this.encoder.off);
225
+ const E = typeof I == "string" ? this.getDrbgsAlgo(I) : I, a = typeof C == "string" ? this.getVerifiersAlgo(C) : C;
226
+ this.initBase(E, B, a, N.mte_ciphers_none, k.mte_hashes_none);
227
+ const i = this.exports.mte_wasm_enc_state_bytes(E, B, a);
228
+ if (i == 0)
229
+ throw new RangeError("MteEnc: Invalid options.");
230
+ if (this.encoder = Q.malloc(i), this.exports.mte_wasm_enc_state_init(this.encoder.off, E, B, a) != t.mte_status_success)
231
+ throw new RangeError("MteEnc: Invalid options.");
232
+ this.saved = Q.malloc(this.exports.mte_enc_save_bytes(this.encoder.off)), this.saved64 = Q.malloc(this.exports.mte_wasm_enc_save_bytes_b64(this.encoder.off));
233
+ }
234
+ /** Create an encoder using default options. */
235
+ static fromdefault(Q) {
236
+ const I = new R(Q);
237
+ return new p(Q, I.getDefaultDrbg(), I.getDefaultTokBytes(), I.getDefaultVerifiers());
238
+ }
239
+ }
240
+ A.MteEnc = p;
241
+ class u extends R {
242
+ /** Constructor taking the DRBG, token size in bytes, verifiers algorithm,
243
+ * timestamp window, and sequence window. */
244
+ constructor(Q, I, B, C, E, a) {
245
+ super(Q), this.encTs = { ts: 0, upper: 0 }, this.decTs = { ts: 0, upper: 0 }, this.msgSkipped = 0, this.destruct = () => {
246
+ this.destructBase(), this.wasm.free(this.decoder), this.decoder.invalidate(), this.wasm.free(this.saved), this.saved.invalidate(), this.wasm.free(this.saved64), this.saved64.invalidate();
247
+ }, this.instantiate = (n) => {
248
+ const w = this.wasm.strToWasm(n), r = this.exports.mte_wasm_dec_instantiate(this.decoder.off, this.instance, this.instance, w.off, w.used);
249
+ return this.wasm.free(w), r;
250
+ }, this.getReseedCounter = () => this.exports.mte_wasm_dec_reseed_counter(this.decoder.off), this.saveState = () => this.exports.mte_dec_state_save(this.decoder.off, this.saved.off) == t.mte_status_success ? new Uint8Array(this.saved.buff) : null, this.saveStateB64 = () => this.exports.mte_wasm_dec_state_save_b64(this.decoder.off, this.saved64.off) == t.mte_status_success ? this.wasm.wasmToStr(this.saved64) : null, this.restoreState = (n) => (this.wasm.arrToOffLen(n, this.saved.off, n.length), this.exports.mte_dec_state_restore(this.decoder.off, this.saved.off)), this.restoreStateB64 = (n) => {
251
+ const w = this.wasm.strToWasm(n), r = this.exports.mte_wasm_dec_state_restore_b64(this.decoder.off, w.off);
252
+ return this.wasm.free(w), r;
253
+ }, this.decode = (n) => {
254
+ const w = this.wasm.arrToWasm(n), r = this.exports.mte_dec_buff_bytes(this.decoder.off, n.length), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(), y = this.wasm.newInt(), l = this.exports.mte_wasm_dec_decode(this.decoder.off, this.instance, w.off, n.length, o.off, h.off, e.off, D.off, m.off, y.off);
255
+ if (this.statusIsError(l))
256
+ return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(y), { arr: null, status: l };
257
+ const G = this.wasm.wasmToInt(h.off), S = this.wasm.wasmToInt(e.off), Y = o.buff.slice(G, G + S);
258
+ return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(y.off), this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(y), { arr: Y, status: l };
259
+ }, this.decodeB64 = (n) => {
260
+ const w = this.wasm.strToWasm(n), r = this.exports.mte_wasm_dec_buff_bytes_b64(this.decoder.off, w.used), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(), y = this.wasm.newInt(), l = this.exports.mte_wasm_dec_decode_b64(this.decoder.off, this.instance, w.off, w.used, o.off, h.off, e.off, D.off, m.off, y.off);
261
+ if (this.statusIsError(l))
262
+ return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(y), { arr: null, status: l };
263
+ const G = this.wasm.wasmToInt(h.off), S = this.wasm.wasmToInt(e.off), Y = o.buff.slice(G, G + S);
264
+ return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(y.off), this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(y), { arr: Y, status: l };
265
+ }, this.decodeStr = (n) => {
266
+ const w = this.wasm.arrToWasm(n), r = this.exports.mte_dec_buff_bytes(this.decoder.off, n.length), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(), y = this.wasm.newInt(), l = this.exports.mte_wasm_dec_decode(this.decoder.off, this.instance, w.off, n.length, o.off, h.off, e.off, D.off, m.off, y.off);
267
+ if (this.statusIsError(l))
268
+ return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(y), { str: null, status: l };
269
+ const G = this.wasm.wasmToInt(h.off), S = this.wasm.wasmToStr(o, G);
270
+ return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(y.off), this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(y), { str: S, status: l };
271
+ }, this.decodeStrB64 = (n) => {
272
+ const w = this.wasm.strToWasm(n), r = this.exports.mte_wasm_dec_buff_bytes_b64(this.decoder.off, w.used), o = this.wasm.malloc(r), h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(), y = this.wasm.newInt(), l = this.exports.mte_wasm_dec_decode_b64(this.decoder.off, this.instance, w.off, w.used, o.off, h.off, e.off, D.off, m.off, y.off);
273
+ if (this.statusIsError(l))
274
+ return this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(y), { str: null, status: l };
275
+ const G = this.wasm.wasmToInt(h.off), S = this.wasm.wasmToStr(o, G);
276
+ return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(y.off), this.wasm.free(w), this.wasm.free(o), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(y), { str: S, status: l };
277
+ }, this.getEncTs = () => this.encTs, this.getDecTs = () => this.decTs, this.getMsgSkipped = () => this.msgSkipped, this.uninstantiate = () => this.exports.mte_dec_uninstantiate(this.decoder.off);
278
+ const i = typeof I == "string" ? this.getDrbgsAlgo(I) : I, c = typeof C == "string" ? this.getVerifiersAlgo(C) : C;
279
+ this.initBase(i, B, c, N.mte_ciphers_none, k.mte_hashes_none);
280
+ const d = this.exports.mte_wasm_dec_state_bytes(i, B, c);
281
+ if (d == 0)
282
+ throw new RangeError("MteDec: Invalid options.");
283
+ if (this.decoder = Q.malloc(d), this.exports.mte_wasm_dec_state_init(this.decoder.off, i, B, c, E, a) != t.mte_status_success)
284
+ throw this.wasm.free(this.decoder), new RangeError("MteDec: Invalid options.");
285
+ this.saved = Q.malloc(this.exports.mte_dec_save_bytes(this.decoder.off)), this.saved64 = Q.malloc(this.exports.mte_wasm_dec_save_bytes_b64(this.decoder.off));
286
+ }
287
+ /** Create a decoder using default options.
288
+ *
289
+ * The timestamp window and sequence window are optionally settable. */
290
+ static fromdefault(Q, I = 0, B = 0) {
291
+ const C = new R(Q);
292
+ return new u(Q, C.getDefaultDrbg(), C.getDefaultTokBytes(), C.getDefaultVerifiers(), I, B);
293
+ }
294
+ }
295
+ A.MteDec = u;
296
+ class J extends R {
297
+ /** Constructor taking the DRBG, token size in bytes, verifiers algorithm,
298
+ * cipher algorithm, and hash algorithm. */
299
+ constructor(Q, I, B, C, E, a) {
300
+ super(Q), this.destruct = () => {
301
+ this.destructBase(), this.wasm.free(this.encoder), this.encoder.invalidate(), this.wasm.free(this.saved), this.saved.invalidate(), this.wasm.free(this.saved64), this.saved64.invalidate(), this.wasm.free(this.chunk), this.chunk.invalidate();
302
+ }, this.instantiate = (r) => {
303
+ const o = this.wasm.strToWasm(r), h = this.exports.mte_wasm_mke_enc_instantiate(this.encoder.off, this.instance, this.instance, o.off, o.used);
304
+ return this.wasm.free(o), h;
305
+ }, this.getReseedCounter = () => this.exports.mte_wasm_mke_enc_reseed_counter(this.encoder.off), this.saveState = () => this.exports.mte_mke_enc_state_save(this.encoder.off, this.saved.off) == t.mte_status_success ? new Uint8Array(this.saved.buff) : null, this.saveStateB64 = () => this.exports.mte_wasm_mke_enc_state_save_b64(this.encoder.off, this.saved64.off) == t.mte_status_success ? this.wasm.wasmToStr(this.saved64) : null, this.restoreState = (r) => (this.wasm.arrToOffLen(r, this.saved.off, r.length), this.exports.mte_mke_enc_state_restore(this.encoder.off, this.saved.off)), this.restoreStateB64 = (r) => {
306
+ const o = this.wasm.strToWasm(r), h = this.exports.mte_wasm_mke_enc_state_restore_b64(this.encoder.off, o.off);
307
+ return this.wasm.free(o), h;
308
+ }, this.encode = (r) => {
309
+ const o = this.wasm.arrToWasm(r), h = this.exports.mte_mke_enc_buff_bytes(this.encoder.off, r.length), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(), y = this.exports.mte_wasm_mke_enc_encode(this.encoder.off, this.instance, o.off, r.length, e.off, D.off, m.off);
310
+ if (y != t.mte_status_success)
311
+ return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr: null, status: y };
312
+ const l = this.wasm.wasmToInt(D.off), G = this.wasm.wasmToInt(m.off), S = e.buff.slice(l, l + G);
313
+ return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr: S, status: y };
314
+ }, this.encodeB64 = (r) => {
315
+ const o = this.wasm.arrToWasm(r), h = this.exports.mte_wasm_mke_enc_buff_bytes_b64(this.encoder.off, r.length), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(), y = this.exports.mte_wasm_mke_enc_encode_b64(this.encoder.off, this.instance, o.off, r.length, e.off, D.off, m.off);
316
+ if (y != t.mte_status_success)
317
+ return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str: null, status: y };
318
+ const l = this.wasm.wasmToInt(D.off), G = this.wasm.wasmToStr(e, l);
319
+ return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str: G, status: y };
320
+ }, this.encodeStr = (r) => {
321
+ const o = this.wasm.strToWasm(r), h = this.exports.mte_mke_enc_buff_bytes(this.encoder.off, o.used), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(), y = this.exports.mte_wasm_mke_enc_encode(this.encoder.off, this.instance, o.off, o.used, e.off, D.off, m.off);
322
+ if (y != t.mte_status_success)
323
+ return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr: null, status: y };
324
+ const l = this.wasm.wasmToInt(D.off), G = this.wasm.wasmToInt(m.off), S = e.buff.slice(l, l + G);
325
+ return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { arr: S, status: y };
326
+ }, this.encodeStrB64 = (r) => {
327
+ const o = this.wasm.strToWasm(r), h = this.exports.mte_wasm_mke_enc_buff_bytes_b64(this.encoder.off, o.used), e = this.wasm.malloc(h), D = this.wasm.newInt(), m = this.wasm.newInt(), y = this.exports.mte_wasm_mke_enc_encode_b64(this.encoder.off, this.instance, o.off, o.used, e.off, D.off, m.off);
328
+ if (y != t.mte_status_success)
329
+ return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str: null, status: y };
330
+ const l = this.wasm.wasmToInt(D.off), G = this.wasm.wasmToStr(e, l);
331
+ return this.wasm.free(o), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), { str: G, status: y };
332
+ }, this.encryptFinishBytes = () => this.exports.mte_mke_enc_encrypt_finish_bytes(this.encoder.off), this.startEncrypt = () => this.exports.mte_mke_enc_encrypt_start(this.encoder.off, this.chunk.off), this.encryptChunk = (r) => {
333
+ const o = this.wasm.arrToWasm(r), h = this.exports.mte_wasm_mke_enc_encrypt_chunk(this.encoder.off, this.chunk.off, o.off, r.length, o.off);
334
+ let e = null;
335
+ return h == t.mte_status_success && (e = new Uint8Array(o.buff)), this.wasm.free(o), e;
336
+ }, this.finishEncrypt = () => {
337
+ const r = this.wasm.newInt(), o = this.wasm.newInt(), h = this.exports.mte_wasm_mke_enc_encrypt_finish(this.encoder.off, this.chunk.off, this.instance, r.off, o.off);
338
+ if (h != t.mte_status_success)
339
+ return this.wasm.free(r), this.wasm.free(o), { arr: null, status: h };
340
+ const e = this.wasm.wasmToInt(r.off), D = this.wasm.wasmToInt(o.off), m = this.chunk.buff.slice(e, e + D);
341
+ return this.wasm.free(r), this.wasm.free(o), { arr: m, status: h };
342
+ }, this.uninstantiate = () => this.exports.mte_mke_enc_uninstantiate(this.encoder.off);
343
+ const i = typeof I == "string" ? this.getDrbgsAlgo(I) : I, c = typeof C == "string" ? this.getVerifiersAlgo(C) : C, d = typeof E == "string" ? this.getCiphersAlgo(E) : E, f = typeof a == "string" ? this.getHashesAlgo(a) : a;
344
+ this.initBase(i, B, c, d, f);
345
+ const n = this.exports.mte_wasm_mke_enc_state_bytes(i, B, c, d, f);
346
+ if (n == 0)
347
+ throw new RangeError("MteMkeEnc: Invalid options.");
348
+ if (this.encoder = Q.malloc(n), this.exports.mte_wasm_mke_enc_state_init(this.encoder.off, i, B, c, d, f) != t.mte_status_success)
349
+ throw new RangeError("MteMkeEnc: Invalid options.");
350
+ this.saved = Q.malloc(this.exports.mte_mke_enc_save_bytes(this.encoder.off)), this.saved64 = Q.malloc(this.exports.mte_wasm_mke_enc_save_bytes_b64(this.encoder.off)), this.chunk = Q.malloc(this.exports.mte_mke_enc_encrypt_state_bytes(this.encoder.off));
351
+ }
352
+ /** Create an encoder using default options. */
353
+ static fromdefault(Q) {
354
+ const I = new R(Q);
355
+ return new J(Q, I.getDefaultDrbg(), I.getDefaultTokBytes(), I.getDefaultVerifiers(), I.getDefaultCipher(), I.getDefaultHash());
356
+ }
357
+ }
358
+ A.MteMkeEnc = J;
359
+ class U extends R {
360
+ /** Constructor taking the DRBG, token size in bytes, verifiers algorithm,
361
+ * cipher algorith, hash algorithm, timestamp window, and sequence window. */
362
+ constructor(Q, I, B, C, E, a, i, c) {
363
+ super(Q), this.encTs = { ts: 0, upper: 0 }, this.decTs = { ts: 0, upper: 0 }, this.msgSkipped = 0, this.destruct = () => {
364
+ this.destructBase(), this.wasm.free(this.decoder), this.decoder.invalidate(), this.wasm.free(this.saved), this.saved.invalidate(), this.wasm.free(this.saved64), this.saved64.invalidate(), this.wasm.free(this.chunk), this.chunk.invalidate();
365
+ }, this.instantiate = (h) => {
366
+ const e = this.wasm.strToWasm(h), D = this.exports.mte_wasm_mke_dec_instantiate(this.decoder.off, this.instance, this.instance, e.off, e.used);
367
+ return this.wasm.free(e), D;
368
+ }, this.getReseedCounter = () => this.exports.mte_wasm_mke_dec_reseed_counter(this.decoder.off), this.saveState = () => this.exports.mte_mke_dec_state_save(this.decoder.off, this.saved.off) == t.mte_status_success ? new Uint8Array(this.saved.buff) : null, this.saveStateB64 = () => this.exports.mte_wasm_mke_dec_state_save_b64(this.decoder.off, this.saved64.off) == t.mte_status_success ? this.wasm.wasmToStr(this.saved64) : null, this.restoreState = (h) => (this.wasm.arrToOffLen(h, this.saved.off, h.length), this.exports.mte_mke_dec_state_restore(this.decoder.off, this.saved.off)), this.restoreStateB64 = (h) => {
369
+ const e = this.wasm.strToWasm(h), D = this.exports.mte_wasm_mke_dec_state_restore_b64(this.decoder.off, e.off);
370
+ return this.wasm.free(e), D;
371
+ }, this.decode = (h) => {
372
+ const e = this.wasm.arrToWasm(h), D = this.exports.mte_mke_dec_buff_bytes(this.decoder.off, h.length);
373
+ if (D == 0)
374
+ return this.wasm.free(e), { arr: null, status: t.mte_status_invalid_input };
375
+ const m = this.wasm.malloc(D), y = this.wasm.newInt(), l = this.wasm.newInt(), G = this.wasm.newInt64(), S = this.wasm.newInt64(), Y = this.wasm.newInt(), V = this.exports.mte_wasm_mke_dec_decode(this.decoder.off, this.instance, e.off, h.length, m.off, y.off, l.off, G.off, S.off, Y.off);
376
+ if (this.statusIsError(V))
377
+ return this.wasm.free(e), this.wasm.free(m), this.wasm.free(y), this.wasm.free(l), this.wasm.free(G), this.wasm.free(S), this.wasm.free(Y), { arr: null, status: V };
378
+ const O = this.wasm.wasmToInt(y.off), v = this.wasm.wasmToInt(l.off), rA = m.buff.slice(O, O + v);
379
+ return this.encTs = this.wasm.wasmToTimestamp(G), this.decTs = this.wasm.wasmToTimestamp(S), this.msgSkipped = this.wasm.wasmToInt(Y.off), this.wasm.free(e), this.wasm.free(m), this.wasm.free(y), this.wasm.free(l), this.wasm.free(G), this.wasm.free(S), this.wasm.free(Y), { arr: rA, status: V };
380
+ }, this.decodeB64 = (h) => {
381
+ const e = this.wasm.strToWasm(h), D = this.exports.mte_wasm_mke_dec_buff_bytes_b64(this.decoder.off, e.used), m = this.wasm.malloc(D), y = this.wasm.newInt(), l = this.wasm.newInt(), G = this.wasm.newInt64(), S = this.wasm.newInt64(), Y = this.wasm.newInt(), V = this.exports.mte_wasm_mke_dec_decode_b64(this.decoder.off, this.instance, e.off, e.used, m.off, y.off, l.off, G.off, S.off, Y.off);
382
+ if (this.statusIsError(V))
383
+ return this.wasm.free(e), this.wasm.free(m), this.wasm.free(y), this.wasm.free(l), this.wasm.free(G), this.wasm.free(S), this.wasm.free(Y), { arr: null, status: V };
384
+ const O = this.wasm.wasmToInt(y.off), v = this.wasm.wasmToInt(l.off), rA = m.buff.slice(O, O + v);
385
+ return this.encTs = this.wasm.wasmToTimestamp(G), this.decTs = this.wasm.wasmToTimestamp(S), this.msgSkipped = this.wasm.wasmToInt(Y.off), this.wasm.free(e), this.wasm.free(m), this.wasm.free(y), this.wasm.free(l), this.wasm.free(G), this.wasm.free(S), this.wasm.free(Y), { arr: rA, status: V };
386
+ }, this.decodeStr = (h) => {
387
+ const e = this.wasm.arrToWasm(h), D = this.exports.mte_mke_dec_buff_bytes(this.decoder.off, h.length);
388
+ if (D == 0)
389
+ return this.wasm.free(e), { str: null, status: t.mte_status_invalid_input };
390
+ const m = this.wasm.malloc(D), y = this.wasm.newInt(), l = this.wasm.newInt(), G = this.wasm.newInt64(), S = this.wasm.newInt64(), Y = this.wasm.newInt(), V = this.exports.mte_wasm_mke_dec_decode(this.decoder.off, this.instance, e.off, h.length, m.off, y.off, l.off, G.off, S.off, Y.off);
391
+ if (this.statusIsError(V))
392
+ return this.wasm.free(e), this.wasm.free(m), this.wasm.free(y), this.wasm.free(l), this.wasm.free(G), this.wasm.free(S), this.wasm.free(Y), { str: null, status: V };
393
+ const O = this.wasm.wasmToInt(y.off), v = this.wasm.wasmToStr(m, O);
394
+ return this.encTs = this.wasm.wasmToTimestamp(G), this.decTs = this.wasm.wasmToTimestamp(S), this.msgSkipped = this.wasm.wasmToInt(Y.off), this.wasm.free(e), this.wasm.free(m), this.wasm.free(y), this.wasm.free(l), this.wasm.free(G), this.wasm.free(S), this.wasm.free(Y), { str: v, status: V };
395
+ }, this.decodeStrB64 = (h) => {
396
+ const e = this.wasm.strToWasm(h), D = this.exports.mte_wasm_mke_dec_buff_bytes_b64(this.decoder.off, e.used), m = this.wasm.malloc(D), y = this.wasm.newInt(), l = this.wasm.newInt(), G = this.wasm.newInt64(), S = this.wasm.newInt64(), Y = this.wasm.newInt(), V = this.exports.mte_wasm_mke_dec_decode_b64(this.decoder.off, this.instance, e.off, e.used, m.off, y.off, l.off, G.off, S.off, Y.off);
397
+ if (this.statusIsError(V))
398
+ return this.wasm.free(e), this.wasm.free(m), this.wasm.free(y), this.wasm.free(l), this.wasm.free(G), this.wasm.free(S), this.wasm.free(Y), { str: null, status: V };
399
+ const O = this.wasm.wasmToInt(y.off), v = this.wasm.wasmToStr(m, O);
400
+ return this.encTs = this.wasm.wasmToTimestamp(G), this.decTs = this.wasm.wasmToTimestamp(S), this.msgSkipped = this.wasm.wasmToInt(Y.off), this.wasm.free(e), this.wasm.free(m), this.wasm.free(y), this.wasm.free(l), this.wasm.free(G), this.wasm.free(S), this.wasm.free(Y), { str: v, status: V };
401
+ }, this.startDecrypt = () => this.exports.mte_mke_dec_decrypt_start(this.decoder.off, this.chunk.off), this.decryptChunk = (h) => {
402
+ const e = this.wasm.arrToWasm(h), D = this.wasm.newInt(), m = h.length + this.ciphBlockBytes, y = this.wasm.malloc(m), l = this.exports.mte_wasm_mke_dec_decrypt_chunk(this.decoder.off, this.chunk.off, e.off, h.length, y.off, D.off), G = this.wasm.wasmToInt(D.off), S = y.buff.slice(0, G);
403
+ return this.wasm.free(e), this.wasm.free(y), this.wasm.free(D), l == t.mte_status_success ? S : null;
404
+ }, this.finishDecrypt = () => {
405
+ const h = this.wasm.newInt(), e = this.wasm.newInt(), D = this.wasm.newInt64(), m = this.wasm.newInt64(), y = this.wasm.newInt(), l = this.exports.mte_wasm_mke_dec_decrypt_finish(this.decoder.off, this.chunk.off, this.instance, h.off, e.off, D.off, m.off, y.off);
406
+ if (this.statusIsError(l))
407
+ return this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(y), { arr: null, status: l };
408
+ const G = this.wasm.wasmToInt(h.off), S = this.wasm.wasmToInt(e.off), Y = this.chunk.buff.slice(G, G + S);
409
+ return this.encTs = this.wasm.wasmToTimestamp(D), this.decTs = this.wasm.wasmToTimestamp(m), this.msgSkipped = this.wasm.wasmToInt(y.off), this.wasm.free(h), this.wasm.free(e), this.wasm.free(D), this.wasm.free(m), this.wasm.free(y), { arr: Y, status: l };
410
+ }, this.getEncTs = () => this.encTs, this.getDecTs = () => this.decTs, this.getMsgSkipped = () => this.msgSkipped, this.uninstantiate = () => this.exports.mte_mke_dec_uninstantiate(this.decoder.off);
411
+ const d = typeof I == "string" ? this.getDrbgsAlgo(I) : I, f = typeof C == "string" ? this.getVerifiersAlgo(C) : C, n = typeof E == "string" ? this.getCiphersAlgo(E) : E, w = typeof a == "string" ? this.getHashesAlgo(a) : a;
412
+ this.initBase(d, B, f, n, w);
413
+ const r = this.exports.mte_wasm_mke_dec_state_bytes(d, B, f, n, w);
414
+ if (r == 0)
415
+ throw new RangeError("MteMkeDec: Invalid options.");
416
+ if (this.decoder = Q.malloc(r), this.exports.mte_wasm_mke_dec_state_init(this.decoder.off, d, B, f, n, w, i, c) != t.mte_status_success)
417
+ throw new RangeError("MteMkeDec: Invalid options.");
418
+ if (this.saved = Q.malloc(this.exports.mte_mke_dec_save_bytes(this.decoder.off)), this.saved64 = Q.malloc(this.exports.mte_wasm_mke_dec_save_bytes_b64(this.decoder.off)), this.chunk = Q.malloc(this.exports.mte_mke_dec_decrypt_state_bytes(this.decoder.off)), this.ciphBlockBytes = this.getCiphersBlockBytes(n), this.ciphBlockBytes == 0)
419
+ throw new RangeError("MteMkeDec: Invalid options.");
420
+ }
421
+ /** Create a decoder using default options.
422
+ *
423
+ * The timestamp window and sequence window are optionally settable. */
424
+ static fromdefault(Q, I = 0, B = 0) {
425
+ const C = new R(Q);
426
+ return new U(Q, C.getDefaultDrbg(), C.getDefaultTokBytes(), C.getDefaultVerifiers(), C.getDefaultCipher(), C.getDefaultHash(), I, B);
427
+ }
428
+ }
429
+ A.MteMkeDec = U;
430
+ class X {
431
+ /** Constructor taking the MKE encoder/decoder and directory for the SDR to
432
+ * use.
433
+ *
434
+ * Note: the MKE encoder/decoder provided to this object cannot be used
435
+ * outside this object as this object will change their states.
436
+ */
437
+ constructor(Q, I, B) {
438
+ this.entropy = new Uint8Array(0), this.memFiles = /* @__PURE__ */ new Map(), this.getEncoder = () => this.enc, this.getDecoder = () => this.dec, this.initSdr = (i, c) => {
439
+ this.entropy = i, this.nonce.fill(0);
440
+ for (let d = 0; d < c.length; ++d) {
441
+ let f = parseInt(c.charAt(d));
442
+ for (let n = 0; n < this.nonce.length; ++n) {
443
+ let w = this.nonce[n] * 10 + f;
444
+ this.nonce[n] = w % 256, f = Math.floor(w / 256);
445
+ }
446
+ }
447
+ this.implDirExists(this.sdrPath) || this.implCreateDir(this.sdrPath);
448
+ }, this.readData = (i) => {
449
+ let c;
450
+ this.memFiles.has(i) ? c = this.memFiles.get(i) : c = this.implReadFile(this.sdrPath, i);
451
+ const d = new Uint8Array(this.nonce.length);
452
+ for (let o = 0; o < d.length; ++o)
453
+ d[o] = c[o] ^ this.nonce[o];
454
+ const f = Uint8Array.from(this.entropy);
455
+ this.dec.setEntropyArr(f), this.dec.setNonceArr(d);
456
+ const n = this.dec.instantiate(i);
457
+ if (n != t.mte_status_success)
458
+ throw new Error("Error instantiating decoder (" + this.dec.getStatusName(n) + "): " + this.dec.getStatusDescription(n));
459
+ const w = c.slice(d.length), r = this.dec.decode(w);
460
+ if (r.status != t.mte_status_success)
461
+ throw new Error("Error decoding data (" + this.dec.getStatusName(r.status) + "): " + this.dec.getStatusDescription(r.status));
462
+ return r.arr;
463
+ }, this.readString = (i) => {
464
+ let c;
465
+ this.memFiles.has(i) ? c = this.memFiles.get(i) : c = this.implReadFile(this.sdrPath, i);
466
+ const d = new Uint8Array(this.nonce.length);
467
+ for (let o = 0; o < d.length; ++o)
468
+ d[o] = c[o] ^ this.nonce[o];
469
+ const f = Uint8Array.from(this.entropy);
470
+ this.dec.setEntropyArr(f), this.dec.setNonceArr(d);
471
+ const n = this.dec.instantiate(i);
472
+ if (n != t.mte_status_success)
473
+ throw new Error("Error instantiating decoder (" + this.dec.getStatusName(n) + "): " + this.dec.getStatusDescription(n));
474
+ const w = c.slice(d.length), r = this.dec.decodeStr(w);
475
+ if (r.status != t.mte_status_success)
476
+ throw new Error("Error decoding data (" + this.dec.getStatusName(r.status) + "): " + this.dec.getStatusDescription(r.status));
477
+ return r.str;
478
+ }, this.writeData = (i, c, d = !1) => {
479
+ const f = this.implGetTimestamp(), n = new Uint8Array(this.nonce.length);
480
+ for (let e = 0; e < n.length; ++e)
481
+ n[e] = f[e] ^ this.nonce[e];
482
+ const w = Uint8Array.from(this.entropy);
483
+ this.enc.setEntropyArr(w), this.enc.setNonceArr(n);
484
+ const r = this.enc.instantiate(i);
485
+ if (r != t.mte_status_success)
486
+ throw new Error("Error instantiating encoder (" + this.enc.getStatusName(r) + "): " + this.enc.getStatusDescription(r));
487
+ const o = this.enc.encode(c);
488
+ if (o.status != t.mte_status_success)
489
+ throw new Error("Error encoding data (" + this.enc.getStatusName(o.status) + "): " + this.enc.getStatusDescription(o.status));
490
+ const h = new Uint8Array(o.arr.length + f.length);
491
+ for (let e = 0; e < f.length; ++e)
492
+ h[e] = f[e];
493
+ for (let e = 0; e < o.arr.length; ++e)
494
+ h[e + f.length] = o.arr[e];
495
+ d ? this.memFiles.set(i, h) : this.implWriteFile(this.sdrPath, i, h);
496
+ }, this.writeString = (i, c, d = !1) => {
497
+ const f = this.implGetTimestamp(), n = new Uint8Array(this.nonce.length);
498
+ for (let e = 0; e < n.length; ++e)
499
+ n[e] = f[e] ^ this.nonce[e];
500
+ const w = Uint8Array.from(this.entropy);
501
+ this.enc.setEntropyArr(w), this.enc.setNonceArr(n);
502
+ const r = this.enc.instantiate(i);
503
+ if (r != t.mte_status_success)
504
+ throw new Error("Error instantiating encoder (" + this.enc.getStatusName(r) + "): " + this.enc.getStatusDescription(r));
505
+ const o = this.enc.encodeStr(c);
506
+ if (o.status != t.mte_status_success)
507
+ throw new Error("Error encoding data (" + this.enc.getStatusName(o.status) + "): " + this.enc.getStatusDescription(o.status));
508
+ const h = new Uint8Array(o.arr.length + f.length);
509
+ for (let e = 0; e < f.length; ++e)
510
+ h[e] = f[e];
511
+ for (let e = 0; e < o.arr.length; ++e)
512
+ h[e + f.length] = o.arr[e];
513
+ d ? this.memFiles.set(i, h) : this.implWriteFile(this.sdrPath, i, h);
514
+ }, this.remove = (i) => {
515
+ this.memFiles.has(i) ? this.memFiles.delete(i) : this.implRemoveFile(this.sdrPath, i);
516
+ }, this.removeSdr = () => {
517
+ if (this.implDirExists(this.sdrPath)) {
518
+ const i = this.implListFiles(this.sdrPath);
519
+ for (let c = 0; c < i.length; ++c)
520
+ this.implRemoveFile(this.sdrPath, i[c]);
521
+ this.implRemoveDir(this.sdrPath);
522
+ }
523
+ }, this.implDirExists = (i) => !0, this.implListFiles = (i) => [], this.implCreateDir = (i) => {
524
+ }, this.implReadFile = (i, c) => {
525
+ throw new Error("MteSdrAbs.readFile() called.");
526
+ }, this.implWriteFile = (i, c, d) => {
527
+ throw new Error("MteSdrAbs.writeFile() called.");
528
+ }, this.implRemoveDir = (i) => {
529
+ }, this.implRemoveFile = (i, c) => {
530
+ }, this.implGetTimestamp = () => {
531
+ let i = Math.floor(Date.now());
532
+ const c = new Uint8Array(this.nonce.length);
533
+ for (let d = c.length - 1; d >= 0; --d)
534
+ c[d] = i % 256, i = Math.floor(i / 256);
535
+ return c;
536
+ }, this.enc = Q, this.dec = I, this.wasm = Q.wasm, this.enc.setEntropyCallback(null), this.dec.setEntropyCallback(null), this.enc.setNonceCallback(null), this.dec.setNonceCallback(null), this.enc.setTimestampCallback(null), this.dec.setTimestampCallback(null);
537
+ const C = Q.getDrbgsNonceMinBytes(Q.getDrbg()), E = Q.getDrbgsNonceMaxBytes(Q.getDrbg()), a = Math.min(Math.max(C, 8), E);
538
+ this.nonce = new Uint8Array(a), this.sdrPath = B;
539
+ }
540
+ }
541
+ A.MteSdrAbs = X;
542
+ class Z extends X {
543
+ /** Constructor taking the MKE encoder/decoder, directory for the SDR to
544
+ * use, and cookie attributes to append.
545
+ *
546
+ * Note that a cookie attribute starts with a semicolon to separate it from
547
+ * the previous value or attribute. Therefore, to add a max age of 100, the
548
+ * attrs should be "; max-age=100".
549
+ *
550
+ * Note: the MKE encoder/decoder provided to this object cannot be used
551
+ * outside this object as this object will change their states.
552
+ */
553
+ constructor(Q, I, B, C) {
554
+ super(Q, I, B), this.implListFiles = (E) => {
555
+ const a = E + "_";
556
+ return document.cookie.split(";").filter((i) => i.trim().startsWith(a)).map((i) => i.split("=")[0].trim().slice(a.length));
557
+ }, this.implReadFile = (E, a) => {
558
+ const i = E + "_" + a + "=", c = document.cookie.split(";").filter((f) => f.trim().startsWith(i));
559
+ if (c.length != 1)
560
+ throw new Error("Could not find cookie.");
561
+ const d = c[0];
562
+ return this.wasm.b64decode(decodeURIComponent(d.split("=")[1].trim()));
563
+ }, this.implWriteFile = (E, a, i) => {
564
+ const c = encodeURIComponent(this.wasm.b64encode(i));
565
+ document.cookie = E + "_" + a + "=" + c + this.attrs;
566
+ }, this.implRemoveFile = (E, a) => {
567
+ document.cookie = E + "_" + a + "=_; max-age=0";
568
+ }, this.attrs = C;
569
+ }
570
+ /** Create an SDR at the given directory with the cookie attributes to
571
+ * append. Default-constructed MKE encoder and decoder are created.
572
+ */
573
+ static fromdefault(Q, I, B) {
574
+ return new Z(J.fromdefault(Q), U.fromdefault(Q), I, B);
575
+ }
576
+ }
577
+ A.MteSdrCookie = Z;
578
+ class W extends X {
579
+ /** Constructor taking the MKE encoder/decoder, directory for the SDR to
580
+ * use, and storage to use (true = local, false = session).
581
+ *
582
+ * Note: the MKE encoder/decoder provided to this object cannot be used
583
+ * outside this object as this object will change their states.
584
+ */
585
+ constructor(Q, I, B, C) {
586
+ super(Q, I, B), this.implListFiles = (E) => {
587
+ const a = E + "/", i = new Array();
588
+ for (let c = 0; c < this.storage.length; ++c) {
589
+ const d = this.storage.key(c);
590
+ d.startsWith(a) && i.push(d.slice(a.length));
591
+ }
592
+ return i;
593
+ }, this.implReadFile = (E, a) => {
594
+ const i = E + "/" + a, c = this.storage.getItem(i);
595
+ if (c == null)
596
+ throw new Error("Could not find file.");
597
+ return this.wasm.b64decode(c);
598
+ }, this.implWriteFile = (E, a, i) => {
599
+ const c = this.wasm.b64encode(i), d = E + "/" + a;
600
+ this.storage.setItem(d, c);
601
+ }, this.implRemoveFile = (E, a) => {
602
+ const i = E + "/" + a;
603
+ this.storage.removeItem(i);
604
+ }, this.storage = C ? window.localStorage : window.sessionStorage;
605
+ }
606
+ /** Create an SDR at the given directory with the storage choice. Default-
607
+ * constructed MKE encoder and decoder are created.
608
+ */
609
+ static fromdefault(Q, I, B) {
610
+ return new W(J.fromdefault(Q), U.fromdefault(Q), I, B);
611
+ }
612
+ }
613
+ A.MteSdrStorage = W;
614
+ class M {
615
+ }
616
+ A.MteRandom = M, M.getBytes = (s) => s.length == 0 ? !1 : typeof window > "u" ? (TA.getRandomValues(s), !0) : (window.crypto.getRandomValues(s), !0);
617
+ var _;
618
+ (function(s) {
619
+ s[s.none = 0] = "none", s[s.K512 = 512] = "K512", s[s.K768 = 768] = "K768", s[s.K1024 = 1024] = "K1024";
620
+ })(_ = A.MteKyberStrength || (A.MteKyberStrength = {}));
621
+ var q;
622
+ (function(s) {
623
+ s[s.success = 0] = "success", s[s.invalidStrength = -1] = "invalidStrength", s[s.entropyFail = -2] = "entropyFail", s[s.invalidPubKey = -3] = "invalidPubKey", s[s.invalidPrivKey = -4] = "invalidPrivKey", s[s.memoryFail = -5] = "memoryFail", s[s.invalidCipherText = -6] = "invalidCipherText";
624
+ })(q = A.MteKyberStatus || (A.MteKyberStatus = {}));
625
+ class L {
626
+ /** Constructor which needs no parameters. */
627
+ constructor(Q, I) {
628
+ if (this.publicKeySize = 0, this.privateKeySize = 0, this.minEntropySize = 0, this.maxEntropySize = 0, this.encryptedSize = 0, this.secretSize = 0, this.privateKey = null, this.myEntropyCb = null, this.myEntropy = null, this.getPublicKeySize = () => this.publicKeySize, this.getSecretSize = () => this.secretSize, this.getEncryptedSize = () => this.encryptedSize, this.getminEntropySize = () => this.minEntropySize, this.getMaxEntropySize = () => this.maxEntropySize, this.getAlgorithm = () => {
629
+ const B = this.exports.mte_wasm_kyber_get_algorithm();
630
+ return this.wasm.wasmOffToStr(B);
631
+ }, this.setEntropyCallback = (B) => {
632
+ this.myEntropyCb = B;
633
+ }, this.setEntropy = (B) => {
634
+ if (B.length < this.minEntropySize || B.length > this.maxEntropySize)
635
+ return q.entropyFail;
636
+ this.myEntropy = new Uint8Array(B.length);
637
+ for (let C = 0; C < B.length; ++C)
638
+ this.myEntropy[C] = B[C], B[C] = 0;
639
+ return q.success;
640
+ }, this.createKeypair = () => {
641
+ let B = q.success;
642
+ const C = this.wasm.malloc(this.publicKeySize), E = this.wasm.newInt();
643
+ this.wasm.intToWasm(E.off, this.publicKeySize);
644
+ const a = this.wasm.malloc(this.privateKeySize), i = this.wasm.newInt();
645
+ if (this.wasm.intToWasm(i.off, this.privateKeySize), B = this.exports.mte_wasm_kyber_create_keypair(a.off, i.off, C.off, E.off, this.instance), B != q.success)
646
+ return this.wasm.free(C), this.wasm.free(E), this.wasm.free(a), this.wasm.free(i), { result1: null, result2: null, status: B };
647
+ const c = C.buff.slice(0, this.publicKeySize);
648
+ return this.privateKey = a.buff.slice(0, this.privateKeySize), this.wasm.free(C), this.wasm.free(E), this.wasm.free(a), this.wasm.free(i), { result1: c, result2: null, status: B };
649
+ }, this.createSecret = (B) => {
650
+ const C = this.wasm.arrToWasm(B), E = this.wasm.malloc(this.secretSize), a = this.wasm.newInt();
651
+ this.wasm.intToWasm(a.off, this.secretSize);
652
+ const i = this.wasm.malloc(this.encryptedSize), c = this.wasm.newInt();
653
+ this.wasm.intToWasm(c.off, this.encryptedSize);
654
+ const d = this.exports.mte_wasm_kyber_create_secret(C.off, B.length, E.off, a.off, i.off, c.off, this.instance);
655
+ if (this.wasm.free(C), d !== q.success)
656
+ return this.wasm.free(E), this.wasm.free(a), this.wasm.free(i), this.wasm.free(c), { result1: null, result2: null, status: d };
657
+ const f = E.buff.slice(0, this.secretSize), n = i.buff.slice(0, this.encryptedSize);
658
+ return this.wasm.free(E), this.wasm.free(a), this.wasm.free(i), this.wasm.free(c), {
659
+ result1: f,
660
+ result2: n,
661
+ status: q.success
662
+ };
663
+ }, this.decryptSecret = (B) => {
664
+ if (this.privateKey === null)
665
+ return {
666
+ result1: null,
667
+ result2: null,
668
+ status: q.invalidPrivKey
669
+ };
670
+ const C = this.wasm.arrToWasm(this.privateKey), E = this.wasm.arrToWasm(B), a = this.wasm.malloc(this.secretSize), i = this.wasm.newInt();
671
+ this.wasm.intToWasm(i.off, this.secretSize);
672
+ const c = this.exports.mte_wasm_kyber_decrypt_secret(C.off, this.privateKey.length, E.off, B.length, a.off, i.off);
673
+ if (this.wasm.free(C), this.wasm.free(E), c !== q.success)
674
+ return this.wasm.free(a), this.wasm.free(i), { result1: null, result2: null, status: c };
675
+ const d = a.buff.slice(0, this.secretSize);
676
+ return this.wasm.free(a), this.wasm.free(i), {
677
+ result1: d,
678
+ result2: null,
679
+ status: q.success
680
+ };
681
+ }, this.destruct = () => {
682
+ for (L.instances[this.instance] = null; L.instances.length > 0 && L.instances[L.instances.length - 1] == null; )
683
+ L.instances.pop();
684
+ }, this.defaultCallback = (B, C, E, a, i) => {
685
+ const c = L.instances[B];
686
+ if (c.myEntropyCb !== null)
687
+ return c.myEntropyCb.entropyCallback(C, E, a, i);
688
+ if (c.myEntropy === null) {
689
+ let d = new Uint8Array(a);
690
+ if (!M.getBytes(d))
691
+ return q.entropyFail;
692
+ let f = this.wasm.wasmOverlay(C, a);
693
+ for (let n = 0; n < a; ++n)
694
+ f[n] = d[n], d[n] = 0;
695
+ c.wasm.intToWasm(E, a);
696
+ } else {
697
+ let d = this.wasm.wasmOverlay(C, c.myEntropy.length);
698
+ for (let f = 0; f < c.myEntropy.length; ++f)
699
+ d[f] = c.myEntropy[f], c.myEntropy[f] = 0;
700
+ c.wasm.intToWasm(E, c.myEntropy.length), c.myEntropy = null;
701
+ }
702
+ return q.success;
703
+ }, L.strength !== _.none && L.strength !== I)
704
+ throw new TypeError("MteKyber: differing Kyber strengths are not supported.");
705
+ if (this.wasm = Q, Q.exports !== null)
706
+ this.exports = Q.exports;
707
+ else
708
+ throw new TypeError("MteKyber: WASM does not have exports.");
709
+ if (Q.memory !== null)
710
+ this.memory = Q.memory;
711
+ else
712
+ throw new TypeError("MteKyber: WASM does not have memory.");
713
+ Q.kyberCallback === null && (Q.kyberCallback = this.defaultCallback), this.instance = -1;
714
+ for (let B = 0; B < L.instances.length; B++)
715
+ if (L.instances[B] === null) {
716
+ this.instance = B;
717
+ break;
718
+ }
719
+ if (this.instance === -1 ? (this.instance = L.instances.length, L.instances.push(this)) : L.instances[this.instance] = this, this.exports.mte_wasm_kyber_init(I) != q.success)
720
+ throw new TypeError("MteKyber: intializing the strength failed.");
721
+ L.strength = I, this.publicKeySize = this.exports.mte_wasm_kyber_get_pubkey_size(), this.privateKeySize = this.exports.mte_wasm_kyber_get_privkey_size(), this.minEntropySize = this.exports.mte_wasm_kyber_get_min_entropy_size(), this.maxEntropySize = this.exports.mte_wasm_kyber_get_max_entropy_size(), this.encryptedSize = this.exports.mte_wasm_kyber_get_encrypted_size(), this.secretSize = this.exports.mte_wasm_kyber_get_secret_size();
722
+ }
723
+ }
724
+ A.MteKyber = L, L.instances = [], L.strength = _.none, L.zeroize = (s) => {
725
+ for (let Q = 0; Q < s.length; ++Q)
726
+ s[Q] = 0;
727
+ };
728
+ class VA {
729
+ constructor() {
730
+ this.kyberCallback = null, this.entropyCallback = null, this.nonceCallback = null, this.timestampCallback = null, this.exports = null, this.memory = null, this.pageBytes = 64 * 1024, this.base = 0, this.bytes = 0, this.blocks = [], this.instantiate = () => new Promise((Q, I) => g(this, void 0, void 0, function* () {
731
+ try {
732
+ const B = {
733
+ mte_wasm_kyber_cb: this.kyberCallbackWasm,
734
+ mte_wasm_ei_cb: this.entropyCallbackWasm,
735
+ mte_wasm_n_cb: this.nonceCallbackWasm,
736
+ mte_wasm_t_cb: this.timestampCallbackWasm
737
+ }, C = {
738
+ env: B,
739
+ imports: B
740
+ }, E = new x(), a = yield WebAssembly.compile(E.wasmArr), i = yield WebAssembly.instantiate(a, C);
741
+ this.exports = i.exports, this.memory = this.exports.memory, this.base = this.memory.buffer.byteLength, Q();
742
+ } catch (B) {
743
+ I(B);
744
+ }
745
+ })), this.malloc = (Q) => {
746
+ const I = this.memory, B = this.blocks.length;
747
+ for (let i = 0; i < B; ++i)
748
+ if (!this.blocks[i].inUse && this.blocks[i].bytes >= Q) {
749
+ this.blocks[i].bytes > Q && (this.blocks.splice(i + 1, 0, new kA(this.blocks[i].off + Q, this.blocks[i].bytes - Q)), this.blocks[i].bytes = Q);
750
+ const c = new iA(this.blocks[i].off, new Uint8Array(I.buffer, this.blocks[i].off, Q));
751
+ return this.blocks[i].inUse = !0, this.blocks[i].mteMem = c, c;
752
+ }
753
+ const C = I.buffer.byteLength, E = Math.ceil(Q / this.pageBytes);
754
+ I.grow(E);
755
+ for (let i = 0; i < B; ++i)
756
+ this.blocks[i].inUse && (this.blocks[i].mteMem.buff = new Uint8Array(I.buffer, this.blocks[i].off, this.blocks[i].bytes));
757
+ const a = I.buffer.byteLength - C;
758
+ return this.blocks.length != 0 && !this.blocks[this.blocks.length - 1].inUse ? this.blocks[this.blocks.length - 1].bytes += a : this.blocks.push(new kA(this.base + this.bytes, a)), this.bytes += a, this.malloc(Q);
759
+ }, this.free = (Q) => {
760
+ let I = 0;
761
+ const B = this.blocks.length;
762
+ for (; I < B && this.blocks[I].off != Q.off; ++I)
763
+ ;
764
+ I != B && (I != 0 && !this.blocks[I - 1].inUse ? (this.blocks[I - 1].bytes += this.blocks[I].bytes, this.blocks.splice(I, 1), --I) : (this.blocks[I].inUse = !1, this.blocks[I].mteMem = null), I < this.blocks.length - 1 && !this.blocks[I + 1].inUse && (this.blocks[I].bytes += this.blocks[I + 1].bytes, this.blocks.splice(I + 1, 1)));
765
+ }, this.wasmToInt = (Q) => {
766
+ const I = this.wasmOverlay(Q, 4);
767
+ return I[0] + // 2^0
768
+ I[1] * 256 + // 2^8
769
+ I[2] * 65536 + // 2^16
770
+ I[3] * 16777216;
771
+ }, this.intToWasm = (Q, I) => {
772
+ const B = this.wasmOverlay(Q, 4);
773
+ B[0] = I & 255, B[1] = I >> 8 & 255, B[2] = I >> 16 & 255, B[3] = I >> 24;
774
+ }, this.newInt = () => this.malloc(4), this.wasmToInt64 = (Q) => {
775
+ const I = this.wasmOverlay(Q, 8);
776
+ return I[0] + // 2^0
777
+ I[1] * 256 + // 2^8
778
+ I[2] * 65536 + // 2^16
779
+ I[3] * 16777216 + // 2^24
780
+ I[4] * 4294967296 + // 2^32
781
+ I[5] * 1099511627776 + // 2^40
782
+ I[6] * 281474976710656;
783
+ }, this.int64ToWasm = (Q, I) => {
784
+ const B = this.wasmOverlay(Q, 8);
785
+ for (let C = 0; C < 6; ++C)
786
+ B[C] = I & 255, I /= 256;
787
+ B[6] = I & 255, B[7] = 0;
788
+ }, this.newInt64 = () => this.malloc(8), this.wasmToTimestamp = (Q) => Q.buff[7] == 0 && (Q.buff[6] & 224) == 0 ? { ts: this.wasmToInt64(Q.off), upper: 0 } : { ts: this.wasmToInt(Q.off), upper: this.wasmToInt(Q.off + 4) }, this.wasmOverlay = (Q, I) => new Uint8Array(this.memory.buffer, Q, I), this.wasmToArr = (Q, I) => {
789
+ const B = this.wasmOverlay(Q, I), C = new Uint8Array(I);
790
+ for (let E = 0; E < I; ++E)
791
+ C[E] = B[E];
792
+ return C;
793
+ }, this.arrToWasm = (Q) => {
794
+ const I = this.malloc(Q.length);
795
+ for (let B = 0; B < Q.length; ++B)
796
+ I.buff[B] = Q[B];
797
+ return I;
798
+ }, this.arrToOffLen = (Q, I, B) => {
799
+ const C = this.wasmOverlay(I, B);
800
+ for (let E = 0; E < B; ++E)
801
+ C[E] = Q[E];
802
+ }, this.strToWasm = (Q, I = 0) => {
803
+ Q = String(Q);
804
+ const B = this.malloc(Q.length * 4 + 1 + I), C = B.buff;
805
+ let E = 0;
806
+ for (let a = 0; a < Q.length; ++a) {
807
+ let i = Q.charCodeAt(a);
808
+ i < 128 ? (C[E] = i, ++E) : i < 2048 ? (C[E] = 192 | i >> 6, ++E, C[E] = 128 | i & 63, ++E) : i < 55296 || i >= 57344 ? (C[E] = 224 | i >> 12, ++E, C[E] = 128 | i >> 6 & 63, ++E, C[E] = 128 | i & 63, ++E) : (i = (i & 1023) << 10 | Q.charCodeAt(a) & 1023 | 65536, C[E] = 240 | i >> 18, ++E, C[E] = 128 | i >> 12 & 63, ++E, C[E] = 128 | i >> 6 & 63, ++E, C[E] = 128 | i & 63, ++E);
809
+ }
810
+ return B.used = E, C[E] = 0, B;
811
+ }, this.wasmToStr = (Q, I = 0) => {
812
+ let B, C = "";
813
+ const E = Q.buff;
814
+ for (let a = I; a < Q.used && E[a] != 0; )
815
+ E[a] < 128 ? (C += String.fromCharCode(E[a]), ++a) : E[a] > 191 && E[a] < 224 ? (B = (E[a] & 31) << 6 | E[a + 1] & 63, C += String.fromCharCode(B), a += 2) : E[a] > 223 && E[a] < 240 ? (B = (E[a] & 15) << 12 | (E[a + 1] & 63) << 6 | E[a + 2] & 63, C += String.fromCharCode(B), a += 3) : (B = (E[a] & 7) << 18 | (E[a + 1] & 63) << 12 | (E[a + 2] & 63) << 6 | (E[a + 3] & 63) - 65536, C += String.fromCharCode(B), a += 4);
816
+ return C;
817
+ }, this.wasmOffToStr = (Q, I = 0) => {
818
+ const B = this.wasmOverlay(Q, this.memory.buffer.byteLength - Q);
819
+ return this.wasmToStr(new iA(-1, B), I);
820
+ }, this.b64encode = (Q) => {
821
+ const I = this.arrToWasm(Q), B = this.exports.mte_wasm_base64_encode_bytes(Q.length), C = this.malloc(B);
822
+ this.exports.mte_wasm_base64_encode(I.off, Q.length, C.off);
823
+ const E = this.wasmToStr(C);
824
+ return this.free(I), this.free(C), E;
825
+ }, this.b64decode = (Q) => {
826
+ const I = this.strToWasm(Q), B = this.exports.mte_wasm_base64_decode(I.off), C = this.wasmToArr(I.off, B);
827
+ return this.free(I), C;
828
+ }, this.kyberCallbackWasm = (Q, I, B, C, E) => {
829
+ if (this.kyberCallback === null)
830
+ throw new TypeError("Missing Kyber callback.");
831
+ return this.kyberCallback(Q, I, B, C, E);
832
+ }, this.entropyCallbackWasm = (Q, I, B, C, E, a) => {
833
+ if (this.entropyCallback === null)
834
+ throw new TypeError("Missing entropy callback.");
835
+ return this.entropyCallback(Q, I, B, C, E, a);
836
+ }, this.nonceCallbackWasm = (Q, I, B, C, E) => {
837
+ if (this.nonceCallback === null)
838
+ throw new TypeError("Missing nonce callback.");
839
+ this.nonceCallback(Q, I, B, C, E);
840
+ }, this.timestampCallbackWasm = (Q, I) => {
841
+ if (this.timestampCallback === null)
842
+ throw new TypeError("Missing timestamp callback.");
843
+ return this.timestampCallback(Q, I);
844
+ };
845
+ }
846
+ }
847
+ A.MteWasm = VA;
848
+ class iA {
849
+ /** Constructor taking the WASM offset and overlaid array. The default
850
+ * arguments create an invalid memory object (like NULL). */
851
+ constructor(Q = -1, I = null) {
852
+ this.invalidate = () => {
853
+ this.off = -1, this.buff = null, this.used = 0;
854
+ }, this.off = Q, this.buff = I, this.used = I != null ? I.length : 0;
855
+ }
856
+ }
857
+ A.MteMem = iA;
858
+ class kA {
859
+ /** Constructor. The block is marked as not in use. */
860
+ constructor(Q, I) {
861
+ this.inUse = !1, this.off = Q, this.bytes = I, this.mteMem = null;
862
+ }
863
+ }
864
+ class x {
865
+ /** Constructor. */
866
+ constructor() {
867
+ let Q = Math.floor(x.wasmB64.length / 4) * 3;
868
+ for (let o = x.wasmB64.length - 1; o > 0 && x.wasmB64[o] == "="; --o)
869
+ --Q;
870
+ this.wasmArr = new Uint8Array(Q);
871
+ const I = (o) => o >= 65 && o <= 90 ? o - 65 : o >= 97 && o <= 122 ? o - 71 : o >= 48 && o <= 57 ? o + 4 : o == 43 ? 62 : 63;
872
+ let B, C, E, a, i, c, d, f, n = 0, w = 0;
873
+ const r = Math.floor(Q / 3) * 3;
874
+ for (; n < r; )
875
+ i = x.wasmB64.charCodeAt(w), ++w, c = x.wasmB64.charCodeAt(w), ++w, d = x.wasmB64.charCodeAt(w), ++w, f = x.wasmB64.charCodeAt(w), ++w, B = I(i), C = I(c), E = I(d), a = I(f), this.wasmArr[n] = B << 2 | C >> 4, ++n, this.wasmArr[n] = (C & 15) << 4 | E >> 2, ++n, this.wasmArr[n] = (E & 3) << 6 | a, ++n;
876
+ switch (Q - n) {
877
+ case 1:
878
+ i = x.wasmB64.charCodeAt(w), ++w, c = x.wasmB64.charCodeAt(w), B = I(i), C = I(c), this.wasmArr[n] = B << 2 | C >> 4;
879
+ break;
880
+ case 2:
881
+ i = x.wasmB64.charCodeAt(w), ++w, c = x.wasmB64.charCodeAt(w), ++w, d = x.wasmB64.charCodeAt(w), B = I(i), C = I(c), E = I(d), this.wasmArr[n] = B << 2 | C >> 4, ++n, this.wasmArr[n] = (C & 15) << 4 | E >> 2;
882
+ break;
883
+ }
884
+ }
885
+ }
886
+ x.wasmB64 = "AGFzbQEAAAABnQEUYAJ/fwF/YAF/AX9gAAF/YAN/f38AYAJ/fwBgBX9/f39/AX9gA39/fwF/YAF/AGAEf39/fwBgB39/f39/f38Bf2ABfwF8YAp/f39/f39/f39/AX9gBn9/f39/fwF/YAV/f39/fwBgBH9/f38Bf2AGf39/fH9/AX9gAABgBn9/f398fwF/YAh/f39/f398fwF/YAh/f39/f39/fwF/AkIDA2Vudg5tdGVfd2FzbV9laV9jYgAPA2Vudg1tdGVfd2FzbV9uX2NiAA0DZW52EW10ZV93YXNtX2t5YmVyX2NiAAUDtwG1ARAAAgEBBQAEBgYGAwABBAYHBAMDDgQHAwAFBAQGAQQGCAYBAAAAAQYAAAAAAAABAQYAAAABAAAAAQEAAQAAAAEAAQQNBwMIAwMDCAcIAwMHAwMEBAcDBwMEBwcICAAEAQMBAgICAgEBAQICAgIBAQEBCgEKBwQBAQEBAQIBAQYRBQoBAAAACwsGDgUKAAAACQkFEgUAAAsLDBMFDAUAAAkJDAUBAgICAgICAgUFCQwDAAIHAQIEBQFwAQUFBQYBAQGAgAIGCAF/AUGQrQILB4ceggEGbWVtb3J5AgAIbXRlX2luaXQABBBtdGVfYmFzZV92ZXJzaW9uAAUZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAGG10ZV9iYXNlX3N0YXR1c19pc19lcnJvcgAGEG10ZV9saWNlbnNlX2luaXQACRJtdGVfZW5jX3NhdmVfYnl0ZXMAJRJtdGVfZW5jX3N0YXRlX3NhdmUAJhVtdGVfZW5jX3N0YXRlX3Jlc3RvcmUAJxJtdGVfZW5jX2J1ZmZfYnl0ZXMAKBVtdGVfZW5jX3VuaW5zdGFudGlhdGUAKRJtdGVfZGVjX3NhdmVfYnl0ZXMAJRJtdGVfZGVjX3N0YXRlX3NhdmUALhVtdGVfZGVjX3N0YXRlX3Jlc3RvcmUALxJtdGVfZGVjX2J1ZmZfYnl0ZXMAMBVtdGVfZGVjX3VuaW5zdGFudGlhdGUAMRZtdGVfbWtlX2VuY19zYXZlX2J5dGVzACUWbXRlX21rZV9lbmNfc3RhdGVfc2F2ZQAmGW10ZV9ta2VfZW5jX3N0YXRlX3Jlc3RvcmUAOBZtdGVfbWtlX2VuY19idWZmX2J5dGVzADkgbXRlX21rZV9lbmNfZW5jcnlwdF9maW5pc2hfYnl0ZXMAOx9tdGVfbWtlX2VuY19lbmNyeXB0X3N0YXRlX2J5dGVzADwZbXRlX21rZV9lbmNfZW5jcnlwdF9zdGFydAA9GW10ZV9ta2VfZW5jX3VuaW5zdGFudGlhdGUAPhZtdGVfbWtlX2RlY19zYXZlX2J5dGVzACUWbXRlX21rZV9kZWNfc3RhdGVfc2F2ZQAuGW10ZV9ta2VfZGVjX3N0YXRlX3Jlc3RvcmUAPxZtdGVfbWtlX2RlY19idWZmX2J5dGVzAEAfbXRlX21rZV9kZWNfZGVjcnlwdF9zdGF0ZV9ieXRlcwBCGW10ZV9ta2VfZGVjX2RlY3J5cHRfc3RhcnQAQxltdGVfbWtlX2RlY191bmluc3RhbnRpYXRlAEQcbXRlX3dhc21fYmFzZTY0X2VuY29kZV9ieXRlcwBiFm10ZV93YXNtX2Jhc2U2NF9lbmNvZGUAYxZtdGVfd2FzbV9iYXNlNjRfZGVjb2RlAGQbbXRlX3dhc21fYmFzZV92ZXJzaW9uX21ham9yAGUbbXRlX3dhc21fYmFzZV92ZXJzaW9uX21pbm9yAGYbbXRlX3dhc21fYmFzZV92ZXJzaW9uX3BhdGNoAGcabXRlX3dhc21fYmFzZV9zdGF0dXNfY291bnQAaBltdGVfd2FzbV9iYXNlX3N0YXR1c19uYW1lAGkgbXRlX3dhc21fYmFzZV9zdGF0dXNfZGVzY3JpcHRpb24AahltdGVfd2FzbV9iYXNlX3N0YXR1c19jb2RlAGsebXRlX3dhc21fYmFzZV9oYXNfcnVudGltZV9vcHRzAGcabXRlX3dhc21fYmFzZV9kZWZhdWx0X2RyYmcAbB9tdGVfd2FzbV9iYXNlX2RlZmF1bHRfdG9rX2J5dGVzAG0fbXRlX3dhc21fYmFzZV9kZWZhdWx0X3ZlcmlmaWVycwBuHG10ZV93YXNtX2Jhc2VfZGVmYXVsdF9jaXBoZXIAbhptdGVfd2FzbV9iYXNlX2RlZmF1bHRfaGFzaABuGW10ZV93YXNtX2Jhc2VfZHJiZ3NfY291bnQAbxhtdGVfd2FzbV9iYXNlX2RyYmdzX25hbWUAcBhtdGVfd2FzbV9iYXNlX2RyYmdzX2FsZ28AcSZtdGVfd2FzbV9iYXNlX2RyYmdzX3NlY19zdHJlbmd0aF9ieXRlcwByJm10ZV93YXNtX2Jhc2VfZHJiZ3NfcGVyc29uYWxfbWluX2J5dGVzAHMmbXRlX3dhc21fYmFzZV9kcmJnc19wZXJzb25hbF9tYXhfYnl0ZXMAdCVtdGVfd2FzbV9iYXNlX2RyYmdzX2VudHJvcHlfbWluX2J5dGVzAHIlbXRlX3dhc21fYmFzZV9kcmJnc19lbnRyb3B5X21heF9ieXRlcwB0I210ZV93YXNtX2Jhc2VfZHJiZ3Nfbm9uY2VfbWluX2J5dGVzAHUjbXRlX3dhc21fYmFzZV9kcmJnc19ub25jZV9tYXhfYnl0ZXMAciNtdGVfd2FzbV9iYXNlX2RyYmdzX3Jlc2VlZF9pbnRlcnZhbAB2I210ZV93YXNtX2Jhc2VfZHJiZ3NfaW5jcl9pbnN0X2Vycm9yAHcibXRlX3dhc21fYmFzZV9kcmJnc19pbmNyX2dlbl9lcnJvcgB4HW10ZV93YXNtX2Jhc2VfdmVyaWZpZXJzX2NvdW50AG0cbXRlX3dhc21fYmFzZV92ZXJpZmllcnNfbmFtZQB5HG10ZV93YXNtX2Jhc2VfdmVyaWZpZXJzX2FsZ28AehttdGVfd2FzbV9iYXNlX2NpcGhlcnNfY291bnQAZRptdGVfd2FzbV9iYXNlX2NpcGhlcnNfbmFtZQB7Gm10ZV93YXNtX2Jhc2VfY2lwaGVyc19hbGdvAHwhbXRlX3dhc21fYmFzZV9jaXBoZXJzX2Jsb2NrX2J5dGVzAH0abXRlX3dhc21fYmFzZV9oYXNoZXNfY291bnQAfhltdGVfd2FzbV9iYXNlX2hhc2hlc19uYW1lAH8ZbXRlX3dhc21fYmFzZV9oYXNoZXNfYWxnbwCAARhtdGVfd2FzbV9kZWNfc3RhdGVfYnl0ZXMAgQEXbXRlX3dhc21fZGVjX3N0YXRlX2luaXQAggEYbXRlX3dhc21fZGVjX2luc3RhbnRpYXRlAIMBG210ZV93YXNtX2RlY19yZXNlZWRfY291bnRlcgCEARttdGVfd2FzbV9kZWNfc2F2ZV9ieXRlc19iNjQAhQEbbXRlX3dhc21fZGVjX3N0YXRlX3NhdmVfYjY0AIYBHm10ZV93YXNtX2RlY19zdGF0ZV9yZXN0b3JlX2I2NACHARttdGVfd2FzbV9kZWNfYnVmZl9ieXRlc19iNjQAiAETbXRlX3dhc21fZGVjX2RlY29kZQCJARdtdGVfd2FzbV9kZWNfZGVjb2RlX2I2NACKARhtdGVfd2FzbV9lbmNfc3RhdGVfYnl0ZXMAiwEXbXRlX3dhc21fZW5jX3N0YXRlX2luaXQAjAEYbXRlX3dhc21fZW5jX2luc3RhbnRpYXRlAI0BG210ZV93YXNtX2VuY19yZXNlZWRfY291bnRlcgCOARttdGVfd2FzbV9lbmNfc2F2ZV9ieXRlc19iNjQAhQEbbXRlX3dhc21fZW5jX3N0YXRlX3NhdmVfYjY0AI8BHm10ZV93YXNtX2VuY19zdGF0ZV9yZXN0b3JlX2I2NACQARttdGVfd2FzbV9lbmNfYnVmZl9ieXRlc19iNjQAkQETbXRlX3dhc21fZW5jX2VuY29kZQCSARdtdGVfd2FzbV9lbmNfZW5jb2RlX2I2NACTARxtdGVfd2FzbV9ta2VfZGVjX3N0YXRlX2J5dGVzAJQBG210ZV93YXNtX21rZV9kZWNfc3RhdGVfaW5pdACVARxtdGVfd2FzbV9ta2VfZGVjX2luc3RhbnRpYXRlAJYBH210ZV93YXNtX21rZV9kZWNfcmVzZWVkX2NvdW50ZXIAhAEfbXRlX3dhc21fbWtlX2RlY19zYXZlX2J5dGVzX2I2NACFAR9tdGVfd2FzbV9ta2VfZGVjX3N0YXRlX3NhdmVfYjY0AIYBIm10ZV93YXNtX21rZV9kZWNfc3RhdGVfcmVzdG9yZV9iNjQAlwEfbXRlX3dhc21fbWtlX2RlY19idWZmX2J5dGVzX2I2NACYARdtdGVfd2FzbV9ta2VfZGVjX2RlY29kZQCZARttdGVfd2FzbV9ta2VfZGVjX2RlY29kZV9iNjQAmgEebXRlX3dhc21fbWtlX2RlY19kZWNyeXB0X2NodW5rAJsBH210ZV93YXNtX21rZV9kZWNfZGVjcnlwdF9maW5pc2gAnAEcbXRlX3dhc21fbWtlX2VuY19zdGF0ZV9ieXRlcwCdARttdGVfd2FzbV9ta2VfZW5jX3N0YXRlX2luaXQAngEcbXRlX3dhc21fbWtlX2VuY19pbnN0YW50aWF0ZQCfAR9tdGVfd2FzbV9ta2VfZW5jX3Jlc2VlZF9jb3VudGVyAI4BH210ZV93YXNtX21rZV9lbmNfc2F2ZV9ieXRlc19iNjQAhQEfbXRlX3dhc21fbWtlX2VuY19zdGF0ZV9zYXZlX2I2NACPASJtdGVfd2FzbV9ta2VfZW5jX3N0YXRlX3Jlc3RvcmVfYjY0AKABH210ZV93YXNtX21rZV9lbmNfYnVmZl9ieXRlc19iNjQAoQEXbXRlX3dhc21fbWtlX2VuY19lbmNvZGUAogEbbXRlX3dhc21fbWtlX2VuY19lbmNvZGVfYjY0AKMBHm10ZV93YXNtX21rZV9lbmNfZW5jcnlwdF9jaHVuawCkAR9tdGVfd2FzbV9ta2VfZW5jX2VuY3J5cHRfZmluaXNoAKUBE210ZV93YXNtX2t5YmVyX2luaXQApgEebXRlX3dhc21fa3liZXJfZ2V0X3B1YmtleV9zaXplAKcBH210ZV93YXNtX2t5YmVyX2dldF9wcml2a2V5X3NpemUAqAEebXRlX3dhc21fa3liZXJfZ2V0X3NlY3JldF9zaXplAKkBIW10ZV93YXNtX2t5YmVyX2dldF9lbmNyeXB0ZWRfc2l6ZQCqASNtdGVfd2FzbV9reWJlcl9nZXRfbWluX2VudHJvcHlfc2l6ZQCrASNtdGVfd2FzbV9reWJlcl9nZXRfbWF4X2VudHJvcHlfc2l6ZQCsARxtdGVfd2FzbV9reWJlcl9nZXRfYWxnb3JpdGhtAK0BHW10ZV93YXNtX2t5YmVyX2NyZWF0ZV9rZXlwYWlyAK8BHG10ZV93YXNtX2t5YmVyX2NyZWF0ZV9zZWNyZXQAsAEdbXRlX3dhc21fa3liZXJfZGVjcnlwdF9zZWNyZXQAsQELX2luaXRpYWxpemUAAxBfX2Vycm5vX2xvY2F0aW9uALcBCXN0YWNrU2F2ZQC0AQxzdGFja1Jlc3RvcmUAtQEKc3RhY2tBbGxvYwC2AQkLAQBBAQsEYWCuAQMKztQEtQEDAAEL3wMBAn9B8CtBgAgtAAAiAgR/QQAhAANAIAIgA2ohAyAAIgFBAWoiAEGACGotAAAiAg0ACyABQQJqBUEBC0GACGoiAC0AQEEIdCAALQBBciIBIAAtAD8gAC0APiAALQA9IAAtADwgAC0AOyAALQA6IAAtADkgAC0AOCAALQA3IAAtADYgAC0ANSAALQA0IAAtADMgAC0AMiAALQAxIAAtADAgAC0ALyAALQAuIAAtAC0gAC0ALCAALQArIAAtACogAC0AKSAALQAoIAAtACcgAC0AJiAALQAlIAAtACQgAC0AIyAALQAiIAAtACEgAC0AICAALQAfIAAtAB4gAC0AHSAALQAcIAAtABsgAC0AGiAALQAZIAAtABggAC0AFyAALQAWIAAtABUgAC0AFCAALQATIAAtABIgAC0AESAALQAQIAAtAA8gAC0ADiAALQANIAAtAAwgAC0ACyAALQAKIAAtAAkgAC0ACCAALQAHIAAtAAYgAC0ABSAALQAEIAAtAAMgAC0AAiAALQABIAMgAC0AAGpqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqamprIAFFciIANgIAIABFCwUAQYAICycBAX8CQAJAIAAODwEAAAAAAAAAAAAAAAAAAQALIABBD0chAQsgAQuHBQIMfwJ+AkAgAEEIIABBQGsiCxAfIgENACAAQcgRakEAOgAAIABByABqIQlBgAEhA0GBASEEQQEhCANAIABBCCAJEB8iAQ0BIAMgBGohBgNAIAkpAwAhDSAGIQcgAyEFIAQhAgJAA0ACQCALIAAgB0EBdiIBakHIEGotAABBA3RqKQMAIg4gDVYEQCABIAVGBEAgBSECDAILIAEgBWohByABIQIMAgsgDSAOWA0CIAFBAWoiBSACTw0AIAIgBWohBwwBCwsCQAJAIANFDQAgAiADRw0AIAAgA0EBayIDakHIEGogCDoAAAwBCwJAAkAgAiAERw0AIAJBgAJGDQAgACAEakHIEGogCDoAAAwBCwJAIARBgAJHBEAgA0UNASACIANrIAQgAmtPDQELAkAgA0EBayIGIAJBAWsiCk8NAEEAIQUgBiEBIAIgA2tBA3EiDARAA0AgAEHIEGoiByABaiAHIAFBAWoiAWotAAA6AAAgBUEBaiIFIAxHDQALCyACIANBf3NqQQNJDQADQCAAIAFqIgJByBBqIAJByRBqKAAANgAAIAFBBGoiASAKRw0ACwsgACAKakHIEGogCDoAACAGIQMMAgsCQCACIARPDQBBACEFIAQiASACa0EDcSIHBEADQCAAQcgQaiIGIAFqIAYgAUEBayIBai0AADoAACAFQQFqIgUgB0cNAAsLIAQgAkF/c2pBA0kNAANAIABByBBqIgYgAWpB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BSAGaiABIAVqLQAAOgAAIAVBAWohBSADQQFqIgMgAEcNAAsLIAIgBGoPC0EAIQRBACEFIAJBAWtBA08EQCACQXxxIQZBACEAA0AgAyAFaiABIAVqLQAAOgAAIAMgBUEBciIHaiABIAdqLQAAOgAAIAMgBUECciIHaiABIAdqLQAAOgAAIAMgBUEDciIHaiABIAdqLQAAOgAAIAVBBGohBSAAQQRqIgAgBkcNAAsLIAJBA3EiAARAA0AgAyAFaiABIAVqLQAAOgAAIAVBAWohBSAEQQFqIgQgAEcNAAsLIAILvgQAIAEgACkDMDwAACABIAApAzBCCIg8AAEgASAAKQMwQhCIPAACIAEgACkDMEIYiDwAAyABIAA1AjQ8AAQgASAAKQMwQiiIPAAFIAEgADMBNjwABiABIAAxADc8AAcgASAALQAAOgAIIAEgAC0AAToACSABIAAtAAI6AAogASAALQADOgALIAEgAC0ABDoADCABIAAtAAU6AA0gASAALQAGOgAOIAEgAC0ABzoADyABIAAtAAg6ABAgASAALQAJOgARIAEgAC0ACjoAEiABIAAtAAs6ABMgASAALQAMOgAUIAEgAC0ADToAFSABIAAtAA46ABYgASAALQAPOgAXIAEgAC0AEDoAGCABIAAtABE6ABkgASAALQASOgAaIAEgAC0AEzoAGyABIAAtABQ6ABwgASAALQAVOgAdIAEgAC0AFjoAHiABIAAtABc6AB8gASAALQAYOgAgIAEgAC0AGToAISABIAAtABo6ACIgASAALQAbOgAjIAEgAC0AHDoAJCABIAAtAB06ACUgASAALQAeOgAmIAEgAC0AHzoAJyABIAAtACA6ACggASAALQAhOgApIAEgAC0AIjoAKiABIAAtACM6ACsgASAALQAkOgAsIAEgAC0AJToALSABIAAtACY6AC4gASAALQAnOgAvIAEgAC0AKDoAMCABIAAtACk6ADEgASAALQAqOgAyIAEgAC0AKzoAMyABIAAtACw6ADQgASAALQAtOgA1IAEgAC0ALjoANiABIAAtAC86ADcL7AMAIAAgASkAADcDMCAAIAEtAAg6AAAgACABLQAJOgABIAAgAS0ACjoAAiAAIAEtAAs6AAMgACABLQAMOgAEIAAgAS0ADToABSAAIAEtAA46AAYgACABLQAPOgAHIAAgAS0AEDoACCAAIAEtABE6AAkgACABLQASOgAKIAAgAS0AEzoACyAAIAEtABQ6AAwgACABLQAVOgANIAAgAS0AFjoADiAAIAEtABc6AA8gACABLQAYOgAQIAAgAS0AGToAESAAIAEtABo6ABIgACABLQAbOgATIAAgAS0AHDoAFCAAIAEtAB06ABUgACABLQAeOgAWIAAgAS0AHzoAFyAAIAEtACA6ABggACABLQAhOgAZIAAgAS0AIjoAGiAAIAEtACM6ABsgACABLQAkOgAcIAAgAS0AJToAHSAAIAEtACY6AB4gACABLQAnOgAfIAAgAS0AKDoAICAAIAEtACk6ACEgACABLQAqOgAiIAAgAS0AKzoAIyAAIAEtACw6ACQgACABLQAtOgAlIAAgAS0ALjoAJiAAIAEtAC86ACcgACABLQAwOgAoIAAgAS0AMToAKSAAIAEtADI6ACogACABLQAzOgArIAAgAS0ANDoALCAAIAEtADU6AC0gACABLQA2OgAuIAAgAS0ANzoALwuAAwEFfyMAQYACayIEJAACf0EDIAFBgIAESw0AGiAAKQMwQoGAgICAgMAAWgRAIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCEEFDAELIAQgAEEQaiIGEBEgAUEQTwRAA0AgABAZIAQgACACEBIaIAJBEGohAiABQRBrIgFBD0sNAAsLAkAgAUUNACAAEBkgBCAAIARB8AFqEBIaIAFBAWshBSABQQNxIgcEQANAIAIgAUEBayIBaiAEQfABaiABai0AADoAACADQQFqIgMgB0cNAAsLIAVBA0kNAANAIAIgAUEBayIDaiAEQfABaiIFIANqLQAAOgAAIAIgAUECayIDaiAEQfABaiADai0AADoAACACIAFBA2siA2ogBEHwAWogA2otAAA6AAAgAiABQQRrIgFqIAEgBWotAAA6AAAgAQ0ACwtB0CUgBiAAEBogACAAKQMwQgF8NwMwQQALIQMgBEGAAmokACADCzUAIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCEEAC5xFAUV/An8gAUEDcUUEQCABKAI8IgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyciEDIAEoAjgiBEEYdCAEQQh0QYCA/AdxciAEQQh2QYD+A3EgBEEYdnJyIQQgASgCNCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhEyABKAIwIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEUIAEoAiwiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIRUgASgCKCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhFiABKAIkIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEXIAEoAiAiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIRggASgCHCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhGSABKAIYIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEcIAEoAhQiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIR0gASgCECICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhDCABKAIMIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEJIAEoAggiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIQ8gASgCBCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhCiABKAIAIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycgwBCyABKAA8IgNBGHQgA0EIdEGAgPwHcXIgA0EIdkGA/gNxIANBGHZyciEDIAEoADgiBEEYdCAEQQh0QYCA/AdxciAEQQh2QYD+A3EgBEEYdnJyIQQgASgANCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhEyABKAAwIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEUIAEoACwiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIRUgASgAKCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhFiABKAAkIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEXIAEoACAiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIRggASgAHCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhGSABKAAYIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEcIAEoABQiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIR0gASgAECICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhDCABKAAMIgJBGHQgAkEIdEGAgPwHcXIgAkEIdkGA/gNxIAJBGHZyciEJIAEoAAgiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyIQ8gASgABCICQRh0IAJBCHRBgID8B3FyIAJBCHZBgP4DcSACQRh2cnIhCiABKAAAIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycgshASAAIAApAyBCAXw3AyAgACAXIARBD3cgBEENd3MgBEEKdnNqIAFqIApBGXcgCkEOd3MgCkEDdnNqIgIgGEEZdyAYQQ53cyAYQQN2cyAZamogBCAdaiAcQRl3IBxBDndzIBxBA3ZzaiAJIBRqIAxBGXcgDEEOd3MgDEEDdnNqIBYgA0EPdyADQQ13cyADQQp2c2ogCmogD0EZdyAPQQ53cyAPQQN2c2oiBkEPdyAGQQ13cyAGQQp2c2oiBUEPdyAFQQ13cyAFQQp2c2oiB0EPdyAHQQ13cyAHQQp2c2oiCCADQRl3IANBDndzIANBA3ZzIARqaiATQRl3IBNBDndzIBNBA3ZzIBRqIAdqIBVBGXcgFUEOd3MgFUEDdnMgFmogBWogF0EZdyAXQQ53cyAXQQN2cyAYaiAGaiADIBxqIBlBGXcgGUEOd3MgGUEDdnNqIAwgE2ogHUEZdyAdQQ53cyAdQQN2c2ogDyAVaiAJQRl3IAlBDndzIAlBA3ZzaiACQQ93IAJBDXdzIAJBCnZzaiILQQ93IAtBDXdzIAtBCnZzaiINQQ93IA1BDXdzIA1BCnZzaiIOQQ93IA5BDXdzIA5BCnZzaiIQQQ93IBBBDXdzIBBBCnZzaiIRQQ93IBFBDXdzIBFBCnZzaiIaQQ93IBpBDXdzIBpBCnZzaiIbQRl3IBtBDndzIBtBA3ZzIARBGXcgBEEOd3MgBEEDdnMgE2ogDmogFEEZdyAUQQ53cyAUQQN2cyAVaiANaiAWQRl3IBZBDndzIBZBA3ZzIBdqIAtqIAhBD3cgCEENd3MgCEEKdnNqIh5BD3cgHkENd3MgHkEKdnNqIh9BD3cgH0ENd3MgH0EKdnNqIiBqIAJBGXcgAkEOd3MgAkEDdnMgA2ogEGogIEEPdyAgQQ13cyAgQQp2c2oiISAIQRl3IAhBDndzIAhBA3ZzIA5qaiAHQRl3IAdBDndzIAdBA3ZzIA1qICBqIAVBGXcgBUEOd3MgBUEDdnMgC2ogH2ogBkEZdyAGQQ53cyAGQQN2cyACaiAeaiAbQQ93IBtBDXdzIBtBCnZzaiIiQQ93ICJBDXdzICJBCnZzaiIjQQ93ICNBDXdzICNBCnZzaiIkQQ93ICRBDXdzICRBCnZzaiIlaiAaQRl3IBpBDndzIBpBA3ZzIB9qICRqIBFBGXcgEUEOd3MgEUEDdnMgHmogI2ogEEEZdyAQQQ53cyAQQQN2cyAIaiAiaiAOQRl3IA5BDndzIA5BA3ZzIAdqIBtqIA1BGXcgDUEOd3MgDUEDdnMgBWogGmogC0EZdyALQQ53cyALQQN2cyAGaiARaiAhQQ93ICFBDXdzICFBCnZzaiImQQ93ICZBDXdzICZBCnZzaiInQQ93ICdBDXdzICdBCnZzaiIoQQ93IChBDXdzIChBCnZzaiIpQQ93IClBDXdzIClBCnZzaiIqQQ93ICpBDXdzICpBCnZzaiIrQQ93ICtBDXdzICtBCnZzaiIsQRl3ICxBDndzICxBA3ZzICBBGXcgIEEOd3MgIEEDdnMgGmogKGogH0EZdyAfQQ53cyAfQQN2cyARaiAnaiAeQRl3IB5BDndzIB5BA3ZzIBBqICZqICVBD3cgJUENd3MgJUEKdnNqIi1BD3cgLUENd3MgLUEKdnNqIi5BD3cgLkENd3MgLkEKdnNqIi9qICFBGXcgIUEOd3MgIUEDdnMgG2ogKWogL0EPdyAvQQ13cyAvQQp2c2oiMCAlQRl3ICVBDndzICVBA3ZzIChqaiAkQRl3ICRBDndzICRBA3ZzICdqIC9qICNBGXcgI0EOd3MgI0EDdnMgJmogLmogIkEZdyAiQQ53cyAiQQN2cyAhaiAtaiAsQQ93ICxBDXdzICxBCnZzaiIxQQ93IDFBDXdzIDFBCnZzaiI1QQ93IDVBDXdzIDVBCnZzaiI2QQ93IDZBDXdzIDZBCnZzaiI3aiArQRl3ICtBDndzICtBA3ZzIC5qIDZqICpBGXcgKkEOd3MgKkEDdnMgLWogNWogKUEZdyApQQ53cyApQQN2cyAlaiAxaiAoQRl3IChBDndzIChBA3ZzICRqICxqICdBGXcgJ0EOd3MgJ0EDdnMgI2ogK2ogJkEZdyAmQQ53cyAmQQN2cyAiaiAqaiAwQQ93IDBBDXdzIDBBCnZzaiIzQQ93IDNBDXdzIDNBCnZzaiI4QQ93IDhBDXdzIDhBCnZzaiI5QQ93IDlBDXdzIDlBCnZzaiI6QQ93IDpBDXdzIDpBCnZzaiI7QQ93IDtBDXdzIDtBCnZzaiI8QQ93IDxBDXdzIDxBCnZzaiI9IDsgOSAzIC8gLSAkICIgGiAQIA0gAiAUIBggDCAAKAIcIkMgASAAKAIUIj4gACgCECIycWogMkEadyAyQRV3cyAyQQd3c2pqIAAoAhgiQiAyQX9zcWpBmN+olARqIhIgACgCDCJEaiIBaiAKIEJqID4gAUF/c3FqIAEgMnFqIAFBGncgAUEVd3MgAUEHd3NqQZGJ3YkHaiI/IAAoAggiQGoiCiAJIDJqIAEgDyA+aiAyIApBf3NxaiABIApxaiAKQRp3IApBFXdzIApBB3dzakGxiPzRBGsiQSAAKAIEIjRqIglBf3NxaiAJIApxaiAJQRp3IAlBFXdzIAlBB3dzakHbyKiyAWsiRSAAKAIAIgFqIg9Bf3NxaiAJIA9xaiAPQRp3IA9BFXdzIA9BB3dzakHbhNvKA2oiRiA0IEBzIAFxIDQgQHFzIAFBHncgAUETd3MgAUEKd3NqIBJqIgxqIhJqIAogHWogCSASQX9zcWogDyAScWogEkEadyASQRV3cyASQQd3c2pB8aPEzwVqIh0gDEEedyAMQRN3cyAMQQp3cyAMIAEgNHNxIAEgNHFzaiA/aiIKaiIYIA8gGWogEiAJIBxqIA8gGEF/c3FqIBIgGHFqIBhBGncgGEEVd3MgGEEHd3NqQdz6ge4GayIcIApBHncgCkETd3MgCkEKd3MgCiABIAxzcSABIAxxc2ogQWoiCWoiD0F/c3FqIA8gGHFqIA9BGncgD0EVd3MgD0EHd3NqQavCjqcFayI/IAlBHncgCUETd3MgCUEKd3MgCSAKIAxzcSAKIAxxc2ogRWoiDGoiEkF/c3FqIA8gEnFqIBJBGncgEkEVd3MgEkEHd3NqQeiq4b8CayJBIAxBHncgDEETd3MgDEEKd3MgDCAJIApzcSAJIApxc2ogRmoiCmoiGWogFyAYaiAPIBlBf3NxaiASIBlxaiAZQRp3IBlBFXdzIBlBB3dzakGBto2UAWoiGCAKQR53IApBE3dzIApBCndzIAogCSAMc3EgCSAMcXNqIB1qIglqIhQgEiAVaiAZIA8gFmogEiAUQX9zcWogFCAZcWogFEEadyAUQRV3cyAUQQd3c2pBvovGoQJqIg8gCUEedyAJQRN3cyAJQQp3cyAJIAogDHNxIAogDHFzaiAcaiIMaiIVQX9zcWogFCAVcWogFUEadyAVQRV3cyAVQQd3c2pBw/uxqAVqIhIgDEEedyAMQRN3cyAMQQp3cyAMIAkgCnNxIAkgCnFzaiA/aiIKaiIWQX9zcWogFSAWcWogFkEadyAWQRV3cyAWQQd3c2pB9Lr5lQdqIhkgCkEedyAKQRN3cyAKQQp3cyAKIAkgDHNxIAkgDHFzaiBBaiIJaiIXaiATIBRqIBUgF0F/c3FqIBYgF3FqIBdBGncgF0EVd3MgF0EHd3NqQYKchfkHayIUIAlBHncgCUETd3MgCUEKd3MgCSAKIAxzcSAKIAxxc2ogGGoiAmoiDCADIBZqIBcgBCAVaiAWIAxBf3NxaiAMIBdxaiAMQRp3IAxBFXdzIAxBB3dzakHZ8o+hBmsiFSACQR53IAJBE3dzIAJBCndzIAIgCSAKc3EgCSAKcXNqIA9qIgNqIgpBf3NxaiAKIAxxaiAKQRp3IApBFXdzIApBB3dzakGMnZDzA2siFiADQR53IANBE3dzIANBCndzIAMgAiAJc3EgAiAJcXNqIBJqIgRqIglBf3NxaiAJIApxaiAJQRp3IAlBFXdzIAlBB3dzakG/rJLbAWsiFyAEQR53IARBE3dzIARBCndzIAQgAiADc3EgAiADcXNqIBlqIgJqIhNqIAYgDGogCiATQX9zcWogCSATcWogE0EadyATQRV3cyATQQd3c2pB+vCGggFrIgwgAkEedyACQRN3cyACQQp3cyACIAMgBHNxIAMgBHFzaiAUaiIDaiIGIAUgCWogEyAKIAtqIAkgBkF/c3FqIAYgE3FqIAZBGncgBkEVd3MgBkEHd3NqQca7hv4AaiIKIANBHncgA0ETd3MgA0EKd3MgAyACIARzcSACIARxc2ogFWoiBGoiBUF/c3FqIAUgBnFqIAVBGncgBUEVd3MgBUEHd3NqQczDsqACaiIJIARBHncgBEETd3MgBEEKd3MgBCACIANzcSACIANxc2ogFmoiAmoiC0F/c3FqIAUgC3FqIAtBGncgC0EVd3MgC0EHd3NqQe/YpO8CaiITIAJBHncgAkETd3MgAkEKd3MgAiADIARzcSADIARxc2ogF2oiA2oiDWogBiAHaiAFIA1Bf3NxaiALIA1xaiANQRp3IA1BFXdzIA1BB3dzakGqidLTBGoiECADQR53IANBE3dzIANBCndzIAMgAiAEc3EgAiAEcXNqIAxqIgRqIgYgCCALaiANIAUgDmogCyAGQX9zcWogBiANcWogBkEadyAGQRV3cyAGQQd3c2pB3NPC5QVqIgsgBEEedyAEQRN3cyAEQQp3cyAEIAIgA3NxIAIgA3FzaiAKaiICaiIFQX9zcWogBSAGcWogBUEadyAFQRV3cyAFQQd3c2pB2pHmtwdqIg0gAkEedyACQRN3cyACQQp3cyACIAMgBHNxIAMgBHFzaiAJaiIDaiIHQX9zcWogBSAHcWogB0EadyAHQRV3cyAHQQd3c2pBrt2GvgZrIg4gA0EedyADQRN3cyADQQp3cyADIAIgBHNxIAIgBHFzaiATaiIEaiIIaiAGIB5qIAUgCEF/c3FqIAcgCHFqIAhBGncgCEEVd3MgCEEHd3NqQZPzuL4FayIaIARBHncgBEETd3MgBEEKd3MgBCACIANzcSACIANxc2ogEGoiAmoiBiAHIB9qIAggBSARaiAHIAZBf3NxaiAGIAhxaiAGQRp3IAZBFXdzIAZBB3dzakG4sPP/BGsiECACQR53IAJBE3dzIAJBCndzIAIgAyAEc3EgAyAEcXNqIAtqIgNqIgVBf3NxaiAFIAZxaiAFQRp3IAVBFXdzIAVBB3dzakG5gJqFBGsiCyADQR53IANBE3dzIANBCndzIAMgAiAEc3EgAiAEcXNqIA1qIgRqIgdBf3NxaiAFIAdxaiAHQRp3IAdBFXdzIAdBB3dzakGN6P/IA2siDSAEQR53IARBE3dzIARBCndzIAQgAiADc3EgAiADcXNqIA5qIgJqIghqIAYgIGogBSAIQX9zcWogByAIcWogCEEadyAIQRV3cyAIQQd3c2pBud3h0gJrIg4gAkEedyACQRN3cyACQQp3cyACIAMgBHNxIAMgBHFzaiAaaiIDaiIGIAcgIWogCCAFIBtqIAcgBkF/c3FqIAYgCHFqIAZBGncgBkEVd3MgBkEHd3NqQdHGqTZqIhEgA0EedyADQRN3cyADQQp3cyADIAIgBHNxIAIgBHFzaiAQaiIEaiIFQX9zcWogBSAGcWogBUEadyAFQRV3cyAFQQd3c2pB59KkoQFqIhAgBEEedyAEQRN3cyAEQQp3cyAEIAIgA3NxIAIgA3FzaiALaiICaiIHQX9zcWogBSAHcWogB0EadyAHQRV3cyAHQQd3c2pBhZXcvQJqIgsgAkEedyACQRN3cyACQQp3cyACIAMgBHNxIAMgBHFzaiANaiIDaiIIaiAGICZqIAUgCEF/c3FqIAcgCHFqIAhBGncgCEEVd3MgCEEHd3NqQbjC7PACaiINIANBHncgA0ETd3MgA0EKd3MgAyACIARzcSACIARxc2ogDmoiBGoiBiAHICdqIAggBSAjaiAHIAZBf3NxaiAGIAhxaiAGQRp3IAZBFXdzIAZBB3dzakH827HpBGoiDiAEQR53IARBE3dzIARBCndzIAQgAiADc3EgAiADcXNqIBFqIgJqIgVBf3NxaiAFIAZxaiAFQRp3IAVBFXdzIAVBB3dzakGTmuCZBWoiESACQR53IAJBE3dzIAJBCndzIAIgAyAEc3EgAyAEcXNqIBBqIgNqIgdBf3NxaiAFIAdxaiAHQRp3IAdBFXdzIAdBB3dzakHU5qmoBmoiECADQR53IANBE3dzIANBCndzIAMgAiAEc3EgAiAEcXNqIAtqIgRqIghqIAYgKGogBSAIQX9zcWogByAIcWogCEEadyAIQRV3cyAIQQd3c2pBu5WoswdqIgsgBEEedyAEQRN3cyAEQQp3cyAEIAIgA3NxIAIgA3FzaiANaiICaiIGIAcgKWogCCAFICVqIAcgBkF/c3FqIAYgCHFqIAZBGncgBkEVd3MgBkEHd3NqQdLt9PEHayINIAJBHncgAkETd3MgAkEKd3MgAiADIARzcSADIARxc2ogDmoiA2oiBUF/c3FqIAUgBnFqIAVBGncgBUEVd3MgBUEHd3NqQfumt+wGayIOIANBHncgA0ETd3MgA0EKd3MgAyACIARzcSACIARxc2ogEWoiBGoiB0F/c3FqIAUgB3FqIAdBGncgB0EVd3MgB0EHd3NqQd+ugOoFayIRIARBHncgBEETd3MgBEEKd3MgBCACIANzcSACIANxc2ogEGoiAmoiCGogBiAqaiAFIAhBf3NxaiAHIAhxaiAIQRp3IAhBFXdzIAhBB3dzakG1s5a/BWsiECACQR53IAJBE3dzIAJBCndzIAIgAyAEc3EgAyAEcXNqIAtqIgNqIgYgByAraiAIIAUgLmogByAGQX9zcWogBiAIcWogBkEadyAGQRV3cyAGQQd3c2pBkOnR7QNrIgsgA0EedyADQRN3cyADQQp3cyADIAIgBHNxIAIgBHFzaiANaiIEaiIFQX9zcWogBSAGcWogBUEadyAFQRV3cyAFQQd3c2pB3dzOxANrIg0gBEEedyAEQRN3cyAEQQp3cyAEIAIgA3NxIAIgA3FzaiAOaiICaiIHQX9zcWogBSAHcWogB0EadyAHQRV3cyAHQQd3c2pB56+08wJrIg4gAkEedyACQRN3cyACQQp3cyACIAMgBHNxIAMgBHFzaiARaiIDaiIIaiAGICxqIAUgCEF/c3FqIAcgCHFqIAhBGncgCEEVd3MgCEEHd3NqQdzzm8sCayIRIANBHncgA0ETd3MgA0EKd3MgAyACIARzcSACIARxc2ogEGoiBGoiBiAHIDFqIAggBSAwaiAHIAZBf3NxaiAGIAhxaiAGQRp3IAZBFXdzIAZBB3dzakH7lMffAGsiECAEQR53IARBE3dzIARBCndzIAQgAiADc3EgAiADcXNqIAtqIgJqIgVBf3NxaiAFIAZxaiAFQRp3IAVBFXdzIAVBB3dzakHwwKqDAWoiCyACQR53IAJBE3dzIAJBCndzIAIgAyAEc3EgAyAEcXNqIA1qIgNqIgdBf3NxaiAFIAdxaiAHQRp3IAdBFXdzIAdBB3dzakGWgpPNAWoiDSADQR53IANBE3dzIANBCndzIAMgAiAEc3EgAiAEcXNqIA5qIgRqIghqIAYgNWogBSAIQX9zcWogByAIcWogCEEadyAIQRV3cyAIQQd3c2pBiNjd8QFqIg4gBEEedyAEQRN3cyAEQQp3cyAEIAIgA3NxIAIgA3FzaiARaiICaiIGIAcgNmogCCAFIDhqIAcgBkF/c3FqIAYgCHFqIAZBGncgBkEVd3MgBkEHd3NqQczuoboCaiIRIAJBHncgAkETd3MgAkEKd3MgAiADIARzcSADIARxc2ogEGoiA2oiBUF/c3FqIAUgBnFqIAVBGncgBUEVd3MgBUEHd3NqQbX5wqUDaiIQIANBHncgA0ETd3MgA0EKd3MgAyACIARzcSACIARxc2ogC2oiBGoiB0F/c3FqIAUgB3FqIAdBGncgB0EVd3MgB0EHd3NqQbOZ8MgDaiILIARBHncgBEETd3MgBEEKd3MgBCACIANzcSACIANxc2ogDWoiAmoiCGogBiA3aiAFIAhBf3NxaiAHIAhxaiAIQRp3IAhBFXdzIAhBB3dzakHK1OL2BGoiGiACQR53IAJBE3dzIAJBCndzIAIgAyAEc3EgAyAEcXNqIA5qIgNqIgYgLUEZdyAtQQ53cyAtQQN2cyApaiAzaiA3QQ93IDdBDXdzIDdBCnZzaiINIAdqIAggBSA6aiAHIAZBf3NxaiAGIAhxaiAGQRp3IAZBFXdzIAZBB3dzakHPlPPcBWoiGyADQR53IANBE3dzIANBCndzIAMgAiAEc3EgAiAEcXNqIBFqIgRqIgVBf3NxaiAFIAZxaiAFQRp3IAVBFXdzIAVBB3dzakHz37nBBmoiESAEQR53IARBE3dzIARBCndzIAQgAiADc3EgAiADcXNqIBBqIgJqIgdBf3NxaiAFIAdxaiAHQRp3IAdBFXdzIAdBB3dzakHuhb6kB2oiECACQR53IAJBE3dzIAJBCndzIAIgAyAEc3EgAyAEcXNqIAtqIgNqIghqIAYgLkEZdyAuQQ53cyAuQQN2cyAqaiA4aiANQQ93IA1BDXdzIA1BCnZzaiIOaiAFIAhBf3NxaiAHIAhxaiAIQRp3IAhBFXdzIAhBB3dzakHvxpXFB2oiBiADQR53IANBE3dzIANBCndzIAMgAiAEc3EgAiAEcXNqIBpqIgRqIgsgL0EZdyAvQQ53cyAvQQN2cyAraiA5aiAOQQ93IA5BDXdzIA5BCnZzaiIOIAdqIAggBSA8aiAHIAtBf3NxaiAIIAtxaiALQRp3IAtBFXdzIAtBB3dzakHsj97ZB2siGiAEQR53IARBE3dzIARBCndzIAQgAiADc3EgAiADcXNqIBtqIgJqIgVBf3NxaiAFIAtxaiAFQRp3IAVBFXdzIAVBB3dzakH4++OZB2siGyACQR53IAJBE3dzIAJBCndzIAIgAyAEc3EgAyAEcXNqIBFqIgNqIgdBf3NxaiAFIAdxaiAHQRp3IAdBFXdzIAdBB3dzakGGgIT6BmsiESADQR53IANBE3dzIANBCndzIAMgAiAEc3EgAiAEcXNqIBBqIgRqIgggQ2o2AhwgACBEIARBHncgBEETd3MgBEEKd3MgBCACIANzcSACIANxc2ogBmoiAkEedyACQRN3cyACQQp3cyACIAMgBHNxIAMgBHFzaiAaaiIDQR53IANBE3dzIANBCndzIAMgAiAEc3EgAiAEcXNqIBtqIgRBHncgBEETd3MgBEEKd3MgBCACIANzcSACIANxc2ogEWoiBmo2AgwgACBCIDBBGXcgMEEOd3MgMEEDdnMgLGogOmogDkEPdyAOQQ13cyAOQQp2c2oiDiALaiAFIAhBf3NxaiAHIAhxaiAIQRp3IAhBFXdzIAhBB3dzakGVpr7dBWsiCyACaiICajYCGCAAIEAgBkEedyAGQRN3cyAGQQp3cyAGIAMgBHNxIAMgBHFzaiALaiILajYCCCAAID4gMCAxQRl3IDFBDndzIDFBA3ZzaiANaiA9QQ93ID1BDXdzID1BCnZzaiAFaiAHIAJBf3NxaiACIAhxaiACQRp3IAJBFXdzIAJBB3dzakGJuJmIBGsiBSADaiIDajYCFCAAIDQgC0EedyALQRN3cyALQQp3cyALIAQgBnNxIAQgBnFzaiAFaiIFajYCBCAAIDEgM0EZdyAzQQ53cyAzQQN2c2ogO2ogDkEPdyAOQQ13cyAOQQp2c2ogB2ogCCADQX9zcWogAiADcWogA0EadyADQRV3cyADQQd3c2pBjo66zANrIgMgBCAyamo2AhAgACABIAUgBiALc3EgBiALcXNqIAVBHncgBUETd3MgBUEKd3NqIANqNgIAC3sAIABCADcDICAAQquzj/yRo7Pw2wA3AxggAEL/pLmIxZHagpt/NwMQIABC8ua746On/aelfzcDCCAAQufMp9DW0Ouzu383AwAgAkHBAE8EQANAIAAgARAhIAFBQGshASACQUBqIgJBwABLDQALCyAAIAEgAiAAECMgAAuPBgIDfwF+IwBBQGoiBCQAIAApAyAhBwJAIAJBwABPBEAgACABECEgBEIANwMQIARCADcDGCAEQgA3AyAgBEIANwMoIARCADcDMCAEQgA3AwggBEKAATcDAAwBCwJAIAJBBEkNACABQQNxDQAgBCABIAJBfHEiBRCyAQsgAiAFSwRAIAQgBWogASAFaiACIAVrELIBIAIhBQsgBCAFakGAAToAACAFQQFqIQEgAkE4TwRAIAVBPk0EQCABIARqQT8gBWsQswEaCyAAIAQQISAEIAVBcHFBEGoQswEaDAELAkAgBUF4cUEIaiIGIAFNBEAgASEGDAELIAEgBGogBUF/c0EHcRCzARoLIAZBN0sNACAEIAZBeHFqQQYgBkEDdmsiAUEAIAFBBk0bQQN0QQhqELMBGgsgBCAHQgmGIAKtQgOGfCIHQjiGIAdCKIZCgICAgICAwP8Ag4QgB0IYhkKAgICAgOA/gyAHQgiGQoCAgIDwH4OEhCAHQgiIQoCAgPgPgyAHQhiIQoCA/AeDhCAHQiiIQoD+A4MgB0I4iISEhDcDOCAAIAQQISADIAAoAgAiAUEYdCABQQh0QYCA/AdxciABQQh2QYD+A3EgAUEYdnJyNgIAIAMgACgCBCIBQRh0IAFBCHRBgID8B3FyIAFBCHZBgP4DcSABQRh2cnI2AgQgAyAAKAIIIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYCCCADIAAoAgwiAUEYdCABQQh0QYCA/AdxciABQQh2QYD+A3EgAUEYdnJyNgIMIAMgACgCECIBQRh0IAFBCHRBgID8B3FyIAFBCHZBgP4DcSABQRh2cnI2AhAgAyAAKAIUIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYCFCADIAAoAhgiAUEYdCABQQh0QYCA/AdxciABQQh2QYD+A3EgAUEYdnJyNgIYIAMgACgCHCIAQRh0IABBCHRBgID8B3FyIABBCHZBgP4DcSAAQRh2cnI2AhwgBEFAayQAC8cEAQl/AkACQCAAKAJwIgMEQCAAQTBqIgogA2ohBEHAACADayIIIAJLDQECQCADQcAARg0AQQEgCCAIQQFNGyIFQQNxIQZBACEDIAVBAWtBA08EQCAFQXxxIQtBACEFA0AgAyAEaiABIANqLQAAOgAAIAQgA0EBciIJaiABIAlqLQAAOgAAIAQgA0ECciIJaiABIAlqLQAAOgAAIAQgA0EDciIJaiABIAlqLQAAOgAAIANBBGohAyAFQQRqIgUgC0cNAAsLIAZFDQADQCADIARqIAEgA2otAAA6AAAgA0EBaiEDIAdBAWoiByAGRw0ACwsgACAKECEgAiAIayECIAEgCGohAQsgAkHAAE8EQCACQQZ2IQdBACEEIAEhAwNAIAAgAxAhIANBQGshAyAEQQFqIgQgB0cNAAsLIAAgAkE/cSIDNgJwIANFDQEgASACQUBxaiEBIABBMGohAkEAIQMDQCACIANqIAEgA2otAAA6AAAgA0EBaiIDIAAoAnBJDQALDAELIAAgAgR/QQAhAyACQQFrQQNPBEAgAkF8cSEIA0AgAyAEaiABIANqLQAAOgAAIAQgA0EBciIGaiABIAZqLQAAOgAAIAQgA0ECciIGaiABIAZqLQAAOgAAIAQgA0EDciIGaiABIAZqLQAAOgAAIANBBGohAyAFQQRqIgUgCEcNAAsLIAJBA3EiBQRAA0AgAyAEaiABIANqLQAAOgAAIANBAWohAyAHQQFqIgcgBUcNAAsLIAAoAnAFIAMLIAJqNgJwC0EACwUAQcQACw4AIABBD2pBcHEgARAsC0EBAX8CQAJ/IABBD2pBcHEiACgC4BJBBGtBfUkEQEEBDAELIAAgARAtIgENAUECIQJBAAshASAAIAI2AuASCyABCwoAIAFBA3RBE2oLIwBBgCwoAgBFBEBBCg8LIABBD2pBcHEiAEEBNgLgEiAAECALzAUBDX8gASgCCEEDdCINIAEoAgRqIgMgACgC0BI6AAAgAyAAKALQEkEIdjoAASADIABB0hJqLwEAOgACIAMgAEHTEmotAAA6AAMgACAAKALQEkEBajYC0BIgACEDIAEiCCgCBCANaiABKAIIIgBrIQ4gASgCACEPAkAgAkUNACACKAIAIgVFDQADQCADIAUgAiAGQQN0aigCBBAfIARyIQQgAiAGQQFqIgZBA3RqKAIAIgUNAAsgCCgCCCEACyADIAAgDhAfIARyIAMQB3IhBiAIKAIIBEADQCAHIA5qLQAAIAcgD2otAABzIQkgCCgCBCEAIwBBEGsiCiQAIAAgB0EDdGogAyAJQQN0akFAayICKQMANwMAIAMgACAHIANBwBBqIgAgCkEMahAIIgFFBEAgAiAAKQMANwMAQQAhACAKKAIMIQIDQCAAIgFBAWohACABIANqQcgQai0AACAJRw0ACwJAIAJBf3MiBSABSQRAAkAgASACaiILQQFqQQNxIgxFBEAgASEADAELQQAhBCADQcgQaiECA0AgASACaiACIAFBAWsiAGotAAA6AAAgACEBIARBAWoiBCAMRw0ACwsgC0EDSQ0BIANByBBqIQEDQCAAIAFqQQNrIAEgAEEEayIAaigAADYAACAAIAVLDQALDAELIAEgBU8NAEF+IAJrIgUgAU0NACABIAJqIQsCQCAFIAFrQQNxIgxFBEAgASEADAELQQAhBCADQcgQaiECA0AgASACaiACIAFBAWoiAGotAAA6AAAgACEBIARBAWoiBCAMRw0ACwsgC0EFakEDSQ0AA0AgACADaiIBQcgQaiABQckQaigAADYAACAAQQRqIgAgBUkNAAsLIAMgBWpByBBqIAk6AABBACEBCyAKQRBqJAAgASAGciEGIAdBAWoiByAIKAIISQ0ACwsgBiEAIAggDUEEcjYCCCAACxAAIABBADYC0BIgACABEBsLIQAgASAAKALQEjYAACABQQRqQQgQCiAAIAFBDGoQHUEACxgAIAAgAUEMahAeIAAgASgAADYC0BJBAAsOACAAQQ9qQXBxIAEQNQtBAQF/AkACfyAAQQ9qQXBxIgAoAuASQQRrQX1JBEBBAQwBCyAAIAEQNiIBDQFBAiECQQALIQEgACACNgLgEgsgAQsLACABIAFqQdYAagsjAEGALCgCAEUEQEEKDwsgAEEPakFwcSIAQQE2AuASIAAQNwvYAQEHfyMAQRBrIgUkACAAKAIEIQYgACgCACEEA0ACQCAAKAIMIgJFDQBBACEDIAIoAgAiB0UNAANAIAQgByACIANBA3RqKAIEEB8gAXIhASAAKAIMIgIgA0EBaiIDQQN0aigCACIHDQALCyAEIAAoAgggACgCEBAfIAFyIAQQB3IhASAAKAIIBEAgACgCECEDQQAhAgNAIAQgACgCECACIAMgBUEMahAIIAFyIQEgA0EIaiEDIAJBAWoiAiAAKAIISQ0ACwsgBkEBayIGDQALIAVBEGokACABC/YKAg5/An4jAEEgayIGJABBASEDAkAgASgCDCIEQQRJDQAgBiACNgIUIAYgAEEQaiIFNgIIIAEoAgghAyAGIARBBGtBA3Y2AhAgBiADNgIYQQEhAwJAIAApAwAiEadBAXEEQANAIAMiBEEBaiEDIBFCAoMhEiARQgGIIREgEkIAUg0ACyAGIAQ2AgwgACARNwMAIAZBCGoQMiIDDQIgACAAKAIMIAYoAgxqIgM2AgwgASgCDCEEDAELIAAoAgwhAwsgASABKAIEIARqQQRrKAAAIgQgA2siBzYCAAJAIAMgBEYNAAJAIAAoAggiCEEATgRAQRAhAyAHIAhNDQEMAwtBECEDIAdBACAIayIEQQF0Sw0CIAQgB0kEQCAGIAcgCGoiAzYCDCAAKQMAIAOtiCIRQgGDpwRAA0AgA0EBaiEDIBFCAoMhEiARQgGIIREgEkIAUg0ACyAGIAM2AgwLIAAgETcDACAGQQhqEDIiAw0DIAAgBigCDCIDIAAoAgxqNgIMIAEgASgCACADayIHNgIAC0ERIQMgACkDACAHrYinQQFxDQILIAdFBEAMAQsgBSABKAIIIAEoAgxqIgsQHSAGIAEoAgA2AgwgBkEIahAyIgNFDQAgC0E4EAoMAQsgASAGKAIQNgIMQQAhAyMAQRBrIg0kACABIgQoAgghDwJAIAJFDQAgAigCACIBRQ0AA0AgBSABIAIgCkEDdGooAgQQHyADciEDIAIgCkEBaiIKQQN0aigCACIBDQALCyAFIAQoAgwgDxAfIANyIAUQB3IhCiAEKAIMBEBBACEBA0AgBCgCBCEHIwBBEGsiDiQAAkAgBSAHIAEiAiAFQcAQaiAOQQxqEAgiAw0AAn9BACEJIAVBQGshCCAHIAJBA3RqKQMAIRFBgAIhA0GAASEBA0AgCCABIAVqQcgQai0AAEEDdGopAwAiEiARVgRAIAFBf3MgASAJRg0CGiAJIAEiA2pBAm0hAQwBCwJAIBEgElYEfyABQQFqIgkgA0gNASADQX9zBSABCwwCCyADIAlqQQJtIQEMAAsACyIBQQBIBEBBCyEDDAELIA0gASAFakHIEGoiAy0AADoADyAOKAIMIQggBSADLQAAIhBBA3RqQUBrIAUpA8AQNwMAAkAgCEF/cyIJIAFJBEAgASAIaiIHQQFqQQNxIggEQEEAIQMgBUHIEGohDANAIAEgDGogDCABQQFrIgFqLQAAOgAAIANBAWoiAyAIRw0ACwsgB0EDSQ0BIAVByBBqIQMDQCABIANqQQNrIAMgAUEEayIBaigAADYAACABIAlLDQALDAELIAEgCU8NAEF+IAhrIgkgAU0NAEECIAEgCGoiB2tBA3EiCARAQQAhAyAFQcgQaiEMA0AgASAMaiAMIAFBAWoiAWotAAA6AAAgA0EBaiIDIAhHDQALCyAHQQVqQQNJDQADQCABIAVqIgNByBBqIANByRBqKAAANgAAIAFBBGoiASAJRw0ACwsgBSAJakHIEGogEDoAAEEAIQMLIA5BEGokACACIA9qIgEgAS0AACANLQAPczoAACAKIAMgChsgCiADGyEKIAJBAWoiASAEKAIMSQ0ACwsgDUEQaiQAIAohAQJAIAQoAgBFBEAgASIDDQEgACAAKAIMQQFqNgIMIAAgACkDAEIBiDcDAEEAIQMMAQsCQAJAIAENACAAKAIIQQBIDQAgC0E4EAoMAQsgBSALEB4gC0E4EApBEiEDIAFBC0YNAQsgBCgCACECAkAgACgCCEEASARAIAAgACkDAEIBIAKthoQ3AwAMAQsgACACIAAoAgxqQQFqNgIMCyABIQMLIAQoAgggBCgCDGpBADoAAAsgBkEgaiQAIAMLGQAgAEIANwMAIABBADYCDCAAQRBqIAEQGwsyACABIAAoAgw2AAAgASAAKAIIQQBIBH4gACkDAAVCAAs3AAQgAEEQaiABQQxqEB1BAAskACAAQRBqIAFBDGoQHiAAIAEoAAA2AgwgACABKQAENwMAQQALCQAgAEEQahAgC0EBAX8CQAJ/IABBD2pBcHEiACgCgBZBBGtBfUkEQEEBDAELIAAgARAtIgENAUECIQJBAAshASAAIAI2AoAWCyABCwgAIAFBlAJqC/MFAQp/IwBB4AJrIgIkACABKAIIIQUgASgCBCEDIAJCADcDECACQTA2AgggAkGAAjYCACACIAJBIGo2AgwgAiACQeAAajYCBAJ/QQpBgCwoAgBFDQAaIABBD2pBcHEiACgCgBZBAkcEQCABQQA2AghBAQwBCyABIAMgBWpBD2pBcHEgBWsiBzYCBEEIIABBgBVqIAEoAgAgBRAiIgNFDQAaIAIgAzYCUCACIAUgB2o2AlQgAkEgNgJYIAAgAkHQAGogAhAqIQggASACKAJYIAVqNgIIIABB4BJqIgkgAkEgaiIAIAJBQGsQFiAAQTAQCgJAIAEoAgAiAEEHcQRAIAVFDQFBACEBIAUhAwNAIAJB4ABqIAFqIgQgBC0AACAAIAFqLQAAczoAACABQQFqIgFBgAJGBEAgCSACQeAAakGAAiAHEBcgCHIhCCAHQYACaiEHQQAhASAAQYACaiEACyADQQFrIgMNAAsMAQtBACEDAkAgBUEISQRAIAUhAQwBCyAFIQEDQCADQQN0IgQgAkHgAGpqIgYgBikDACAAIARqKQMAhTcDACADQQFqIgNBIEYEQCAJIAJB4ABqQYACIAcQFyAIciEIIAdBgAJqIQdBACEDIABBgAJqIQALIAFBCGsiAUEHSw0ACwsgAUUNACABQQFrIQYgACADQQN0IgNqIQAgAkHgAGogA2ohAyABQQNxIgoEQEEAIQQDQCADIAFBAWsiAWoiCyALLQAAIAAgAWotAABzOgAAIARBAWoiBCAKRw0ACwsgBkEDSQ0AA0AgAyABQQFrIgRqIgYgBi0AACAAIARqLQAAczoAACADIAFBAmsiBGoiBiAGLQAAIAAgBGotAABzOgAAIAMgAUEDayIEaiIGIAYtAAAgACAEai0AAHM6AAAgAyABQQRrIgFqIgQgBC0AACAAIAFqLQAAczoAACABDQALCyAJIAJB4ABqIAVB/wFxIAcQFyEAIAkQEyAAIAhyCyEBIAJB4AJqJAAgAQsFAEGEAgsFAEGXAgv1AQECfyMAQTBrIgMkAAJAQYAsKAIARQRAQQohAgwBC0EBIQIgAEEPakFwcSIAKAKAFkF+cUECRw0AIAFBD2pBcHEiAkEANgKAAkEBIQEgACAAQYACIAIQHyAAQTAgAxAfciICBH9BAQUgAEHgEmogAyADQSBqEBYgA0EwEAogAEHwFWpBADYCACAAQaAVakIANwMAIABBmBVqQquzj/yRo7Pw2wA3AwAgAEGQFWpC/6S5iMWR2oKbfzcDACAAQYgVakLy5rvjo6f9p6V/NwMAIABC58yn0NbQ67O7fzcDgBVBACECQQMLNgKAFgsgA0EwaiQAIAILIwBBgCwoAgBFBEBBCg8LIABBD2pBcHEiAEEBNgKAFiAAECALQQEBfwJAAn8gAEEPakFwcSIAKAKEFkEEa0F9SQRAQQEMAQsgACABEDYiAQ0BQQIhAkEACyEBIAAgAjYChBYLIAELEQAgAUHvAWtBACABQYUCTxsLtQcBD38jAEHwBGsiAyQAIAMgAEEPakFwcSIMKAKAFkEPakFwcWsiDyQAIANCADcDECADQTA2AgggA0GAAjYCACADIANBsAJqNgIMIAMgA0HwAmo2AgQCQEGALCgCAEUEQEEKIQIMAQsgDCgChBZBAkcEQCABQQA2AgxBASECDAELQQEhAiABKAIMIgZBhAJJDQAgASgCCCEAIAZBhAJrIgogASgCBCIEaiICQQ9xBEAgA0EgaiIFIAJBhAIQDiAFIQILIANBhAI2AuwCIAMgAjYC5AIgAyAPNgLoAiAMIANB4AJqIAMQMyICDQAgASADKALgAjYCACAMQeASaiIQIANBsAJqIANB0AJqEBYgECAEIAogAEEPakFwcSIIEBciAg0AAkACQCAKQYECTwRAIAggCkGAfnEiAmohACAGIAJrQf0Ba0EDdiEEA0AgACIGQYACayEAAkAgBEUNAEEAIQ1BACECIARBAWtBA08EQCAEQfz///8BcSELQQAhBQNAIAYgAkEDdCIHaiIJIAkpAwAgACAHaikDAIU3AwAgBiAHQQhyIglqIg4gDikDACAAIAlqKQMAhTcDACAGIAdBEHIiCWoiDiAOKQMAIAAgCWopAwCFNwMAIAYgB0EYciIHaiIJIAkpAwAgACAHaikDAIU3AwAgAkEEaiECIAVBBGoiBSALRw0ACwsgBEEDcSIERQ0AA0AgBiACQQN0IgdqIgUgBSkDACAAIAdqKQMAhTcDACACQQFqIQIgDUEBaiINIARHDQALC0EgIQQgACAIRw0ACwwBCyAGQf0BayIAQQhJDQEgAEEDdiEECyAEQQNxIQZBACEHQQAhAiAEQQFrQQNPBEAgBEH8////AXEhDUEAIQQDQCAIIAJBA3QiAGoiBSAFKQMAIANB8AJqIgkgAGopAwCFNwMAIAggAEEIciIFaiILIAspAwAgBSAJaikDAIU3AwAgCCAAQRByIgVqIgsgCykDACADQfACaiAFaikDAIU3AwAgCCAAQRhyIgBqIgUgBSkDACADQfACaiAAaikDAIU3AwAgAkEEaiECIARBBGoiBCANRw0ACwsgBkUNAANAIAggAkEDdCIAaiIEIAQpAwAgA0HwAmogAGopAwCFNwMAIAJBAWohAiAHQQFqIgcgBkcNAAsLIBAQEyABIAo2AgwgASAINgIIIAxBgBVqIAggChAiIgAEf0ENQQAgACAPQSAQDRsFQQgLIQIgCCABKAIMakEAOgAACyADQfAEaiQAIAILBQBBpAQLhQIBA38jAEEwayIDJAACQEGALCgCAEUEQEEKIQIMAQtBASECIABBD2pBcHEiACgChBZBfnFBAkcNACABQQ9qQXBxIgFBADYCgAJBASEEIABBEGoiAkGAAiABEB8gAkEwIAMQH3IiAkUEQCAAQeASaiADIANBIGoQFiADQTAQCiAAQfAVakEANgIAIABBoBVqQgA3AwAgAEGYFWpCq7OP/JGjs/DbADcDACAAQZAVakL/pLmIxZHagpt/NwMAIABBiBVqQvLmu+Ojp/2npX83AwAgAELnzKfQ1tDrs7t/NwOAFSABQoUCNwKEAkEDIQRBACECCyAAIAQ2AoQWCyADQTBqJAAgAgsjAEGALCgCAEUEQEEKDwsgAEEPakFwcSIAQQE2AoQWIAAQNwvmAQEDfwNAIAAgBEEEdGoiAyABIARBAnRqKAAAIgJBAXZB1arVqgVxIAJB1arVqgVxaiICQQR2QQNxIAJBBnZBA3FrOwECIAMgAkEDcSACQQJ2QQNxazsBACADIAJBCHZBA3EgAkEKdkEDcWs7AQQgAyACQQx2QQNxIAJBDnZBA3FrOwEGIAMgAkEQdkEDcSACQRJ2QQNxazsBCCADIAJBFHZBA3EgAkEWdkEDcWs7AQogAyACQRh2QQNxIAJBGnZBA3FrOwEMIAMgAkEcdkEDcSACQR52azsBDiAEQQFqIgRBIEcNAAsLwwMBBn8jAEHQAWsiBSQAIAVByAEQswEhBSAAQcgBELMBIQgCQCABIANLDQAgAUEITwRAIAFBA3YhCQNAQQAhAANAIAggAEEDdCIGaiIKIAIgBmopAAAgCikDAIU3AwAgAEEBaiIAIAlHDQALIAgQRyABIAJqIQIgAyABayIDIAFPDQALDAELA0AgCBBHIAEgAmohAiADIAFrIgMgAU8NAAsLAkAgA0UNAEEAIQlBACEAIANBAWtBA08EQCADQXxxIQpBACEGA0AgACAFaiAAIAJqLQAAOgAAIAUgAEEBciIHaiACIAdqLQAAOgAAIAUgAEECciIHaiACIAdqLQAAOgAAIAUgAEEDciIHaiACIAdqLQAAOgAAIABBBGohACAGQQRqIgYgCkcNAAsLIANBA3EiBkUNAANAIAAgBWogACACai0AADoAACAAQQFqIQAgCUEBaiIJIAZHDQALCyADIAVqIAQ6AAAgASAFakEBayIAIAAtAABBgAFyOgAAIAFBCE8EQCABQQN2IQFBACEAA0AgCCAAQQN0IgJqIgMgAiAFaikDACADKQMAhTcDACAAQQFqIgAgAUcNAAsLIAVB0AFqJAAL5QwCLn4CfyAAKQPAASEXIAApA7gBIRggACkDsAEhDiAAKQOoASEIIAApA6ABIQ8gACkDmAEhCSAAKQOQASEQIAApA4gBIREgACkDgAEhCiAAKQN4IRIgACkDcCETIAApA2ghBCAAKQNgIRQgACkDWCEFIAApA1AhCyAAKQNIIRkgACkDQCENIAApAzghASAAKQMwIQIgACkDKCEHIAApAyAhGyAAKQMYIQwgACkDECEGIAApAwghAyAAKQMAIRUDQCAQIBiFIASFIA2FIAyFIh8gDyAShSALhSAHhSAVhSIaQgGJhSIcIBuFQhuJIhYgGiAOIBGFIBSFIAGFIAaFIh5CAYmFIhogBYVCCokiHSAJIBeFIBOFIBmFIBuFIiAgCCAKhSAFhSAChSADhSIhQgGJhSIFIAeFQiSJIgdCf4WDhSIiIAMgGoVCAYkiGyAEIB4gIEIBiYUiBIVCGYkiAyABICEgH0IBiYUiAYVCBokiH0J/hYOFIiGFIAQgDIVCHIkiDCAFIAuFQgOJIgsgGSAchUIUiSIeQn+Fg4UiI4UgASAGhUI+iSIGIBMgHIVCJ4kiEyAEIA2FQjeJIiBCf4WDhSIkhSAFIBWFIhUgL0EDdCIwQbAmaikDACABIBSFQiuJIhQgAiAahUIsiSICQn+Fg4WFIiWFIg1CAYkgASARhUIPiSIRIBYgBCAYhUI4iSIYQn+Fg4UiJiAEIBCFQhWJIhAgFSAXIByFQg6JIhdCf4WDhSInIAUgEoVCKYkiEiAGIAggGoVCAokiCEJ/hYOFIgQgCSAchUIIiSIJIBsgBSAPhUISiSIPQn+Fg4UiKCAKIBqFQi2JIgogDCABIA6FQj2JIg5Cf4WDhSIFhYWFhSIphSIZIAggICAGQn+Fg4UiAYVCDokiHCANIA8gCUJ/hYMgA4UiKiAXIBBCf4WDIBSFIgYgEyAIIBJCf4WDhSIrIA4gCkJ/hYMgC4UiLCAdIBggEUJ/hYOFIi2FhYWFIghCAYmFIg0gHiAKIAtCf4WDhSIKhUIsiSIaICUgByAWQn+FgyAYhSIWIB4gDEJ/hYMgDoUiHiAfIBtCf4WDIA+FIgsgFyACIBVCf4WDhSIuIAGFhYWFIhcgEiATQn+FgyAghSIYIAkgA0J/hYMgH4UiAyARIB1Cf4WDIAeFIh0gCiACIBAgFEJ/hYOFIgKFhYWFIglCAYmFIgGFIhVCf4WDhSEbIA0gGIVCAokiDiAXQgGJIAiFIgwgBYVCN4kiDyAGIClCAYkgCYUiBoVCPokiCUJ/hYOFIRcgASAihUIpiSIIIAkgDkJ/hYOFIRggCyAZhUIniSIQIA4gCEJ/hYOFIQ4gCCAQQn+FgyAPhSEIIBAgD0J/hYMgCYUhDyAEIAyFQjiJIhEgASAjhUIkiSISIBkgLoVCG4kiE0J/hYOFIQkgBiAthUIPiSIKIBMgEUJ/hYOFIRAgAyANhUIKiSIEIBEgCkJ/hYOFIREgCiAEQn+FgyAShSEKIBMgBCASQn+Fg4UhEiABICSFQhKJIhQgBiAshUIGiSILIAIgDYVCAYkiAkJ/hYOFIRMgFiAZhUIIiSIFIAIgFEJ/hYOFIQQgDCAohUIZiSIHIBQgBUJ/hYOFIRQgBSAHQn+FgyALhSEFIAIgByALQn+Fg4UhCyAGICuFQj2JIgIgGSAehUIUiSIHIAwgJ4VCHIkiA0J/hYOFIRkgDSAdhUItiSIWIAMgAkJ/hYOFIQ0gASAhhUIDiSIdIAIgFkJ/hYOFIQEgByAWIB1Cf4WDhSECIB0gB0J/hYMgA4UhByAMICaFQhWJIgMgFSAcQn+Fg4UhDCAGICqFQiuJIhYgHCADQn+Fg4UhBiAaIAMgFkJ/hYOFIQMgMEEIckGwJmopAwAgFiAaQn+Fg4UgFYUhFSAvQRZJITAgL0ECaiEvIDANAAsgACAXNwPAASAAIBg3A7gBIAAgDjcDsAEgACAINwOoASAAIA83A6ABIAAgCTcDmAEgACAQNwOQASAAIBE3A4gBIAAgCjcDgAEgACASNwN4IAAgEzcDcCAAIAQ3A2ggACAUNwNgIAAgBTcDWCAAIAs3A1AgACAZNwNIIAAgDTcDQCAAIAE3AzggACACNwMwIAAgBzcDKCAAIBs3AyAgACAMNwMYIAAgBjcDECAAIAM3AwggACAVNwMAC0kBAn8gAQRAA0AgAhBHQQAhAwNAIAAgA0EDdCIEaiACIARqKQMANwAAIANBAWoiA0EVRw0ACyAAQagBaiEAIAFBAWsiAQ0ACwsL7AEBBH8jAEHgAmsiBCQAIARBCGpBiAEgAiADQR8QRiABQYgBbiEFIAFBiAFPBEAgACECIAUhBgNAIARBCGoQR0EAIQMDQCACIANBA3QiB2ogBEEIaiAHaikDADcAACADQQFqIgNBEUcNAAsgAkGIAWohAiAGQQFrIgYNAAsLIAVBiAFsIgIgAUcEQCABIAJrIQEgACACaiEAIARBCGoQR0EAIQMDQCADQQN0IgIgBEHQAWpqIARBCGogAmopAwA3AwAgA0EBaiIDQRFHDQALIAAgBEHQAWpBASABIAFBAU0bELIBCyAEQeACaiQAC4EBAQJ/IwBB4AJrIgMkACADQZABaiIEQYgBIAEgAkEGEEYgBBBHQQAhAgNAIAMgAkEDdCIBaiADQZABaiABaikDADcDACACQQFqIgJBEUcNAAsgACADKQMANwAAIAAgAykDCDcACCAAIAMpAxg3ABggACADKQMQNwAQIANB4AJqJAALxwUCAX8IfiMAQdABayIDJAAgA0HIACABIAJBBhBGIAMQRyADKQMAIQQgAykDCCEFIAMpAxAhBiADKQMYIQcgAykDICEIIAMpAyghCSADKQMwIQogACADKQM4Igs8ADggACAKPAAwIAAgCTwAKCAAIAg8ACAgACAHPAAYIAAgBjwAECAAIAU8AAggACAEPAAAIAAgC0I4iDwAPyAAIAtCMIg8AD4gACALQiiIPAA9IAAgC0IgiDwAPCAAIAtCGIg8ADsgACALQhCIPAA6IAAgC0IIiDwAOSAAIApCOIg8ADcgACAKQjCIPAA2IAAgCkIoiDwANSAAIApCIIg8ADQgACAKQhiIPAAzIAAgCkIQiDwAMiAAIApCCIg8ADEgACAJQjiIPAAvIAAgCUIwiDwALiAAIAlCKIg8AC0gACAJQiCIPAAsIAAgCUIYiDwAKyAAIAlCEIg8ACogACAJQgiIPAApIAAgCEI4iDwAJyAAIAhCMIg8ACYgACAIQiiIPAAlIAAgCEIgiDwAJCAAIAhCGIg8ACMgACAIQhCIPAAiIAAgCEIIiDwAISAAIAdCOIg8AB8gACAHQjCIPAAeIAAgB0IoiDwAHSAAIAdCIIg8ABwgACAHQhiIPAAbIAAgB0IQiDwAGiAAIAdCCIg8ABkgACAGQjiIPAAXIAAgBkIwiDwAFiAAIAZCKIg8ABUgACAGQiCIPAAUIAAgBkIYiDwAEyAAIAZCEIg8ABIgACAGQgiIPAARIAAgBUI4iDwADyAAIAVCMIg8AA4gACAFQiiIPAANIAAgBUIgiDwADCAAIAVCGIg8AAsgACAFQhCIPAAKIAAgBUIIiDwACSAAIARCOIg8AAcgACAEQjCIPAAGIAAgBEIoiDwABSAAIARCIIg8AAQgACAEQhiIPAADIAAgBEIQiDwAAiAAIARCCIg8AAEgA0HQAWokAAuQBgEOfyMAQdAFayIHJABBpSwtAAAEQEEBIQMDQAJAIANB/wFxRQRAQQAhAwwBCyAAIAtBC3RqIQ9BACEMA0ACQCACBEAgB0EIaiABIAtB/wFxIAxB/wFxEF4MAQsgB0EIaiABIAxB/wFxIAtB/wFxEF4LQQMhCCAHQdABakEDIAdBCGoQSCAPIAxBCXRqIQ5BACEGQQAhBANAIAdB0AFqIARqIgQtAAIhAyAELQAAIAQtAAEiBUEIdEGAHnFyIgRBgBpNBEAgDiAGQQF0aiAEOwEAIAZBAWohBgsgCCEEAkAgBkH/AUsNACADQQR0IAVBBHZyIghBgBpLDQAgDiAGQQF0aiAIOwEAIAZBAWohBgsgBkH/AUsiA0UEQCAEQQNqIQggBEH2A0kNAQsLQfgDIQUgA0UEQANAIAVBA3AiCQRAIAUgCWshCEEAIQRBACEDQQAhDSAFQQNwQQFrQQNPBEADQCAHQdABaiIKIANqIAMgCGogCmotAAA6AAAgCiADQQFyIgVqIAUgCGogCmotAAA6AAAgCiADQQJyIgVqIAdB0AFqIAUgCGpqLQAAOgAAIAogA0EDciIFaiAHQdABaiAFIAhqai0AADoAACADQQRqIQMgDUEEaiINDQALCwNAIAdB0AFqIgUgA2ogAyAIaiAFai0AADoAACADQQFqIQMgBEEBaiIEIAlHDQALCyAHQdABaiAJckEBIAdBCGoQSCAJQagBciEFQQAhAwJAIAZBgAJGDQBBgAIgBmshCSAOIAZBAXRqIQ1BAyEIQQAhBANAIAdB0AFqIARqIgQtAAEiCkEIdEGAHnEgBC0AAHIiEEGAGk0EQCANIANBAXRqIBA7AQAgA0EBaiEDCwJAIAMgCU8NACAELQACQQR0IApBBHZyIgRBgBpLDQAgDSADQQF0aiAEOwEAIANBAWohAwsgAyAJTw0BIAgiBEEDaiIIIAVNDQALCyADIAZqIgZBgAJJDQALCyAMQQFqIgxBpSwtAAAiA0kNAAsLIAtBAWoiCyADSQ0ACwsgB0HQBWokAAuWEgENfyMAQaDMAGsiBCQAIARBpSwtAABBC3RBgPAfcWsiCCQAIARBgCxqIAIQViAEIAJBqiwvAQBqIgItAAA6AIBMIAQgAi0AAToAgUwgBCACLQACOgCCTCAEIAItAAM6AINMIAQgAi0ABDoAhEwgBCACLQAFOgCFTCAEIAItAAY6AIZMIAQgAi0ABzoAh0wgBCACLQAIOgCITCAEIAItAAk6AIlMIAQgAi0ACjoAikwgBCACLQALOgCLTCAEIAItAAw6AIxMIAQgAi0ADToAjUwgBCACLQAOOgCOTCAEIAItAA86AI9MIAQgAi0AEDoAkEwgBCACLQAROgCRTCAEIAItABI6AJJMIAQgAi0AEzoAk0wgBCACLQAUOgCUTCAEIAItABU6AJVMIAQgAi0AFjoAlkwgBCACLQAXOgCXTCAEIAItABg6AJhMIAQgAi0AGToAmUwgBCACLQAaOgCaTCAEIAItABs6AJtMIAQgAi0AHDoAnEwgBCACLQAdOgCdTCAEIAItAB46AJ5MIAQgAi0AHzoAn0wgBEGABGohCQNAIAkgBkEEdGoiAkEAIAEgBmoiBS0AAEEBcWtBgQ1xOwEAIAIgBS0AAEEedEEfdUGBDXE7AQIgAiAFLQAAQR10QR91QYENcTsBBCACIAUtAABBHHRBH3VBgQ1xOwEGIAIgBS0AAEEbdEEfdUGBDXE7AQggAiAFLQAAQRp0QR91QYENcTsBCiACIAUtAABBGXRBH3VBgQ1xOwEMIAJBgQ1BACAFLAAAQQBIGzsBDiAGQQFqIgZBIEcNAAsgCCAEQYDMAGpBARBMQQAhAgJAQaUsLQAARQ0AQQAhAQNAIARBgDxqIAFBCXRqIAMgAkH/AXEQUCACQQFqIQIgAUEBaiIBQaUsLQAAIgZJDQALIAZFDQBBACEBA0AgBEGAHGogAUEJdGogAyACQf8BcRBRIAJBAWohAiABQQFqIgFBpSwtAABJDQALCyAEIAMgAkH/AXEQUSAEQYA8ahBXQaUsLQAABEADQCAEQYAMaiAHQQl0aiAIIAdBC3RqIARBgDxqEFggB0EBaiIHQaUsLQAASQ0ACwsgBEGACGoiAiAEQYAsaiAEQYA8ahBYIARBgAxqIQNBACEBQaUsLQAABEADQCADIAFBCXRqEE4gAUEBaiIBQaUsLQAASQ0ACwsgAhBOIAMgAyAEQYAcahBaIAIgAiAEEFQgAiACIARBgARqEFQgAxBZIAIQUiAAIQFBACEFAkBBpSwtAABFDQADQCADIAVBCXRqIQdBACEGA0AgByAGQQF0aiIIIAguAQAiCCAIQYEaayIIIAhBEHRBEHVBAEgbOwEAIAZBAWoiBkGAAkcNAAsgBUEBaiIFQaUsLQAAIgZJDQALQQAhBUGsLC8BACIHIAZB4AJsRgRAIAZFDQFBACEHA0AgAyAHQQl0aiEJQQAhBgNAIAkgBkEEdGoiBS4BBiEKIAUuAQghCyAFLgEMIQwgBS4BAiENIAUuAQQhCCAFLgEKIQ8gBS4BDiEOIAEgBS4BAEELdEGADXJBgRpuIhA6AAAgASAOQQt0QYANckGBGm4iDkEDdjoACiABIA9BC3RBgA1yQYEabiIFQQF2OgAHIAEgCEELdEGADXJBgRpuIghBAnY6AAMgASAQQQh2QQdxIA1BC3RBgA1yQYEabiINQQN0cjoAASABIAxBC3RBgA1yQYEabiIMQQZ2QR9xIA5BBXRyOgAJIAEgBUEJdkEDcSAMQQJ0cjoACCABIAtBC3RBgA1yQYEabiILQQR2Qf8AcSAFQQd0cjoABiABIApBC3RBgA1yQYEabiIFQQd2QQ9xIAtBBHRyOgAFIAEgCEEKdkEBcSAFQQF0cjoABCABIA1BBXZBP3EgCEEGdHI6AAIgAUELaiEBIAZBAWoiBkEgRw0ACyAHQQFqIgdBpSwtAABJDQALDAELIAZBwAJsIAdHDQAgBkUNAANAIAMgBUEJdGohCEEAIQYDQCAIIAZBA3RqIgcuAQQhCSAHLgECIQogBy4BBiELIAEgBy4BAEEKdEGADWpBgRpuIgc6AAAgASALQQp0QYANakGBGm4iC0ECdjoABCABIAdBCHZBA3EgCkEKdEGADWpBgRpuIgdBAnRyOgABIAEgCUEKdEGADWpBgRpuIglBBHZBP3EgC0EGdHI6AAMgASAHQQZ2QQ9xIAlBBHRyOgACIAFBBWohASAGQQFqIgZBwABHDQALIAVBAWoiBUGlLC0AAEkNAAsLIABBrCwvAQBqIQBBACEBA0AgAiABQQF0aiIDIAMuAQAiAyADQYEaayIDIANBEHRBEHVBAEgbOwEAIAFBAWoiAUGAAkcNAAtBACEDAkBBqCwvAQAiAUGgAUYEQANAIAIgA0EEdGoiAS4BBCEGIAEuAQohBSABLgEGIQcgAS4BCCEIIAEuAQwhCSABLgEOIQogACABLgEAQQV0QYANakGBGm5BH3EgAS4BAkEFdEGADWpBgRpuIgFBBXRyOgAAIAAgCUEFdEGADWpBgRpuIglBAnZBB3EgCkEFdEGADWpBgRpuQQN0cjoABCAAIAdBBXRBgA1qQYEabiIHQQF2QQ9xIAhBBXRBgA1qQYEabiIIQQR0cjoAAiAAIAVBBXRBgA1qQYEabkEBdEE+cSAIQQR2QQFxciAJQQZ0cjoAAyAAIAZBBXRBgA1qQYEabkECdEH8AHEgAUEDdkEDcXIgB0EHdHI6AAEgAEEFaiEAIANBAWoiA0EgRw0ADAILAAsgAUGAAUcNAANAIAIgA0EEdGoiAS8BAiEGIAEvAQAhBSABLwEGIQcgAS8BBCEIIAEvAQohCSABLwEIIQogACABLwEMQQR0QYANakGBGm5BD3EgAS8BDkEEdEGADWpBgRpuQQR0cjoAAyAAIApBBHRBgA1qQYEabkEPcSAJQQR0QYANakGBGm5BBHRyOgACIAAgCEEEdEGADWpBgRpuQQ9xIAdBBHRBgA1qQYEabkEEdHI6AAEgACAFQQR0QYANakGBGm5BD3EgBkEEdEGADWpBgRpuQQR0cjoAACAAQQRqIQAgA0EBaiIDQSBHDQALCyAEQaDMAGokAAvBJQEHfwNAIAAgBUEBdCIEaiIBIAEvAQAiAiAAIARBBHJqIgEvAQBqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgASACIAEvAQBrIgI7AQAgASADQQF0QfApai4BACIBIAJBEHRBEHVsIgIgAkGAgISYf2xBEHVB/2VsakEQdTsBACAAIARBAnJqIgIgAi8BACICIAAgBEEGcmoiBC8BAGpBEHRBEHUiBiAGQb+dAWxBGnVBgICE6ABsQRB2azsBACAEIAIgBC8BAGsiAjsBACAEIAJBEHRBEHUgAWwiBCAEQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIANBAWohAyAFQfwBSSEEIAVBBGohBSAEDQALA0AgACAHQQF0IgVqIgQgBC8BACIBIAAgBUEIcmoiBC8BAGpBEHRBEHUiAiACQb+dAWxBGnVBgICE6ABsQRB2azsBACAEIAEgBC8BAGsiATsBACAEIANBAXRB8ClqLgEAIgQgAUEQdEEQdWwiASABQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIAAgBUECcmoiASABLwEAIgIgACAFQQpyaiIBLwEAakEQdEEQdSIGIAZBv50BbEEadUGAgIToAGxBEHZrOwEAIAEgAiABLwEAayICOwEAIAEgAkEQdEEQdSAEbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHU7AQAgACAFQQRyaiIBIAEvAQAiAiAAIAVBDHJqIgEvAQBqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgASACIAEvAQBrIgI7AQAgASACQRB0QRB1IARsIgEgAUGAgISYf2xBEHVB/2VsakEQdTsBACAAIAVBBnJqIgEgAS8BACIBIAAgBUEOcmoiBS8BAGpBEHRBEHUiAiACQb+dAWxBGnVBgICE6ABsQRB2azsBACAFIAEgBS8BAGsiATsBACAFIAFBEHRBEHUgBGwiBSAFQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIANBAWohAyAHQfgBSSEFIAdBCGohByAFDQALQQAhBANAIAAgBEEBdCIFaiIHIAcvAQAiASAAIAVBEHJqIgcvAQBqQRB0QRB1IgIgAkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgByABIAcvAQBrIgE7AQAgByADQQF0QfApai4BACIHIAFBEHRBEHVsIgEgAUGAgISYf2xBEHVB/2VsakEQdTsBACAAIAVBAnJqIgEgAS8BACICIAAgBUEScmoiAS8BAGpBEHRBEHUiBiAGQb+dAWxBGnVBgICE6ABsQRB2azsBACABIAIgAS8BAGsiAjsBACABIAJBEHRBEHUgB2wiASABQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIAAgBUEEcmoiASABLwEAIgIgACAFQRRyaiIBLwEAakEQdEEQdSIGIAZBv50BbEEadUGAgIToAGxBEHZrOwEAIAEgAiABLwEAayICOwEAIAEgAkEQdEEQdSAHbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHU7AQAgACAFQQZyaiIBIAEvAQAiAiAAIAVBFnJqIgEvAQBqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgASACIAEvAQBrIgI7AQAgASACQRB0QRB1IAdsIgEgAUGAgISYf2xBEHVB/2VsakEQdTsBACAAIAVBCHJqIgEgAS8BACICIAAgBUEYcmoiAS8BAGpBEHRBEHUiBiAGQb+dAWxBGnVBgICE6ABsQRB2azsBACABIAIgAS8BAGsiAjsBACABIAJBEHRBEHUgB2wiASABQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIAAgBUEKcmoiASABLwEAIgIgACAFQRpyaiIBLwEAakEQdEEQdSIGIAZBv50BbEEadUGAgIToAGxBEHZrOwEAIAEgAiABLwEAayICOwEAIAEgAkEQdEEQdSAHbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHU7AQAgACAFQQxyaiIBIAEvAQAiAiAAIAVBHHJqIgEvAQBqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgASACIAEvAQBrIgI7AQAgASACQRB0QRB1IAdsIgEgAUGAgISYf2xBEHVB/2VsakEQdTsBACAAIAVBDnJqIgEgAS8BACIBIAAgBUEecmoiBS8BAGpBEHRBEHUiAiACQb+dAWxBGnVBgICE6ABsQRB2azsBACAFIAEgBS8BAGsiATsBACAFIAFBEHRBEHUgB2wiBSAFQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIANBAWohAyAEQfABSSEFIARBEGohBCAFDQALQQAhBwNAIAAgB0EBdCIEaiIFIAUvAQAiASAAIARBIHJqIgUvAQBqQRB0QRB1IgIgAkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgBSABIAUvAQBrIgE7AQAgBSADIgVBAXRB8ClqLgEAIgMgAUEQdEEQdWwiASABQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIAAgBEECcmoiASABLwEAIgIgACAEQSJyaiIBLwEAakEQdEEQdSIGIAZBv50BbEEadUGAgIToAGxBEHZrOwEAIAEgAiABLwEAayICOwEAIAEgAkEQdEEQdSADbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHU7AQAgACAEQQRyaiIBIAEvAQAiAiAAIARBJHJqIgEvAQBqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgASACIAEvAQBrIgI7AQAgASACQRB0QRB1IANsIgEgAUGAgISYf2xBEHVB/2VsakEQdTsBACAAIARBBnJqIgEgAS8BACICIAAgBEEmcmoiAS8BAGpBEHRBEHUiBiAGQb+dAWxBGnVBgICE6ABsQRB2azsBACABIAIgAS8BAGsiAjsBACABIAJBEHRBEHUgA2wiASABQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIAAgBEEIcmoiASABLwEAIgIgACAEQShyaiIBLwEAakEQdEEQdSIGIAZBv50BbEEadUGAgIToAGxBEHZrOwEAIAEgAiABLwEAayICOwEAIAEgAkEQdEEQdSADbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHU7AQAgACAEQQpyaiIBIAEvAQAiAiAAIARBKnJqIgEvAQBqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgASACIAEvAQBrIgI7AQAgASACQRB0QRB1IANsIgEgAUGAgISYf2xBEHVB/2VsakEQdTsBACAAIARBDHJqIgEgAS8BACICIAAgBEEscmoiAS8BAGpBEHRBEHUiBiAGQb+dAWxBGnVBgICE6ABsQRB2azsBACABIAIgAS8BAGsiAjsBACABIAJBEHRBEHUgA2wiASABQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIAAgBEEOcmoiASABLwEAIgIgACAEQS5yaiIBLwEAakEQdEEQdSIGIAZBv50BbEEadUGAgIToAGxBEHZrOwEAIAEgAiABLwEAayICOwEAIAEgAkEQdEEQdSADbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHU7AQAgACAEQRByaiIBIAEvAQAiAiAAIARBMHJqIgEvAQBqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgASACIAEvAQBrIgI7AQAgASACQRB0QRB1IANsIgEgAUGAgISYf2xBEHVB/2VsakEQdTsBACAAIARBEnJqIgEgAS8BACICIAAgBEEycmoiAS8BAGpBEHRBEHUiBiAGQb+dAWxBGnVBgICE6ABsQRB2azsBACABIAIgAS8BAGsiAjsBACABIAJBEHRBEHUgA2wiASABQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIAAgBEEUcmoiASABLwEAIgIgACAEQTRyaiIBLwEAakEQdEEQdSIGIAZBv50BbEEadUGAgIToAGxBEHZrOwEAIAEgAiABLwEAayICOwEAIAEgAkEQdEEQdSADbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHU7AQAgACAEQRZyaiIBIAEvAQAiAiAAIARBNnJqIgEvAQBqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgASACIAEvAQBrIgI7AQAgASACQRB0QRB1IANsIgEgAUGAgISYf2xBEHVB/2VsakEQdTsBACAAIARBGHJqIgEgAS8BACICIAAgBEE4cmoiAS8BAGpBEHRBEHUiBiAGQb+dAWxBGnVBgICE6ABsQRB2azsBACABIAIgAS8BAGsiAjsBACABIAJBEHRBEHUgA2wiASABQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIAAgBEEacmoiASABLwEAIgIgACAEQTpyaiIBLwEAakEQdEEQdSIGIAZBv50BbEEadUGAgIToAGxBEHZrOwEAIAEgAiABLwEAayICOwEAIAEgAkEQdEEQdSADbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHU7AQAgACAEQRxyaiIBIAEvAQAiAiAAIARBPHJqIgEvAQBqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgASACIAEvAQBrIgI7AQAgASACQRB0QRB1IANsIgEgAUGAgISYf2xBEHVB/2VsakEQdTsBACAAIARBHnJqIgEgAS8BACIBIAAgBEE+cmoiBC8BAGpBEHRBEHUiAiACQb+dAWxBGnVBgICE6ABsQRB2azsBACAEIAEgBC8BAGsiATsBACAEIAFBEHRBEHUgA2wiAyADQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIAVBAWohAyAHQeABSSEEIAdBIGohByAEDQALIAVBAmohBCADQQF0QfApai4BACEBQQAhBwNAIAAgB0EBdGoiAyADLwEAIgIgA0FAayIDLwEAakEQdEEQdSIGIAZBv50BbEEadUGAgIToAGxBEHZrOwEAIAMgAiADLwEAayICOwEAIAMgAkEQdEEQdSABbCIDIANBgICEmH9sQRB1Qf9lbGpBEHU7AQAgB0EBaiIHQSBHDQALIAVBA2ohASAEQQF0QfApai4BACEEQcAAIQcDQCAAIAdBAXRqIgMgAy8BACICIANBQGsiAy8BAGpBEHRBEHUiBiAGQb+dAWxBGnVBgICE6ABsQRB2azsBACADIAIgAy8BAGsiAjsBACADIAJBEHRBEHUgBGwiAyADQYCAhJh/bEEQdUH/ZWxqQRB1OwEAIAdBAWoiB0HgAEcNAAsgBUEEaiEEIAFBAXRB8ClqLgEAIQFBgAEhBwNAIAAgB0EBdGoiAyADLwEAIgIgA0FAayIDLwEAakEQdEEQdSIGIAZBv50BbEEadUGAgIToAGxBEHZrOwEAIAMgAiADLwEAayICOwEAIAMgAkEQdEEQdSABbCIDIANBgICEmH9sQRB1Qf9lbGpBEHU7AQAgB0EBaiIHQaABRw0ACyAFQQVqIQEgBEEBdEHwKWouAQAhBEHAASEHA0AgACAHQQF0aiIDIAMvAQAiAiADQUBrIgMvAQBqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgAyACIAMvAQBrIgI7AQAgAyACQRB0QRB1IARsIgMgA0GAgISYf2xBEHVB/2VsakEQdTsBACAHQQFqIgdB4AFHDQALIAVBBmohBCABQQF0QfApai4BACEBQQAhBwNAIAAgB0EBdGoiAyADLwEAIgIgAy8BgAFqQRB0QRB1IgYgBkG/nQFsQRp1QYCAhOgAbEEQdms7AQAgAyACIAMvAYABayICOwGAASADIAJBEHRBEHUgAWwiAyADQYCAhJh/bEEQdUH/ZWxqQRB1OwGAASAHQQFqIgdBwABHDQALIAVBB2ohBSAEQQF0QfApai4BACEEQYABIQcDQCAAIAdBAXRqIgMgAy8BACIBIAMvAYABakEQdEEQdSICIAJBv50BbEEadUGAgIToAGxBEHZrOwEAIAMgASADLwGAAWsiATsBgAEgAyABQRB0QRB1IARsIgMgA0GAgISYf2xBEHVB/2VsakEQdTsBgAEgB0EBaiIHQcABRw0ACyAFQQF0QfApai4BACEFQQAhB0EAIQQDQCAAIARBAXRqIgMgAy8BACIBIAMvAYACakEQdEEQdSICIAJBv50BbEEadUGAgIToAGxBEHZrOwEAIAMgASADLwGAAmsiATsBgAIgAyABQRB0QRB1IAVsIgMgA0GAgISYf2xBEHVB/2VsakEQdTsBgAIgBEEBaiIEQYABRw0ACwNAIAAgB0EBdGoiAyADLgEAQaELbCIDIANBgICEmH9sQRB1Qf9lbGpBEHU7AQAgB0EBaiIHQYACRw0ACwvIAQEBfyAAIAIuAQIgAS4BAmwiBCAEQYCAhJh/bEEQdUH/ZWxqQRB1IgQ7AQAgACADIARsIgMgA0GAgISYf2xBEHVB/2VsakEQdSIDOwEAIAAgAyACLgEAIAEuAQBsIgQgBEGAgISYf2xBEHVB/2VsakEQdWo7AQAgACACLgECIAEuAQBsIgMgA0GAgISYf2xBEHVB/2VsakEQdSIDOwECIAAgAyACLgEAIAEuAQJsIgAgAEGAgISYf2xBEHVB/2VsakEQdWo7AQIL6QEBA38jACIFQaYsLQAAQQZ0IgNrIgQkACAEIAMgASACEF9BACECAkACQAJAQaYsLQAAQQJrDgIAAQILIAAgBBBFDAELA0AgACACQQN0aiIDIAQgAkEDbGoiAS8AACABLQACQRB0ciIBQQF2QcmkkgFxIAFByaSSAXFqIAFBAnZByaSSAXFqIgFBBnZBB3EgAUEJdkEHcWs7AQIgAyABQQdxIAFBA3ZBB3FrOwEAIAMgAUEMdkEHcSABQQ92QQdxazsBBCADIAFBEnZBB3EgAUEVdms7AQYgAkEBaiICQcAARw0ACwsgBSQACycBAX8jAEGAAWsiAyQAIANBgAEgASACEF8gACADEEUgA0GAAWokAAs9AQJ/A0AgACACQQF0aiIBIAEuAQAiASABQb+dAWxBGnVBgICE6ABsQRB2azsBACACQQFqIgJBgAJHDQALC1kBA38DQCAAIARBA3QiA2ogASADaiACIANqIARBAXRB8ChqLgEAIgUQTyAAIANBBHIiA2ogASADaiACIANqQQAgBWtBEHRBEHUQTyAEQQFqIgRBwABHDQALC1ABAn8DQCAAIARBAXQiA2ogAiADai8BACABIANqLwEAajsBACAAIANBAnIiA2ogAiADai8BACABIANqLwEAajsBACAEQQJqIgRBgAJHDQALC8IBAQd/QaUsLQAABEADQCAAIAVBgANsaiEIIAEgBUEJdGohB0EAIQNBACEEA0AgByADQQF0aiICIAIuAQAiAiACQYEaayICIAJBEHRBEHVBAEgbOwEAIANBAWoiA0GAAkcNAAsDQCAHIARBAnRqIgYvAQIhAyAIIARBA2xqIgIgBi8BACIGOgAAIAIgA0EEdjoAAiACIANBBHQgBkEIdnI6AAEgBEEBaiIEQYABRw0ACyAFQQFqIgVBpSwtAABJDQALCwuGAQEGf0GlLC0AAARAA0AgACADQQl0aiEFIAEgA0GAA2xqIQZBACECA0AgBSACQQJ0aiIHIAYgAkEDbGoiBC0AAUEIdEGAHnEgBC0AAHI7AQAgByAELQACQQR0IAQtAAFBBHZyOwECIAJBAWoiAkGAAUcNAAsgA0EBaiIDQaUsLQAASQ0ACwsLrBgBCn9BpSwtAAAEQANAIAAgCkEJdGohBEEAIQNBACEFQQAhCQNAIAQgA0EBdGoiCC4BgAJBixRsIgYgBkGAgISYf2xBEHVB/2VsakEQdSEGIAggCC8BACIBIAZrOwGAAiAIIAEgBmo7AQAgA0EBaiIDQYABRw0ACwNAQYABIQMgBCAFQQF0aiIILgGAAUGaF2wiBiAGQYCAhJh/bEEQdUH/ZWxqQRB1IQYgCCAILwEAIgEgBms7AYABIAggASAGajsBACAFQQFqIgVBwABHDQALA0AgBCADQQF0aiIFLgGAAUGUDmwiCCAIQYCAhJh/bEEQdUH/ZWxqQRB1IQggBSAFLwEAIgYgCGs7AYABIAUgBiAIajsBACADQQFqIgNBwAFHDQALQQAhBQNAQcAAIQMgBCAFQQF0aiIIQUBrIgEuAQBB1QtsIgYgBkGAgISYf2xBEHVB/2VsakEQdSEGIAEgCC8BACIBIAZrOwEAIAggASAGajsBACAFQQFqIgVBIEcNAAsDQCAEIANBAXRqIgVBQGsiBi4BAEGOC2wiCCAIQYCAhJh/bEEQdUH/ZWxqQRB1IQggBiAFLwEAIgYgCGs7AQAgBSAGIAhqOwEAIANBAWoiA0HgAEcNAAtBgAEhAwNAIAQgA0EBdGoiBUFAayIGLgEAQZ8CbCIIIAhBgICEmH9sQRB1Qf9lbGpBEHUhCCAGIAUvAQAiBiAIazsBACAFIAYgCGo7AQAgA0EBaiIDQaABRw0AC0HAASEDA0AgBCADQQF0aiIFQUBrIgYuAQBBygFsIgggCEGAgISYf2xBEHVB/2VsakEQdSEIIAYgBS8BACIGIAhrOwEAIAUgBiAIajsBACADQQFqIgNB4AFHDQALQQghCEEAIQYDQCAIQQF0QfAnai4BACIFIAQgBkEBdCIDQSByaiICLgEAbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHUhASACIAMgBGoiAi8BACIHIAFrOwEAIAIgASAHajsBACAEIANBInJqIgIuAQAgBWwiASABQYCAhJh/bEEQdUH/ZWxqQRB1IQEgAiAEIANBAnJqIgIvAQAiByABazsBACACIAEgB2o7AQAgBCADQSRyaiICLgEAIAVsIgEgAUGAgISYf2xBEHVB/2VsakEQdSEBIAIgBCADQQRyaiICLwEAIgcgAWs7AQAgAiABIAdqOwEAIAQgA0EmcmoiAi4BACAFbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHUhASACIAQgA0EGcmoiAi8BACIHIAFrOwEAIAIgASAHajsBACAEIANBKHJqIgIuAQAgBWwiASABQYCAhJh/bEEQdUH/ZWxqQRB1IQEgAiAEIANBCHJqIgIvAQAiByABazsBACACIAEgB2o7AQAgBCADQSpyaiICLgEAIAVsIgEgAUGAgISYf2xBEHVB/2VsakEQdSEBIAIgBCADQQpyaiICLwEAIgcgAWs7AQAgAiABIAdqOwEAIAQgA0EscmoiAi4BACAFbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHUhASACIAQgA0EMcmoiAi8BACIHIAFrOwEAIAIgASAHajsBACAEIANBLnJqIgIuAQAgBWwiASABQYCAhJh/bEEQdUH/ZWxqQRB1IQEgAiAEIANBDnJqIgIvAQAiByABazsBACACIAEgB2o7AQAgBCADQTByaiICLgEAIAVsIgEgAUGAgISYf2xBEHVB/2VsakEQdSEBIAIgBCADQRByaiICLwEAIgcgAWs7AQAgAiABIAdqOwEAIAQgA0EycmoiAi4BACAFbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHUhASACIAQgA0EScmoiAi8BACIHIAFrOwEAIAIgASAHajsBACAEIANBNHJqIgIuAQAgBWwiASABQYCAhJh/bEEQdUH/ZWxqQRB1IQEgAiAEIANBFHJqIgIvAQAiByABazsBACACIAEgB2o7AQAgBCADQTZyaiICLgEAIAVsIgEgAUGAgISYf2xBEHVB/2VsakEQdSEBIAIgBCADQRZyaiICLwEAIgcgAWs7AQAgAiABIAdqOwEAIAQgA0E4cmoiAi4BACAFbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHUhASACIAQgA0EYcmoiAi8BACIHIAFrOwEAIAIgASAHajsBACAEIANBOnJqIgIuAQAgBWwiASABQYCAhJh/bEEQdUH/ZWxqQRB1IQEgAiAEIANBGnJqIgIvAQAiByABazsBACACIAEgB2o7AQAgBCADQTxyaiICLgEAIAVsIgEgAUGAgISYf2xBEHVB/2VsakEQdSEBIAIgBCADQRxyaiICLwEAIgcgAWs7AQAgAiABIAdqOwEAIAQgA0E+cmoiAS4BACAFbCIFIAVBgICEmH9sQRB1Qf9lbGpBEHUhBSABIAQgA0EecmoiAy8BACIBIAVrOwEAIAMgASAFajsBACAIQQFqIQggBkHgAUkhAyAGQSBqIQYgAw0AC0EAIQYDQCAIQQF0QfAnai4BACIFIAQgBkEBdCIDQRByaiICLgEAbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHUhASACIAMgBGoiAi8BACIHIAFrOwEAIAIgASAHajsBACAEIANBEnJqIgIuAQAgBWwiASABQYCAhJh/bEEQdUH/ZWxqQRB1IQEgAiAEIANBAnJqIgIvAQAiByABazsBACACIAEgB2o7AQAgBCADQRRyaiICLgEAIAVsIgEgAUGAgISYf2xBEHVB/2VsakEQdSEBIAIgBCADQQRyaiICLwEAIgcgAWs7AQAgAiABIAdqOwEAIAQgA0EWcmoiAi4BACAFbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHUhASACIAQgA0EGcmoiAi8BACIHIAFrOwEAIAIgASAHajsBACAEIANBGHJqIgIuAQAgBWwiASABQYCAhJh/bEEQdUH/ZWxqQRB1IQEgAiAEIANBCHJqIgIvAQAiByABazsBACACIAEgB2o7AQAgBCADQRpyaiICLgEAIAVsIgEgAUGAgISYf2xBEHVB/2VsakEQdSEBIAIgBCADQQpyaiICLwEAIgcgAWs7AQAgAiABIAdqOwEAIAQgA0EccmoiAi4BACAFbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHUhASACIAQgA0EMcmoiAi8BACIHIAFrOwEAIAIgASAHajsBACAEIANBHnJqIgEuAQAgBWwiBSAFQYCAhJh/bEEQdUH/ZWxqQRB1IQUgASAEIANBDnJqIgMvAQAiASAFazsBACADIAEgBWo7AQAgCEEBaiEIIAZB8AFJIQMgBkEQaiEGIAMNAAtBACEFA0AgCEEBdEHwJ2ouAQAiBiAEIAVBAXQiA0EIcmoiAi4BAGwiASABQYCAhJh/bEEQdUH/ZWxqQRB1IQEgAiADIARqIgIvAQAiByABazsBACACIAEgB2o7AQAgBCADQQpyaiICLgEAIAZsIgEgAUGAgISYf2xBEHVB/2VsakEQdSEBIAIgBCADQQJyaiICLwEAIgcgAWs7AQAgAiABIAdqOwEAIAQgA0EMcmoiAi4BACAGbCIBIAFBgICEmH9sQRB1Qf9lbGpBEHUhASACIAQgA0EEcmoiAi8BACIHIAFrOwEAIAIgASAHajsBACAEIANBDnJqIgEuAQAgBmwiBiAGQYCAhJh/bEEQdUH/ZWxqQRB1IQYgASAEIANBBnJqIgMvAQAiASAGazsBACADIAEgBmo7AQAgCEEBaiEIIAVB+AFJIQMgBUEIaiEFIAMNAAtBACEDA0AgCEEBdEHwJ2ouAQAiASAEIANBAXQiBUEEcmoiAi4BAGwiBiAGQYCAhJh/bEEQdUH/ZWxqQRB1IQYgAiAEIAVqIgIvAQAiByAGazsBACACIAYgB2o7AQAgASAEIAVBBnJqIgIuAQBsIgYgBkGAgISYf2xBEHVB/2VsakEQdSEGIAIgBCAFQQJyaiIFLwEAIgEgBms7AQAgBSABIAZqOwEAIAhBAWohCCADQfwBSSEFIANBBGohAyAFDQALA0AgBCAJQQF0aiIDIAMuAQAiAyADQb+dAWxBGnVBgICE6ABsQRB2azsBACAJQQFqIglBgAJHDQALIApBAWoiCkGlLC0AAEkNAAsLC2ABA38jAEGABGsiAyQAIAAgASACEFNBpSwtAABBAk8EQEEBIQQDQCADIAEgBEEJdCIFaiACIAVqEFMgACAAIAMQVCAEQQFqIgRBpSwtAABJDQALCyAAEFIgA0GABGokAAsqAQF/QaUsLQAABEADQCAAIAFBCXRqEFIgAUEBaiIBQaUsLQAASQ0ACwsLNgECf0GlLC0AAARAA0AgACADQQl0IgRqIAEgBGogAiAEahBUIANBAWoiA0GlLC0AAEkNAAsLC1EBAn8jAEEwayICJAAgAkEwEApBMCABIAFBME8bIgMEQCACIAAgAxAOCyAAIAEQCkHQLEEgEApB8CxBEBAKIAIQXEGALUEBNgIAIAJBMGokAAu0DQEFfyMAQaACayIEJABB/ywiAyECAkACQEH/LC0AACIBQf8BRw0AQf8sQQA6AABB/iwtAAAiAUH/AUcEQEH+LCECDAELQf4sQQA6AABB/SwtAAAiAUH/AUcEQEH9LCECDAELQf0sQQA6AABB/CwtAAAiAUH/AUcEQEH8LCECDAELQfwsQQA6AABB+ywtAAAiAUH/AUcEQEH7LCECDAELQfssQQA6AABB+iwtAAAiAUH/AUcEQEH6LCECDAELQfosQQA6AABB+SwtAAAiAUH/AUcEQEH5LCECDAELQfksQQA6AABB+CwtAAAiAUH/AUcEQEH4LCECDAELQfgsQQA6AABB9ywtAAAiAUH/AUcEQEH3LCECDAELQfcsQQA6AABB9iwtAAAiAUH/AUcEQEH2LCECDAELQfYsQQA6AABB9SwtAAAiAUH/AUcEQEH1LCECDAELQfUsQQA6AABB9CwtAAAiAUH/AUcEQEH0LCECDAELQfQsQQA6AABB8ywtAAAiAUH/AUcEQEHzLCECDAELQfMsQQA6AABB8iwtAAAiAUH/AUcEQEHyLCECDAELQfIsQQA6AABB8SwtAAAiAUH/AUcEQEHxLCECDAELQfEsQQA6AABB8CwhAkHwLC0AACIBQf8BRw0AQfAsQQA6AAAMAQsgAiABQQFqOgAACyAEQTBqIgFB0CwQESABIAQQGEH/LCECAkACQAJAQf8sLQAAIgFB/wFHDQBB/yxBADoAAEH+LC0AACIBQf8BRwRAQf4sIQIMAQtB/ixBADoAAEH9LC0AACIBQf8BRwRAQf0sIQIMAQtB/SxBADoAAEH8LC0AACIBQf8BRwRAQfwsIQIMAQtB/CxBADoAAEH7LC0AACIBQf8BRwRAQfssIQIMAQtB+yxBADoAAEH6LC0AACIBQf8BRwRAQfosIQIMAQtB+ixBADoAAEH5LC0AACIBQf8BRwRAQfksIQIMAQtB+SxBADoAAEH4LC0AACIBQf8BRwRAQfgsIQIMAQtB+CxBADoAAEH3LC0AACIBQf8BRwRAQfcsIQIMAQtB9yxBADoAAEH2LC0AACIBQf8BRwRAQfYsIQIMAQtB9ixBADoAAEH1LC0AACIBQf8BRwRAQfUsIQIMAQtB9SxBADoAAEH0LC0AACIBQf8BRwRAQfQsIQIMAQtB9CxBADoAAEHzLC0AACIBQf8BRwRAQfMsIQIMAQtB8yxBADoAAEHyLC0AACIBQf8BRwRAQfIsIQIMAQtB8ixBADoAAEHxLC0AACIBQf8BRwRAQfEsIQIMAQtB8SxBADoAAEHwLCECQfAsLQAAIgFB/wFGDQELIAIgAUEBajoAAAwBC0HwLEEAOgAACyAEQTBqIgFB0CwQESABIARBEGoQGAJAAkACQEH/LC0AACIBQf8BRw0AQf8sQQA6AABB/iwtAAAiAUH/AUcEQEH+LCEDDAELQf4sQQA6AABB/SwtAAAiAUH/AUcEQEH9LCEDDAELQf0sQQA6AABB/CwtAAAiAUH/AUcEQEH8LCEDDAELQfwsQQA6AABB+ywtAAAiAUH/AUcEQEH7LCEDDAELQfssQQA6AABB+iwtAAAiAUH/AUcEQEH6LCEDDAELQfosQQA6AABB+SwtAAAiAUH/AUcEQEH5LCEDDAELQfksQQA6AABB+CwtAAAiAUH/AUcEQEH4LCEDDAELQfgsQQA6AABB9ywtAAAiAUH/AUcEQEH3LCEDDAELQfcsQQA6AABB9iwtAAAiAUH/AUcEQEH2LCEDDAELQfYsQQA6AABB9SwtAAAiAUH/AUcEQEH1LCEDDAELQfUsQQA6AABB9CwtAAAiAUH/AUcEQEH0LCEDDAELQfQsQQA6AABB8ywtAAAiAUH/AUcEQEHzLCEDDAELQfMsQQA6AABB8iwtAAAiAUH/AUcEQEHyLCEDDAELQfIsQQA6AABB8SwtAAAiAUH/AUcEQEHxLCEDDAELQfEsQQA6AABB8CwhA0HwLC0AACIBQf8BRg0BCyADIAFBAWo6AAAMAQtB8CxBADoAAAsgBEEwaiIBQdAsEBEgASAEQSBqIgEQGCAABEBBACEDA0AgAyAEaiICIAItAAAgACADai0AAHM6AAAgBCADQQFyIgJqIgUgBS0AACAAIAJqLQAAczoAACAEIANBAnIiAmoiBSAFLQAAIAAgAmotAABzOgAAIAQgA0EDciICaiIFIAUtAAAgACACai0AAHM6AAAgA0EEaiIDQTBHDQALC0HQLCAEQSAQDkHwLCABQRAQDiAEQaACaiQAC74EAgR/AX5CICEFIwBBgAJrIgMkAANAAkBB/ywhAQJAAkBB/ywtAAAiAkH/AUcNAEH/LEEAOgAAQf4sIQFB/iwtAAAiAkH/AUcNAEH+LEEAOgAAQf0sIQFB/SwtAAAiAkH/AUcNAEH9LEEAOgAAQfwsIQFB/CwtAAAiAkH/AUcNAEH8LEEAOgAAQfssIQFB+ywtAAAiAkH/AUcNAEH7LEEAOgAAQfosIQFB+iwtAAAiAkH/AUcNAEH6LEEAOgAAQfksIQFB+SwtAAAiAkH/AUcNAEH5LEEAOgAAQfgsIQFB+CwtAAAiAkH/AUcNAEH4LEEAOgAAQfcsIQFB9ywtAAAiAkH/AUcNAEH3LEEAOgAAQfYsIQFB9iwtAAAiAkH/AUcNAEH2LEEAOgAAQfUsIQFB9SwtAAAiAkH/AUcNAEH1LEEAOgAAQfQsIQFB9CwtAAAiAkH/AUcNAEH0LEEAOgAAQfMsIQFB8ywtAAAiAkH/AUcNAEHzLEEAOgAAQfIsIQFB8iwtAAAiAkH/AUcNAEHyLEEAOgAAQfEsIQFB8SwtAAAiAkH/AUcNAEHxLEEAOgAAQfAsIQFB8CwtAAAiAkH/AUcNAEHwLEEAOgAADAELIAEgAkEBajoAAAsgA0EQaiIBQdAsEBEgASADEBggACAEaiEBIAVCD1gEQCABIAMgBacQDgwBCyABIANBEBAOIARBEGohBCAFQhB9IgVCAFINAQsLQQAQXEGALUGALSgCAEEBajYCACADQYACaiQAC1cBAX8jAEEwayIEJAAgBCABKQAYNwMYIAQgASkAEDcDECAEIAEpAAA3AwAgBCABKQAINwMIIAQgAzoAISAEIAI6ACAgAEGoASAEQSJBHxBGIARBMGokAAtNAQF/IwBBMGsiBCQAIAQgAikAGDcDGCAEIAIpABA3AxAgBCACKQAANwMAIAQgAikACDcDCCAEIAM6ACAgACABIARBIRBJIARBMGokAAsgACAAIAEoAgAgASgCBCABKAIIuCABQQxqIAFBEGoQAAsaACAAIAEoAgAgASgCBCABKAIIIAFBDGoQAQsQACAAQQJqQQNuQQJ0QQFyCwsAIAAgASACEAsaCwwAIAAgABAQIAAQDAsEAEEECwQAQQILBABBAAsEAEETCw4AIABBAnRBsB5qKAIACw4AIABBAnRBgB9qKAIAC/sBAAJ/QQAgAEH/CRAPRQ0AGkEBIABBxgkQD0UNABpBAiAAQegLEA9FDQAaQQMgAEG/ChAPRQ0AGkEEIABBtQ0QD0UNABpBBSAAQdUMEA9FDQAaQQYgAEGbDBAPRQ0AGkEHIABBuQwQD0UNABpBCCAAQf8LEA9FDQAaQQkgAEGpChAPRQ0AGkEKIABB1QoQD0UNABpBCyAAQd8JEA9FDQAaQQwgAEGzCxAPRQ0AGkENIABBgAsQD0UNABpBDiAAQZUNEA9FDQAaQQ8gAEH2DBAPRQ0AGkEQIABBqAkQD0UNABpBESAAQYwJEA9FDQAaQRNBEiAAQZsLEA8bCwsEAEEGCwQAQQgLBABBAwsEAEELCw4AIABBAnRBgBVqKAIAC5MBAAJ/QQAgAEHoFBAPRQ0AGkEBIABB6BQQD0UNABpBAiAAQegUEA9FDQAaQQMgAEHoFBAPRQ0AGkEEIABB6BQQD0UNABpBBSAAQegUEA9FDQAaQQYgAEHQCxAPRQ0AGkEHIABB6BQQD0UNABpBCCAAQegUEA9FDQAaQQkgAEHoFBAPRQ0AGkELQQogAEHoFBAPGwsLBABBIAsEAEEACwsARAAA4P///+9BCwQAQRALCwBEAAAAAAAA8EILAwABCwMAAQsOACAAQQJ0QdAVaigCAAtsAAJ/QQAgAEHoFBAPRQ0AGkEBIABB6BQQD0UNABpBAiAAQegUEA9FDQAaQQMgAEHuChAPRQ0AGkEEIABB6BQQD0UNABpBBSAAQegUEA9FDQAaQQYgAEHoFBAPRQ0AGkEIQQcgAEHoFBAPGwsLDgAgAEECdEHwFGooAgALOAACf0EAIABB6BQQD0UNABpBASAAQegUEA9FDQAaQQIgAEHoFBAPRQ0AGkEEQQMgAEGSChAPGwsLBABBAQsEAEEFCw4AIABBAnRBsBVqKAIAC0UAAn9BACAAQegUEA9FDQAaQQEgAEHoFBAPRQ0AGkECIABB6BQQD0UNABpBAyAAQdsNEA9FDQAaQQVBBCAAQegUEA8bCwtdAQF/IwBBEGsiAyQAIAMgATYCDCADIAI2AgggAyAANgIEIANBADYCAEEAIQACQCADKAIEQQZHDQAgAygCDEEIRw0AQf8SQQAgAygCCEEDRhshAAsgA0EQaiQAIAALpgEBAX8jAEEQayIGJAAgBiACNgIMIAYgAzYCCCAGIAE2AgQgBiAFNgIAAn9BACEBIABBD2pBcHEhAEEBIQICQCAGKAIEQQZHDQAgBigCDEEIRw0AIAYoAghBA0cNAEGALCgCAEUEQCAAQQA2AuASQQoMAgsgAEFBIAYoAgAiASABQUFMGzYCCEEAIQJBASEBCyAAIAE2AuASIAILIQAgBkEQaiQAIAALmAYBB38jAEEgayIGJAAgBiAENgIcIAYgAzYCGCAGIAI2AhQgBkEBNgIQIAYgATYCDCAGQQI2AghBACEEIwBBIGsiASECIAEkAAJAQYAsKAIARQRAQQohAAwBCyAAQQ9qQXBxIgsoAuASQQRrQXxNBEAgC0EANgLgEkEBIQAMAQsgAiAGKAIINgIIIAIgBigCDDYCDCACIAYoAhA2AhAgAiAGKAIUNgIUIAFBgAJrIgEkAAJAQYACIAYoAhwiCCAIQYACTxsiCUUNACAGKAIYIQNBACEAIAlBAWtBA08EQCAJQfwDcSEFA0AgACABaiAAIANqLQAAOgAAIAEgAEEBciIKaiADIApqLQAAOgAAIAEgAEECciIKaiADIApqLQAAOgAAIAEgAEEDciIKaiADIApqLQAAOgAAIABBBGohACAHQQRqIgcgBUcNAAsLIAlBA3EiB0UNAANAIAAgAWogACADai0AADoAACAAQQFqIQAgBEEBaiIEIAdHDQALCyAIQf//A3EiAEGQLC0AACIDSQRAIAAgAWogCEF/cyADakH//wNxQQFqELMBGgsgCEGBAk8EQCAGKAIYIQRBgAIhAEGAAiEHA0AgASAAQf8BcWoiBSAFLQAAIAAgBGotAABzOgAAIAggB0EBaiIHQf//A3EiAEsNAAsLAkAgA0UNAEEAIQdBACEAIANBAWtBA08EQCADQfwBcSEIQQAhBANAIAAgAWoiBSAFLQAAIABBAXIiBUGQLGotAABzOgAAIAEgBWoiBSAFLQAAIABBAnIiBUGQLGotAABzOgAAIAEgBWoiBSAFLQAAIABBA3IiBUGQLGotAABzOgAAIAEgBWoiBSAFLQAAIABBBGoiAEGQLGotAABzOgAAIARBBGoiBCAIRw0ACwsgA0EDcSIERQ0AA0AgACABaiIIIAgtAAAgAEEBaiIAQZAsai0AAHM6AAAgB0EBaiIHIARHDQALCyACIAE2AhggAiAJIAMgAyAJSRs2AhwgCyACQQhqEDQiAA0AIAtBAjYC4BILIAJBIGokACAGQSBqJAAgAAsRACAAQQ9qQXBxQUBrKQMAugsFAEGhAQsoAQF/IABBD2pBcHEgAUHdAGoiABA1IgJFBEAgAEHEACABEAsaCyACC3QBA38jACICIQMgAiABEBAiBEEDakECdkEDbEEQakFwcWsiAiQAIAEgBCACEAwaAkACfyAAQQ9qQXBxIgEoAuASQQRrQX1JBEBBASEAQQAMAQsgASACEDYiAA0BQQAhAEECCyECIAEgAjYC4BILIAMkACAACyIAIAFBA2pBAnZBA2xBAWoiACAAaiAAQQ9qQXBxakHlAGoLiQIBAX8jAEEQayIBJAAgASADNgIMIAEgAjYCBCABQQA2AgAgASAENgIIAn9BCkGALCgCAEUNABogAEEPakFwcSIDKALgEkECRwRAIAFBADYCDEEBDAELIAEoAghBD2pBcHEhACABIAEtAARBD3EEfyABKAIMIgJBD2pBcHEhCiACBEBBACECA0AgACACaiABKAIEIAJqLQAAOgAAIAJBAWoiAiABKAIMSQ0ACwsgASAANgIEIAAgCmoFIAALNgIIIAMgAUEAEDMLIQAgBSABKAIIIARrQQAgASgCDCICGzYCACAGIAI2AgAgB0IANwMAIAhCADcDACAJIAEoAgA2AgAgAUEQaiQAIAALuwIBA38jAEEQayIBJAAgASADNgIMIAEgAjYCBCABQQA2AgAgASAENgIIAn8gASABKAIIQQ9qQXBxIgI2AgggASABKAIEIAEoAgwgAhAMIgI2AgwgASABKAIIIgM2AgQgASADIAJBD2pBcHEiCmoiCzYCCEEKQYAsKAIARQ0AGiAAQQ9qQXBxIgwoAuASQQJHBEAgAUEANgIMQQEMAQsgC0EPakFwcSEAIAEgA0EPcQR/IAIEQEEAIQIDQCAAIAJqIAEoAgQgAmotAAA6AAAgAkEBaiICIAEoAgxJDQALCyABIAA2AgQgACAKagUgAAs2AgggDCABQQAQMwshACAFIAEoAgggBGtBACABKAIMIgIbNgIAIAYgAjYCACAHQgA3AwAgCEIANwMAIAkgASgCADYCACABQRBqJAAgAAtWAQF/IwBBEGsiAyQAIAMgATYCCCADIAI2AgQgAyAANgIAQQAhAAJAIAMoAgBBBkcNACADKAIIQQhHDQBB/xJBACADKAIEQQNGGyEACyADQRBqJAAgAAuLAQEBfyMAQRBrIgQkACAEIAI2AgggBCADNgIEIAQgATYCAAJ/QQAhASAAQQ9qQXBxIQBBASECAkAgBCgCAEEGRw0AIAQoAghBCEcNACAEKAIEQQNHDQBBgCwoAgBFBEAgAEEANgLgEkEKDAILQQAhAkEBIQELIAAgATYC4BIgAgshACAEQRBqJAAgAAvGBQEHfyMAQSBrIgUkACAFIAQ2AhwgBSADNgIYIAUgAjYCFCAFQQE2AhAgBSABNgIMIAVBAjYCCCMAQSBrIgEhAyABJAACQEGALCgCAEUEQEEKIQAMAQsgAEEPakFwcSILKALgEkEEa0F8TQRAIAtBADYC4BJBASEADAELIAMgBSgCCDYCCCADIAUoAgw2AgwgAyAFKAIQNgIQIAMgBSgCFDYCFCABQYACayIBJAACQEGAAiAFKAIcIgQgBEGAAk8bIghFDQAgBSgCGCECQQAhACAIQQFrQQNPBEAgCEH8A3EhCQNAIAAgAWogACACai0AADoAACABIABBAXIiCmogAiAKai0AADoAACABIABBAnIiCmogAiAKai0AADoAACABIABBA3IiCmogAiAKai0AADoAACAAQQRqIQAgBkEEaiIGIAlHDQALCyAIQQNxIgZFDQADQCAAIAFqIAAgAmotAAA6AAAgAEEBaiEAIAdBAWoiByAGRw0ACwsgBEH//wNxIgBBkCwtAAAiAkkEQCAAIAFqIARBf3MgAmpB//8DcUEBahCzARoLIARBgQJPBEAgBSgCGCEGQYACIQBBgAIhBwNAIAEgAEH/AXFqIgkgCS0AACAAIAZqLQAAczoAACAEIAdBAWoiB0H//wNxIgBLDQALCwJAIAJFDQBBACEAIAJBAUcEQCACQf4BcSEEQQAhBwNAIAAgAWoiBiAGLQAAIAIgAGtBkCxqLQAAczoAACABIABBAXIiBmoiCSAJLQAAIAIgBmtBkCxqLQAAczoAACAAQQJqIQAgB0ECaiIHIARHDQALCyACQQFxRQ0AIAAgAWoiBCAELQAAIAIgAGtBkCxqLQAAczoAAAsgAyABNgIYIAMgCCACIAIgCEkbNgIcIAsgA0EIahArIgANACALQQI2AuASCyADQSBqJAAgBUEgaiQAIAALDgAgAEEPakFwcSkDMLoLKAEBfyAAQQ9qQXBxIAFB3QBqIgAQLCICRQRAIABBxAAgARALGgsgAgt0AQN/IwAiAiEDIAIgARAQIgRBA2pBAnZBA2xBEGpBcHFrIgIkACABIAQgAhAMGgJAAn8gAEEPakFwcSIBKALgEkEEa0F9SQRAQQEhAEEADAELIAEgAhAtIgANAUEAIQBBAgshAiABIAI2AuASCyADJAAgAAsbACABQQN0QRNqIgBBAmpBA25BAnRBAXIgAGoLjwEAIwBBEGsiASQAIAEgAzYCCCABIAI2AgAgASAENgIEAn9BCkGALCgCAEUNABogAEEPakFwcSIAKALgEkECRwRAIAFBADYCCEEBDAELIAEgASgCBEEPakFwcTYCBCAAIAFBABAqCyEAIAUgASgCBCAEa0EAIAEoAggiAhs2AgAgBiACNgIAIAFBEGokACAAC80BACMAQRBrIgEkACABIAM2AgggASACNgIAIAEgBDYCBAJ/QYAsKAIARQRAIAFBADYCCEEKDAELQQEhAgJAIABBD2pBcHEiACgC4BJBAkYEQCABIAEoAgRBD2pBcHE2AgQgACABQQAQKiICRQ0BCyABQQA2AgggAgwBCyABKAIEIgAgASgCCCICIAAgAmoiABALIQIgASAANgIEIAEgAjYCCEEACyEAIAUgASgCBCAEa0EAIAEoAggiAhs2AgAgBiACNgIAIAFBEGokACAAC38BAX8jAEEgayIFJAAgBSAENgIcIAUgAzYCGCAFIAE2AhQgBSACNgIQIAUgADYCDCAFQQA2AghBACEAAkAgBSgCDEEGRw0AIAUoAhRBCEcNACAFKAIQQQNHDQAgBSgCGEEDRw0AQZ8WQQAgBSgCHEEDRhshAAsgBUEgaiQAIAAL0QEBAX8jAEEgayIIJAAgCCAFNgIcIAggBDYCGCAIIAI2AhQgCCADNgIQIAggATYCDCAIIAc2AggCf0EAIQEgAEEPakFwcSEAQQEhAgJAIAgoAgxBBkcNACAIKAIUQQhHDQAgCCgCEEEDRw0AIAgoAhhBA0cNACAIKAIcQQNHDQBBgCwoAgBFBEAgAEEANgKEFkEKDAILIABBQSAIKAIIIgEgAUFBTBs2AgggAEG8AjYCgBZBACECQQEhAQsgACABNgKEFiACCyEAIAhBIGokACAAC5gGAQd/IwBBIGsiBiQAIAYgBDYCHCAGIAM2AhggBiACNgIUIAZBATYCECAGIAE2AgwgBkECNgIIQQAhBCMAQSBrIgEhAiABJAACQEGALCgCAEUEQEEKIQAMAQsgAEEPakFwcSILKAKEFkEEa0F8TQRAIAtBADYChBZBASEADAELIAIgBigCCDYCCCACIAYoAgw2AgwgAiAGKAIQNgIQIAIgBigCFDYCFCABQYACayIBJAACQEGAAiAGKAIcIgggCEGAAk8bIglFDQAgBigCGCEDQQAhACAJQQFrQQNPBEAgCUH8A3EhBQNAIAAgAWogACADai0AADoAACABIABBAXIiCmogAyAKai0AADoAACABIABBAnIiCmogAyAKai0AADoAACABIABBA3IiCmogAyAKai0AADoAACAAQQRqIQAgB0EEaiIHIAVHDQALCyAJQQNxIgdFDQADQCAAIAFqIAAgA2otAAA6AAAgAEEBaiEAIARBAWoiBCAHRw0ACwsgCEH//wNxIgBBkCwtAAAiA0kEQCAAIAFqIAhBf3MgA2pB//8DcUEBahCzARoLIAhBgQJPBEAgBigCGCEEQYACIQBBgAIhBwNAIAEgAEH/AXFqIgUgBS0AACAAIARqLQAAczoAACAIIAdBAWoiB0H//wNxIgBLDQALCwJAIANFDQBBACEHQQAhACADQQFrQQNPBEAgA0H8AXEhCEEAIQQDQCAAIAFqIgUgBS0AACAAQQFyIgVBkCxqLQAAczoAACABIAVqIgUgBS0AACAAQQJyIgVBkCxqLQAAczoAACABIAVqIgUgBS0AACAAQQNyIgVBkCxqLQAAczoAACABIAVqIgUgBS0AACAAQQRqIgBBkCxqLQAAczoAACAEQQRqIgQgCEcNAAsLIANBA3EiBEUNAANAIAAgAWoiCCAILQAAIABBAWoiAEGQLGotAABzOgAAIAdBAWoiByAERw0ACwsgAiABNgIYIAIgCSADIAMgCUkbNgIcIAsgAkEIahA0IgANACALQQI2AoQWCyACQSBqJAAgBkEgaiQAIAALdAEDfyMAIgIhAyACIAEQECIEQQNqQQJ2QQNsQRBqQXBxayICJAAgASAEIAIQDBoCQAJ/IABBD2pBcHEiASgChBZBBGtBfUkEQEEBIQBBAAwBCyABIAIQNiIADQFBACEAQQILIQIgASACNgKEFgsgAyQAIAALKABBDyABQQNqQQJ2QQNsQQFqIgBB4AFrIABBhQJJGyAAQQ9qQXBxagtuACMAQRBrIgEkACABIAM2AgwgASACNgIEIAFBADYCACABIAQ2AgggACABEEEhACAFIAEoAgggBGtBACABKAIMIgIbNgIAIAYgAjYCACAHQgA3AwAgCEIANwMAIAkgASgCADYCACABQRBqJAAgAAucAQAjAEEQayIBJAAgASADNgIMIAEgAjYCBCABQQA2AgAgASAENgIIIAEgASgCBCABKAIMIAEoAggQDCICNgIMIAEgASgC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ASAENgIEIAAgARA6IQAgBSABKAIEIARrQQAgASgCCCICGzYCACAGIAI2AgAgAUEQaiQAIAALiwEAIwBBEGsiASQAIAEgAzYCCCABIAI2AgAgASAENgIEAn8gACABEDoiAARAIAFBADYCCCAADAELIAEoAgQiAiABKAIIIgMgAiADaiICEAshAyABIAI2AgQgASADNgIIIAALIQAgBSABKAIEIARrQQAgASgCCCICGzYCACAGIAI2AgAgAUEQaiQAIAALkAUBBn8jAEEQayIGJAAgBiADNgIIIAYgBDYCBCAGIAI2AgACfyAGKAIEIQcgAEEPakFwcSILKAKAFkEDRwRAIAcgBigCCBAKQQEMAQsgC0GAFWogBigCACAGKAIIECQhCSAGKAIIIQACQCAGKAIAIgggAUEPakFwcSIEKAKAAiICckEHcUUEQCACQQN2IQJBACEDIABBCE8EQCALQeASaiEKA0AgBCACQQN0aiIBIAEpAwAgCCADQQN0aikDAIU3AwAgAkEBaiICQSBHBH8gA0EBagVBACECIAogBCAEKAKAAiIBakGAAiABayIBIAcQFyEDIARBADYCgAIgAyAJciEJIAEgB2ohByAIIAFBeHFqIQhBAAshAyAAQQhrIgBBB0sNAAsLIAJBA3QhAiAARQ0BIANBA3QhAyAAQQFxBH8gAiAEaiIBIAEtAAAgAyAIai0AAHM6AAAgA0EBciEDIAJBAXIhAiAAQQFrBSAACyEBIABBAUYNAQNAIAIgBGoiACAALQAAIAMgCGoiCi0AAHM6AAAgACAALQABIAotAAFzOgABIANBAmohAyACQQJqIQIgAUECayIBDQALDAELIABFDQAgC0HgEmohCkEAIQMDQCACIARqIgEgAS0AACADIAhqLQAAczoAACACQQFqIgJBgAJHBH8gA0EBagVBACECIAogBCAEKAKAAiIBakGAAiABayIBIAcQFyEDIARBADYCgAIgAyAJciEJIAEgCGohCCABIAdqIQdBAAshAyAAQQFrIgANAAsLIAtB4BJqIAQgBCgCgAIiAGogAiAAayIAIAcQFyEBIAQgBCgCgAIgAGo2AoACIAEgCXILIQAgBSAGKAIINgIAIAZBEGokACAAC7gBAQF/IwBBEGsiAiQAIAJCADcDACACQQA2AggCf0EKQYAsKAIARQ0AGiAAQQ9q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bXBsX2Vycm9yAG10ZV9zdGF0dXNfZHJiZ19lcnJvcgBtdGVfc3RhdHVzX2xpY2Vuc2VfZXJyb3IAbXRlX3ZlcmlmaWVyc19zZXEAbXRlX3N0YXR1c19kaWdlc3RfbWlzbWF0Y2gAbXRlX3N0YXR1c19zZXFfbWlzbWF0Y2gAbXRlX3N0YXR1c19jaGVja3N1bV9taXNtYXRjaABtdGVfZHJiZ3NfY3RyX2FlczI1Nl9kZgBtdGVfc3RhdHVzX3Vuc3VwcG9ydGVkAG10ZV9zdGF0dXNfb3V0cHV0X2luaGliaXRlZABtdGVfc3RhdHVzX2NpcGhlcl90ZXN0X2ZhaWxlZABtdGVfc3RhdHVzX2hhc2hfdGVzdF9mYWlsZWQAbXRlX3N0YXR1c19kcmJnX3NlZWRsaWZlX3JlYWNoZWQAbXRlX3N0YXR1c190aW1lX2FmdGVyX2V4Y2VlZGVkAG10ZV9zdGF0dXNfdGltZV9iZWZvcmVfZXhjZWVkZWQAbXRlX3N0YXR1c19kcmJnX2NhdGFzdHJvcGhpYwBLeWJlcjc2OABtdGVfaGFzaGVzX3NoYTI1NgBLeWJlcjEwMjQAS3liZXI1MTIAVGhlIHNlcXVlbmNlIG51bWJlciBpcyBvdXRzaWRlIHRoZSB3aW5kb3cuAE91dHB1dCBpcyBpbmhpYml0ZWQgZHVlIHRvIGFuIGVycm9yIHN0YXRlIG9yIHNlbGYtdGVzdC4AVGhlIG1lc3NhZ2Ugd2FzIHJlY2VpdmVkIHRvbyBsb25nIGFmdGVyIGl0IHdhcyBzZW50LgBUaGUgbWVzc2FnZSB3YXMgcmVjZWl2ZWQgdG9vIGxvbmcgYmVmb3JlIGl0IHdhcyBzZW50LgBObyBzdWNoIHRva2VuIGV4aXN0cy4ASW1wbGVtZW50YXRpb24gZXJyb3IuAEhhc2ggZGlnZXN0IG1pc21hdGNoLgBDaGVja3N1bSBtaXNtYXRjaC4AVGhlIHNlcXVlbmNlIG51bWJlciBoYXMgYWxyZWFkeSBiZWVuIHNlZW4gaW4gYXN5bmMgbW9kZS4AVGhlIGxpY2Vuc2Ugd2FzIG5vdCBzZXQgb3IgaXMgbm90IHZhbGlkLgBBbiBpbnB1dCB3YXMgbm90IHZhbGlkLgBBdHRlbXB0aW5nIHRvIHN5bmMgdXAgYSBzZXF1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AAmAAIAAAAAACgAAgAAAAACLgACAAAAAAIsAAAAAAACAiYAAAAAAAIADgAAAAAAAgAKAAAAAAACAgAAAAAAAAIAKgAAAAAAAAAoAAIAAAACAgYAAgAAAAICAgAAAAAAAgAEAAIAAAAAACIAAgAAAAIDtCAsKmgsUB9UFjgUfAcoAVgxuAikGtgDCA08IPwe8BT0C1AcIAX8BxAmyBb8GfwxYCvkD3AJgAvsGmwE0DN4GxwSMAtkK9wP0B9MF5wv5BgQC+QzBC2cKrwZ3CH4AvQWsCacM8gs+A2sAdAcKDEoJcwvBAx0HLArAAdgIpQIGCLIIrgErAksDHghnAw4GaQCmAUsCsQAWDN4LNQsmBnUGCwwKA4cEbgz4CcsFpwpfBMsGhAKZCV0BogFJAWUMtgwxA0kEWwJiAioF/AdIB4ABQgh5DMIEygeXCdwAXgiGBmAIBwcDCBoDGwerCZsJ3gGVDM0L5APfA74DTQfyBVwGpQYPB7QFQwkiCR0JNAFsACMLZgNWA+YF5wn+BPoFoQR7BqMEJQxqAzcFPwiIAL8EgQu5BQUF1wefCqYKuAjQCUsAnAC4C18LpAtoA30KNgaiCFoCNgcJA5MAegj3CfYAjAbbBswBIwHrAFAMtgpbC5gM8waaCeMEtgnWClMLTwT7BFwKKQRBC9UC5AVACY4BtwP3AI0FlgzDCQ8BWgBVA0QHgwyKBFIGmgJAAQgA/QoIBhoBLgcNBQoJKAJ1CjoIIwbNAGYLBgahCiUKCAmpAoIAQgZPBz0Dggv5Cy0FxApFB8IFsgQ/CUsM2AaTCqsANwziC3MHLAftBWcB9gKhBQBB8CsLAQE=";
887
+ }(AA)), AA;
888
+ }
889
+ var b = vA(), jA = Object.defineProperty, PA = (A, g, t) => g in A ? jA(A, g, { enumerable: !0, configurable: !0, writable: !0, value: t }) : A[g] = t, uA = (A, g, t) => (PA(A, typeof g != "symbol" ? g + "" : g, t), t);
890
+ function $A(A) {
891
+ let g = [];
892
+ return g.push(A.clientId), g.push(A.pairId), g.push(A.type === "MTE" ? 0 : 1), g.push(A.urlIsEncoded ? 1 : 0), g.push(A.headersAreEncoded ? 1 : 0), g.push(A.bodyIsEncoded ? 1 : 0), g.push(A.useStreaming ? 1 : 0), g.join(",");
893
+ }
894
+ function cA(A) {
895
+ const g = A.split(","), t = g[0], H = g[1], F = g[2] === "0" ? "MTE" : "MKE", N = g[3] === "1", k = g[4] === "1", R = g[5] === "1", p = g[6] === "1";
896
+ return {
897
+ type: F,
898
+ urlIsEncoded: N,
899
+ headersAreEncoded: k,
900
+ bodyIsEncoded: R,
901
+ clientId: t,
902
+ pairId: H,
903
+ useStreaming: p
904
+ };
905
+ }
906
+ async function AI(A, g) {
907
+ var t, H;
908
+ const F = [], N = new URL(A.url), k = (t = g.encodeUrl) != null ? t : !0;
909
+ if (k) {
910
+ const _ = N.pathname.slice(1) + N.search;
911
+ F.push({ data: _, output: "B64" });
912
+ }
913
+ const R = new Headers(A.headers), p = {};
914
+ let u = (H = g.encodeHeaders) != null ? H : !0;
915
+ if (u)
916
+ if (Array.isArray(g.encodeHeaders))
917
+ for (const _ of g.encodeHeaders) {
918
+ const q = A.headers.get(_);
919
+ q && (p[_] = q, R.delete(_));
920
+ }
921
+ else
922
+ for (const [_, q] of A.headers.entries())
923
+ p[_] = q, R.delete(_);
924
+ const J = A.headers.get("content-type");
925
+ if (J && (p["content-type"] = J), Object.keys(p).length > 0) {
926
+ u = !0;
927
+ const _ = JSON.stringify(p);
928
+ F.push({ data: _, output: "B64" });
929
+ } else
930
+ u = !1;
931
+ const U = new Uint8Array(await A.arrayBuffer());
932
+ let X = !1;
933
+ U.byteLength > 0 && (X = !0, F.push({ data: U, output: "Uint8Array" }));
934
+ const Z = await aI({
935
+ id: `encoder.${g.origin}.${g.pairId}`,
936
+ items: F,
937
+ type: g.type
938
+ });
939
+ let W = A.url;
940
+ if (k) {
941
+ const _ = encodeURIComponent(Z[0]);
942
+ W = N.origin + g.pathPrefix + "/" + _, Z.shift();
943
+ }
944
+ R.set(j, $A({
945
+ type: g.type,
946
+ urlIsEncoded: k,
947
+ headersAreEncoded: u,
948
+ bodyIsEncoded: X,
949
+ clientId: g.clientId,
950
+ pairId: g.pairId,
951
+ useStreaming: g.useStreaming
952
+ })), R.set("content-type", "application/octet-stream"), u && (R.set(mA, Z[0]), Z.shift());
953
+ let M = A.body ? U : null;
954
+ return X && (M = Z[0]), new Request(W, {
955
+ method: A.method,
956
+ headers: R,
957
+ body: M,
958
+ cache: "no-cache",
959
+ credentials: A.credentials
960
+ });
961
+ }
962
+ const yA = /* @__PURE__ */ new Map();
963
+ function T(A, g) {
964
+ yA.set(A, g);
965
+ }
966
+ function $(A) {
967
+ return yA.get(A);
968
+ }
969
+ function II(A) {
970
+ yA.delete(A);
971
+ }
972
+ function QA(A, g) {
973
+ T(YA(A), g);
974
+ }
975
+ function UA(A) {
976
+ return $(YA(A));
977
+ }
978
+ function YA(A) {
979
+ return `state:${A}`;
980
+ }
981
+ const FA = typeof window < "u" && window.localStorage;
982
+ function NA(A) {
983
+ const g = GA(A);
984
+ let t;
985
+ return t = $(g), !t && FA && (t = localStorage.getItem(g), t && T(g, t)), t;
986
+ }
987
+ function lA(A, g) {
988
+ const t = GA(A);
989
+ T(t, g), FA && localStorage.setItem(t, g);
990
+ }
991
+ function BI(A) {
992
+ const g = GA(A);
993
+ II(g), FA && localStorage.removeItem(g);
994
+ }
995
+ function GA(A) {
996
+ return `clientid:${A}`;
997
+ }
998
+ function LA(A) {
999
+ const g = MA(A);
1000
+ return $(g) || (T(g, "pending"), "validate");
1001
+ }
1002
+ function IA(A, g) {
1003
+ const t = MA(A);
1004
+ T(t, g);
1005
+ }
1006
+ function MA(A) {
1007
+ return `origin-status:${A}`;
1008
+ }
1009
+ function gI(A, g) {
1010
+ const t = hA(A), H = $(t) || [];
1011
+ H.push(g), T(t, H);
1012
+ }
1013
+ function QI(A) {
1014
+ const g = hA(A), t = $(g);
1015
+ if (!t)
1016
+ throw new Error(`No queue found for origin ${A}.`);
1017
+ const H = t.shift();
1018
+ if (!H)
1019
+ throw Error("No ID in queue.");
1020
+ return t.push(H), T(g, t), H;
1021
+ }
1022
+ function tI(A, g) {
1023
+ const t = hA(A), H = $(t);
1024
+ if (!H)
1025
+ throw new Error(`No queue found for origin ${A}.`);
1026
+ const F = H.indexOf(g);
1027
+ if (F === -1)
1028
+ throw new Error(`No pairId found for origin ${A}.`);
1029
+ H.splice(F, 1), T(t, H);
1030
+ }
1031
+ function iI(A) {
1032
+ const g = hA(A);
1033
+ T(g, []);
1034
+ }
1035
+ function hA(A) {
1036
+ return `pairids:${A}`;
1037
+ }
1038
+ const wA = {
1039
+ "Repair is required.": 559,
1040
+ "State not found.": 560,
1041
+ "Failed to encode.": 561,
1042
+ "Failed to decode.": 562,
1043
+ "Failed to get state from encoder or decoder.": 563,
1044
+ "DRBG reseed is required.": 564,
1045
+ "MTE Status was not successful.": 565,
1046
+ "Invalid Client ID header.": 566,
1047
+ "Failed to save decoder stateId.": 567,
1048
+ "Failed to save encoder stateId.": 568,
1049
+ "Missing required header": 569
1050
+ }, sI = new Set(Object.values(wA));
1051
+ class z extends Error {
1052
+ constructor(g, t) {
1053
+ super(g), uA(this, "status"), uA(this, "info"), this.status = wA[g], this.info = t;
1054
+ }
1055
+ static isMteErrorStatus(g) {
1056
+ return sI.has(g);
1057
+ }
1058
+ static getStatusErrorMessages(g) {
1059
+ const t = Object.entries(wA);
1060
+ for (const [H, F] of t)
1061
+ if (F === g)
1062
+ return H;
1063
+ }
1064
+ }
1065
+ const sA = [], EA = [], CA = [], eA = [];
1066
+ let BA = 2, gA = 5;
1067
+ function EI(A) {
1068
+ BA = A.mtePoolSize || BA, gA = A.mkePoolSize || gA;
1069
+ let g = 0;
1070
+ for (; g < BA; )
1071
+ ++g, sA.push(b.MteEnc.fromdefault(A.mteWasm)), EA.push(b.MteDec.fromdefault(A.mteWasm));
1072
+ for (g = 0; g < gA; )
1073
+ ++g, CA.push(b.MteMkeEnc.fromdefault(A.mteWasm)), eA.push(b.MteMkeDec.fromdefault(A.mteWasm, 1e3, -63));
1074
+ }
1075
+ function RA(A, g) {
1076
+ return A === "MTE" ? sA.pop() || b.MteEnc.fromdefault(g) : CA.pop() || b.MteMkeEnc.fromdefault(g);
1077
+ }
1078
+ function JA(A, g) {
1079
+ return A === "MTE" ? EA.pop() || b.MteDec.fromdefault(g) : eA.pop() || b.MteMkeDec.fromdefault(g, 1e3, -63);
1080
+ }
1081
+ function oA(A) {
1082
+ return A instanceof b.MteEnc ? sA.length < BA ? (A.uninstantiate(), sA.push(A)) : A.destruct() : CA.length < gA ? (A.uninstantiate(), CA.push(A)) : A.destruct();
1083
+ }
1084
+ function fA(A) {
1085
+ return A instanceof b.MteDec ? EA.length < BA ? (A.uninstantiate(), EA.push(A)) : A.destruct() : eA.length < gA ? (A.uninstantiate(), eA.push(A)) : A.destruct();
1086
+ }
1087
+ let K, _A = 0, aA = !1;
1088
+ async function CI(A) {
1089
+ if (K)
1090
+ return;
1091
+ K = new b.MteWasm(), await K.instantiate();
1092
+ const g = new b.MteBase(K);
1093
+ if (!g.initLicense(A.companyName, A.licenseKey)) {
1094
+ const k = b.MteStatus.mte_status_license_error, R = g.getStatusName(k), p = g.getStatusDescription(k);
1095
+ throw new Error(`Error with MTE License.
1096
+ ${R}: ${p}`);
1097
+ }
1098
+ EI({
1099
+ mteWasm: K,
1100
+ mkePoolSize: A.mkePoolSize,
1101
+ mtePoolSize: A.mtePoolSize
1102
+ });
1103
+ const t = RA("MKE", K);
1104
+ _A = t.encryptFinishBytes(), oA(t);
1105
+ const H = g.getDefaultDrbg(), F = g.getDrbgsEntropyMinBytes(H), N = g.getDrbgsEntropyMaxBytes(H);
1106
+ aA = F === 0 && N === 0, aA && console.warn(`------------------------------
1107
+ MTE Trial Build is detected! It offers no security guarantees. Do not run this in production!
1108
+ ------------------------------`);
1109
+ }
1110
+ async function eI(A) {
1111
+ const g = RA("MTE", K);
1112
+ g.setEntropyArr(aA ? new Uint8Array(0) : A.entropy), g.setNonce(A.nonce);
1113
+ const t = g.instantiate(A.personalization);
1114
+ P(t, g);
1115
+ const H = tA(g);
1116
+ oA(g), await QA(`encoder.${A.origin}.${A.pairId}`, H), gI(A.origin, A.pairId);
1117
+ }
1118
+ async function oI(A) {
1119
+ const g = JA("MTE", K);
1120
+ g.setEntropyArr(aA ? new Uint8Array(0) : A.entropy), g.setNonce(A.nonce);
1121
+ const t = g.instantiate(A.personalization);
1122
+ P(t, g);
1123
+ const H = tA(g);
1124
+ fA(g), await QA(`decoder.${A.origin}.${A.pairId}`, H);
1125
+ }
1126
+ async function aI(A) {
1127
+ const g = await UA(A.id);
1128
+ if (!g)
1129
+ throw new z("State not found.", {
1130
+ stateId: A.id
1131
+ });
1132
+ const t = RA(A.type, K);
1133
+ if (DA(t, g), A.type === "MKE") {
1134
+ let F = 0, N = 0;
1135
+ const k = A.items.length;
1136
+ for (; N < k; ++N)
1137
+ F = t.encodeStr("").status;
1138
+ P(F, t);
1139
+ const R = tA(t);
1140
+ await QA(A.id, R), DA(t, g);
1141
+ }
1142
+ let H = [];
1143
+ try {
1144
+ for (const F of A.items) {
1145
+ let N;
1146
+ F.data instanceof Uint8Array ? F.output === "Uint8Array" ? N = t.encode(F.data) : N = t.encodeB64(F.data) : F.output === "Uint8Array" ? N = t.encodeStr(F.data) : N = t.encodeStrB64(F.data), P(N.status, t), H.push("str" in N ? N.str : N.arr);
1147
+ }
1148
+ } catch (F) {
1149
+ throw oA(t), new z("Failed to encode.", {
1150
+ stateId: A.id,
1151
+ error: F.message
1152
+ });
1153
+ }
1154
+ if (A.type === "MTE") {
1155
+ const F = tA(t);
1156
+ await QA(A.id, F);
1157
+ }
1158
+ return oA(t), H;
1159
+ }
1160
+ async function cI(A) {
1161
+ const g = await UA(A.id);
1162
+ if (!g)
1163
+ throw new z("State not found.", {
1164
+ stateId: A.id
1165
+ });
1166
+ const t = JA(A.type, K);
1167
+ DA(t, g), hI(t);
1168
+ const H = [];
1169
+ try {
1170
+ for (const N of A.items) {
1171
+ if (N.data.length === _A && A.type === "MKE")
1172
+ continue;
1173
+ let k;
1174
+ N.data instanceof Uint8Array ? N.output === "Uint8Array" ? k = t.decode(N.data) : k = t.decodeStr(N.data) : N.output === "Uint8Array" ? k = t.decodeB64(N.data) : k = t.decodeStrB64(N.data), P(k.status, t), H.push("str" in k ? k.str : k.arr);
1175
+ }
1176
+ } catch (N) {
1177
+ throw fA(t), new z("Failed to decode.", {
1178
+ stateId: A.id,
1179
+ error: N.message
1180
+ });
1181
+ }
1182
+ const F = tA(t);
1183
+ return fA(t), await QA(A.id, F), H;
1184
+ }
1185
+ function P(A, g) {
1186
+ if (A !== b.MteStatus.mte_status_success && g.statusIsError(A)) {
1187
+ const t = g.getStatusName(A), H = g.getStatusDescription(A);
1188
+ throw new z("MTE Status was not successful.", {
1189
+ statusName: t,
1190
+ description: H
1191
+ });
1192
+ }
1193
+ }
1194
+ function tA(A) {
1195
+ const g = A.saveStateB64();
1196
+ if (!g)
1197
+ throw new z("Failed to get state from encoder or decoder.");
1198
+ return g;
1199
+ }
1200
+ function DA(A, g) {
1201
+ const t = A.restoreStateB64(g);
1202
+ P(t, A);
1203
+ }
1204
+ function hI(A) {
1205
+ const g = A.getDrbg(), t = Number(String(A.getDrbgsReseedInterval(g)).substring(0, 15));
1206
+ if (Number(String(A.getReseedCounter()).substring(0, 15)) / t > 0.9)
1207
+ throw new z("DRBG reseed is required.");
1208
+ }
1209
+ function pA() {
1210
+ const A = new b.MteKyber(K, b.MteKyberStrength.K512), g = A.createKeypair();
1211
+ if (g.status !== b.MteKyberStatus.success)
1212
+ throw new Error("Initiator: Failed to create the key pair.");
1213
+ const t = nI(g.result1);
1214
+ function H(F) {
1215
+ const N = rI(F), k = A.decryptSecret(N);
1216
+ if (k.status !== b.MteKyberStatus.success)
1217
+ throw new Error("Failed to decrypt the secret.");
1218
+ return k.result1;
1219
+ }
1220
+ return {
1221
+ publicKey: t,
1222
+ decryptSecret: H
1223
+ };
1224
+ }
1225
+ function nI(A) {
1226
+ return typeof window < "u" ? btoa(String.fromCharCode.apply(null, A)) : Buffer.from(A).toString("base64");
1227
+ }
1228
+ function rI(A) {
1229
+ if (typeof window < "u") {
1230
+ const g = atob(A), t = g.length, H = new Uint8Array(t);
1231
+ for (let F = 0; F < t; F++)
1232
+ H[F] = g.charCodeAt(F);
1233
+ return H;
1234
+ }
1235
+ return new Uint8Array(Buffer.from(A, "base64"));
1236
+ }
1237
+ const mA = "x-mte-relay-eh", j = "x-mte-relay", zA = "y4FKMvJhR02Q8gLG7l1rOjH9oXTdpBbPWZfnexzmaSNcwCtsDqUui6AEk3V5yI", dI = zA.length;
1238
+ function dA() {
1239
+ let A = "", g = 0;
1240
+ for (; g < 36; ++g)
1241
+ A += zA.charAt(Math.floor(Math.random() * dI));
1242
+ return A;
1243
+ }
1244
+ async function wI(A, g) {
1245
+ const t = A.headers.get("x-mte-relay");
1246
+ if (!t)
1247
+ throw new z("Missing required header", {
1248
+ "missing-header": "x-mte-relay"
1249
+ });
1250
+ const H = cA(t), F = [];
1251
+ if (H.headersAreEncoded) {
1252
+ const p = A.headers.get(mA);
1253
+ p && F.push({ data: p, output: "str" });
1254
+ }
1255
+ if (H.bodyIsEncoded && A.body) {
1256
+ const p = new Uint8Array(await A.arrayBuffer());
1257
+ F.push({ data: p, output: "Uint8Array" });
1258
+ }
1259
+ const N = await cI({
1260
+ id: g.decoderId,
1261
+ items: F,
1262
+ type: H.type
1263
+ }), k = new Headers(A.headers);
1264
+ if (H.headersAreEncoded) {
1265
+ k.delete(mA);
1266
+ const p = JSON.parse(N[0]);
1267
+ for (const u of Object.entries(p))
1268
+ k.set(u[0], u[1]);
1269
+ N.shift();
1270
+ }
1271
+ let R;
1272
+ return H.bodyIsEncoded && (R = N[0]), new Response(R, {
1273
+ headers: k,
1274
+ status: A.status,
1275
+ statusText: A.statusText
1276
+ });
1277
+ }
1278
+ let bA = 5, ZA = "MKE", XA = !0, xA = !0, nA = "";
1279
+ async function fI(A) {
1280
+ A.numberOfPairs && (bA = A.numberOfPairs), A.encodeType && (ZA = A.encodeType), A.encodeUrls !== void 0 && (XA = A.encodeUrls), A.encodeHeaders !== void 0 && (xA = A.encodeHeaders), A.pathPrefix && (nA = A.pathPrefix), await CI({
1281
+ licenseKey: A.licenseKey,
1282
+ companyName: A.licenseCompany,
1283
+ mkePoolSize: A.mkePoolSize,
1284
+ mtePoolSize: A.mtePoolSize
1285
+ });
1286
+ }
1287
+ async function HI(A, g, t) {
1288
+ return await HA(A, g, t);
1289
+ }
1290
+ async function HA(A, g, t, H) {
1291
+ var F, N, k, R;
1292
+ let p = "", u = "";
1293
+ try {
1294
+ let J;
1295
+ A instanceof Request ? J = A : J = new Request(A, g), u = new URL(J.url).origin;
1296
+ let U = await LA(u);
1297
+ const X = {
1298
+ encodeUrl: (F = t == null ? void 0 : t.encodeUrl) != null ? F : XA,
1299
+ encodeHeaders: (N = t == null ? void 0 : t.encodeHeaders) != null ? N : xA,
1300
+ encodeType: (t == null ? void 0 : t.encodeType) || ZA,
1301
+ useStreaming: (k = t == null ? void 0 : t.useStreaming) != null ? k : !0,
1302
+ pathPrefix: (R = t == null ? void 0 : t.pathPrefix) != null ? R : nA
1303
+ };
1304
+ if (U === "validate" || H != null && H.revalidateServer) {
1305
+ try {
1306
+ U = await DI(u);
1307
+ } catch (L) {
1308
+ throw z.isMteErrorStatus(L.status) ? new z(z.getStatusErrorMessages(L.status)) : (IA(u, "invalid"), new Error("Origin is not an MTE Relay server."));
1309
+ }
1310
+ await qA(u).catch((L) => {
1311
+ throw IA(u, "invalid"), L;
1312
+ }), U = "paired", IA(u, U);
1313
+ }
1314
+ if (U === "pending") {
1315
+ for (let L = 1; L < 20 && (await mI(L * 100), U = await LA(u), U !== "paired"); ++L)
1316
+ if (U === "invalid")
1317
+ throw new Error("Origin status is invalid.");
1318
+ if (U !== "paired")
1319
+ throw new Error("Origin is not paired.");
1320
+ }
1321
+ if (U === "invalid")
1322
+ throw new Error("Origin is not an MTE Relay server.");
1323
+ const Z = NA(u);
1324
+ if (!Z)
1325
+ throw new Error("Origin is missing ClientId");
1326
+ p = await QI(u);
1327
+ const W = await AI(J, {
1328
+ pairId: p,
1329
+ type: X.encodeType,
1330
+ origin: u,
1331
+ clientId: Z,
1332
+ encodeUrl: X.encodeUrl,
1333
+ encodeHeaders: X.encodeHeaders,
1334
+ useStreaming: X.useStreaming,
1335
+ pathPrefix: X.pathPrefix
1336
+ });
1337
+ let M = await fetch(W);
1338
+ if (!M.ok && z.isMteErrorStatus(M.status)) {
1339
+ const L = z.getStatusErrorMessages(M.status);
1340
+ if (L)
1341
+ throw new z(L);
1342
+ }
1343
+ if (M.redirected)
1344
+ return M;
1345
+ const _ = M.headers.get(j);
1346
+ if (!_)
1347
+ throw new Error("Origin is not an MTE Relay server.");
1348
+ const q = cA(_);
1349
+ if (!q.clientId)
1350
+ throw new Error("Response is missing clientId header");
1351
+ return lA(u, q.clientId), await wI(M, {
1352
+ decoderId: `decoder.${u}.${q.pairId}`
1353
+ });
1354
+ } catch (J) {
1355
+ if (J instanceof z) {
1356
+ if (J.status === 566 || J.status === 560) {
1357
+ if (IA(u, "pending"), BI(u), iI(u), H != null && H.isLastAttempt)
1358
+ throw new Error("Origin is not an MTE Relay server.");
1359
+ return await HA(A, g, t, {
1360
+ revalidateServer: !0,
1361
+ isLastAttempt: !0
1362
+ });
1363
+ }
1364
+ if (tI(u, p), qA(u, 1), !(H != null && H.isLastAttempt))
1365
+ return await HA(A, g, t, {
1366
+ isLastAttempt: !0
1367
+ });
1368
+ }
1369
+ throw J instanceof Error ? J : Error("An unknown error occurred.", {
1370
+ cause: J
1371
+ });
1372
+ }
1373
+ }
1374
+ async function DI(A) {
1375
+ const g = new Headers(), t = NA(A);
1376
+ t && g.set(j, t);
1377
+ const H = await fetch(A + nA + "/api/mte-relay", {
1378
+ method: "HEAD",
1379
+ headers: g
1380
+ });
1381
+ if (z.isMteErrorStatus(H.status))
1382
+ throw new z(z.getStatusErrorMessages(H.status));
1383
+ if (!H.ok)
1384
+ throw new Error("Origin is not an MTE Relay origin. Response not ok.");
1385
+ const F = H.headers.get(j);
1386
+ if (!F)
1387
+ throw new Error("Origin is not an MTE Relay origin. Response missing header.");
1388
+ const N = cA(F);
1389
+ if (!N.clientId)
1390
+ throw new Error("Response is missing clientId from header. Response missing ClientId.");
1391
+ return lA(A, N.clientId), IA(A, "pending"), "pending";
1392
+ }
1393
+ async function qA(A, g) {
1394
+ const t = NA(A);
1395
+ if (!t)
1396
+ throw new Error("Client ID is not set.");
1397
+ const H = [], F = [];
1398
+ let N = 0;
1399
+ const k = g || bA;
1400
+ for (; N < k; ++N) {
1401
+ const Z = dA(), W = dA(), M = pA(), _ = dA(), q = pA();
1402
+ H.push({
1403
+ pairId: Z,
1404
+ encoderPersonalizationStr: W,
1405
+ encoderPublicKey: M.publicKey,
1406
+ decoderPersonalizationStr: _,
1407
+ decoderPublicKey: q.publicKey
1408
+ }), F.push({ encoderKyber: M, decoderKyber: q });
1409
+ }
1410
+ const R = await fetch(A + nA + "/api/mte-pair", {
1411
+ headers: {
1412
+ [j]: t,
1413
+ "Content-Type": "application/json"
1414
+ },
1415
+ method: "POST",
1416
+ body: JSON.stringify(H)
1417
+ });
1418
+ if (!R.ok)
1419
+ throw new Error("Failed to pair with server MTE Translator. Response not ok.");
1420
+ const p = R.headers.get(j);
1421
+ if (!p)
1422
+ throw new Error(`Response is missing header: ${j}`);
1423
+ const u = cA(p);
1424
+ lA(A, u.clientId);
1425
+ const J = await R.json();
1426
+ let U = 0;
1427
+ const X = J.length;
1428
+ for (; U < X; ++U) {
1429
+ const Z = F[U], W = H[U], M = J[U], _ = Z.encoderKyber.decryptSecret(M.decoderSecret), q = Z.decoderKyber.decryptSecret(M.encoderSecret);
1430
+ await eI({
1431
+ origin: A,
1432
+ entropy: _,
1433
+ nonce: M.decoderNonce,
1434
+ personalization: W.encoderPersonalizationStr,
1435
+ pairId: M.pairId
1436
+ }), await oI({
1437
+ entropy: q,
1438
+ nonce: M.encoderNonce,
1439
+ personalization: W.decoderPersonalizationStr,
1440
+ origin: A,
1441
+ pairId: M.pairId
1442
+ });
1443
+ }
1444
+ }
1445
+ function mI(A) {
1446
+ return new Promise((g) => setTimeout(g, A));
1447
+ }
1448
+ fI({
1449
+ licenseCompany: "Eclypses Inc",
1450
+ licenseKey: "9eHOohOm/GwY01xbvNTL9B+1"
1451
+ });
1452
+ export {
1453
+ HI as mteFetch
1454
+ };