From 95731da4260ebbccf36d949c34b27ca7fd0777ef Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Tue, 27 May 2025 17:16:43 -0300 Subject: [PATCH 01/13] test: chacha --- bun.lock | 6 +- example/src/hooks/useTestsList.ts | 1 + example/src/tests/cipher/chacha_tests.ts | 300 +++++++++++++++ example/src/tests/cipher/cipher_tests.ts | 343 +++++++----------- example/src/tests/cipher/roundTrip.ts | 99 +++++ .../react-native-quick-crypto/src/cipher.ts | 1 + 6 files changed, 529 insertions(+), 221 deletions(-) create mode 100644 example/src/tests/cipher/chacha_tests.ts create mode 100644 example/src/tests/cipher/roundTrip.ts diff --git a/bun.lock b/bun.lock index 903fe945..4c230c97 100644 --- a/bun.lock +++ b/bun.lock @@ -21,7 +21,7 @@ }, "example": { "name": "react-native-quick-crypto-example", - "version": "1.0.0-beta.15", + "version": "1.0.0-beta.16", "dependencies": { "@craftzdog/react-native-buffer": "6.0.5", "@noble/ciphers": "^1.3.0", @@ -40,7 +40,7 @@ "react-native-bouncy-checkbox": "4.1.2", "react-native-nitro-modules": "0.25.2", "react-native-quick-base64": "2.1.2", - "react-native-quick-crypto": "1.0.0-beta.15", + "react-native-quick-crypto": "1.0.0-beta.16", "react-native-safe-area-context": "5.1.0", "react-native-screens": "3.35.0", "react-native-vector-icons": "^10.1.0", @@ -74,7 +74,7 @@ }, "packages/react-native-quick-crypto": { "name": "react-native-quick-crypto", - "version": "1.0.0-beta.15", + "version": "1.0.0-beta.16", "dependencies": { "@craftzdog/react-native-buffer": "6.0.5", "events": "3.3.0", diff --git a/example/src/hooks/useTestsList.ts b/example/src/hooks/useTestsList.ts index a1766313..67efee07 100644 --- a/example/src/hooks/useTestsList.ts +++ b/example/src/hooks/useTestsList.ts @@ -3,6 +3,7 @@ import type { TestSuites } from '../types/tests'; import { TestsContext } from '../tests/util'; import '../tests/cipher/cipher_tests'; +import '../tests/cipher/chacha_tests'; import '../tests/ed25519/ed25519_tests'; import '../tests/hash/hash_tests'; import '../tests/hmac/hmac_tests'; diff --git a/example/src/tests/cipher/chacha_tests.ts b/example/src/tests/cipher/chacha_tests.ts new file mode 100644 index 00000000..49bc4379 --- /dev/null +++ b/example/src/tests/cipher/chacha_tests.ts @@ -0,0 +1,300 @@ +/** + * ChaCha20 and ChaCha20-Poly1305 tests + * + * Test vectors from IETF RFC 7539 and draft-irtf-cfrg-chacha20-poly1305-03 + * @see https://github.com/calvinmetcalf/chacha20poly1305/blob/master/test/chacha20.js + * @see https://datatracker.ietf.org/doc/html/rfc7539 + */ + +import { Buffer } from '@craftzdog/react-native-buffer'; +import { createCipheriv } from 'react-native-quick-crypto'; +import { expect } from 'chai'; +import { test } from '../util'; +import { roundTrip, roundTripAuth } from './roundTrip'; + +const SUITE = 'cipher'; + +function fromHex(h: string) { + h = h.replace(/([^0-9a-f])/g, ''); + return Buffer.from(h, 'hex'); +} + +interface ChaCha20TestVector { + key: string; + nonce: string; + counter?: number; + plaintext?: string; + expected: string; +} + +interface ChaCha20Poly1305TestVector { + key: string; + nonce: string; + plaintext: string; + aad: string; + tag: string; + expected: string; +} + +// Test vectors from RFC 7539 and other sources +const testVectors = { + rfc7539_vector1: { + key: '00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f:10:11:12:13:14:15:16:17:18:19:1a:1b:1c:1d:1e:1f', + nonce: '00:00:00:00:00:00:00:4a:00:00:00:00', + counter: 1, + plaintext: + // Ladies and Gentlemen of the class of '99: If I could offer you only one tip for the future, sunscreen would be it. + '4c 61 64 69 65 73 20 61 6e 64 20 47 65 6e 74 6c' + + '65 6d 65 6e 20 6f 66 20 74 68 65 20 63 6c 61 73' + + '73 20 6f 66 20 27 39 39 3a 20 49 66 20 49 20 63' + + '6f 75 6c 64 20 6f 66 66 65 72 20 79 6f 75 20 6f' + + '6e 6c 79 20 6f 6e 65 20 74 69 70 20 66 6f 72 20' + + '74 68 65 20 66 75 74 75 72 65 2c 20 73 75 6e 73' + + '63 72 65 65 6e 20 77 6f 75 6c 64 20 62 65 20 69' + + '74 2e', + expected: + '6e 2e 35 9a 25 68 f9 80 41 ba 07 28 dd 0d 69 81' + + 'e9 7e 7a ec 1d 43 60 c2 0a 27 af cc fd 9f ae 0b' + + 'f9 1b 65 c5 52 47 33 ab 8f 59 3d ab cd 62 b3 57' + + '16 39 d6 24 e6 51 52 ab 8f 53 0c 35 9f 08 61 d8' + + '07 ca 0d bf 50 0d 6a 61 56 a3 8e 08 8a 22 b6 5e' + + '52 bc 51 4d 16 cc f8 06 81 8c e9 1a b7 79 37 36' + + '5a f9 0b bf 74 a3 5b e6 b4 0b 8e ed f2 78 5e 42' + + '87 4d', + } as ChaCha20TestVector, + rfc7539_vector2: { + key: + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' + + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00', + nonce: '00 00 00 00 00 00 00 00 00 00 00 00', + counter: 0, + plaintext: + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' + + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' + + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' + + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00', + expected: + '76 b8 e0 ad a0 f1 3d 90 40 5d 6a e5 53 86 bd 28' + + 'bd d2 19 b8 a0 8d ed 1a a8 36 ef cc 8b 77 0d c7' + + 'da 41 59 7c 51 57 48 8d 77 24 e0 3f b8 d8 4a 37' + + '6a 43 b8 f4 15 18 a1 1c c3 87 b6 69 b2 ee 65 86', + } as ChaCha20TestVector, + rfc7539_vector3: { + key: + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ' + + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01', + nonce: '00 00 00 00 00 00 00 00 00 00 00 00', + plaintext: + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' + + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' + + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' + + '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00', + expected: + '45 40 f0 5a 9f 1f b2 96 d7 73 6e 7b 20 8e 3c 96 ' + + 'eb 4f e1 83 46 88 d2 60 4f 45 09 52 ed 43 2d 41 ' + + 'bb e2 a0 b6 ea 75 66 d2 a5 d1 e7 e2 0d 42 af 2c ' + + '53 d7 92 b1 c4 3f ea 81 7e 9a d2 75 ae 54 69 63', + } as ChaCha20TestVector, + poly1305_vector1: { + key: + '80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f ' + + '90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f', + nonce: '07 00 00 00 40 41 42 43 44 45 46 47', + plaintext: + '4c 61 64 69 65 73 20 61 6e 64 20 47 65 6e 74 6c' + + '65 6d 65 6e 20 6f 66 20 74 68 65 20 63 6c 61 73' + + '73 20 6f 66 20 27 39 39 3a 20 49 66 20 49 20 63' + + '6f 75 6c 64 20 6f 66 66 65 72 20 79 6f 75 20 6f' + + '6e 6c 79 20 6f 6e 65 20 74 69 70 20 66 6f 72 20' + + '74 68 65 20 66 75 74 75 72 65 2c 20 73 75 6e 73' + + '63 72 65 65 6e 20 77 6f 75 6c 64 20 62 65 20 69' + + '74 2e', + aad: '50 51 52 53 c0 c1 c2 c3 c4 c5 c6 c7', + expected: + 'd3 1a 8d 34 64 8e 60 db 7b 86 af bc 53 ef 7e c2 ' + + 'a4 ad ed 51 29 6e 08 fe a9 e2 b5 a7 36 ee 62 d6 ' + + '3d be a4 5e 8c a9 67 12 82 fa fb 69 da 92 72 8b ' + + '1a 71 de 0a 9e 06 0b 29 05 d6 a5 b6 7e cd 3b 36 ' + + '92 dd bd 7f 2d 77 8b 8c 98 03 ae e3 28 09 1b 58 ' + + 'fa b3 24 e4 fa d6 75 94 55 85 80 8b 48 31 d7 bc ' + + '3f f4 de f0 8e 4b 7a 9d e5 76 d2 65 86 ce c6 4b' + + '61 16', + tag: '1a e1 0b 59 4f 09 e2 6a 7e 90 2e cb d0 60 06 91', + } as ChaCha20Poly1305TestVector, +}; + +function testChaCha20Vector(vector: ChaCha20TestVector, description: string) { + test(SUITE, `chacha20 ${description}`, () => { + const key = fromHex(vector.key); + const originalNonce = fromHex(vector.nonce); + const plaintext = fromHex(vector.plaintext || '00'); + const expected = fromHex(vector.expected); + + // For OpenSSL ChaCha20, we need to construct a 128-bit IV: + // [64-bit counter (little-endian)] + [64-bit nonce] + const counter = vector.counter || 0; + const iv = Buffer.alloc(16); // 128 bits + + // Write counter as little-endian 64-bit integer in first 8 bytes + iv.writeUInt32LE(counter, 0); + iv.writeUInt32LE(0, 4); // High 32 bits of counter + + // Copy the last 8 bytes of the original nonce to complete the IV + // RFC 7539 nonce is 12 bytes, we need the last 8 bytes + originalNonce.copy(iv, 8, 4, 12); + + roundTrip('chacha20', key, iv, plaintext); + + const cipher = createCipheriv('chacha20', key, iv); + const actual = Buffer.concat([cipher.update(plaintext), cipher.final()]); + + expect(actual).to.deep.equal(expected); + }); +} + +testChaCha20Vector(testVectors.rfc7539_vector1, 'rfc7539 test vector 1'); +testChaCha20Vector(testVectors.rfc7539_vector2, 'rfc7539 test vector 2'); +testChaCha20Vector(testVectors.rfc7539_vector3, 'rfc7539 test vector 3'); + +function testChaCha20Poly1305Vector( + vector: ChaCha20Poly1305TestVector, + description: string, +) { + test(SUITE, `chacha20-poly1305 ${description}`, () => { + const key = fromHex(vector.key); + const nonce = fromHex(vector.nonce); + const plaintext = fromHex(vector.plaintext); + const aad = fromHex(vector.aad); + const expectedCiphertext = fromHex(vector.expected); + const expectedTag = fromHex(vector.tag); + + // First test round trip + roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); + + // Then test against expected values + const cipher = createCipheriv('chacha20-poly1305', key, nonce); + cipher.setAAD(aad); + const encrypted = Buffer.concat([cipher.update(plaintext), cipher.final()]); + + // // For ChaCha20-Poly1305, the tag is appended to the ciphertext + const actualTag = encrypted.subarray(encrypted.length - 16); + const actualCiphertext = encrypted.subarray(0, encrypted.length - 16); + + expect(actualCiphertext).to.deep.equal(expectedCiphertext); + expect(actualTag).to.deep.equal(expectedTag); + }); +} + +testChaCha20Poly1305Vector( + testVectors.poly1305_vector1, + 'rfc7539 test vector 1', +); + +// Additional ChaCha20-Poly1305 test vectors with different scenarios +test(SUITE, 'chacha20-poly1305 empty plaintext', () => { + const key = Buffer.from( + '0000000000000000000000000000000000000000000000000000000000000000', + 'hex', + ); + const nonce = Buffer.from('000000000000000000000000', 'hex'); + const plaintext = Buffer.alloc(0); + const aad = Buffer.from('00000000000000000000000000000000', 'hex'); + + roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); +}); + +test(SUITE, 'chacha20-poly1305 no aad', () => { + const key = Buffer.from( + '0000000000000000000000000000000000000000000000000000000000000000', + 'hex', + ); + const nonce = Buffer.from('000000000000000000000000', 'hex'); + const plaintext = Buffer.from('00000000000000000000000000000000', 'hex'); + + roundTripAuth('chacha20-poly1305', key, nonce, plaintext); +}); + +test(SUITE, 'chacha20-poly1305 large plaintext', () => { + const key = Buffer.from( + '0000000000000000000000000000000000000000000000000000000000000000', + 'hex', + ); + const nonce = Buffer.from('000000000000000000000000', 'hex'); + const plaintext = Buffer.alloc(1024, 0x42); // 1KB of 0x42 + const aad = Buffer.from('additional authenticated data', 'utf8'); + + roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); +}); + +// Test different tag lengths for ChaCha20-Poly1305 +test(SUITE, 'chacha20-poly1305 custom tag length', () => { + const key = Buffer.from( + '0000000000000000000000000000000000000000000000000000000000000000', + 'hex', + ); + const nonce = Buffer.from('000000000000000000000000', 'hex'); + const plaintext = Buffer.from('Hello, ChaCha20-Poly1305!', 'utf8'); + const aad = Buffer.from('test aad', 'utf8'); + + // Test with 12-byte tag + roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad, 12); + + // Test with 8-byte tag + roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad, 8); +}); + +// ChaCha20 edge cases +test(SUITE, 'chacha20 empty plaintext', () => { + const key = Buffer.from( + '0000000000000000000000000000000000000000000000000000000000000000', + 'hex', + ); + const nonce = Buffer.from('000000000000000000000000', 'hex'); + const plaintext = Buffer.alloc(0); + + roundTrip('chacha20', key, nonce, plaintext); +}); + +test(SUITE, 'chacha20 single byte', () => { + const key = Buffer.from( + '0000000000000000000000000000000000000000000000000000000000000000', + 'hex', + ); + const nonce = Buffer.from('000000000000000000000000', 'hex'); + const plaintext = Buffer.from([0x42]); + + roundTrip('chacha20', key, nonce, plaintext); +}); + +test(SUITE, 'chacha20 large plaintext', () => { + const key = Buffer.from( + '0000000000000000000000000000000000000000000000000000000000000000', + 'hex', + ); + const nonce = Buffer.from('000000000000000000000000', 'hex'); + const plaintext = Buffer.alloc(4096, 0x55); // 4KB of 0x55 + + roundTrip('chacha20', key, nonce, plaintext); +}); + +// Test with different nonce formats (96-bit vs 64-bit + counter) +test(SUITE, 'chacha20 different nonce sizes', () => { + const key = Buffer.from( + '0000000000000000000000000000000000000000000000000000000000000000', + 'hex', + ); + const plaintext = Buffer.from('test message', 'utf8'); + + // 96-bit nonce (IETF ChaCha20) + const nonce96 = Buffer.from('000000000000000000000000', 'hex'); + roundTrip('chacha20', key, nonce96, plaintext); + + // 64-bit nonce (original ChaCha20) - if supported + try { + const nonce64 = Buffer.from('0000000000000000', 'hex'); + roundTrip('chacha20', key, nonce64, plaintext); + } catch { + // Some implementations only support 96-bit nonces + console.log('64-bit nonce not supported, skipping'); + } +}); diff --git a/example/src/tests/cipher/cipher_tests.ts b/example/src/tests/cipher/cipher_tests.ts index 47838a4a..77e32158 100644 --- a/example/src/tests/cipher/cipher_tests.ts +++ b/example/src/tests/cipher/cipher_tests.ts @@ -1,218 +1,125 @@ -import { Buffer } from '@craftzdog/react-native-buffer'; -import { - getCiphers, - createCipheriv, - createDecipheriv, - randomFillSync, - xsalsa20, - type Cipher, - type Decipher, -} from 'react-native-quick-crypto'; -import { expect } from 'chai'; -import { test } from '../util'; - -const SUITE = 'cipher'; - -// --- Constants and Test Data --- -const key16 = Buffer.from('a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', 'hex'); -const key32 = Buffer.from( - 'a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', - 'hex', -); -const iv16 = randomFillSync(new Uint8Array(16)); -const iv12 = randomFillSync(new Uint8Array(12)); // Common IV size for GCM/CCM/OCB -const iv = Buffer.from(iv16); -const aad = Buffer.from('Additional Authenticated Data'); -const plaintext = 'abcdefghijklmnopqrstuvwxyz'; -const plaintextBuffer = Buffer.from(plaintext); - -// --- Helper Functions --- -// Helper for testing authenticated modes (GCM, CCM, OCB, Poly1305, SIV) -function roundTripAuth( - cipherName: string, - key: Buffer, - iv: Buffer, - plaintext: Buffer, - aad?: Buffer, - tagLength?: number, // Usually 16 for these modes -) { - let tag: Buffer | null = null; - const isChaChaPoly = cipherName.toLowerCase() === 'chacha20-poly1305'; // Exact match - const isCCM = cipherName.includes('CCM'); - - // Encrypt - const cipher: Cipher | null = createCipheriv(cipherName, key, iv, { - authTagLength: tagLength, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - } as any); - if (aad) { - const options = isCCM ? { plaintextLength: plaintext.length } : undefined; - cipher.setAAD(aad, options); // Pass plaintextLength for CCM - } - const encryptedPart1: Buffer = cipher.update(plaintext) as Buffer; - const encryptedPart2: Buffer = cipher.final() as Buffer; - let encrypted = Buffer.concat([encryptedPart1, encryptedPart2]); - - if (!isChaChaPoly) { - // ChaChaPoly implicitly includes tag in final output - tag = cipher.getAuthTag() as Buffer; - } else { - // For ChaChaPoly, extract tag from the end of ciphertext - const expectedTagLength = tagLength ?? 16; - tag = encrypted.subarray(encrypted.length - expectedTagLength); - encrypted = encrypted.subarray(0, encrypted.length - expectedTagLength); - } - - // Keep original encrypted buffer for ChaChaPoly decryption - const originalEncryptedForChaCha = isChaChaPoly - ? Buffer.concat([encryptedPart1, encryptedPart2]) - : null; - - // Decrypt - const decipher: Decipher | null = createDecipheriv(cipherName, key, iv, { - authTagLength: tagLength, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - } as any); - if (aad) { - const options = isCCM ? { plaintextLength: plaintext.length } : undefined; - decipher.setAAD(aad, options); // Pass plaintextLength for CCM - } - // Do not set AuthTag explicitly for ChaChaPoly - if (!isChaChaPoly) { - decipher.setAuthTag(tag); - } - - // For ChaChaPoly, pass the original buffer with tag appended - const bufferToDecrypt = isChaChaPoly - ? originalEncryptedForChaCha! - : encrypted; - const decryptedPart1: Buffer = decipher.update(bufferToDecrypt) as Buffer; - const decryptedPart2: Buffer = decipher.final() as Buffer; // Final verifies tag for ChaChaPoly - const decrypted = Buffer.concat([decryptedPart1, decryptedPart2]); - - // Verify - expect(decrypted).eql(plaintext); -} - -// Helper for non-authenticated modes -function roundTrip( - cipherName: string, - key: Buffer | string, - iv: Buffer | string, - plaintext: Buffer, -) { - // Encrypt - const cipher: Cipher | null = createCipheriv(cipherName, key, iv); - const encryptedPart1: Buffer = cipher.update(plaintext) as Buffer; - const encryptedPart2: Buffer = cipher.final() as Buffer; - const encrypted = Buffer.concat([encryptedPart1, encryptedPart2]); - - // Decrypt - const decipher: Decipher | null = createDecipheriv(cipherName, key, iv); - const decryptedPart1: Buffer = decipher.update(encrypted) as Buffer; - const decryptedPart2: Buffer = decipher.final() as Buffer; - const decrypted = Buffer.concat([decryptedPart1, decryptedPart2]); - - // Verify - expect(decrypted).eql(plaintext); // Use Chai's eql for deep equality -} - -// --- Tests --- -test(SUITE, 'valid algorithm', () => { - expect(() => { - createCipheriv('aes-128-cbc', Buffer.alloc(16), Buffer.alloc(16), {}); - }).to.not.throw(); -}); - -test(SUITE, 'invalid algorithm', () => { - expect(() => { - createCipheriv('aes-128-boorad', Buffer.alloc(16), Buffer.alloc(16), {}); - }).to.throw('Unsupported or unknown cipher type: aes-128-boorad'); -}); - -test(SUITE, 'strings', () => { - // roundtrip expects Buffers, convert strings first - roundTrip( - 'aes-128-cbc', - key16.toString('hex'), - iv.toString('hex'), - plaintextBuffer, - ); -}); - -test(SUITE, 'buffers', () => { - roundTrip('aes-128-cbc', key16, iv, plaintextBuffer); -}); - -// loop through each cipher and test roundtrip -const allCiphers = getCiphers(); -allCiphers.forEach(cipherName => { - test(SUITE, cipherName, () => { - try { - // Determine correct key length - let keyLen = 32; // Default to 256-bit - if (cipherName.includes('128')) { - keyLen = 16; - } else if (cipherName.includes('192')) { - keyLen = 24; - } - let testKey: Uint8Array; - if (cipherName.includes('XTS')) { - keyLen *= 2; // XTS requires double length key - testKey = randomFillSync(new Uint8Array(keyLen)); - const keyBuffer = Buffer.from(testKey); // Create Buffer once - // Ensure key halves are not identical for XTS - const half = keyLen / 2; - while ( - keyBuffer.subarray(0, half).equals(keyBuffer.subarray(half, keyLen)) - ) { - testKey = randomFillSync(new Uint8Array(keyLen)); - Object.assign(keyBuffer, Buffer.from(testKey)); - } - } else { - testKey = randomFillSync(new Uint8Array(keyLen)); - } - - // Select IV size based on mode - const testIv: Uint8Array = - cipherName.includes('GCM') || - cipherName.includes('OCB') || - cipherName.includes('CCM') - ? iv12 - : iv16; - - // Create key and iv as Buffers for the roundtrip functions - const key = Buffer.from(testKey); - const iv = Buffer.from(testIv); - - // Determine if authenticated mode and call appropriate roundtrip helper - if ( - cipherName.includes('GCM') || - cipherName.includes('CCM') || - cipherName.includes('OCB') || - cipherName.includes('Poly1305') || - cipherName.includes('SIV') // SIV modes also use auth - ) { - roundTripAuth(cipherName, key, iv, plaintextBuffer, aad); - } else { - roundTrip(cipherName, key, iv, plaintextBuffer); - } - } catch (e: unknown) { - const message = e instanceof Error ? e.message : String(e); - expect.fail(`Cipher ${cipherName} threw an error: ${message}`); - } - }); -}); - -// libsodium cipher tests -test(SUITE, 'xsalsa20', () => { - const key = new Uint8Array(key32); - const nonce = randomFillSync(new Uint8Array(24)); - const data = new Uint8Array(plaintextBuffer); - // encrypt - const ciphertext = xsalsa20(key, nonce, data); - // decrypt - must use the same nonce as encryption - const decrypted = xsalsa20(key, nonce, ciphertext); - // test decrypted == data - expect(decrypted).eql(data); -}); +// import { Buffer } from '@craftzdog/react-native-buffer'; +// import { +// getCiphers, +// createCipheriv, +// randomFillSync, +// xsalsa20, +// } from 'react-native-quick-crypto'; +// import { expect } from 'chai'; +// import { test } from '../util'; +// import { roundTrip, roundTripAuth } from './roundTrip'; + +// const SUITE = 'cipher'; + +// // --- Constants and Test Data --- +// const key16 = Buffer.from('a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', 'hex'); +// const key32 = Buffer.from( +// 'a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', +// 'hex', +// ); +// const iv16 = randomFillSync(new Uint8Array(16)); +// const iv12 = randomFillSync(new Uint8Array(12)); // Common IV size for GCM/CCM/OCB +// const iv = Buffer.from(iv16); +// const aad = Buffer.from('Additional Authenticated Data'); +// const plaintext = 'abcdefghijklmnopqrstuvwxyz'; +// const plaintextBuffer = Buffer.from(plaintext); + +// // --- Tests --- +// test(SUITE, 'valid algorithm', () => { +// expect(() => { +// createCipheriv('aes-128-cbc', Buffer.alloc(16), Buffer.alloc(16), {}); +// }).to.not.throw(); +// }); + +// test(SUITE, 'invalid algorithm', () => { +// expect(() => { +// createCipheriv('aes-128-boorad', Buffer.alloc(16), Buffer.alloc(16), {}); +// }).to.throw('Unsupported or unknown cipher type: aes-128-boorad'); +// }); + +// test(SUITE, 'strings', () => { +// // roundtrip expects Buffers, convert strings first +// roundTrip( +// 'aes-128-cbc', +// key16.toString('hex'), +// iv.toString('hex'), +// plaintextBuffer, +// ); +// }); + +// test(SUITE, 'buffers', () => { +// roundTrip('aes-128-cbc', key16, iv, plaintextBuffer); +// }); + +// // loop through each cipher and test roundtrip +// const allCiphers = getCiphers(); +// allCiphers.forEach(cipherName => { +// test(SUITE, cipherName, () => { +// try { +// // Determine correct key length +// let keyLen = 32; // Default to 256-bit +// if (cipherName.includes('128')) { +// keyLen = 16; +// } else if (cipherName.includes('192')) { +// keyLen = 24; +// } +// let testKey: Uint8Array; +// if (cipherName.includes('XTS')) { +// keyLen *= 2; // XTS requires double length key +// testKey = randomFillSync(new Uint8Array(keyLen)); +// const keyBuffer = Buffer.from(testKey); // Create Buffer once +// // Ensure key halves are not identical for XTS +// const half = keyLen / 2; +// while ( +// keyBuffer.subarray(0, half).equals(keyBuffer.subarray(half, keyLen)) +// ) { +// testKey = randomFillSync(new Uint8Array(keyLen)); +// Object.assign(keyBuffer, Buffer.from(testKey)); +// } +// } else { +// testKey = randomFillSync(new Uint8Array(keyLen)); +// } + +// // Select IV size based on mode +// const testIv: Uint8Array = +// cipherName.includes('GCM') || +// cipherName.includes('OCB') || +// cipherName.includes('CCM') +// ? iv12 +// : iv16; + +// // Create key and iv as Buffers for the roundtrip functions +// const key = Buffer.from(testKey); +// const iv = Buffer.from(testIv); + +// // Determine if authenticated mode and call appropriate roundtrip helper +// if ( +// cipherName.includes('GCM') || +// cipherName.includes('CCM') || +// cipherName.includes('OCB') || +// cipherName.includes('Poly1305') || +// cipherName.includes('SIV') // SIV modes also use auth +// ) { +// roundTripAuth(cipherName, key, iv, plaintextBuffer, aad); +// } else { +// roundTrip(cipherName, key, iv, plaintextBuffer); +// } +// } catch (e: unknown) { +// const message = e instanceof Error ? e.message : String(e); +// expect.fail(`Cipher ${cipherName} threw an error: ${message}`); +// } +// }); +// }); + +// // libsodium cipher tests +// test(SUITE, 'xsalsa20', () => { +// const key = new Uint8Array(key32); +// const nonce = randomFillSync(new Uint8Array(24)); +// const data = new Uint8Array(plaintextBuffer); +// // encrypt +// const ciphertext = xsalsa20(key, nonce, data); +// // decrypt - must use the same nonce as encryption +// const decrypted = xsalsa20(key, nonce, ciphertext); +// // test decrypted == data +// expect(decrypted).eql(data); +// }); diff --git a/example/src/tests/cipher/roundTrip.ts b/example/src/tests/cipher/roundTrip.ts new file mode 100644 index 00000000..e94f704e --- /dev/null +++ b/example/src/tests/cipher/roundTrip.ts @@ -0,0 +1,99 @@ +import { Buffer } from '@craftzdog/react-native-buffer'; +import { + createCipheriv, + createDecipheriv, + type Cipher, + type Decipher, +} from 'react-native-quick-crypto'; +import { expect } from 'chai'; + +// --- Helper Functions --- +// Helper for testing authenticated modes (GCM, CCM, OCB, Poly1305, SIV) +export function roundTripAuth( + cipherName: string, + key: Buffer, + iv: Buffer, + plaintext: Buffer, + aad?: Buffer, + tagLength?: number, // Usually 16 for these modes +) { + let tag: Buffer | null = null; + const isChaChaPoly = cipherName.toLowerCase() === 'chacha20-poly1305'; // Exact match + const isCCM = cipherName.includes('CCM'); + + // Encrypt + const cipher: Cipher | null = createCipheriv(cipherName, key, iv, { + authTagLength: tagLength, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } as any); + if (aad) { + const options = isCCM ? { plaintextLength: plaintext.length } : undefined; + cipher.setAAD(aad, options); // Pass plaintextLength for CCM + } + const encryptedPart1: Buffer = cipher.update(plaintext) as Buffer; + const encryptedPart2: Buffer = cipher.final() as Buffer; + let encrypted = Buffer.concat([encryptedPart1, encryptedPart2]); + + if (!isChaChaPoly) { + // ChaChaPoly implicitly includes tag in final output + tag = cipher.getAuthTag(); + } else { + // For ChaChaPoly, extract tag from the end of ciphertext + const expectedTagLength = tagLength ?? 16; + tag = encrypted.subarray(encrypted.length - expectedTagLength); + encrypted = encrypted.subarray(0, encrypted.length - expectedTagLength); + } + + // Keep original encrypted buffer for ChaChaPoly decryption + const originalEncryptedForChaCha = isChaChaPoly + ? Buffer.concat([encryptedPart1, encryptedPart2]) + : null; + + // Decrypt + const decipher: Decipher | null = createDecipheriv(cipherName, key, iv, { + authTagLength: tagLength, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } as any); + if (aad) { + const options = isCCM ? { plaintextLength: plaintext.length } : undefined; + decipher.setAAD(aad, options); // Pass plaintextLength for CCM + } + // Do not set AuthTag explicitly for ChaChaPoly + if (!isChaChaPoly) { + decipher.setAuthTag(tag); + } + + // For ChaChaPoly, pass the original buffer with tag appended + const bufferToDecrypt = isChaChaPoly + ? originalEncryptedForChaCha! + : encrypted; + const decryptedPart1: Buffer = decipher.update(bufferToDecrypt) as Buffer; + const decryptedPart2: Buffer = decipher.final() as Buffer; // Final verifies tag for ChaChaPoly + const decrypted = Buffer.concat([decryptedPart1, decryptedPart2]); + + // Verify + expect(decrypted).eql(plaintext); +} + +// Helper for non-authenticated modes +export function roundTrip( + cipherName: string, + key: Buffer | string, + iv: Buffer | string, + plaintext: Buffer, +) { + // Encrypt + const cipher: Cipher | null = createCipheriv(cipherName, key, iv); + const encryptedPart1: Buffer = cipher.update(plaintext) as Buffer; + const encryptedPart2: Buffer = cipher.final() as Buffer; + const encrypted = Buffer.concat([encryptedPart1, encryptedPart2]); + + // Decrypt + const decipher: Decipher | null = createDecipheriv(cipherName, key, iv); + const decryptedPart1: Buffer = decipher.update(encrypted) as Buffer; + const decryptedPart2: Buffer = decipher.final() as Buffer; + const decrypted = Buffer.concat([decryptedPart1, decryptedPart2]); + + // Verify + expect(decrypted).eql(plaintext); // Use Chai's eql for deep equality +} diff --git a/packages/react-native-quick-crypto/src/cipher.ts b/packages/react-native-quick-crypto/src/cipher.ts index c1e056e1..396edbca 100644 --- a/packages/react-native-quick-crypto/src/cipher.ts +++ b/packages/react-native-quick-crypto/src/cipher.ts @@ -96,6 +96,7 @@ class CipherCommon extends Stream.Transform { }); } + update(data: Buffer): Buffer; update( data: BinaryLike, inputEncoding?: Encoding, From 471b07feb418be4c0c185d88cdc9d6e043190cf7 Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Wed, 28 May 2025 11:56:17 -0300 Subject: [PATCH 02/13] chore: ciphertext without tag works --- example/src/tests/cipher/chacha_tests.ts | 265 +++++++++++++---------- 1 file changed, 148 insertions(+), 117 deletions(-) diff --git a/example/src/tests/cipher/chacha_tests.ts b/example/src/tests/cipher/chacha_tests.ts index 49bc4379..d2b48b72 100644 --- a/example/src/tests/cipher/chacha_tests.ts +++ b/example/src/tests/cipher/chacha_tests.ts @@ -14,9 +14,12 @@ import { roundTrip, roundTripAuth } from './roundTrip'; const SUITE = 'cipher'; -function fromHex(h: string) { - h = h.replace(/([^0-9a-f])/g, ''); - return Buffer.from(h, 'hex'); +function fromHex(h: string | Buffer): Buffer { + if (typeof h === 'string') { + h = h.replace(/([^0-9a-f])/g, ''); + return Buffer.from(h, 'hex'); + } + return h; } interface ChaCha20TestVector { @@ -31,7 +34,7 @@ interface ChaCha20Poly1305TestVector { key: string; nonce: string; plaintext: string; - aad: string; + aad: string | Buffer; tag: string; expected: string; } @@ -121,6 +124,28 @@ const testVectors = { '61 16', tag: '1a e1 0b 59 4f 09 e2 6a 7e 90 2e cb d0 60 06 91', } as ChaCha20Poly1305TestVector, + poly1305_vector2: { + key: + 'bb 63 42 cb 4f bb 91 69 84 4e b9 bc d1 d1 ab c3 ' + + '9b ea 97 d4 d6 e5 ff 43 95 0c 81 d3 1d 50 bd 52', + nonce: '85 b7 2e 32 dc 35 79 3a b9 f1 bb d4', + plaintext: + '7b 22 6d 6e 65 6d 6f 6e 69 63 22 3a 22 61 73 6b ' + + '20 66 72 6f 77 6e 20 62 75 74 74 65 72 20 61 73 ' + + '74 68 6d 61 20 73 6f 63 69 61 6c 20 61 74 74 69 ' + + '74 75 64 65 20 6c 6f 6e 67 20 64 79 6e 61 6d 69 ' + + '63 20 61 77 66 75 6c 20 6d 61 67 69 63 20 61 74 ' + + '74 65 6e 64 20 70 6f 6e 64 22 7d', + aad: Buffer.alloc(0), + expected: + 'f1 25 c4 92 02 4c 5f dd 31 5d 5a e3 f4 88 23 4f ad ' + + 'e3 66 40 17 55 6b 90 90 0d 4f e0 66 48 d5 4e 4f 28 ' + + '1a 6b 3f 4b 0e 53 f9 bc 12 d2 6f d3 49 62 a2 cf 39 ' + + 'f1 d9 2c 46 c3 7f 34 ac 0d ba ae c6 72 eb 57 05 89 ' + + '86 ca 35 fc d9 f6 ce f7 5a 3b 1d a9 5f a0 f8 7a 4e ' + + '0b aa ce f9 77 68', + tag: 'ca 39 c0 e6 b2 e5 65 2a e0 7f 42 6e b2 dd f3 86', + } as ChaCha20Poly1305TestVector, }; function testChaCha20Vector(vector: ChaCha20TestVector, description: string) { @@ -166,7 +191,7 @@ function testChaCha20Poly1305Vector( const plaintext = fromHex(vector.plaintext); const aad = fromHex(vector.aad); const expectedCiphertext = fromHex(vector.expected); - const expectedTag = fromHex(vector.tag); + // const expectedTag = fromHex(vector.tag); // First test round trip roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); @@ -177,11 +202,13 @@ function testChaCha20Poly1305Vector( const encrypted = Buffer.concat([cipher.update(plaintext), cipher.final()]); // // For ChaCha20-Poly1305, the tag is appended to the ciphertext - const actualTag = encrypted.subarray(encrypted.length - 16); - const actualCiphertext = encrypted.subarray(0, encrypted.length - 16); + // const actualTag = encrypted.subarray(encrypted.length - 16); + // const actualCiphertext = encrypted.subarray(0, encrypted.length - 16); - expect(actualCiphertext).to.deep.equal(expectedCiphertext); - expect(actualTag).to.deep.equal(expectedTag); + // const actualTag = cipher.getAuthTag(); + + expect(encrypted).to.deep.equal(expectedCiphertext); + // expect(actualTag).to.deep.equal(expectedTag); }); } @@ -189,112 +216,116 @@ testChaCha20Poly1305Vector( testVectors.poly1305_vector1, 'rfc7539 test vector 1', ); +testChaCha20Poly1305Vector( + testVectors.poly1305_vector2, + 'rfc7539 test vector 2', +); -// Additional ChaCha20-Poly1305 test vectors with different scenarios -test(SUITE, 'chacha20-poly1305 empty plaintext', () => { - const key = Buffer.from( - '0000000000000000000000000000000000000000000000000000000000000000', - 'hex', - ); - const nonce = Buffer.from('000000000000000000000000', 'hex'); - const plaintext = Buffer.alloc(0); - const aad = Buffer.from('00000000000000000000000000000000', 'hex'); - - roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); -}); - -test(SUITE, 'chacha20-poly1305 no aad', () => { - const key = Buffer.from( - '0000000000000000000000000000000000000000000000000000000000000000', - 'hex', - ); - const nonce = Buffer.from('000000000000000000000000', 'hex'); - const plaintext = Buffer.from('00000000000000000000000000000000', 'hex'); - - roundTripAuth('chacha20-poly1305', key, nonce, plaintext); -}); - -test(SUITE, 'chacha20-poly1305 large plaintext', () => { - const key = Buffer.from( - '0000000000000000000000000000000000000000000000000000000000000000', - 'hex', - ); - const nonce = Buffer.from('000000000000000000000000', 'hex'); - const plaintext = Buffer.alloc(1024, 0x42); // 1KB of 0x42 - const aad = Buffer.from('additional authenticated data', 'utf8'); - - roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); -}); - -// Test different tag lengths for ChaCha20-Poly1305 -test(SUITE, 'chacha20-poly1305 custom tag length', () => { - const key = Buffer.from( - '0000000000000000000000000000000000000000000000000000000000000000', - 'hex', - ); - const nonce = Buffer.from('000000000000000000000000', 'hex'); - const plaintext = Buffer.from('Hello, ChaCha20-Poly1305!', 'utf8'); - const aad = Buffer.from('test aad', 'utf8'); - - // Test with 12-byte tag - roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad, 12); - - // Test with 8-byte tag - roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad, 8); -}); - -// ChaCha20 edge cases -test(SUITE, 'chacha20 empty plaintext', () => { - const key = Buffer.from( - '0000000000000000000000000000000000000000000000000000000000000000', - 'hex', - ); - const nonce = Buffer.from('000000000000000000000000', 'hex'); - const plaintext = Buffer.alloc(0); - - roundTrip('chacha20', key, nonce, plaintext); -}); - -test(SUITE, 'chacha20 single byte', () => { - const key = Buffer.from( - '0000000000000000000000000000000000000000000000000000000000000000', - 'hex', - ); - const nonce = Buffer.from('000000000000000000000000', 'hex'); - const plaintext = Buffer.from([0x42]); - - roundTrip('chacha20', key, nonce, plaintext); -}); - -test(SUITE, 'chacha20 large plaintext', () => { - const key = Buffer.from( - '0000000000000000000000000000000000000000000000000000000000000000', - 'hex', - ); - const nonce = Buffer.from('000000000000000000000000', 'hex'); - const plaintext = Buffer.alloc(4096, 0x55); // 4KB of 0x55 - - roundTrip('chacha20', key, nonce, plaintext); -}); - -// Test with different nonce formats (96-bit vs 64-bit + counter) -test(SUITE, 'chacha20 different nonce sizes', () => { - const key = Buffer.from( - '0000000000000000000000000000000000000000000000000000000000000000', - 'hex', - ); - const plaintext = Buffer.from('test message', 'utf8'); - - // 96-bit nonce (IETF ChaCha20) - const nonce96 = Buffer.from('000000000000000000000000', 'hex'); - roundTrip('chacha20', key, nonce96, plaintext); - - // 64-bit nonce (original ChaCha20) - if supported - try { - const nonce64 = Buffer.from('0000000000000000', 'hex'); - roundTrip('chacha20', key, nonce64, plaintext); - } catch { - // Some implementations only support 96-bit nonces - console.log('64-bit nonce not supported, skipping'); - } -}); +// // Additional ChaCha20-Poly1305 test vectors with different scenarios +// test(SUITE, 'chacha20-poly1305 empty plaintext', () => { +// const key = Buffer.from( +// '0000000000000000000000000000000000000000000000000000000000000000', +// 'hex', +// ); +// const nonce = Buffer.from('000000000000000000000000', 'hex'); +// const plaintext = Buffer.alloc(0); +// const aad = Buffer.from('00000000000000000000000000000000', 'hex'); + +// roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); +// }); + +// test(SUITE, 'chacha20-poly1305 no aad', () => { +// const key = Buffer.from( +// '0000000000000000000000000000000000000000000000000000000000000000', +// 'hex', +// ); +// const nonce = Buffer.from('000000000000000000000000', 'hex'); +// const plaintext = Buffer.from('00000000000000000000000000000000', 'hex'); + +// roundTripAuth('chacha20-poly1305', key, nonce, plaintext); +// }); + +// test(SUITE, 'chacha20-poly1305 large plaintext', () => { +// const key = Buffer.from( +// '0000000000000000000000000000000000000000000000000000000000000000', +// 'hex', +// ); +// const nonce = Buffer.from('000000000000000000000000', 'hex'); +// const plaintext = Buffer.alloc(1024, 0x42); // 1KB of 0x42 +// const aad = Buffer.from('additional authenticated data', 'utf8'); + +// roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); +// }); + +// // Test different tag lengths for ChaCha20-Poly1305 +// test(SUITE, 'chacha20-poly1305 custom tag length', () => { +// const key = Buffer.from( +// '0000000000000000000000000000000000000000000000000000000000000000', +// 'hex', +// ); +// const nonce = Buffer.from('000000000000000000000000', 'hex'); +// const plaintext = Buffer.from('Hello, ChaCha20-Poly1305!', 'utf8'); +// const aad = Buffer.from('test aad', 'utf8'); + +// // Test with 12-byte tag +// roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad, 12); + +// // Test with 8-byte tag +// roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad, 8); +// }); + +// // ChaCha20 edge cases +// test(SUITE, 'chacha20 empty plaintext', () => { +// const key = Buffer.from( +// '0000000000000000000000000000000000000000000000000000000000000000', +// 'hex', +// ); +// const nonce = Buffer.from('000000000000000000000000', 'hex'); +// const plaintext = Buffer.alloc(0); + +// roundTrip('chacha20', key, nonce, plaintext); +// }); + +// test(SUITE, 'chacha20 single byte', () => { +// const key = Buffer.from( +// '0000000000000000000000000000000000000000000000000000000000000000', +// 'hex', +// ); +// const nonce = Buffer.from('000000000000000000000000', 'hex'); +// const plaintext = Buffer.from([0x42]); + +// roundTrip('chacha20', key, nonce, plaintext); +// }); + +// test(SUITE, 'chacha20 large plaintext', () => { +// const key = Buffer.from( +// '0000000000000000000000000000000000000000000000000000000000000000', +// 'hex', +// ); +// const nonce = Buffer.from('000000000000000000000000', 'hex'); +// const plaintext = Buffer.alloc(4096, 0x55); // 4KB of 0x55 + +// roundTrip('chacha20', key, nonce, plaintext); +// }); + +// // Test with different nonce formats (96-bit vs 64-bit + counter) +// test(SUITE, 'chacha20 different nonce sizes', () => { +// const key = Buffer.from( +// '0000000000000000000000000000000000000000000000000000000000000000', +// 'hex', +// ); +// const plaintext = Buffer.from('test message', 'utf8'); + +// // 96-bit nonce (IETF ChaCha20) +// const nonce96 = Buffer.from('000000000000000000000000', 'hex'); +// roundTrip('chacha20', key, nonce96, plaintext); + +// // 64-bit nonce (original ChaCha20) - if supported +// try { +// const nonce64 = Buffer.from('0000000000000000', 'hex'); +// roundTrip('chacha20', key, nonce64, plaintext); +// } catch { +// // Some implementations only support 96-bit nonces +// console.log('64-bit nonce not supported, skipping'); +// } +// }); From 702488f43088fe4c42a31ceb47608d62abfdf5a9 Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Wed, 28 May 2025 12:06:30 -0300 Subject: [PATCH 03/13] fix: extend `update` method overloads in CipherCommon class --- packages/react-native-quick-crypto/src/cipher.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/react-native-quick-crypto/src/cipher.ts b/packages/react-native-quick-crypto/src/cipher.ts index 396edbca..969cdbae 100644 --- a/packages/react-native-quick-crypto/src/cipher.ts +++ b/packages/react-native-quick-crypto/src/cipher.ts @@ -97,6 +97,12 @@ class CipherCommon extends Stream.Transform { } update(data: Buffer): Buffer; + update(data: BinaryLike, inputEncoding?: Encoding): Buffer; + update( + data: BinaryLike, + inputEncoding: Encoding, + outputEncoding: Encoding, + ): string; update( data: BinaryLike, inputEncoding?: Encoding, From ee27a08a5efd5deed0cd9b32492d69e238844409 Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Wed, 28 May 2025 12:57:24 -0300 Subject: [PATCH 04/13] test: update ChaCha20-Poly1305 vector tests --- example/src/tests/cipher/chacha_tests.ts | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/example/src/tests/cipher/chacha_tests.ts b/example/src/tests/cipher/chacha_tests.ts index d2b48b72..e82be018 100644 --- a/example/src/tests/cipher/chacha_tests.ts +++ b/example/src/tests/cipher/chacha_tests.ts @@ -191,7 +191,7 @@ function testChaCha20Poly1305Vector( const plaintext = fromHex(vector.plaintext); const aad = fromHex(vector.aad); const expectedCiphertext = fromHex(vector.expected); - // const expectedTag = fromHex(vector.tag); + const expectedTag = fromHex(vector.tag); // First test round trip roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); @@ -199,16 +199,14 @@ function testChaCha20Poly1305Vector( // Then test against expected values const cipher = createCipheriv('chacha20-poly1305', key, nonce); cipher.setAAD(aad); - const encrypted = Buffer.concat([cipher.update(plaintext), cipher.final()]); + const actualCipherText = Buffer.concat([ + cipher.update(plaintext), + cipher.final(), + ]); - // // For ChaCha20-Poly1305, the tag is appended to the ciphertext - // const actualTag = encrypted.subarray(encrypted.length - 16); - // const actualCiphertext = encrypted.subarray(0, encrypted.length - 16); + expect(actualCipherText).to.deep.equal(expectedCiphertext); - // const actualTag = cipher.getAuthTag(); - - expect(encrypted).to.deep.equal(expectedCiphertext); - // expect(actualTag).to.deep.equal(expectedTag); + // TODO: add a test for the tag }); } From 188322d2167985afc2c4d3a10a5f73a1437929e6 Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Wed, 28 May 2025 13:18:03 -0300 Subject: [PATCH 05/13] feat: implement ChaCha20 and ChaCha20-Poly1305 ciphers with initialization and update methods --- example/src/tests/cipher/chacha_tests.ts | 3 +- .../cpp/cipher/ChaCha20Cipher.cpp | 97 ++++++++++ .../cpp/cipher/ChaCha20Cipher.hpp | 25 +++ .../cpp/cipher/ChaCha20Poly1305Cipher.cpp | 170 ++++++++++++++++++ .../cpp/cipher/ChaCha20Poly1305Cipher.hpp | 30 ++++ .../cpp/cipher/HybridCipherFactory.hpp | 20 ++- 6 files changed, 343 insertions(+), 2 deletions(-) create mode 100644 packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.cpp create mode 100644 packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp create mode 100644 packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.cpp create mode 100644 packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.hpp diff --git a/example/src/tests/cipher/chacha_tests.ts b/example/src/tests/cipher/chacha_tests.ts index e82be018..ab637c7a 100644 --- a/example/src/tests/cipher/chacha_tests.ts +++ b/example/src/tests/cipher/chacha_tests.ts @@ -206,7 +206,8 @@ function testChaCha20Poly1305Vector( expect(actualCipherText).to.deep.equal(expectedCiphertext); - // TODO: add a test for the tag + const actualTag = cipher.getAuthTag(); + expect(actualTag).to.deep.equal(expectedTag); }); } diff --git a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.cpp b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.cpp new file mode 100644 index 00000000..e3c779e0 --- /dev/null +++ b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.cpp @@ -0,0 +1,97 @@ +#include "ChaCha20Cipher.hpp" +#include "Utils.hpp" +#include +#include +#include + +namespace margelo::nitro::crypto { + +void ChaCha20Cipher::init(const std::shared_ptr cipher_key, const std::shared_ptr iv) { + // Clean up any existing context + if (ctx) { + EVP_CIPHER_CTX_free(ctx); + ctx = nullptr; + } + + // Get ChaCha20 cipher implementation + const EVP_CIPHER* cipher = EVP_chacha20(); + if (!cipher) { + throw std::runtime_error("Failed to get ChaCha20 cipher implementation"); + } + + // Create a new context + ctx = EVP_CIPHER_CTX_new(); + if (!ctx) { + throw std::runtime_error("Failed to create cipher context"); + } + + // Initialize the encryption/decryption operation + if (EVP_CipherInit_ex(ctx, cipher, nullptr, nullptr, nullptr, is_cipher) != 1) { + unsigned long err = ERR_get_error(); + char err_buf[256]; + ERR_error_string_n(err, err_buf, sizeof(err_buf)); + EVP_CIPHER_CTX_free(ctx); + ctx = nullptr; + throw std::runtime_error("ChaCha20Cipher: Failed initial CipherInit setup: " + std::string(err_buf)); + } + + // Set key and IV + auto native_key = ToNativeArrayBuffer(cipher_key); + auto native_iv = ToNativeArrayBuffer(iv); + + // Validate key size + if (native_key->size() != kKeySize) { + throw std::runtime_error("ChaCha20 key must be 32 bytes"); + } + + // Validate IV size + if (native_iv->size() != kIVSize) { + throw std::runtime_error("ChaCha20 IV must be 16 bytes"); + } + + const unsigned char* key_ptr = reinterpret_cast(native_key->data()); + const unsigned char* iv_ptr = reinterpret_cast(native_iv->data()); + + if (EVP_CipherInit_ex(ctx, nullptr, nullptr, key_ptr, iv_ptr, is_cipher) != 1) { + unsigned long err = ERR_get_error(); + char err_buf[256]; + ERR_error_string_n(err, err_buf, sizeof(err_buf)); + EVP_CIPHER_CTX_free(ctx); + ctx = nullptr; + throw std::runtime_error("ChaCha20Cipher: Failed to set key/IV: " + std::string(err_buf)); + } +} + +std::shared_ptr ChaCha20Cipher::update(const std::shared_ptr& data) { + checkCtx(); + auto native_data = ToNativeArrayBuffer(data); + size_t in_len = native_data->size(); + if (in_len > INT_MAX) { + throw std::runtime_error("Message too long"); + } + + // For ChaCha20, output size equals input size since it's a stream cipher + int out_len = in_len; + uint8_t* out = new uint8_t[out_len]; + + // Perform the cipher update operation + if (EVP_CipherUpdate(ctx, out, &out_len, native_data->data(), in_len) != 1) { + delete[] out; + unsigned long err = ERR_get_error(); + char err_buf[256]; + ERR_error_string_n(err, err_buf, sizeof(err_buf)); + throw std::runtime_error("ChaCha20Cipher: Failed to update: " + std::string(err_buf)); + } + + // Create and return a new buffer of exact size needed + return std::make_shared(out, out_len, [=]() { delete[] out; }); +} + +std::shared_ptr ChaCha20Cipher::final() { + checkCtx(); + // For ChaCha20, final() should return an empty buffer since it's a stream cipher + unsigned char* empty_output = new unsigned char[0]; + return std::make_shared(empty_output, 0, [=]() { delete[] empty_output; }); +} + +} // namespace margelo::nitro::crypto \ No newline at end of file diff --git a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp new file mode 100644 index 00000000..ae26679a --- /dev/null +++ b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include "HybridCipher.hpp" + +namespace margelo::nitro::crypto { + +class ChaCha20Cipher : public HybridCipher { + public: + ChaCha20Cipher() : HybridObject(TAG) {} + ~ChaCha20Cipher() { + // Let parent destructor free the context + ctx = nullptr; + } + + void init(const std::shared_ptr cipher_key, const std::shared_ptr iv) override; + std::shared_ptr update(const std::shared_ptr& data) override; + std::shared_ptr final() override; + + private: + // ChaCha20 uses a 256-bit key (32 bytes) and a 128-bit IV (16 bytes) + static constexpr int kKeySize = 32; + static constexpr int kIVSize = 16; +}; + +} // namespace margelo::nitro::crypto \ No newline at end of file diff --git a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.cpp b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.cpp new file mode 100644 index 00000000..ee2dc2d6 --- /dev/null +++ b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.cpp @@ -0,0 +1,170 @@ +#include "ChaCha20Poly1305Cipher.hpp" +#include "Utils.hpp" +#include +#include +#include + +namespace margelo::nitro::crypto { + +void ChaCha20Poly1305Cipher::init(const std::shared_ptr cipher_key, const std::shared_ptr iv) { + // Clean up any existing context + if (ctx) { + EVP_CIPHER_CTX_free(ctx); + ctx = nullptr; + } + + // Get ChaCha20-Poly1305 cipher implementation + const EVP_CIPHER* cipher = EVP_chacha20_poly1305(); + if (!cipher) { + throw std::runtime_error("Failed to get ChaCha20-Poly1305 cipher implementation"); + } + + // Create a new context + ctx = EVP_CIPHER_CTX_new(); + if (!ctx) { + throw std::runtime_error("Failed to create cipher context"); + } + + // Initialize the encryption/decryption operation + if (EVP_CipherInit_ex(ctx, cipher, nullptr, nullptr, nullptr, is_cipher) != 1) { + unsigned long err = ERR_get_error(); + char err_buf[256]; + ERR_error_string_n(err, err_buf, sizeof(err_buf)); + EVP_CIPHER_CTX_free(ctx); + ctx = nullptr; + throw std::runtime_error("ChaCha20Poly1305Cipher: Failed initial CipherInit setup: " + std::string(err_buf)); + } + + // Set key and IV + auto native_key = ToNativeArrayBuffer(cipher_key); + auto native_iv = ToNativeArrayBuffer(iv); + + // Validate key size + if (native_key->size() != kKeySize) { + throw std::runtime_error("ChaCha20-Poly1305 key must be 32 bytes"); + } + + // Validate nonce size + if (native_iv->size() != kNonceSize) { + throw std::runtime_error("ChaCha20-Poly1305 nonce must be 12 bytes"); + } + + const unsigned char* key_ptr = reinterpret_cast(native_key->data()); + const unsigned char* iv_ptr = reinterpret_cast(native_iv->data()); + + if (EVP_CipherInit_ex(ctx, nullptr, nullptr, key_ptr, iv_ptr, is_cipher) != 1) { + unsigned long err = ERR_get_error(); + char err_buf[256]; + ERR_error_string_n(err, err_buf, sizeof(err_buf)); + EVP_CIPHER_CTX_free(ctx); + ctx = nullptr; + throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to set key/IV: " + std::string(err_buf)); + } + + // Reset final_called flag + final_called = false; +} + +std::shared_ptr ChaCha20Poly1305Cipher::update(const std::shared_ptr& data) { + checkCtx(); + auto native_data = ToNativeArrayBuffer(data); + size_t in_len = native_data->size(); + if (in_len > INT_MAX) { + throw std::runtime_error("Message too long"); + } + + // For ChaCha20-Poly1305, output size equals input size since it's a stream cipher + int out_len = in_len; + uint8_t* out = new uint8_t[out_len]; + + // Perform the cipher update operation + if (EVP_CipherUpdate(ctx, out, &out_len, native_data->data(), in_len) != 1) { + delete[] out; + unsigned long err = ERR_get_error(); + char err_buf[256]; + ERR_error_string_n(err, err_buf, sizeof(err_buf)); + throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to update: " + std::string(err_buf)); + } + + // Create and return a new buffer of exact size needed + return std::make_shared(out, out_len, [=]() { delete[] out; }); +} + +std::shared_ptr ChaCha20Poly1305Cipher::final() { + checkCtx(); + + // For ChaCha20-Poly1305, we need to call final to generate the tag + int out_len = 0; + unsigned char* out = new unsigned char[0]; + + if (EVP_CipherFinal_ex(ctx, out, &out_len) != 1) { + delete[] out; + unsigned long err = ERR_get_error(); + char err_buf[256]; + ERR_error_string_n(err, err_buf, sizeof(err_buf)); + throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to finalize: " + std::string(err_buf)); + } + + final_called = true; + return std::make_shared(out, out_len, [=]() { delete[] out; }); +} + +bool ChaCha20Poly1305Cipher::setAAD(const std::shared_ptr& data, std::optional plaintextLength) { + checkCtx(); + auto native_aad = ToNativeArrayBuffer(data); + size_t aad_len = native_aad->size(); + + // Set AAD data + int out_len = 0; + if (EVP_CipherUpdate(ctx, nullptr, &out_len, native_aad->data(), aad_len) != 1) { + unsigned long err = ERR_get_error(); + char err_buf[256]; + ERR_error_string_n(err, err_buf, sizeof(err_buf)); + throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to set AAD: " + std::string(err_buf)); + } + return true; +} + +std::shared_ptr ChaCha20Poly1305Cipher::getAuthTag() { + checkCtx(); + if (!is_cipher) { + throw std::runtime_error("getAuthTag can only be called during encryption"); + } + if (!final_called) { + throw std::runtime_error("getAuthTag must be called after final()"); + } + + // Get the authentication tag + auto tag_buf = std::make_unique(kTagSize); + if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, kTagSize, tag_buf.get()) != 1) { + unsigned long err = ERR_get_error(); + char err_buf[256]; + ERR_error_string_n(err, err_buf, sizeof(err_buf)); + throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to get auth tag: " + std::string(err_buf)); + } + + uint8_t* raw_ptr = tag_buf.get(); + return std::make_shared(tag_buf.release(), kTagSize, [raw_ptr]() { delete[] raw_ptr; }); +} + +bool ChaCha20Poly1305Cipher::setAuthTag(const std::shared_ptr& tag) { + checkCtx(); + if (is_cipher) { + throw std::runtime_error("setAuthTag can only be called during decryption"); + } + + auto native_tag = ToNativeArrayBuffer(tag); + if (native_tag->size() != kTagSize) { + throw std::runtime_error("ChaCha20-Poly1305 tag must be 16 bytes"); + } + + if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, kTagSize, native_tag->data()) != 1) { + unsigned long err = ERR_get_error(); + char err_buf[256]; + ERR_error_string_n(err, err_buf, sizeof(err_buf)); + throw std::runtime_error("ChaCha20Poly1305Cipher: Failed to set auth tag: " + std::string(err_buf)); + } + return true; +} + +} // namespace margelo::nitro::crypto \ No newline at end of file diff --git a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.hpp b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.hpp new file mode 100644 index 00000000..20b153e6 --- /dev/null +++ b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.hpp @@ -0,0 +1,30 @@ +#pragma once + +#include "HybridCipher.hpp" + +namespace margelo::nitro::crypto { + +class ChaCha20Poly1305Cipher : public HybridCipher { + public: + ChaCha20Poly1305Cipher() : HybridObject(TAG), final_called(false) {} + ~ChaCha20Poly1305Cipher() { + // Let parent destructor free the context + ctx = nullptr; + } + + void init(const std::shared_ptr cipher_key, const std::shared_ptr iv) override; + std::shared_ptr update(const std::shared_ptr& data) override; + std::shared_ptr final() override; + bool setAAD(const std::shared_ptr& data, std::optional plaintextLength) override; + std::shared_ptr getAuthTag() override; + bool setAuthTag(const std::shared_ptr& tag) override; + + private: + // ChaCha20-Poly1305 uses a 256-bit key (32 bytes) and a 96-bit nonce (12 bytes) + static constexpr int kKeySize = 32; + static constexpr int kNonceSize = 12; + static constexpr int kTagSize = 16; // Poly1305 tag is always 16 bytes + bool final_called; +}; + +} // namespace margelo::nitro::crypto \ No newline at end of file diff --git a/packages/react-native-quick-crypto/cpp/cipher/HybridCipherFactory.hpp b/packages/react-native-quick-crypto/cpp/cipher/HybridCipherFactory.hpp index 3c68f375..30ed4412 100644 --- a/packages/react-native-quick-crypto/cpp/cipher/HybridCipherFactory.hpp +++ b/packages/react-native-quick-crypto/cpp/cipher/HybridCipherFactory.hpp @@ -5,6 +5,8 @@ #include #include "CCMCipher.hpp" +#include "ChaCha20Cipher.hpp" +#include "ChaCha20Poly1305Cipher.hpp" #include "HybridCipherFactorySpec.hpp" #include "OCBCipher.hpp" #include "Utils.hpp" @@ -22,7 +24,6 @@ class HybridCipherFactory : public HybridCipherFactorySpec { public: // Factory method exposed to JS inline std::shared_ptr createCipher(const CipherArgs& args) { - // Create the appropriate cipher instance based on mode std::shared_ptr cipherInstance; @@ -47,7 +48,24 @@ class HybridCipherFactory : public HybridCipherFactorySpec { cipherInstance->init(args.cipherKey, args.iv); return cipherInstance; } + case EVP_CIPH_STREAM_CIPHER: { + // Check for ChaCha20 variants specifically + std::string cipherName = toLower(args.cipherType); + if (cipherName == "chacha20") { + cipherInstance = std::make_shared(); + cipherInstance->setArgs(args); + cipherInstance->init(args.cipherKey, args.iv); + return cipherInstance; + } + if (cipherName == "chacha20-poly1305") { + cipherInstance = std::make_shared(); + cipherInstance->setArgs(args); + cipherInstance->init(args.cipherKey, args.iv); + return cipherInstance; + } + } default: { + // Default case for other ciphers cipherInstance = std::make_shared(); cipherInstance->setArgs(args); cipherInstance->init(args.cipherKey, args.iv); From 9026e020ca698f0a07063ebcff1d46bd2762d2ea Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Wed, 28 May 2025 13:31:24 -0300 Subject: [PATCH 06/13] chore: uncomment cipher_tests --- example/src/tests/cipher/cipher_tests.ts | 229 ++++++++++++----------- 1 file changed, 115 insertions(+), 114 deletions(-) diff --git a/example/src/tests/cipher/cipher_tests.ts b/example/src/tests/cipher/cipher_tests.ts index 77e32158..571252cd 100644 --- a/example/src/tests/cipher/cipher_tests.ts +++ b/example/src/tests/cipher/cipher_tests.ts @@ -1,125 +1,126 @@ -// import { Buffer } from '@craftzdog/react-native-buffer'; -// import { -// getCiphers, -// createCipheriv, -// randomFillSync, -// xsalsa20, -// } from 'react-native-quick-crypto'; -// import { expect } from 'chai'; -// import { test } from '../util'; -// import { roundTrip, roundTripAuth } from './roundTrip'; +import { Buffer } from '@craftzdog/react-native-buffer'; +import { + getCiphers, + createCipheriv, + randomFillSync, + xsalsa20, +} from 'react-native-quick-crypto'; +import { expect } from 'chai'; +import { test } from '../util'; +import { roundTrip, roundTripAuth } from './roundTrip'; -// const SUITE = 'cipher'; +const SUITE = 'cipher'; -// // --- Constants and Test Data --- -// const key16 = Buffer.from('a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', 'hex'); -// const key32 = Buffer.from( -// 'a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', -// 'hex', -// ); -// const iv16 = randomFillSync(new Uint8Array(16)); -// const iv12 = randomFillSync(new Uint8Array(12)); // Common IV size for GCM/CCM/OCB -// const iv = Buffer.from(iv16); -// const aad = Buffer.from('Additional Authenticated Data'); -// const plaintext = 'abcdefghijklmnopqrstuvwxyz'; -// const plaintextBuffer = Buffer.from(plaintext); +// --- Constants and Test Data --- +const key16 = Buffer.from('a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', 'hex'); +const key32 = Buffer.from( + 'a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', + 'hex', +); +const iv16 = randomFillSync(new Uint8Array(16)); +const iv12 = randomFillSync(new Uint8Array(12)); // Common IV size for GCM/CCM/OCB +const iv = Buffer.from(iv16); +const aad = Buffer.from('Additional Authenticated Data'); +const plaintext = 'abcdefghijklmnopqrstuvwxyz'; +const plaintextBuffer = Buffer.from(plaintext); -// // --- Tests --- -// test(SUITE, 'valid algorithm', () => { -// expect(() => { -// createCipheriv('aes-128-cbc', Buffer.alloc(16), Buffer.alloc(16), {}); -// }).to.not.throw(); -// }); +// --- Tests --- +test(SUITE, 'valid algorithm', () => { + expect(() => { + createCipheriv('aes-128-cbc', Buffer.alloc(16), Buffer.alloc(16), {}); + }).to.not.throw(); +}); -// test(SUITE, 'invalid algorithm', () => { -// expect(() => { -// createCipheriv('aes-128-boorad', Buffer.alloc(16), Buffer.alloc(16), {}); -// }).to.throw('Unsupported or unknown cipher type: aes-128-boorad'); -// }); +test(SUITE, 'invalid algorithm', () => { + expect(() => { + createCipheriv('aes-128-boorad', Buffer.alloc(16), Buffer.alloc(16), {}); + }).to.throw('Unsupported or unknown cipher type: aes-128-boorad'); +}); -// test(SUITE, 'strings', () => { -// // roundtrip expects Buffers, convert strings first -// roundTrip( -// 'aes-128-cbc', -// key16.toString('hex'), -// iv.toString('hex'), -// plaintextBuffer, -// ); -// }); +test(SUITE, 'strings', () => { + // roundtrip expects Buffers, convert strings first + roundTrip( + 'aes-128-cbc', + key16.toString('hex'), + iv.toString('hex'), + plaintextBuffer, + ); +}); -// test(SUITE, 'buffers', () => { -// roundTrip('aes-128-cbc', key16, iv, plaintextBuffer); -// }); +test(SUITE, 'buffers', () => { + roundTrip('aes-128-cbc', key16, iv, plaintextBuffer); +}); -// // loop through each cipher and test roundtrip -// const allCiphers = getCiphers(); -// allCiphers.forEach(cipherName => { -// test(SUITE, cipherName, () => { -// try { -// // Determine correct key length -// let keyLen = 32; // Default to 256-bit -// if (cipherName.includes('128')) { -// keyLen = 16; -// } else if (cipherName.includes('192')) { -// keyLen = 24; -// } -// let testKey: Uint8Array; -// if (cipherName.includes('XTS')) { -// keyLen *= 2; // XTS requires double length key -// testKey = randomFillSync(new Uint8Array(keyLen)); -// const keyBuffer = Buffer.from(testKey); // Create Buffer once -// // Ensure key halves are not identical for XTS -// const half = keyLen / 2; -// while ( -// keyBuffer.subarray(0, half).equals(keyBuffer.subarray(half, keyLen)) -// ) { -// testKey = randomFillSync(new Uint8Array(keyLen)); -// Object.assign(keyBuffer, Buffer.from(testKey)); -// } -// } else { -// testKey = randomFillSync(new Uint8Array(keyLen)); -// } +// loop through each cipher and test roundtrip +const allCiphers = getCiphers(); +allCiphers.forEach(cipherName => { + test(SUITE, cipherName, () => { + try { + // Determine correct key length + let keyLen = 32; // Default to 256-bit + if (cipherName.includes('128')) { + keyLen = 16; + } else if (cipherName.includes('192')) { + keyLen = 24; + } + let testKey: Uint8Array; + if (cipherName.includes('XTS')) { + keyLen *= 2; // XTS requires double length key + testKey = randomFillSync(new Uint8Array(keyLen)); + const keyBuffer = Buffer.from(testKey); // Create Buffer once + // Ensure key halves are not identical for XTS + const half = keyLen / 2; + while ( + keyBuffer.subarray(0, half).equals(keyBuffer.subarray(half, keyLen)) + ) { + testKey = randomFillSync(new Uint8Array(keyLen)); + Object.assign(keyBuffer, Buffer.from(testKey)); + } + } else { + testKey = randomFillSync(new Uint8Array(keyLen)); + } -// // Select IV size based on mode -// const testIv: Uint8Array = -// cipherName.includes('GCM') || -// cipherName.includes('OCB') || -// cipherName.includes('CCM') -// ? iv12 -// : iv16; + // Select IV size based on mode + const testIv: Uint8Array = + cipherName.includes('GCM') || + cipherName.includes('OCB') || + cipherName.includes('CCM') || + cipherName.includes('Poly1305') + ? iv12 + : iv16; -// // Create key and iv as Buffers for the roundtrip functions -// const key = Buffer.from(testKey); -// const iv = Buffer.from(testIv); + // Create key and iv as Buffers for the roundtrip functions + const key = Buffer.from(testKey); + const iv = Buffer.from(testIv); -// // Determine if authenticated mode and call appropriate roundtrip helper -// if ( -// cipherName.includes('GCM') || -// cipherName.includes('CCM') || -// cipherName.includes('OCB') || -// cipherName.includes('Poly1305') || -// cipherName.includes('SIV') // SIV modes also use auth -// ) { -// roundTripAuth(cipherName, key, iv, plaintextBuffer, aad); -// } else { -// roundTrip(cipherName, key, iv, plaintextBuffer); -// } -// } catch (e: unknown) { -// const message = e instanceof Error ? e.message : String(e); -// expect.fail(`Cipher ${cipherName} threw an error: ${message}`); -// } -// }); -// }); + // Determine if authenticated mode and call appropriate roundtrip helper + if ( + cipherName.includes('GCM') || + cipherName.includes('CCM') || + cipherName.includes('OCB') || + cipherName.includes('Poly1305') || + cipherName.includes('SIV') // SIV modes also use auth + ) { + roundTripAuth(cipherName, key, iv, plaintextBuffer, aad); + } else { + roundTrip(cipherName, key, iv, plaintextBuffer); + } + } catch (e: unknown) { + const message = e instanceof Error ? e.message : String(e); + expect.fail(`Cipher ${cipherName} threw an error: ${message}`); + } + }); +}); -// // libsodium cipher tests -// test(SUITE, 'xsalsa20', () => { -// const key = new Uint8Array(key32); -// const nonce = randomFillSync(new Uint8Array(24)); -// const data = new Uint8Array(plaintextBuffer); -// // encrypt -// const ciphertext = xsalsa20(key, nonce, data); -// // decrypt - must use the same nonce as encryption -// const decrypted = xsalsa20(key, nonce, ciphertext); -// // test decrypted == data -// expect(decrypted).eql(data); -// }); +// libsodium cipher tests +test(SUITE, 'xsalsa20', () => { + const key = new Uint8Array(key32); + const nonce = randomFillSync(new Uint8Array(24)); + const data = new Uint8Array(plaintextBuffer); + // encrypt + const ciphertext = xsalsa20(key, nonce, data); + // decrypt - must use the same nonce as encryption + const decrypted = xsalsa20(key, nonce, ciphertext); + // test decrypted == data + expect(decrypted).eql(data); +}); From 17d71508407504b85fa30ba35a3b6e50d942d5c7 Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Wed, 28 May 2025 13:31:54 -0300 Subject: [PATCH 07/13] refactor: simplify roundTripAuth function by removing redundant ChaChaPoly handling --- example/src/tests/cipher/roundTrip.ts | 34 ++++----------------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/example/src/tests/cipher/roundTrip.ts b/example/src/tests/cipher/roundTrip.ts index e94f704e..02c1885b 100644 --- a/example/src/tests/cipher/roundTrip.ts +++ b/example/src/tests/cipher/roundTrip.ts @@ -17,8 +17,6 @@ export function roundTripAuth( aad?: Buffer, tagLength?: number, // Usually 16 for these modes ) { - let tag: Buffer | null = null; - const isChaChaPoly = cipherName.toLowerCase() === 'chacha20-poly1305'; // Exact match const isCCM = cipherName.includes('CCM'); // Encrypt @@ -32,22 +30,8 @@ export function roundTripAuth( } const encryptedPart1: Buffer = cipher.update(plaintext) as Buffer; const encryptedPart2: Buffer = cipher.final() as Buffer; - let encrypted = Buffer.concat([encryptedPart1, encryptedPart2]); - - if (!isChaChaPoly) { - // ChaChaPoly implicitly includes tag in final output - tag = cipher.getAuthTag(); - } else { - // For ChaChaPoly, extract tag from the end of ciphertext - const expectedTagLength = tagLength ?? 16; - tag = encrypted.subarray(encrypted.length - expectedTagLength); - encrypted = encrypted.subarray(0, encrypted.length - expectedTagLength); - } - - // Keep original encrypted buffer for ChaChaPoly decryption - const originalEncryptedForChaCha = isChaChaPoly - ? Buffer.concat([encryptedPart1, encryptedPart2]) - : null; + const encrypted = Buffer.concat([encryptedPart1, encryptedPart2]); + const tag = cipher.getAuthTag(); // Decrypt const decipher: Decipher | null = createDecipheriv(cipherName, key, iv, { @@ -58,17 +42,9 @@ export function roundTripAuth( const options = isCCM ? { plaintextLength: plaintext.length } : undefined; decipher.setAAD(aad, options); // Pass plaintextLength for CCM } - // Do not set AuthTag explicitly for ChaChaPoly - if (!isChaChaPoly) { - decipher.setAuthTag(tag); - } - - // For ChaChaPoly, pass the original buffer with tag appended - const bufferToDecrypt = isChaChaPoly - ? originalEncryptedForChaCha! - : encrypted; - const decryptedPart1: Buffer = decipher.update(bufferToDecrypt) as Buffer; - const decryptedPart2: Buffer = decipher.final() as Buffer; // Final verifies tag for ChaChaPoly + decipher.setAuthTag(tag); + const decryptedPart1: Buffer = decipher.update(encrypted) as Buffer; + const decryptedPart2: Buffer = decipher.final() as Buffer; const decrypted = Buffer.concat([decryptedPart1, decryptedPart2]); // Verify From d04c451a1a9b742129a449a60fe1a7762e5c4391 Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Wed, 28 May 2025 13:35:14 -0300 Subject: [PATCH 08/13] refactor: pull out xsalsa20 cipher tests --- example/src/hooks/useTestsList.ts | 1 + example/src/tests/cipher/cipher_tests.ts | 18 --------------- example/src/tests/cipher/xsalsa20_tests.ts | 27 ++++++++++++++++++++++ 3 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 example/src/tests/cipher/xsalsa20_tests.ts diff --git a/example/src/hooks/useTestsList.ts b/example/src/hooks/useTestsList.ts index 67efee07..6c9e14a9 100644 --- a/example/src/hooks/useTestsList.ts +++ b/example/src/hooks/useTestsList.ts @@ -4,6 +4,7 @@ import { TestsContext } from '../tests/util'; import '../tests/cipher/cipher_tests'; import '../tests/cipher/chacha_tests'; +import '../tests/cipher/xsalsa20_tests'; import '../tests/ed25519/ed25519_tests'; import '../tests/hash/hash_tests'; import '../tests/hmac/hmac_tests'; diff --git a/example/src/tests/cipher/cipher_tests.ts b/example/src/tests/cipher/cipher_tests.ts index 571252cd..49022bac 100644 --- a/example/src/tests/cipher/cipher_tests.ts +++ b/example/src/tests/cipher/cipher_tests.ts @@ -3,7 +3,6 @@ import { getCiphers, createCipheriv, randomFillSync, - xsalsa20, } from 'react-native-quick-crypto'; import { expect } from 'chai'; import { test } from '../util'; @@ -13,10 +12,6 @@ const SUITE = 'cipher'; // --- Constants and Test Data --- const key16 = Buffer.from('a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', 'hex'); -const key32 = Buffer.from( - 'a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', - 'hex', -); const iv16 = randomFillSync(new Uint8Array(16)); const iv12 = randomFillSync(new Uint8Array(12)); // Common IV size for GCM/CCM/OCB const iv = Buffer.from(iv16); @@ -111,16 +106,3 @@ allCiphers.forEach(cipherName => { } }); }); - -// libsodium cipher tests -test(SUITE, 'xsalsa20', () => { - const key = new Uint8Array(key32); - const nonce = randomFillSync(new Uint8Array(24)); - const data = new Uint8Array(plaintextBuffer); - // encrypt - const ciphertext = xsalsa20(key, nonce, data); - // decrypt - must use the same nonce as encryption - const decrypted = xsalsa20(key, nonce, ciphertext); - // test decrypted == data - expect(decrypted).eql(data); -}); diff --git a/example/src/tests/cipher/xsalsa20_tests.ts b/example/src/tests/cipher/xsalsa20_tests.ts new file mode 100644 index 00000000..bdbe796c --- /dev/null +++ b/example/src/tests/cipher/xsalsa20_tests.ts @@ -0,0 +1,27 @@ +import { Buffer } from '@craftzdog/react-native-buffer'; +import { randomFillSync, xsalsa20 } from 'react-native-quick-crypto'; +import { expect } from 'chai'; +import { test } from '../util'; + +const SUITE = 'cipher'; + +// --- Constants and Test Data --- +const key32 = Buffer.from( + 'a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89a8a7d6a5d4a3d2a1a09f9e9d9c8b8a89', + 'hex', +); +const plaintext = 'abcdefghijklmnopqrstuvwxyz'; +const plaintextBuffer = Buffer.from(plaintext); + +// libsodium cipher tests +test(SUITE, 'xsalsa20', () => { + const key = new Uint8Array(key32); + const nonce = randomFillSync(new Uint8Array(24)); + const data = new Uint8Array(plaintextBuffer); + // encrypt + const ciphertext = xsalsa20(key, nonce, data); + // decrypt - must use the same nonce as encryption + const decrypted = xsalsa20(key, nonce, ciphertext); + // test decrypted == data + expect(decrypted).eql(data); +}); From 88449fec022fe611a3f5ff70b2442176ea3a3956 Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Wed, 28 May 2025 13:37:22 -0300 Subject: [PATCH 09/13] chore: update iOS test suite results image --- docs/test_suite_results_ios.png | Bin 146978 -> 139822 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/test_suite_results_ios.png b/docs/test_suite_results_ios.png index 7ccffac512b0bf7c9ba0d2eebaa8b44196e9698f..2f869c2632fc6fd56229ef790939f364873a358d 100644 GIT binary patch literal 139822 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

;w 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 Tm`Be(!2krFu6{1-oD!M<)ynmo From 70529c8323f19c060e8b225b03514ca6abd1f39b Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Wed, 28 May 2025 13:56:27 -0300 Subject: [PATCH 10/13] feat: add ChaCha20 and ChaCha20-Poly1305 ciphers to CMakeLists and update android test results --- docs/test_suite_results_android.png | Bin 66262 -> 71460 bytes .../android/CMakeLists.txt | 2 ++ .../cpp/cipher/ChaCha20Cipher.cpp | 2 +- .../cpp/cipher/ChaCha20Cipher.hpp | 2 +- .../cpp/cipher/ChaCha20Poly1305Cipher.cpp | 2 +- .../cpp/cipher/ChaCha20Poly1305Cipher.hpp | 2 +- 6 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/test_suite_results_android.png b/docs/test_suite_results_android.png index 7e4ff76b8ed38e5ab31a7c1ae203509ce616dae5..875995756d8afdbf2babe407057539a3ec0c5af2 100644 GIT binary patch literal 71460 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 ChaCha20Cipher::final() { return std::make_shared(empty_output, 0, [=]() { delete[] empty_output; }); } -} // namespace margelo::nitro::crypto \ No newline at end of file +} // namespace margelo::nitro::crypto diff --git a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp index ae26679a..6819b5b8 100644 --- a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp +++ b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp @@ -22,4 +22,4 @@ class ChaCha20Cipher : public HybridCipher { static constexpr int kIVSize = 16; }; -} // namespace margelo::nitro::crypto \ No newline at end of file +} // namespace margelo::nitro::crypto diff --git a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.cpp b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.cpp index ee2dc2d6..d1db2a39 100644 --- a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.cpp +++ b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.cpp @@ -167,4 +167,4 @@ bool ChaCha20Poly1305Cipher::setAuthTag(const std::shared_ptr& tag) return true; } -} // namespace margelo::nitro::crypto \ No newline at end of file +} // namespace margelo::nitro::crypto diff --git a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.hpp b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.hpp index 20b153e6..a01d68bb 100644 --- a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.hpp +++ b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Poly1305Cipher.hpp @@ -27,4 +27,4 @@ class ChaCha20Poly1305Cipher : public HybridCipher { bool final_called; }; -} // namespace margelo::nitro::crypto \ No newline at end of file +} // namespace margelo::nitro::crypto From 81f86a9cba379d85eec244a225d3392c0bc40281 Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Wed, 28 May 2025 14:25:32 -0300 Subject: [PATCH 11/13] test: uncomment and update edge cases --- docs/test_suite_results_android.png | Bin 71460 -> 79418 bytes docs/test_suite_results_ios.png | Bin 139822 -> 138584 bytes example/src/tests/cipher/chacha_tests.ts | 227 +++++++++++------------ 3 files changed, 106 insertions(+), 121 deletions(-) diff --git a/docs/test_suite_results_android.png b/docs/test_suite_results_android.png index 875995756d8afdbf2babe407057539a3ec0c5af2..909a69af381b2e4d9b0b71c47093c621e19766ea 100644 GIT binary patch literal 79418 zcmeFZcTf~x^gTG3P*D&iNLE3RtVoV30+Mr%isURgqX?)Z1p&#DGb6%C4uXh+AbH4H z(nyk=_cr?Z?r*oYwrZ>PpRL-i(wZ5%U%!6g-gD1Aw_hqLNS!}Rc@~92otJ)aUj>Ca z!H+_nF*OrBdprr5LRdY-DJ#69j_SgQ#iX&rWRQ~f1fhW$$_L1XV|9zSx z+X#>Ol}sZ>Cl6DgQ{bHAoA;>4(yFId<;1Pj(=6|g+4!Apz7~Jw!j(VNE zd7!=TJdFMP`E$*|C+Hoj?y8B2Np60=nuJ6E3k!>ywzl>XM&vL*J6lOw`lXDFjMK(% zZ9`vO`)AT8sC}4j+<0*7)-B873d|#8W712P(!PCr5D*y1!p0VIW(WU@TWvFDbCM!q&0v4u54>th?cb^KFu%8aP{ilL_z1=?MoyiQ@9A^Y?P>y zfk7d?R9N@k_vYq5&eE+H@q*$@Yz8%6zI-{~nGrlOIcZX)<@K*^B6ST77A7XC*w|P> zudNSor*T|F+{t5vOaafIXIo(lVW3p*-FsGFU;p1Fer-u2dHMNlG=feKC@3gc*xA>e zr33HRjr+ZSf5mxeMF0Eu@5qgQm=>dDkA{w$ex@x^)zma|V_`7sI6mPA-QeS=`Qwa= zw7M}?n%9|_Secn$<}e*~ADx|_-<={JRAM(OYV!DT_Q#K%*z4Oo$HGp1`TEuJ+v}?` z3JRuAm5_7&6r*BdtVV0R2P&NNU`T)Ap6p%3YdR^%7+K+r%lzz*&wBOhXY8+|c9j%0 zG@?J*3}*V{6E$1@dQ(G*7u3did7#$U_dKnz7BMk#4F~>FtBj;%WR@`e0~jlEg2>ze zd}{b(#agFqPpO?@Z|_lSmsLzmGF+BM3edF&IspLzH5^T5I*;o*Dx9tKpM1YQ-<1^( zy+F6%A!pZ_XymDTZv5`Zl#hQK6ElN*QdKB%lGWK`yO`#|7)7R^zVc_2jOt zIeG7|V+9>1o}*h<;>d{Ykq7_r?iS3%A7|#H6Wv;o5wabwAS+sxDJJBH+2MXN^%l;jaoA5Aeb6Lsr z%i|3-9E~P{g#2t|!Cylt(qPthD@cy+cFqcBL8sI6hBFghldx( zZ4nU>8TsEcwf5F{@0L9IB_nRbWcALE{@S&Bs#yx^NBi&ZQ@4)1yu`HDAw`$-;X^w% zqp$G-o)l~eM#ZEb9RKD+8H|GH_S7XXIolO)8MnRbZaK{=g;Ly>WQ_cd%{b~x`-E13 zMuBdrg6=2l6=&wqKRCZh7#5T2^GAQ)tAl)@TBhFe{NegehSRj|D5&w*|THSn@-2kN3eU zt$K`#p5f1wi%o@X=vJwVLXAB;PsRJ-iC22yZ9&&Xxpq91-`$L?EZk(c*oH@~0TKV# zP^zq};(>0(vj0wYyWagF;5}?5W5f`3c6L?`WN97`GpP2Mi?b?R(Qt(>oE)Jp>L7VW zh(d*!ZU6Z-Q0a=s?hw3QOXm{=Yu{C3(e;>j*UL-?g=&93uS`Y0_+moVtSzBqak%n& z&*&SN+O4egbOst>Hzn{v>oUFuXZY{kyXVw!p6>=XcXyZm=LRr1*REY70oPSl#xEfy z#mdjG72)+sg#%Srt)i-mG5bkt81qoo#pM$WKPf3`Mt1g%BMU(JkT<>u4DmvLaTDv$ zVA|x=M_jSoj?;4Bjyyk7xxMSR)~Iw@=mt}Xn0Lgpg@n9yIw-X)FE4NY_N~1wQONnv zlyq|bI|7uwJlp_o=dB+&Y}%Ia{VgfVzPPVX3u8BG0Cw~&5fOU(5*b-$vDweu?Cb}y z+Q7xCDJ#DTqZ2EHjkjH49kVvuAwD-ZN4r4J%q)G0QO#Af+B}Qzrq|Y)v5KV z=C$s-^9>JmYN93JeqvNyT<+VqB%zmY)x!q$OL3m-lmOqPhBl~%F`Qi9&r(S2JlNmG z7&j4`n3`79-XV(PcSwzhh!Cc=e=s8+_BCI-`0FIkmW-EI)z>f@+=_&h2&Mhn@BT;{ z)pKpuyjEZqDFvQ9j>Kibf`kX1o6kdQsHwfxDAbcix?%LiK267Y_&GId?A?bCHxW0~ z5O`h{R=d6>D=)7GGc&V{v~V@gl!8^*oJ=Kh3NnJznfES@WZ{wSrEw@0XYDV_Qv0$;q*752kZS zI^y?T;E^Yr!ebcrmm7$7rsM6L_O={KF?PW)lzm0U3upP}NBF?6kdlzxj5vVoe>4nkOdUPgD8(Ec)A?i_+jJPjEh=hII^vNB>ph{O_Wk=ihkG+(>kUL=W#wEb zKcUMut)ZD881Yfu9E^;Tw@rVTKgoSAgy5B6a?V~rYt_AGs`G(V&>@e>P`;sF9~G5| z#R?opX$i(--Lk--dVt+#n?Uj4Fi6TpnS$T`J#=hp(bVcCY}JL*(ZZ>z$0tvm;P$Wq zn|X?mIy)lbVoYh}szhxhqr3{N&jMqZ#MRkeZ^lUJh9Dx%a9WYaT(Jq3^nfy9Aq2(; z;iK3ab?vHu;VuqYZY~aoOrTIyuz^)nRJc7itie*dW0ragba4@~9EfiTqZXLxsj(^I zc`~^+*M*pw!5vuaf#4k%qCdf!j00Z)TN-wi$79K7gIU@4rKGHe${ZGLKPBPNwFdC; z+3wy`--s9bio~13XjGxmiHQkrqdFAeua?JL%vY}5(KPhN_-u{i#{_P>RgQl7az7(I zonIea4DiCKLxNm@n zq8lgrTeZK2)1hJ8c2|v*SVTs%X{+Gke*d-xyd)2nze`I!t51P^iUR2=0~7h&19CCU%LDEY;qVG?yXAD1cV=;#y} zrFd>Gh8D(;EAA`2yP0CjQB*pU4@-i7-?2jJ!GjmN19+%1DX@g&AD`HH_^*GOlE)o{(UzS770B)y#kvMm*0IIQzD~2yEd&@ zvf#!Xo7YvtcCe(ueZ%UjT$3_X;^kXW6+^e zqlhw>gPx#eKYWjOCbr!w1!I@RhxyQGgV(gRG8wPu)I|d;z_OL5*bJ`)#=h5MxSePj zY*g=YBH{P2I58s=LP@`|(afruHxOS^;y9xK4yb+6b2tS|HyD48(#ZJuywucdd}=39 z_UbM!F2#v)Dp;7?GXkg*x0Y!3)yk8Hw{PFZSod?G*Cfiu504!?#_hA`R*IR4Zln=( zo=*qATb7n{1iE27c+iRo{P5^^@7~22kdu&fSDM!O;qlNj3cCExZf=%AW@vJMfa}TB zx3~a{vjhYfuk9yj&eLid8kt}$vSC^j@HN%d)xj?roxn$JouS>rdv7A(x|lHiGZ_uQ z)DTQ!4TseB_I8|@ZwQlJ?I719$fAB;bMHgEyB(;-6l$ zq1|c)5(oc^G1LG={O8Y~`GRB^8%`&<58TxtqKzqm&Udd!mZz*4ng_$f72mour|3K1 zUY+dq=Ou(t3&pkf@lY5{Ne5LAukFz6<{|nRYUFiNQsGarLp@D>=P2y%!QSf6sHCLD z6(5)>n=dbj2a3(YRcnpV)19Zol+z@8bj|9Mop8PKFpGum5Iq^th@3Ujrs=-Js@e+dqK{u?79b2q%1AmAtoDCgP`3MJN|0*)@k0MBm~ z&|HZXmIJ*}4*!Gub+4kUKR-!u_H1Xia+;oH!<-*I7uUyLl5@V70C*vm7F=0GI(Sv9 zU(HcIgG(5!K^{;E(ldur-BiA3`dEd9t1@{#?@LOu2n!GSlj5PMJ38r>bv^2iqsV3C z<$J)aRd-_He*h@+$OFfP!;}lG{nn1@!fS$nk)^obrt(LHy1o4e+lo2H#xGwUL;wqc zahg+sV1CD>)_ZrOr|#+T>xs#26Sy2^XN=8Y@3<%U=%uGJC{&yI9MKm0{w}^B0i5n( zQuK4aQC?*KoMc%?72p(okGYJt(WM{q2cjOvz4_YnL*>QktGe{;`W0%UzK7L@8&nrB zrdk!2XPR0z!$yyaiu$#pL(@^HFBG)oz(@jikB(?_X2lUqFyMyS(ZhpMh$)3TePEd$ z>@WG|0p&rzph-Vuo}@?7IIdPV{xglwXQwNfML?i@dL5A7S}Wh^mJQ-dbNd6Pzr4J( z1Jf^}kyZ@min^w$zrX|!wfM^}r5wEscNrk06V1<%jqyldfd7$zlGdVLJ z^Q~XAp%5`+2Oa@3uQt#wz()BrG&ESTf1!YWeEat8)FEu#UaQIa)ufAbbW7bDbzoUv zg@bHk}bx(@m4NWn3!Qz zHSpC9p`JQmS|F6rzFj}|?F~I*wSmvus~Np*);61ymGp6U2i(5MMxQYcI)+_0Gn9&N zz_8>JTzm1-rNpxs;Gy7y30JIe+{7^y<=5|}X+=d>H_ax*o*`jP?hE_0jNlh9l%T<3?4Zaq zm7Kh!Qi%Yw3fHAV2*=qCYpO8<{^re_P|@S2rluZF#`yK;)o?%u0*$mlsb!>D zcgtwCC6%80i5GuH!GDkh8CGB+n9 z&&5a#2B;HUq?g{CB?Qv_@=IHML5?(efG#W3g5{T2`sN<+#IWOMiV~^M@EOS_i+ca| z;I(;jLJC+kni0?5uIaW!+y*bSTL9oz`^=d$V04SiiAtDuFq(JoKBe`Ty^3BZr>4$_ zI|*VWta&28r^81Ue*V5RT}eC?WpBBonTslMmny1`0)gO`mbtby+tYEzIXO9q*Ol6# zAG#wBvxz_ehbqWA=0ykbOa)9^YLhrll6%61ZtMw=#uf z(S^WVU{=~*5Yv0R0wO)Y&LhxJU~2XKavzz{yZmKv~Y2Cpl{Ra2!V&*(aUlV_+5$(MNWM)##uG+JJp-?+H;MEVFD2f|+FYN?7Z)v&gj`^&wcDWi4b!W9bBFpTi$VrsnbVgBr>Sw=(o|CXv z{SF^UORqSe5&b+1COt0Z>&LV4cv5lr$wF9%6)yI7cMS$>);^?y7ipI9YxW=h|dlL~+-wpTDdEMTwBys_;CBHHY2H6?dKq&pjMrws4Raa%i&zM^K3F>xsvBB77N$|4!_2_& z1$PoC#=~3CaP6pN6!PZ>Di9w*ETz6Wpt3JvZJn=p7CLp1;W*P42O|k2R#al*0`7?= zLeKkEKwb#k8{6D7KmR$PeaG&B|51Yw4_KwKuJ>sk1Lww}YuS0=Fq(nd{Bjz|zV;XM z9n>|a1yA#$P0esEp>484e(YJKl-1U=}()w88Bj=cyA+mOBmL&l%$PbkgvP--1p zc%>WWv90W8%ZCRM-yf^MUj2#m?yKX&zN?8u0v|tqj5{Zk>uN3yO9nR#yrJJA0TEHm z_s0=EmLhcaU%q_Vs$c|a)IL$jmGJ|#Wk3!9wW>-u_Bt~QOEY#Ieu9HPU$E<@EHdcG z5t1X=g+xuraWh|sp8qtY`{3{+?m5d3BlWB6(b0EQf^wq81^d6B8*)kQ0nYA}z}O>) znVK2pG%RW$o9O-~7*J#UKpP-G#U{Zsz!8!UAm#*YK{)FApylh1NUVxG`T=FH^Wed^ zZJxjPMumU{edh#&?+K0R$BuqO1(H)z zvN&pKz5Cx=gD*cILdQD)J%hjXQPBr^wxcgMKfwk&_P0GF>;Im1`PlK}CSVFR49WkF z#n{42d?s1Cf4su$l46 zZnO|G5c3egt`}O2)>H?cE7ziz3~7g0yQAfJ=~wH zIM_)RB(;6e8AQj?@#W=-x?0$vf3*NHIHVQeYWOr~X@QTyxL2j8-wz@(b1$bn>Y=E( zyz)~s8i6NjwR^wzd4EENsq*aEvwzGFfl{hiZL7qXw2;LNLYAwW?rrk z5y}-03Y0q0*od)MGcc@GL|PjQKh3X{mYS*;&u90^eQ~JVk#?aHVhYz0_n1%C{R2~& z@$rK0O!WzRzF2`E9zqF?bZaJRajwe(f+O zHa15&?Q5T~>sXx+LbIli0{EYckPRH94kZSgUpjga6i7%jU`_?$4V`z18jF2qH8w zAFf#E=s6miWylFGmjgy06dr-(5b(ZjDW7aBETSu%<{qsMK`2knew5rax)7-2-!Pg8 z6wB^r7H~7h5Wz(^UVQ)J#RKR0Zsp-hSJ%OAJlJI*T$lxtPSeNdDP$H&K;H4l;4=hz3?4mt);b9g z7sL<+nyX)4YMO&AVZG4xaY6Lkw{M!;+6rCw(!xbc1R5FHZ3=A5O zF*A67uJ~C~C7U3(lWgiriiBN~DzsFk3!9H{bQfEDAV2C;sq4EtXazH1xi;|U&l8b9 z-_mwq+a%;VLa-Fa^^3^^)-t#4kXF{fatY)E;+tysp7?im_6q8`g5(7juoa(LFW0g* z5&*YTfB2Stsb**1sx{8JSe58`4={^ao{QT75J6E@F9wiL3+~_1DgZ0tI_z8uoZzI2 zP!gBV-qxv~!>*&8QPH1zJsV4IdPO5%j+;DW%)XsSZ0|ij-JY|50}f0~2Jlgmkm68s za3~_AYwMh742Hym($WA#F}OrmvRR0Siu-$e3r1&wTl(m}2x*m$1cB0A!`d3iNNOUN z(Fmq@cW(ln{K^9x^Y-oROQxi5WF_8~pM1s2f#w;eFz=%1uuopYS*v!ElRUvX5?#z1QHt%hz@OQw+=IZV$imaDBc{0DW zLkwI2GFM%h@~U_4+$nI}9Ck$~c`mxM>#P}6?;@Y%~==ttDi5%`Z zo;`OiUw{mD_STkLC?qAo&|r&y9^{O8gAMGRZquJ2&!FsTD5PSqtnAaGg(XjoZTN}T4n;=M)o zmc=o&r#T_-<%HFDwS?3l?@!da*Aa`Ki;Td;( zhW9*;pj^1{A0eCmj}jVrJp@sdbpPF0RqeOa^pDt6StozQI_BxyIN_qxAquvF&5H@6 z6MUNji7Ch&XH35<7)_GxgsiN(j?Tao_jAbF&JDYgcMH*yO^HMX6wr zWArykNJ(*U0&$-uSvwcgBmT=uVnNUT0}!qVr?o?arP^f zT|1Rs)vxw8D$t+wM6>Jic&wR=?9488XDQkdX;{kr+g?(8uLc!hzDwM_AP-L%N&+^- zzjYEUf47GX40=~`+XwdrR`i|(IJ(@!13q~WBw#A-(&jqSf($(7B)r#qPVFzchTnhy ze9;q&Hbf`yJB|UneRA4bR=YAW;Q4+YBy2~$jQQ0Xw)~^VzsPbSlsky zQUQ_ZmJ%f3b6stL&Omq#VBVbiO(uDqW-pwl=2rrZ8SJ)?m9+FP!o#s5n|pfT@Pi<2 zmV@+2HiiRJe*9YiqB0uuuhjs~(|<7L)BXP*@dULCm>#R;A;W_|xh)HW9ydb5m(ptw z)_H~~npR7+H{0CaS{Tf%d1rbaBC~?Xph7Rc_JbB1CD+uW^At~t zXuX#4AhD{-s#&OJIll{v2J7XTtRxSeGiMT=w|~WW7U>)|{`cf0q(X_pvAB+n;9wiE zwNPq-dq`Fqc)8z}S&+)6^C`RUI6YJde#2wE2Wx%MJ2acy5GJ-a?qJimECxJhTBz-< z-6pXELw}-P_VfQ%DluMAB0R3}fRAy@{WTm`Gnl*^ksm(p@`S&&5Skge*x?bG?6TWm;VX&&}2^-i_GJ(yx0!f|7D6~B5r~6qJVFd)ZZp8Ow@;S?kH>uDM)t@G(3SDnrT*2#!Ws{i zNbiBO=EC25Hgm53?N*7foN`g*_s5-J0*0o`f$W$k@^!19Uc=YbDBP2C9rX^ktz2*c zr|01L62HLaq;V*l9jCq_m_{tJo1?wy4`G?37_3@)N|x;!h{ zM^ZN0Yf8xzWS*`zgQlJi&5+vxw40~N8Q%oyuzf~yqE=79{Pb{3Z0&yK<5zBlrE2Fz>QP7@OLg6B8%pP_Rb z)7<&RxrBuJ352>(9+GD}13bxcea-tklY!liC2yOg4PDp>=qKYny8 z`f$kuWIS(h+vT@bC?$^yfC^=pK9CUS*wt)HLi)GJ-5Vr!AgLh-c%~ zIRNQHHf-}8@Ew3MA)6eakn{ubN^8Bkc5~m}q^&QWfrp##F$7^LhvkP2tHRiPnB4(k zKJem*T`15An1c)y`0w6RQilBV80^7-5x+8mEhq(@UVzLQgx7_T^M)8#2LVQ|qYE}` zBT}^PTA*kQZ*>IC1VA@d&}jy?t`-#)RZP5UiF)@gyY5af(iafxQc^QNNeLI-QG%^f z;41uoM(**}SehkO$HTuCMEf*2cW;}SMGWruoT3DysGbLQJq{ACxM zX4~%uld+d<-?<^Zva+J{!KkLfWno@LECO+hoxl4_x!s3DD6p)eq9cX8!?B@Y8E0c^ zs}z0rae0b*a*5ZFdI?XPz&=qPnZgEK@Fy$K@|PP5kI zj;UjpoohU=&Dx(9Ukx|6JVx~Tm$76}od6P4uYk!)7`XNcxpuuxXmveHOvFl4h%8uw zvue4ju+sLG`2LXBs{Brip@9bMmjw16=0&gMINV=T*-}qJ%GX!z8BWG&kPiUN)(IO5 zNtt;NX7++i01XC^f9PlFs81e|m|iMiM{B*u^?xqS;V!coNG-K z(qz@hw_c`nRZuRv4zh~FeY-fs$Qb%;XMpRatcJ!m;%<&}$;WX^#~64>r&We>r-MHL z#;6x)p#CvRD(E*NMatLa>t*ZShM~?SH{5fqwi4ly$cU>P&6?i&8!~Zm5BfEb0}^@r z=1odM0=*zeV*#>|0&hV~{AL~?8Khnw7ikT3DuTQCSnTMuvt|M4ml=dQ#KhyEUoQX+ z{PZXM&xp_$A{Rkt7DWhHf#gs{w4BwRe5DH4Eo9um;orXPyf&*0d5|1X^?-ZU#^dRz=Er|b3(Rdg1ugD?X*kN7&nCtr^ z-uQ(YgtLKRO70FB%dWg3rFs`X?XQsBFH0a!QHwIJ@*iQ&8a922thoQj8f2E>Fw$a- zoZCAcMxgrUYdxVP$gPpX&VeBZlcv{Y#MzYr!2IGB3_JIR+eEQfJVXPil#5;D?%* zMG`bqnlz^^tu)*VCc~yVoqcV^FFspqlD2u<7x(^el7s#xs3NJj#@xJ23Ppzu)K&-d z{be}L31t$U#nLfh926V=wrhNj+}_JK_nsr!{`*O@T!wPazU(}~S#vsy_rAk@3gnGk zaeo{1HDS4NqT^RFAMBMjmwvsgVbf2@Q4w#sa3NN$9_ zF7#@xPKwD{Awn+VyVpT-(w^#YlYlglmy?RD%O3xAgx7&Q98oZu;6oGn?yL2_SE>7No8M+;mM_xzsi>*# z;L7A|BL6p2vKKh2s9e52Jjr8ayXEiLyNZ+sz;QT^#cNv9obvE0C6Q9Y+V9Cl`P5#+ zmNp*!)sNDL%Kq`R`mF!L4Eg$65TdMRr?ci%F*OLV3tmYD)URETL?hz}dS4bUE)`HH zfWl(a+z_tz6B9BM$@-YfWf+6U4SFX>7S`3|pE;u(Tsk86>XYk3Eg8GE*ZJXYngn)> zW4I^69PI4!rNb`qplJXO;TkAtcPkj6rMiXukMo0Fl~EfF9@js~v^yuF*DZy1+tRJv z+hi7mt99LfxdZw>d*-xq=?jKX8$OvB*Muv<%yl_&?OsqF0t$SoWbchwkG0tp@PBTY zM9?&vLzxDm_}o|=hT;Mh;7g^AzlL=e{;u%}dHXuCZ@|`YG%|`%EV-zeP8g zG{d*&@20EAW`PQe0+9>Ee?U7wJ4z3=Hg8JA?kuf1>-bK{CbEef2KVNi2@~TM91H^; z&}i3T$}cI=JlDdKT(!#8O>@@+TJMPBdx{&ratq>v0(w*-oUE*}$-W2WNL2xdMWj1} zIcsJyF8LaH2HxxHA_rTO>uo^q-v{W?2_z-=!}=4|D_^M)r__KcZ{|E6rio2VP8thO z5uQ90NXv6+;>jr_(Is_{$3=H={3%}|tfXq*eLUdBMZ#cSZfbJlxp;24Z zCM(50tuTMWTIA!t!@f;li=~OhFEzuP(TLizHI4`2DoY^2k^E^DU`qcvzImNu(@=mU zlHPy5Gl36u%;hwL8k-`^QK*bE;-l}G2Qj~?1*mh8M1=HN#B-Ike6BxN?L20)@O_ju zFTv2bO@HBc+h`i8lqlMnP4I?}@j$5B2Z0BJe_Upb9!j>BU&>%wNBb|$)=VV}4KwW- zN=gPojO6aUH6E0kZSS)n<%(GaK64HDq^`Jz9s^hM*hs|uVv*zaDT5)>(ddyYM`A%MplrmZ%Df2d| znch74!2(oPcq~Ycql)ZbPgKwyRG$Wo*OsgWMU@;`aZ+NeP!ssu>PuD}zSV!#R& z-RQJEjxnv8K~JHq6S{KE?uCY}xWw9}U+w!nJQ`SQ5>QwJ4pvc62s`2>5S#+ics(8M zQYfSZu6*ZUcS&7sYUpPLXmEmv=v?MJ3xU;sLof9j>)-c=p{(--alSJlE**C%Yo1el#?q%*cgHM#@6>)e`RlV^4w&AvMkrv%Req4pnS0+GG&y9q` z{yxf=4j@lNEF?&`JwW5T{*6AoyAsidLTnUM0v940RTw_&l4;NY&I5n0Y+zteFbTCz zIu%YiK>ievvTB&Ozu!5;d)JoR zTZG50HD|hgyLhAs;_-p1Pf$t;1xVhlI8bxO?6|xg4ISgxUF=`ylZyaN*QV-dPT5|9 zs*Oj5sivB`de2!tB>mUjt%jrw2ddnQMBCbaDf?yN6p%VhM{lu$3NDZ=`^~ zr9;dsQsLBFsGkQkCVC!(Sm~>2TnLp4VnxY8M9>0M!}^y?iV#)xAZ4M5orN?saYS1X z2L!p<`5J>_yXB5Ez0au-Y6uKBR1NdmK&1z=nn9}1Ft^u^WUF~}Kv(XtfWgi~*(LUp zqHv1KLSGzYyz5@*CBB+yb9u#rI}~$xcfETWI+nt~BN}YVNDqo4QRjeO~ zN#n7Sl9Ih1iShBcCx>CndBoJ$NefS&Bxib_lRlA9BV_8?{6L(Zuj24wc$*-Ftr~02 z2Nv%3L!Z1_r@78Jd+>l1JA&v*=2FeB0{kmntXgf897H?>l!aOuY{KpYdaB1HMn4mw z*T4@6+K>5xPgcg&u>T}YiM@@0r7wcXZ>S3 zaJ2?HqXxZom^C}fUS+1|9t_x@KgopWoLTc$WBZWXotx;BkHD~!{iCApu*(Vh;vL#P zJkJ`UhE+#u1eBA9BGY>|U9nx*Ub^0%zHjF>8_s{n42U#BUK0Y?m?KqttXWbHsjV7> zss0DcL1GUC#S%@x4JvGI!wRl8uw;@3a;760{7f7cI&E&h7Qj%wzcGjbY=aax!|Jgz zpc8icFv5eb-q2~q!q)IA01O2d%4yVlQ#t~e^&`qvtA!O^b*~J0lu{ux=L3PMgy70j z)W#DN|A1zhC61Xf&F`dxRsU%L@Pb$if3Hr8uiMZM%syQav$deSXkLiXmBB3f_N6_G zn69My3bO(zVp}~nOEI|+lKp&cHZn4=cGl+7M7?)rgXnzhD}Gj_F>@d_1z5RT{pF5X z;72H{T*KCh%CZDT7wZ96#C+i}`u^%k&sOmwBu(v&N=Mh%FV93IeVYS7*^x|4?e z3hKO}tBu3J=H(%^p@MXEdY3iyvWp~yIjI9wTsyiDmfK68CX<`ts8R$#8@F3x<@8@w zm2eYU(!T6tU}H9USCnG~n8iWKF9X!&9Sz6n`Su+4LkY;8ps;LJOYHjf^%+85DC$p{ z##N+o4vp8_nA7=eJ(Q4?xQit-gUOmlq`DCBzX~H8qt~A4^+HL zB<7e{5^8+E4DIjCrzFXk>mPCk(<=T}c8K+CI6vprdN5m0^hkB^W5u-=8>kWyq{^qam#t zx{)wo&AdC?LEnmdwN4?^C<-P1FQH(RYL5bHx$fT&99!yskjI{OvYMwQP+ z$*SUMJrZhf3Y{-ys4(yC?_&n&M7?hC6P`WGrK4Y=HAE8ia6u0b)${v`4n3!jGd|JB zmaM!IEw4-El6~wF`e_xWvZ@ZDFCn9^=~-|ur4BendnjAVGRO-DWwez6)ntRgibx*$ z?dy;*yY}&Z>##qD3>*HlI>UK*vh&^pT7p`BURMHMOPl+a@U9Go1*#5| zOu723lc1ZvEb7INAfNS={LpzaoSdB87tmuHqV9l9H*e^!1RYTD_h5J8p~UvrEe_1r2BfDlkxVcRJmPM8ovme6M6KUA@>dL*%9esHf`Ztx8 zLLhHoG}lEO-DWn3M&R`scO2ox0V}1o`>hN-x!QVlcqo5e?Vny;vV}cuZG?8U`@DXC zh9xxewNe~!T`t!PgN20pMR(6T(|K=_?y#NWGUQ>$L3`6ft(YXNjqY*Fdt_!71a9!y z4Z0{U*G0Xl>FN0@UV8fDpt64lELyrsPMa0dW4Q!ucXzh{Rr26ahqbsUWAD@ ze$lqEt=5I0(EW2B{a%8Xyf&lAjDhdI^XC=dyKi~#I3atd;a`+U2iWLsMfWr zJ$L|=z-ezK02|*ON#=lRB`IrbHlX-kKs6UV8{0WL?=@oJ4^L@oYCbkIoBR=bTdVxZ z^~KRzBKRdeGqcx{ofuhQ*TiRWgH*Mdw2kWtZt{Z*RYGNnr7AP)gr5lC^*@TsX{JAh zf`V0ia58=Ha*0eED1`$ywzLgL#bfy#$@HlGve0^5N35h6QuvgxZ0-Hl9C^Gl_747u z?!0ZnYt!J~{aWMs;H?bD5S0A^im@RJCq9F5oc{3{pU&$&b`=RosQK+t_=ME$?juc2 z_>dMC)STcUDbfl7>xl`qR-YiYEmfbzP!7+)b!D$<-}lqZzF)+Akb1l za6(0r^`6E$?9I_>Mfd39PAcBD; zR#qQswB4$3B)RsCvA)H?GwUwCF8-QDAAwb+cWB#4;t!>(#AEaGuL^Wa9|3qdeg1rp z;AploJ&1HCU^&coe-}$$cNx^a*`8wq{G8y#{ zxx7hCJpbmw2{AFTt*x!uo*BTl4qM9)QGWNYJnihbU>U=0J_OGoKgG}YQ6|#8- z5fK_t^50-)ehS+aq^{$j`VDTl2;J^jl|4xsK|ps^Jn1RdjdA9UJGZfSUf8gCPVtKv zsxVgDqxq0)#qat@0V;XzZo#Z9jYw{X3k3N)(6FQfT<7|Vw9M9Dr ze}U;FwZDK22{CbOM5BVTaxmd$Kxjb72vk!myUQP$;rsU=3$Tffo&G~++&X&-^`nwD zXs6#wlJCxIzM!DL*Ai=A3?|}789lHf_qz4_dum$dIYAcDrQnC_x6&~yE{9i+mio2S zilSFQpnP?4YAiLTG|$X?cWp{ZtU>aGmry1i{K|76{_}a3dj(lTA_M_G9e-1hu*(Fh}h+Gj49=n1+W>Fy-%C?cEM`+ zZ1mseX5Ec3;EML53hH3G^gNW<%+WS|%I+1iuu<3u^1?F>s4;i{KJDZ4`GR9gkyAI8 zhv)RDrElDKuoxZ*^G`hOuPb1zK&N=3+xWwOr^+Y2^h--En|eeY!dWLFO&sAUtE`o} zyC5(aJho&JWQ!MexwnlpagRn$kNICODVlGS+s|Ip%;u&SqW*o~{vwryiOS#MxyD5x zewu@|x&Uq5dh(|b#DRiKn4;5thp z_Wy2_Up)XyTLG2-f5?`AeJ^j8MctlWTe*Knr06Lt!@qkNf1LN5 zL|dOE`)WGg>Hp|%Wp?y!CABD@WBSKwKCtDB#(CVD{kMoep3Gy zo5|?r++$%4rF6z4BXTzm(T|J+s4Rh2mOPP9F^m$|sl2@T^xvGTG4W1wyw7woWUuq| zlq0uQ^9ocsSyjq(sS-`5=6n3#jbj7UPf!QhiG5|lFGjr$BFsF^*9}`S(qEh3Yqw~Q zR^eZ3JdalJq$1Rwx_jQnd&k?CEw}$0KE7d4e}}&CZ%{hnl&1Jw7I7BL(RXrK(Es-4 z3$`E$d};#Y;*c6$8JldY2a!<^A6iGd2Vebn-TC12{0Ge%V_9W?Bt+P+4k@W(|ETKW z9W+m?MZE&bb9`};(ACwoYQ0yNrv_b8LL!sV`65cYbYkL>W6aT#W7NoH@vqANHe_-^ zJr7QhkceItz`z<&R}O#uA>CeFo`Gfbp36gPvV%+GW{Xeq6{MxlKq*!zkQZZ6UG+dt z?s-80JA$%6R(p<4lo|pIZ%Z*?5gMV+&}wgJsrHbTkdROkm-P`S;XSCw zZ<{5#pQpw`E%4+7Akxo(5MM_}pQ59qt6HunxXfou4KU3hZRQe;_#0<|NC&d4&YxqZ zi#AiNe^Q>E1Q1KdgZwKVTwJ*k;gT5EnyePB?nNcQ46`80~hXpFXc{}WN3S} zr|UTit`p!Xf`WsCwJk4wf6PUoGoG3N%l0n3B1p@$4(}~KHOhW1@$2bqCSJQ+WY>6j zNFj(mfeN7!B16*h6^sG`6cC1UzzbjuYz&vGRtb?;J}i)LTXbbU1PLWiAtyK$1qB63 zoD^t|JP`}}$#(b^)P)^GK?!^SI8#x~64XXkfugCe*i11B3j!!2gjF4%X|fLm3o)zx zS~nu-*NWj)(M=5u)_uU!$TqKkR--ofB@4aBJ;um!5JY?dSd?2`2)=j=sL76u;3F6R zY_hVe9L2^rgh~pT*jjYr&9BhyICtv~MJipaTp*MOJc9Zwet4;Y z>TbJ4j@m?`>&R!AP!uX9CFLEL$ysouZ=$0EXJ^e5#C&O)6qCLHkGKM_B#L9FI70dj zH#k_ordlOW+8$IxFhF=O+EwQjFKvOG5{+^>tjr&AJOs5MR8>V+yRR|=PZ16XBt@OI z%SVBoYm7fa$$asm<&QW^o>GJ&s}BWeb^!|aZ~gwAfI?#jx@97CO>;ynkc`&>u;oef7w*CXG#V&%G~XJ=nP(cw^qy7yVb4tNyq@vl%Z zj|e3Ag@mlyKr40;q{Iyn?<0{1ysg9-m`+S#3}VjNn#Q}0b>QtW)%ZI+zmJ;FY=$FiET2Oa1G{`{uc!7q- zrc;pJ_Du(PIg*$-+uo4VcbZ>qJkai-UDvlt-Xw|1y%6(5;!3h4OO&PP5HPBrL4<#D zJW$8n{08#I2mw)#wd}TosV4#|D$QB9Kzy3s=1h^A40?X~vRgpXS`U>Gm)ebfMTp=$ zA1DTU?_T}*`^CFucyGgRZo}&|E|8F%KxtttNomD=^s?d*GxUv%T2X|V-=)a$E1$l` zBb{&Yr|mWm_*B*qKw#KP%=fk_mP$-B@9H0R9tTlIjU{+-_&oz3gyqFnF-9poi-m#E>TAH*OT!%_#|zXtJ; zHm(L@7s~2Suh?u~HA}p-`1Fn#?}1Kl+ZFHFTvKoTGJ8CD(McV!RObRxy@GZBH`d++ z8mqtm8oo3q(nJZVsDxC?94aB2%w$Z+6d96vNP`R!k&=1HJY}Ahj3qLbc}Qk5X7=o( z?tA^;wch7l>wVU9t@~a}{jM(8Ip=%6=kwWnfA&6h?3l-XE^-XyUDDIj%lOmZ->-$r z_xpRDZOlH$Tuqgf_7O-Z?ak0DxNC7Uk&)2+HVT#3*UL^RtLf@cKXOHDsnDunLGkT| zp5B10Ss9&OUZ&gxuyp2MGT4;pCC^mU zgIkwqBozCWfm4o(~vqog=+F1y91zOL?UvP!yM*c4%zQ*Ef`=xtCXwLHKEy~g>;@UKcZ`iq?w`p&>4z)x^(iMMQy^MLj#$|uIOBsiDxq=nid_e_M z%1st1>6MM%b;P;rUY7mdra9y*ePY-UHyRTPDX-wzZgrJFi-^h z(+y^24#-`KaXbH`23xco)x%X8F|gq>P;dSI{T8uV+Rm~cIA=w&wY5EK*hB#hd^tQX z;)Awp#W+kKp%MOJkbQd~{7Pw%EbFmY;#jrSY`Cm;<{eq&D(~m4VNzY$Z?}4~Sn9%) zWh$yIWBOg+Nr^e`611VdSL^oeQ#w_9s!zJgvr?~2g{*EF8*Is7ga4F1_7m2w z7i`np$oV((iX=((D8!8&XY#yF7t}3Q5&o7XK`T4#sA5bPb7sE1(Mh%3$GCUalVBzA z4BOP!!h>0c&D-%j7hPRhKIH#-0*-$@*vwN>tvR!Gu>u09rXa(A41H@!d%K$X%9Fk7 z=dpfan2=;yAR!^4l=t9-(`3*k<*cRx4oR`HmwRx2x&vkeSzCZ8VDiQp3qs-M+pvXi zilu|69kD}ZG%GBn9cM{Nn$aM(*UNf$yI7W9nbOdT_7z#Z^shYqXHtCMKr@x`gQRSh z<@H%p!5%Ht7akw~kX)jmZJ6XU$VX7PBP|)*_MTMVK)TGli`eGDwZc(lv*!UpR;6ch z>@-@Sol-KmM*ADW-^C21*;c)Kc7BPIZJ&7OwhwiR87?2>c+5mPP1e^YKhPq$Kdxkq zZEe6#i*f%6a1rZRH0lpwQr!G{luS2ae)G!;7AnprBGu*P;^QZrpcDL!mLK;=NoD0$ zxW`ENH7n4s$jQk)hOpD)fZ+b!$F5(31ng`-vEsT*TzbDTwY#69jbpTj|In_aq$E;R zmV2V{L^F()u1&RI3t*Wc+DC8wZ1?sF(efjDJ#9+$M`bHg6erJQ9xdJSkdxt3DMy##XrXn zNZkC`=psztw&RM1k@mDVoxwtbG5ZkL8B!=josH`89o-v9n6KwbUR|2HQ9TUEk1mBj z49Y@{08vRo|7q?X<_0{Nk^sbrCnz2)w{(vM8Z|;32#{yJx_V!{)Hr?sBg3OC{PYxX zEM7i7G7`-RW#Xn1IqXeTTX0VRwnV3H-ADalifxQn|sH&*IdpraO+0>clE@AU&n13ljMX?+^NXTl^+2CA9+{M=^Zrskb*`k8{CTNT|-|S62N&mcM}{!z7a@ zzz`jPuCFq2r&gTJY-@dbhE|uW{IEAJ4Mj2|x%O%#Xg3aSZmLE&6?00}6_%uIvp#b8ma>2UP``(rwF|@A zi@BROwnvP0oz$1eXijg`%JPjHkWD)c1yb{1q1!eig|@8k`!wFw1oAyXXR)3HI{_~M zyPW|UEEHji$;YO4vw2=Uttfnh7}=*6w2|w-57KC%3uxs)YgY2R#GY5Ff45(=E0gID zF4NMTB0qES-NA|s+WmaV5P^xg#UPX^WicK#aUA%g&%+y#n8X z-8hX;aDNe7=&Tx8%#+O`=?iEe3WbXm!D_&G;J7+@ZV4wzzv&Yy2 zw1DmfWMcp7YE%pYmG7Okv3A5Vdf=jaaFiX%BJ)f zU5jlFCOsDL96$xOa?#3)7o}HsZ|@_FLxiGx+BB?@*z+RBP4juqLhN(Q-(QQ7_U7;U zJvn(1Pta>J+lWerR$a_{cK^m1hN0p7%)&=|$K-ggv-R-PYwyo};FB;Xm>Lc)dYdOY z97ErLxZ9?(a!)hZLV`o<%$pnc7Ue$L{G+d4UKwXwm1*Qvc#^bQT2yRyQW^Tx_?-6! zKr@^3ld|<<6R!Kixh}?DH5ei|$aA z22hJsgJs&LK>sL=`|c7w znvY>dT3QKMPcq*dsjmerIn2z>E!5w7dp`u0d^L!lS|(Pm-dIcP5f%U$i-z5Oc)G!W zr72gKhi5P0sg)UwevoLDc`b(aI8FLlEzS%p4*zL{I}KO@xN^Y14j(VxZ-Lva6ifn{ zuM4f;qdg)sT6ZO*b`i}d99&Gs+W1JtFpJr_BXpVZ5`mq(KcJSc;p86ld-2l;-_^rI zzYJ8d>WBFz<|aOY42Oj6tq)kmZj} zd&~4k18!H%@Q}_kzpR`Nq_}P6L%(rTBD|xYv70~IRXyz+F@9F;yrAjK-nZT$!2oKT z;&PGt1pMsa(>&0WNT;f%2JrehI)Ym$BC;JJQ`6JvXiX-1L`fLL zS$_(mkqw(SM?^+$;4yA1=IOM11cwOyF-a<-#q;JAO}3U&6(QXQwj`&48xlM=D&9KBn*0llfs7MNT3s$9+D586blU%tQBJ8s@`` zLoIBEyX7^qAPfKN3qTZFGc9cMv?^mp^)1q({ttqUQX)%^nPjH5dHng zQ9e7yz-2o_3Y3a=3xm;HK($uc*6N@KA#MPI)VH{f>Xj&>1Fn7ZI>g7%f0%`3i~Yhh z0R^PORhM4aA+UQBzW=u~diRUBB#dTmvfn@J>>lLaWbJ+VvBKDi-wwlk&ulblODH+r zF&^5Be~8ksVZNXS;1AKHffAaiaa^fqr#q}P0%sVdeQ%$H^pKO3zRFQsWS>rY8Q-{p z-VZ+0Ou)LJ(>JlS6u))rAU(Z7p;X+}qmM2fz5t9czo1~}jvcpV2X{dOW%av@46p))uqiKD1|a=hYrrKqb6*^SiA;3K<_W_}5x8=Qw> z=2Hla!0w5JNfl!;J2*I)n10(naJ3SCN2GzNc9F=+Di?z{i;KbhZNDwDN(cF_eNmwx z9vOJ)D~;@-&KNM!_^woY^1aceKCZuiztg)fWzLDILdAnCf{t`*+=hNgHyKdyg^pKw zhX3&SZ&MXL_!ax=S~hA>*uEc#IsVAgt!DAIl0AjKQ3oGvg4SM<)vTB$*w^}vy3o+=3#dY?ezD|vFq-YMbg@Le{j3!*-NLS=b6}e{dKZvj?C3xt&s8AO8DR>!a&D-Fkf7 zO-~h)_8t+v{Pl#Wrt4T%|J{?$MbQko8+mUl2`Ca2yJ^(Fqt#}qQ7sO0R}HK47%@rN z{Xybxq@Tn;$hv}k@2q><-hNL$z~_OU%wppe>}tCy3PONz5knE^#6-` zA;_hxZk*J0Q&$ezCtQ+_g`=w8G3P9I%Kf=NF5G3~G=K7+bGfBPuGrgK2gz_<-x$GYSG5_VRm_ZT63vEnUciMkyr~M%+Ds#!1 zp=b#~f&3rs>$}z3DCB7Wo$fcz@|)>fIVyjT#;X3@%eHYeT>0xcY59e%*?ix-3JQat z4Gbme{`aepE6|!;Hrw+$^~`z+nJ4cOGsDE>S)Vdo=(v6Nb=M;&o7*M#|HEmBX1Q|$v@YhQcsb7!$0u) zw=xnRvtS3{(%3RtbKoPvBPyK15R3HU+=S=Fxe^>6_?Nb z@9*DJ(9oHD>ag>eYuH74b=pScn%WgRgRQsk34tcyI;CI7jMf$q2m^);e{qQ4t7%yz z7@BZh_x!7#yP`f4}54wdw2&49eLSBiWF8m-LF-IL7r-Uu(G-!)GximA&Tv zYYpM0J2G*sC8-U&dEY$P?>hfSN=^Zm#qTXH?)ER6Q&}Ffiki3u6d-=2_x$9crB@TS ziNT8szqQk6^3647SC`|05lK?#EtY~jC&4l zxCS$AFnvwe`*tz8#jxb?de4`xPcGMFEpc(wO?@`uOx=MsSgrPVgL?Cw$(ps$L*t3< zyo7T9PaU(R<9Y7FI+m%c-DLUA1~lq-Yt?jxvnGvu?~IKq3knpahhFEZpE`Ep1SM!7 zA*eQDEUq8+K7ZKz7EDL<8sn%7S66KBk0&jf+w@gYkHElHp(gmWmROKM5}SKq`1_SV z=SZ*kh!g%cS7GgH*f>O1)}J1q6z4B_UZqV=tI($Uyw!Rue~m7U4sGta!=&?KVw(sT z@TYWs2&CwO<3kBV$M=IB=YEHUeLlnMPWM6j-G-#7J#X_o_UFBl@!&ji%g|f;?_#43 zAZN9sEh3*M?`Cm(HFn7AL;UV4xhUS3rrTpD&sOt2k$LFY+3wsJq^LLJFV9X*Z~LrW zQ&)Cbk;|4Y^}x7O@Mcy&atv&M7Tc2!7w-K4`^5G2kApCHgaS|RD~tq~SXs#lHfd-a zXt#4Oyx@vEItp7*t`iIgM;EVMYx*`zo4l6pg^x`nr*7f45=Nho%70AfX0?(^*9hq8 zz&VlqE}xe2oHJ9(M1EiYe5_>R7&n90yy>=y=#ff`tf{dsX-(Gse2e-ma#Dx#n8jM#?l@oFyA$xuh9MSr%7`KB4b=%y${9It1+~vzV zJkP_=QP|Gj{<)leyHZ>Bqmr!8>o>_>y`e8tqYgj3;*)94h89J+Viwg+kpMXW^%F%b zIr$K`BgQYb0la}Z-orIaALRn@eK8rCU6C@!eI<2*hDa1s4r{llLC>WY{ST?`L1*4Q z$v>iJo?=mK_)sfj%wFj=JMY&Ml_Ih4<;>Zgw@}g#(WNNcsF#+N{pB0b3vX?qr>9SE zAsytqImd?~=iMW>kJGq!kB%A@8&Hj zQ6{LFKn{uE|HLQUANjr$YE}_21*ssQe*XMfRR|b;VqKK?U;Fu`#NO$eZ9~7 zlM=b#9M&)il=cO^vN!L-m%(G&B){l)6qp$9_w{iiF@(szxoQ&l=J-w3q7d&ZBKJ#kF0GoVtpO1r-NCj5>FujLp$sEsE8(=X(q)c})a0wFLWdBTBz z@{g~Aq4|xGi*F$^fMaM{_LUGRUqdb5-^+IL|X*Xdn_UU@>^rgK=lYFJoiD zU`)l=uTPcO%b>@7hOmmWdbK3fpuF}AXF*K3VZ7)|h%h7ANLt7~Cz5vUg_jo< zY+IZF{gwRqL5npEr^7P*2|k;TF-YGFkf?F2B%x+)XFnVlA56KT5HbAq&dLoF_RO6T z87{x`F849W1sVkrh%AS;+C|B3rkK!+g0?r(C-k0&J>MMh#!$AvAiBRCBS=aS!x+vu z!aECm0~RkEjlfzsYf({AjkM?O1&1SQXLk-dBd9J>qEmU$^U3tb?2t`~af(QZ95Xyc zDh6O3`I9wepqMGBpU(Q3>7drAH(fPNM}m2Fn1WLHCV)pOs>;F+FoF!NKF;76uM zTld1D;{3&n>ky0O{^`>tV$(P21ecP0qH~g1TyV{HSga~ zS6H*)wJtzgLNs9JZ3#Ee;D_DD#>T{1!uCo)5Le-b&+>PPRJ`VN=QL&MQ@o&3v+3l= z(yupb6|6V=(dF=%GAZ)DKNrosS7M{%q1kVm9+dl@@Hnq--#NGKTwMt6H#l(t%zStC z;memVLr*X{zFZA{w^1c_i7<1%l zx<$EfaL3&E$S>u7I$Hx5Ivq*s06V+&It%aU0Org7fYbaz3Mq4Q^O8u3muJh-0ypNq zLobb<_#@~PLY5G;Oocn}Wy3Onf93w(o*t6#$;%OJ*V0o{zj^#7If01WKf1hDThh8i zd={tD86J~xx&F>QCb3H|W>1b|nq8sx|UKfTEDBbse(2N#u+chwwo$9-Ned$i21Az$Zu9tpn$Lv?7S4`55u&smJSUtw$QyWB;E9}dz`Ic!OUh9eV0^@C3!V3t z5&^4$bN4(T!M3ih;g6DWh0K?RFbzu2$;~CuN{l%LNZm&DCqH`#YG|O4T1d)MDsm8n z8wXjaU4x6wPjSGlr!dLq!6+PjVNGUt^Eoujzn6m?FFrZe$#t9vS?(!0XF^#Xg-l(~V{BRoI0uJepejMvkn z`9t|WC`2R(&Hd{fwRKVNw~9TOZs3ouQAlaj@9+OT?Vg}|^{U6wHsbh+xHOc{H&0P- zAZc^b66zlvVXz!0i@~uhke?xz5-i4aOxUhtLYDUjzr49_we^qY-SnS7yM@Xf*JOIX6g#O+o1|Xg z1_O(W9R7wa@T)qKfJipOX5ZYndsJ?or1goo8hh~t+1@?!i$yxePDN&z&+Jvs!PF1v7BZI3uUtouZVC==A(JtJna06` z2T2(I`2ctmk_bL_r4$mOBYZ7Z#Pm!TV3dlsMsf8QJ z#N0f7Ry|hEO?Y*W!*u~ftW5cTlZiEH?Zu*g%icy}=j<~1u(-%MGp76N!B!^{#dsH? z?>7)pZoVsh)zD&f#lG5x4x+AP?zR|%>8En6qId4hhs1}3FrGX2xc*r~$s5$ykKt;$ zo`mkB;x9bFt|0S4L&?sF*6njJyTQ2j@Uy6}ZQa9>1-nIce9EaNN}nfhFuHPaZ}?kF z-9*FPI)65lQySI^?($a|Md6a(y7B;S0q+wu>5E&y-555A zn`a&T?)rFme$;QIc|VjsB( zA!ldjt}zb!=P*jTlUOr|4Q2--9`xXrrNO|KOowiXjC97ksND?-3{_#5BWy!dmSF=MThCPnk_F_ zz<-@YLUN;FMb=syqrIaJb-JpWN1%`D1zV>pq@?~bVGEa+rVk^!4Eo6}Qw7xT{^kj+ z7qJB1?ld-4PEakOd+gsj^+e24mk_Ta;ao>L1t!VJtKkPfdQqy%(SxG-elrM zJ9N+9PZPCq_)&k7JL0Kv=D^;`yUCc65)u-EvPt~vRSK{~r{E`)zq+!xW$V@p!0D4T ziafz;A4JrtNyycs_00AwD=P%=ffzMcYzdlRBY?FM#D5o*nUK?gr0vC%xw(z;zyagB zKN18gB)1zX$Ab}qMH7QyX}P89v7SGvZaUWzfOF5Ok{lEoI-ikR*bgjH^eRm zYG?Fn4}NcLHC%Zg85OlvsFs+*Kmbh&#xOsXmdexJvRj$&AE=M^>h9b^?0eoDV|B+} zsZZK@)+C)2m!!;eu+RB+Fn=e#rgPP^V9*es-~#v?^CGoINW4xI`SU%?*&Z$g%(h2do7dbPFIGgyA*>+=bbtb4!jm}~&> zobeUQ3UG?6D1%U$ZQ>o%KYKXc#h&li1oinn-}(&kJhbTe2bW`c?}RB}UAt_Ln*L{s~02Ll9tN_llC?f><>nSVm#)IZ4a)yJN4?t-RD z%5Jr)k`3n9<)wuM^4;l5D2XN&uWecr;PBY@_dHi@^-H$Y^aPguMX@#K*0&w^>i;W| zZ+uS-7(ig^wDsg`2WFRro4eIbO5(gJul~99_j3-%op#rF6!AWBug=`$W$p%1IzzSX z7Ac3;{hqjW^6FSw>B)bXF}oiW+@yn*(znXKQZP$U2XKpQWS|yz*>>J(oG!}7*r*8Q$Q#!D>$D^4)=R%S|nJu?DYrdsVk3U+UGtk|nMV~78pv1ijC{>OX&FCg_b zU)whBdl`Q9$@G%UWkxn>Ib!CZ#kFhn_M@l94|cS=eNjF1_pI)u{dk7jMEj?|rlP9Q z^`kUB>aW&`lFMf_3%H4HNjfQp{Wu>>R>(N>Xq@lAuS+2T&Nc1^S;F}*eRh{LDoRQM zWeOI6N^QUQ;Lmxhy*%sX#r_@nyIYN9<(XGF?QB{1&X-EAOIrVfm^b6X`RA3L0z zJACs$Uj?Z7CVJ4gcSgRP_mK}ZrT;6vT-n;_P-`<7Qs1_rp3{(rKnmsPyU~offE>0(iY?> z@e%1`I{JmyI40Im$?UQl_N-qgp8h+tXW99?Km#yHZc|++k9h<_mrlIcAC+#RPvv1` z63W=%q~p-uKhwb?%%Hz;C;^`QB3PC|%mLNTfSp0ZciX zz&5Nc&ys4F>juc-=FsC+*Lj6uBF_{c_2B%gqB11Ok&s3eLEXj-< zo#UF>=gS(^6&PI*UAcIuP82$NIH~hMczw|S^TvK`xmP>9!ft98r~Vgn7If2E9=HBC zwiB$CHMuKgdcmw>&%$V?UW~)D`^dAv48;cMhqZPt?|W3bkzPl#OIb2C=W|S|;qg)y z*>#yTc>!D377FbZ)mbjP2ljlDzDJb%0nCP_$}*j`pgen1_)@NF-UCVq<3yB|1DbN6 zNFsDrKpHbD7f#clw%^{#z5FqVt^90RWRg0I49m`?!D{7B$NvcjS8`NdXsAx!81@*N z<a#mlsO#303_#smLwHr6j zd}ZtvXkJg^bu;9l5D~oA_j~kW{5D=B{(8T8v-QcvhtPjP4U=(wc@GWEVLYy&ufT^q z22AsH7^W02{QRDvBgZ^kacgT{Qw{u7oIwWT(Tj1rI6DQ4$*C#tmoL}T(a~Ai+BU~h zt!-7Lxv^RPiangwsRhpkQOxdWAF@1s1*gOg6ZD9fsij|>o4bX&c%UxoLC8tyIV z^#q~|k@8+3)d7nrlvDp$o=1+#Uo8O4Iv~W@P6&hnkbVR7MM2NILl{ay*|E zgK26^5D?%m0kFXR2RkKaHW9=akCd!6=f;MN7Q0@WDH4GXtz3(Z9;Lzem;I3WA zkY|1A()1-XCD62r)N-elrYpPbdOGBC*&iCDTabr4XA+Wge&17a!ew_%$;8DT>OWY! zX5H=i8;o=$<%1SD<*OHv0!?o-GxP*i{9yqBmHH$pmK223=VO`zsDHiny*qb~8h7No ze)c~}C@}{*i-a8(29H5erk~{fx$k?f1=}X710H||Rr9TOLTywAI4=E{o*Mpymr~lD zYko5;xbujANyJ}M7gqF{5$X_RnGp z#*Qm%$GS8>-%a+x^o5~pew*Gw()o84<;%`RFIaDg#KtX*ldl~*lwn&uH6WFw*nf5l z2_ESr*GtYYB|!pZKqR9UF~H+KuMjOqmRK~m&B-)6CZ@S9=5mr$xHUslrrQNm7;k9K2x zG@uu#$}MQAP~ATSeuqn&a;JKKwPY?}k(AWb3lPo#$Mb|Z?qhxZZp@cHd;Xj{(y_lL zga9x$)V#dRYz4cQ7nn@N_$)D|qN%9~PZu)W3Z~f1*wu3P;N~Pbp?}3(%>id2+%#yh z!>m`~tyu!=@*TT&IU`{l6}2X`>IADox&?bukTtpL!uNIv zjG@d*I*4H<1w1&WaxA|g<=D~9%M8J@2gHW4nm`HkKnE4ji?OCqpdm0zUQf8m>r-vn zLP(PU08@aHvt}b`7Ur^EN7rT7iPOeWdcsBUi&@^8__8c9MQ8gk?v#@yvpgG#LxXEAwvOx3n z`;X(~Jj7A&Zb^4mT=BCgvb+>?%ttZ3d|7Ao_d;j>ef6noE5}3=5$Sgqr$jBb@vzoK z|HYjF?~#C*zec9+uQ@OajkCKEgG_Bqa)MwKmvVydQHLEqG}O32Skq;tZ?nL!?#)PS5PX;zCbsc0%o=2M=pYVhzJz@@nEYk%@useT*XU7aff$2%% ztwqd?7o~r^|n6<4lD00tNRIx8F!8;t6P8a(Q$cu^Vhdj$=p{)Ir;%QIvJUbx62J$SaseBTc}y& z+ zkZqc+STh-z3xRQZU1D#;CNFZ{{SD?Ck~_?8ue@O{NF7aAr)3CFRTOwiH@{KAVquCb z$I#JJpkG~9G9+GFrm~UJ+FCxDT-GcQ8Dg(~z$D9Nwj2t)y$sE;)PZ)M-*z?un#$45 z&c;99mv%(Q41DC=-+J?)&mN54k9{W;t!S$`_z91=^FCjxc{lG?qqAtbQV`rZ+%qjB_(B(A0^ag(6z}536+K<<6Ih`b>4sKmXipX zD>$?4Hm3+y;*b^;#&mq_^5Y-K=)TqM35pB-QdkhRGH+rVZNk(n6ZzouRx`zK6pZ&? ziXS+o+zfC&UQi4nnS^={+iMIs)gfrFiQR(u9bgD_3Sn7Ty^;+|q%oNI;S}&m1c%GR|7WeP6*@R%LaTYLL}s3Hx5$l_?k6zhqb?=OJ> zH29tpMtm>LlBfCrZuXzPed$f|$v69(N(T$@wX*NezYg5{k!N<>gC9KMrc^G5@d^BI z%&QV{`h2$^WR8V6l*2}{Xt8~qKIsIFJNUl7CR2k);zrWmkz(qaW4mrOf1YN}Q7t%B8Fqb&FrXS+ zhD!>DX5;X@RZmBJAkw;}vX}B19PL_zQk!);*T3;xEu5a1lxAC1FlN|n5`{HH1YC=} zO{~+_2S4*58}r7QisAR0c{4uruG@a^?#tEk8bvd+ z_o#z@)pCPoT+DQ|d@f6OZZdwJX+51pTn9JxTiSS;IN@j8GIM_XBL8zdXM+K>1pLUj zm1RUI9j2rC)BVo1HCNup2=MxV%^9#+EQUdJ1!V`{9eF(m|LKo|=2)Dc(&FF<87$v6OhO@BXlk;(4>^QHu!Dcwi{A-`yxk~DX9Sion z{r9p}@Z>=)83i?X)Vp^E$mAgW%W%*8!IvFM7(>hh!I%HORnU*S4|qw0OCRADN<=Li zVrB?A=(UfigkrF3#=}bwGfT?pdfxc2J!hAoS5`pzZ8%c^W8LD{NfcYY*)yz!T5d1U zy|;LRM?RU+F8)h%Tg$?o8RK2jOt=Rj5GULP2~+M-BdqE=?1WWz2#_`3v$K0{-mICI ztC~sCsac1{Dw@I&$+>eE<16{8TY9Y3C`Jb>!`v$u@>4@G2W-m(K z!+9HHY~yWw&awSWsgA-=ZX;#g;apL;#nGYFqg14Sbx}eF34a(kiUbdA08(vs7FBpz zA20ObjUb;#bU|qW(g>sj8k@SsX%zgOkm(`?1j4_nUaMU>4{C2div z$EAkM2FWj4#M2Ocd;`iqGd9JhY2LA)-^g5;?cetY{`y4ST$ecfq9oI%H>cv={?@!% zgZVX!W~WK(5gO{ZsRiq)Ei6o5OZltF-~Hp6%m0Fi-NcKkcLJYLos$^*)Z(PjcsR$! z?X7|?7F4x?tpQCd8`j=)K8Io_7ShM=YObUkqsc#0+6`4h&Yz&~$e%U-Ybwq9rMCvB zWBFdSjj7htyDyVs&H3(rcq&mBVyqv&wRuzHm*;;!DT9`y>qX?xGc?y0c;zJqX>8x- zIeYrVi?r~}G)|hH*wga8S@6-?H*?yrS>aUjt7QC(jfLU6uYJ^f>5AMVECqc>YHO~@ z-lI^M=1L%3NpZVupj1d`nbKhLiyJ{a)yCybc+Kk!~1{4XRf`4q?OIQZu{E? z^Ct`1HGD>VzKI(3>{S`Qt4%|T0S#eql8IYh%XV{|XsG3h>c3vr+4V=LO?>YhPan!M z-zX`p5!vS4lXbJRJn|ixdhX#`@xl(S`xlR|eSD0(|9#k95ibrZbqm42KROK^?ppgh z(*LRN`g~+`bo0#LY)(?#69Cf0Yu^DCxwRjhy64ZrO)#l{?N21B6Gzj2+)W&o`1?n> z&HsJd|6xp}kcHsGmKR#7tjWc!5|dM>D?6Lz%Fq0D{vNwuxsl#hW-?vq(3Q@k{j5jQ z&i|NK@L%5FaOODkck$+@P0h7ql#K$Pl3(fm_3Lgc)#iSyc8s*i$F3|qs+BY2^y$_@ znTYpGc2{$w%-0J#h@@PkTgxNNFXut{+0G?e{VqEi8-gM8@HJVx!g@(}y@Gb3_}NC3-)XD1OeT3lSLOdFjJ+-9^bM;85DJ-XaD)PEKT z{0MPa&~NN8;j-2)_Qs+g_x#m3bCzQ$FTz?g@h zh-l+sLNM!q-jQ(MCAe#sW)*gt((-cTgQycGum|j?rI+Vx9AAZmXe1UQdz&QJ<{J3Y z=Co#*gP{M+7mkaeFE6j``+Z-*BX~f-b-5=!U;oC@?7eW;m4=;oUu}fik9l!sE>mlII(Xmm-NM@O z=(NoihZiH2dGydO-sPOE(fjaFk^Up)%gRU<70PeznoNyVMLJv^Tpk$N6ePTRMOw{k z1f!1yTYYq3K=lpTs}h!FY8D`CNhHrW6KUAQMlWCKLx%(w9lR8j zM@{46U~7rqpcaF{4C~z8Qj||_(0|7%WCG!vys`1b1!=-E8&l$nzpQvVtRj{tpon7Q z+KcPnkiROBQQggtYVH8JWkPm;|7dioW<-#>E&JlfAq~stT4~eKI-DvTODdVcih|Xn zr>}Tf24BrKrG0M{k)@9s8`I$e0w{mf>Cu2E3rf1Ox%!`miCE+h7}1mlBgD>aaJ2M3>6`6 zyygfy4ZnZ@+hJ#sSdMIwVEd2Vx#m*G8mG)S_U)kQvb%h{(j4iYp3Fyd z7`|l<3iGB5nl*~#X8vg8=pf_R9F^tUhK_{8QP0BSwQeP&eLI(@+|v3nh`bnD)||TS zGj#2*3mUsiO5W+qd?qJquW@pD!Hy?-HvSiVOr2H6>Hat(4`e$U!!KX166W1DzuxEu zF2GrH2mzblFclleW!U6v8|uMK#0ShK?mL3&T@OK%L~lokM=a2A)J-ifP1SJe%S_Z2 zf&&=@$ors0$ZToO^f`lo0!#@kZR}N517QF@jl{8B`XV%do404LbmnN=N=r|;HUc1T z8u<3LGLP-Zqab7!$6ZXuqwM@BZT$mZGja|&JH5g21;zd}nts0z&#%axGHvGdnVwIz z*xo!!m)V$@=yI8LyGY$sojjWJfaZG~j4!i3FLu>U!kK*lW5j71{vE8h&Bp?#G}9q+ zd9cVUGvQTxgot`W`tI8!)X76N6%{W+LP9_m4VhhWG@8hEViG92Q`31$f}`Yl(v(BP z{LjQT)%;+9L@)_?sbUzrt=IAre23mM?r%$rphQJn+Cx#1k$P~2CLGhzvsBR= zVnl>MF$iTaD8P#5WR*xWWXDmYkKoR*&Ypz9ni3OM#`t5VT zWqf)q86@_fx#K}3`obS$7@GK$EDYot;G6^iA%`rD^}eI!WQ-G2xlBQ5=smsleM)ZA zy%NnTVpYmHJB9k4-pB7V{{B-bVe-#RS8k>cUQNjF!}o3 zIv)K_!wcj67CPsj$ug=6)z#M%fdej?n-5rpeyMuVNZXHxa|;Y=MM98rK7RefGiKBz z!@!@LF|#sLc`St2PB($_fW;XO=8I;u{lgl7~KB~`0a$`K(05nEbWu-SNo6n;J z7V_H;Dc{>1?NER2bvTvS-xohH+iR#D=sQ&&q(02r#&Z0Ou&iUpsx!N2;QWIeq|p!& zvJ<^~g@l2N$TO5TK8#5E_}m8>dW7GZvhds5h;^Pr*@>-BPUcck=)F6(DJw;z z`Ol15%&XhGv1-2lQeE0M7ZsjwerN%9&qxcr%$j60G9+^MjCREf&X8@epvAPr5eZjU zSAHa@=9ps;I|TXBys&hV^g%Z4dQ@T+I-MwCZOyC}N3;C%B*Q^v^>s9>;ou1)HsJ18 zd{!p?i%eEFVcWh?U@@Rps>>hT{NUbVjHDuG>;P{R6@A85%4``bi+l~oAt70a=K%|;o5KNF+CAA z;<@)5G?I(GC`>ZGIKV2Q0g2s)!hz;s8goZ8TdPJ^p-gOL)IiX+d~k>W5$sK5Q!wiT zwhK6=d6A)p==9`MS*;Ug^-jfzIzFc;h%YPSQ|zKQxo^~PGg)KGP3&<;EI~39ZvVD$ zW!#$c4SmtQyZjkZGE*O;G*QYEu#reBo`49et=LajE?<0_C_Qn?0k=N}sT4!x_Yn?D zL(P^Hy+Xj!B&*|dafmTrX=xtOtR(oJncr@N3q54kS0>MuVpbws(^*kjnPU~bdi>^r z0n}ddg}RU$k9rxgol&L5ibWx-SG3YTUL~9mtDU2CBPJ~${R@CWS(ypzgMcvO>UTdP z+9WQGpgHAn?jK|v|Iq?0Pd*e;sVQscN*mtI#edzqaei}iY!IWLmw#{3ae>WhQDoH& zHSPidehCTA36j-RWtpbEVz#9cZ(&_PB)JUmCV4VI5SmnP83GH8#cM;!6@6!;f-uTFQn1;T=dwR)i@qWBmhVOeh-LG7UoEJnZA8E7h_VA^lw+ow= zhh6lWWfWpVCV~*QA|%r9TdQe8osPQ!!90!H))V1OL;)s4t%Xa~MVlEt)?m1~(?@>q z*U)WLBQZIGx|PkJv&70LPV=quHhn+&UG&EB@YG(aEQOmEoc(f7`ZsH}rfRt$Jc{9K zI(*Z!F&CgGygv0^nduCZF~A_Lb^KIU83Q{hD)A9)wN0!~(>aNL%#bTzo}wD=zJ0 zWbW*EXEIJ&->+YBc(A!We=h&|m0znrXb7j=KO$uZ3YL0ryZG%%Tvi#JSFfq+%j4ILTub|>>To%F7LNf8GQ?XBCBF8 zY?JpE2hjZV)#{V%!wbued_M=c$Hjwc%*U%J=`6qGyd#jLkM=hLvrTTBTPR#6yv=9J zk0_e^(xB!RULL$*)90rMZOl;#o9-vDsdFD*eoXWR)?O|5Vdfz!Dta8#OxR#+iDD5C z@}^2vTofq_;oxfxOLH4pS$48)Xx`Seq;5|Ab9m`V($O;g!SVc2ey%_1p9^W{bpu=0 z+26ci7kdQ=I!o0->g0nOskfi3TOYLkeZanGdA5GmsOTGcD}hJ_7RZpl6WrK`My7VG z)KTJdtc>!Zsml>H z(^6_Y9kWJ8F<$e4MP9o;RZD!a7a+c(wSzor;y7F#26!kz1Jpnq5GtIe1tKLuN>Jja z_*u(NyFO}lr4J+HY8o}7pRy?!3=9I}oj>;Vk7k?MSeB{#+f!+;{4^Qu?Tb)Y`Kocw zbdVSBm6)OF|1EO=^5thj2xa$YJA!{jSe>F6-)@8u+k(%9nQ{Kycr0h+wzT)I^Xxd} zU>twBZZ&yx|ci>7zb^z`!CiOF$6c3}&Q?zO|jK z0%|lO(cJ(L(&WsHJm@+i&n0V(dEpwrG%F#PXBqr;uPX0cZTZi{o9!Vo<;CwE1LIvy z?XGt0ZwN0EY0dTJ4XU&}7qj~RWR6}WwJ)KafLA+xipb~rA0LEP&@SkKpb4K=0oB53=u1ZMjWBpy61`HI`0*XRtF9((l z5q$-@IzH_sb1YbBnE$a_!aA28Stvx!GXxbpzJjl>ZzL*RHrNKrOwjn(9q%lKQ@tMX zFN++Du#3lm@g79j>o?3q-5V#OitS+{xOVy>J9<-n=h_=iQ7mUE2ZutGJ8SzTRY7b5 zRCm?Ef+|E9AG1E1M)ECNYO&MVe{1GO)ONGFZKBFAJkFekS{GU$`0J`N>o6$DG&%)p?|Qr6?tY$rdg;nZstQU!V@Mt-&}4nUM(VG!3^4-o z5PX!?AY@9Rp_gSsXGUC>3dE}b9)f%iz_`|M9(3h_szOJYnK00&*865_wk*LQjC}17 z{3mO^bzR!Wt^x#Hhqz^(<5D7$v?Dc?UCD(9@KLu!#j?K~bzQ>l}V%r4s_yn*gmMHji}JLuoR)J{-nLA>C}V+hK-$ zk!!G<2eY8LB@0r2wV474`@4Y=l_rWX4YURjaPHdOa}}{?*yrz3T%?EmMs&bfk)xTs z_{qP}IUM_3;|iG6%sZBtuK34h4$=oA3fQZJlLsUclRnGfn?QD4SUT2Q5S zc>LicEo~~Kq)0Yr($|Lf=!Mj74n(edp*>qO=)5 ze$$|VlI#On*^r{5B4}P>Qwi;1Xfn)0U_Pi%1LczK=1t`*@>|)k+9WDg{|!vfFOQco z%nPgsGOLH6>ZKwf;Q<5gac7*n_yQ>eF3ox-q5+|Bjg!-Mw=8%|$ML$n0Ef>_^K(3< zhSb;KCyX|5I9_i>M_IP@-EaRY9;HvcVSv%S4U?~G zQoJzTCdL1KjXfn-@ao*xDca$*r&|bV0e znmHR%?m*gwwKckip{YLBlYZHcBp{`o-Z}{$?_x8pA29U^GlL3^s+c#dY0uyfV zlBU}7zyC5$=%1Gb{(}tuYl~bL`LEp2O3M7vE>C)26{o|h(m}C-(tDLjLNO=zzn)dH z4CiQHa8UBvQFQ{Jpc-rV;f9u?(uLl*80ibg<{D?RNkze0RcAfohpK{x?^To59? z{vP06j^WT0|9AcCA+#Zr)A}78(R4F-x>sib-fiajjcM`zY$HW~Aom5xYIV3>#LHgk zvP0ZsncbsWr>By)J~Vd~9=-K@zu$Y(=W+43y&6B3M?B;evh;j3Hf{=;JA2nZ+@#>+Kf9- zW{Oo!{ka#8;a|W~<_kGVd0iy;zs;k|faAXO(J0`TQBv#GDOOl!ysHXOUnl%Y+743S zg$E)8mZA?(9&p3XTI;pBZD>~E5u~!+=O&p_NyS#nQU~>T#slzxMAi z+lT>p@p7W(oCWj#g{t47$>=xGF}ap9_(OMl{%z0gq*4#HH2l?MQpgAC<-(7hJsqZ6 z6#U!T?HTE;=znI<#Jc!UuC2a-@4*-5zWB4_19@R;S0aS9fL`6db?a7yfVG~sJaQ{m zkx}32C#mqLgE1T|EXeRiJJI99$hKBDW4|QAI+V>F?j!S~9`)fsv%up zUFsq#&+(oXe)uTtUUbyJvGlhCw#&r)$u2$yp^dZ`#~`NK8`&$p5$EsLyC5{&K6UQ! z){zo}#bQ^)6%Yx%Rcvb!Pyn7wP0M^?!u4Ol)g+3VDslmhxi6;Q4jy67nU-n|Hp=DL zoU8dcmfG@%;pQYbw($${LhrYf5_N1c&o`#vpxjjPDf>}XjLZvX&gAP-;*sv{ty8-B z>wQA9I1%;T2wk;FLF{rKjBi5i;L#z@%^;KzHSqtAeVGt#=00dDgVXsq5uV0xW@eMu zd=_q@dUDd%VyzVf4_6|SP{faoRtY!r>e9m~u64*8olZmPYKcLFuZrUa;ynO{vp0sW zasbN)PL^&UZKt6y4a+~y($k&Jn}=A|@Jk6|+*Yyq<+fh)_bP8KTYMfs)dSJRsCEbF{tD)_pIeDTRNo>fI!SZboTjAj2mCJDq4V0^ALuQvuqW4;_W(n9AWjEf|x#&w6K9Egl1{4@ejR z;s2=i$i?odY>=YP+y!Z$PsHGk+`rk@2;~RT*1t@oIC$$GZ$fO#gC(~i)o+J~!rV90 zO*&(j-R&NRa@NImW{8Wz{DZkgXF@cm86`Ew-Y;h4bV6)16=BzQJx=aftn&PkC^GM5 z^$gX^SA;S*)dBGVZEy84Zm1Y10MlP6A3$gu=ka$e3%!74I71P>00Ksr!BmyB)$hl+ zzN(}RY)3f{oeNnzTA(Ia*NT2d$$!aM_hHzBiV;4k!6<)FQIUXr2%)Dzt+;U^EHo4} zF)lH{5CEW-sZ{EMx&+{Swjge9V4$+s`kz1_1HQ;K5z3U!j~M7hMDjtvJ<@s}1MBbs zq$fa)Z`fV=+1lC*WgH{`UR_NyRNyhjH0Q7DcWwHh` zEP(cRBiO>1FUMSU;zOv^A*^j#$l=tQ1s^5iP4rt-?4Y-SLEzC&B?2%( zYA7IL$(Ex$1-N7zz!-M0i;}IOY`h93>KS17w}YI zw=N!mC?LRB1#k%3ZgDS0V59Z|*{cBL&61}9FMaY8!1SK87JXTTie_7kf-*5I#DzMVT~bSbeOJN3Me@!!qE42u%rZ#noO<) z+4T&ldhuG0h`@z#@k_{=5;JX^;*p@f+mJEx{tLIc6l?P6_Xne)duqiC4n5;LmvgKu zMjv1(!(uxi%v{H@i`HKZ6p07<+EzF1p3u{3>=TfVYRzt|c!B5W-{N)I^OSx;V__S; zkcE+@8;yXkC*X za1e??-BwlaF4oB|<(rEi92|DwEKn5+lsXRJFSv zSz`w)x(daRS!8zsBOPk@kg;?D{~HEE4^6W9f$gcx=s?@PU9kmd>_F*zi2FqMqyni_ zK%(=lTbQ;Z4LN6K(ZQKTejf{7Ty$+AHBjRo%Kn-2cyej}o1Hn)2ohU>Sm>e#!eC~! zt~nlZPt&fi3hUG0zf++83se~($&T;3L)xnoPU_VR2~tvve?5_n71M@UgP#%YW+)EG%8RZkhwD>7+6m{ND)>j7Ik>$JAW$H$ z2AHyMqZp=DcU_qM_=V20TmfpD?SR%@l}4I%jtaojApdH6IApWwpiir<)=9T3;!02e zJmaAE`kq%n8<2F*2eWNNkJ&C7qpWw>y$VU2w^^%`Z*^Y@XnZhxb`rYxp}K4Ld=QEt zi0)i7RKmF`H{*duHM4qgwGJ45rugwXsPT*Zk_Z=P>^&1G^g2PPTWRkcLz27fVq8|T z=X}Z278%0^%@T!SE6LQ6A=Ad7%Q9M?bc*;}pDy0>138`q+g@#lk_DSiS^oah709@y z$&q{K#|VEh#-gzMuGK_50g+}tRsav5RbDOxuK$I=yIh*di%HK9AJ1yt zuewsYhJR|6FK&`ZN^+qg+iV>Zjf z(m?wFb+D__rPu&rq_M;h1AN_Cm~YVqWNP3n!j$#(8^m-ij{e+P80%b95EeGSll@FO zsY9k7zVZ|DyQ=7=lgHs?p9-z&4Ix!ytGcR-NkU~+7}2)|Z*Tr!J6<_n|96-JYQC*Z zF75WBIa8wQ-dQgEyGG5~)Np8;+n*htsVxjr|EA#K34lT_wi!VW33&JWZyU=vH4B@J zRem5OXY_@xE6``N$ z_t6*>oXdK|s&1F~_3MIo)pF>~tu5_M3@aB`>sU#w`(FRvX6bxp+Amibnfv#%#eom? z>+Uvag;no4LI5%8dCP!xt5S>Mj)~H8?bzH$3B<2lDW1WHpHkHU7I!0;0?fqPQE)7uy(C~CaS1_PuIb5!&4sZkLWT@r^}@N z3jfS3Z{f|CdWg{jslkHD3+CHAr?u8OX46jV&R6J)Sv{ZcFD^5*N5wmzt~X!>Zx7w0 z9YB-R5)+5XWEol|iqLCOR0IJIE}j$(78Ff@sawJ-i|MkAXRYolzIIMxQ@dPZ@$DAQ zF*kUC&o1+)X=es)w_-y_TnxU(A1b01;QAr}XsgJ8!_>#y`w>tNCa_973ZND#>)&!w zSa@)+Sm^RwI0F{~*ps?z=yf`*^VOYQ;Aj`qoTVW0bLycmq&#tKX zMVmQmQmOmdfo^gITIKpQN6K9vmBq|`X}i*L0j**~IpZ3$-8%Hw(e+~S`Uk%L{y=v` zmgHZ(KVIfkL5P__eV8^<>gVaRsk9nTtPLXm1qfv=_i66u7gCV&>JiTzV~d|JKrZkQE~@jhxmW8f^~4_DzG} zRM@Pj3MdOOfhJcYD?%{>jpC`|%Xcd{Kp{Q1p*HvoRyVTbQ7}u*3sR99(m8|KKhsmvO1Mo{gjk|*vSK7lG?THcsYVsoHw+^hHlE}B*qPnwr_)oxYpka#u7$jdtjU>^k`v0pCRGv`wM zek@4Km5}oz^I8Cv_flDcM!`0y{GOqvo=FNZDse-qAHEQEDN~zy@VtdDB-t`!I)rPN#u-E(|HRQu znonPkY&H;^<^M-Rrsb_bp$CRgxlGi$_2zEeu-o?@d=vfHfBG7U7F*ju5g-mDHS#XjmKt zTk~Rcz7Oh<3Lr265>~4aQ3*#M4hj!XffGEr$@<}yU`Ce(ZXC>A2KEkwHXldai72l; z!7t-4iXq6)1>oc|Y*N`&s|q9d(poXVbMDI8TFMu-^Qtf>h945Gm{vc2tVGg(p0@+) zBCBI#f%G~?H^OgTo1oav8w~@9^S3U5owH7jHDSfljJ(8ptZ1%Yq%iqV&DUyY|F61g*AZEA<=|(EV1^{$+LvW4&DDw${KE%LeNL-<@$#W2c zu&X&m-OJ~0G5pw30H}Jw{Af7Y$M;TgO}&1l%beOYC-kaD0DVfFim{&ygFR(D>BU}D zR0$m$lSttLA#lUKXdNkhG5G-ee{NGRG6D4Oqb0uthjR^l_u#-6TJ!bwwb9rbYXAZq z=aR?8{G6=Jqbo=;oO7gvLK~{0ZS`UIQj)+;BHtboaWz-h^2I916UC68Eo4>^@kA_e ze#c%fal#A%4S>%9J4FUu8$(pV*}C`XUs%zUz?ER>tny`m@_b;L2GcAstg;~Jnas6> zCfxlvtc5}iJb*{e%}lEFFoH;y(>9#mRIIyf(nW=p>Kk_6nQy~MsX&Nx9!YVTh?`Qt zkY9`6orcC&gu*q&qADq}NKO&C^`TDX`U7*y<-d^jGe=fH1m8khdlOpmy&hZ%0!Bd+ zba@#AfQzKE6}yp^l_@z}AXRJv3JwvVkwwdA`!Es4r=|dCtJ?~M%exycNTLf4MiG!{ z(CwI5b%pWiI-xjL}ZZPi8Vu0Ax(>pyt$jUKnPF=0C9 znsiK_O5Hh&q2aPIq(SIobaV!Ar3?%VQb1S%>5X%BowLXZ>^D<|dK2tC2yK-h6KYVd zqpXD<$5og@m6DzP2=WYs>;9Q|0OICqn=g}z?3cHTm;YWlGeh_F{Soss6Pg=|JTHTQ z7-t7GQrPpXU~k|x<;2END=@XT42@?(PWlGLm+ka!&sT$BJvb|Ij|Ec&U%Hd|~=Zf5?QnNTtz*mi-_FrKB zJr#OP;K#4}e;Y{XA1EhA-r3n%yA`R+z~QCw7m|sBL5}6XpnK$pIz}F%-+AZXxCTkL z-i^rSp3<1#;EIG@_J6#L@&6Mfba8b5;{V+pYyX{{X8#~x|9s6q7utUi|1}`*|DdNv zYz<&|k1Wk!1Y#+}%a#*;rxC=pI%X94!}UW5&XvuA7>kD}NPB`CJc?Mz6L~B6H;KzD z#5ewV3oOE)6+yK>NXT;ffGqTz3jllne}zh^M_<{>W@>}5`zR*; z+3V~j->ZM0t4kbJOzTPI0m@inVWDb9kM+W}mWNbEQJFmEMgu}EmJ3r|Io$&WLm6c% zrt@8?S9=bhIdo^8;r98XN7dcjwOYQXr0z8Sb8Ot|rZTjSJDxR~@6E+%ms2#eIc zS~jxDfms-k{E%ex}zhPyA zulwEuo(xZed-XG;>W`@qTaggS+uo(ey7W?gr#bRuL>R7$HQFMXY zcmKck*+!Sf>gg=~sB~SqnVF%%bli`pW#(5@Qc@CVYDlJ`K)}?@X6V;g&EP^>X68r+ z0eO&Q;+wb9P+{8k{TA8@?E8eEwnmP}+2UT-T~DZk@Y@(Yfx4*3V=pv?<^F~6y|;R&Tcr)r6iBTnCl;Al#C(*Ekg6@a_=dF`nH0wr+EN_ z;EQKk&_Y!vS}-vz|D*(_WF?fByB1}(tNh+QTx%JYD0bB>9fp%9fzpic&T`|0$7{bW z1UBFUHW^=oZ9zT^UwhhNegN8*^wLgVIVpV4f5CiTUts2KjO+5x&7bmaLH(6e5vF=D zD;I;Czsbi}-&?s}u-S(e>lw=tC$tBS=Xc7P7TlAP(&(W+X$`Ye(WGSb*@JfWA^Q=u zb9icMYB5~l#vo!GpsnW`m}v*yOm%j>+F|{iY-~Qz%`}Jyg`-+%(mDxt?EvkryekA~ z)uM)tW(^}zD{4%uK+6)J7rUF@T?v2T7&y1UW{SXB5?m{YjlE5561QT7QGvit-8WO{ z(`#NRgU&`_-m^(8pY{bJD(*vnL)dr!P?*2lZ-{}Gwn0&QkU+^Oq~g>nZZyT%51MCu z_lK_AdK#ms95NMq%HP(&44aVKdc4-6tfvfTM%oU7ON9fB*Pm3&Wod#36yN+tse#+} zt=ja3!L5U@*~+|l5k^&9m=ieD_!Q$__6J(foP$TUPad=<%s7HJ7<0T}-*c|3TNvUl zrWpGCHE^I&qay;N6f)LvbJAB4-v@3izPl3KrF+=g`pw@ra|4L;42(+3%3UU9`S~}Y zLt7K)vgCrH1GyrY-Kya@hI zIXJqEb#2@ByV_iZzUlkCF;rhlattjHt5-OCyPnU!I>zaZydUgipuDH6>kP81HE^KA ziPZxUq+vxHx;d3S{V@`%q^@2vuOb6$?ID)%`SS(vaA$$1?gwX}6g)FOT3)sXGBSDE z8e#h%<}nezzY#9US0kl~KfnHeUIH%h!NUv3S9*KuPFpIYkI9(oj}c1y9(A8M?%$vJ z_e^^EkoSc|CvM~CPaiU2xa7pXUb;fb)nu=3dvKSgBT0Ni+qa1Gol$SAPs!P=x{g!> z1%)C(+6dZQ?Q?C?PJ&L{+1VoXVFA7=2QjD7LS=v0tBZ0bL)RAT;N8`a(_t3A zbg}*P@*L?u?O7%Gg`X-~Yq^;@HBsw+#3}Y2B=D?i6Kn>il$-p8Lx)atnK^O~CXx)B z5#C?KCY)}0CwWA!*`8H2sr3jw#z{|qXQIEsER1wDTPBd^gszB_Rbk^3{+ZTn%eL4~ zo6hf={nq_oeDk#L1S9XxVzeGb;}ktACcYe$8Q&&}Lvo1=op{0$a#p>$rZhR`(dutYUVBxaV@n}X}u~nvv{K=NQGnH$dZz7HQ zs6EnAYBliLC!M@{fnm-aTd$hu<^}us!`5Dm|ZE^O&%On-|b!U&Fm`5F-8k-l&kT{lEdS5@3rQ3DH~LR|)d_l0`gwad^B(73L0cM@#K&|l8x7}XTxi){%6IS4zYfYrer0b4(YHOrYa}cAlG=_{er2 z&v{~QF0$@yP+n-F>D5au7bn_5qwROsQd3=AM$uUwqL?71!p?o!S8w}d;YPE0P8s+kQ}^73_A z_=TvX>D}#as8FW)a;y5o*Tw+4Q(;x^&;96>i#zozt>(NP?X6W@aW7T4jSQM~(gRuu zb2JHh4L=z8tCqy$uEl6v=PK;sGb~|?W0}QNyxu#ude7bN$619>Wh+%o8YVtTk4p{I z%Zv9CHz!{W>d7__FlJIXiEbnk#qIZWFd7= z^<|h@jL;|gEu%z*dMq*mG3A9Wl2)^VOtB;DhJycz_rG;y zG>-fGyft4BJNL1+`up-HWjBd46X)*SsrC3yis$#zq2WEwi~rSuS->fN?mc03X(G}n z(8A7U2Ypuszf~574mxgU9#FBK!)ra({u-NRnT%-MA zxco#t8Ow%c9`OhMGPl7Ug(l5T{E*9e27<#9H0Go@Cg?rgXi45tA$fmm&V8SJ@3f11n8=D^VW-xXPwbXCw7b8ooT~42 zr#)NHT(OXS!OJj*_6Mhu@~P_v&lKnjbfpcqzp3$~UlkOT2_zIq>8AO$#t2+vX1+qs z>37g`&D5^5oF|#-#(A+9ebt{ta<4Y{uIRZ)Dy4tzV|0I9%xmH7j514I9MV_y3YkPF z2hh-?<=K1{CJ!qpzo&~drPZ6QFLiVs3Eiwq_gBEQ;hXn_ll)l&YyzpNd9Hk{9qrh; z%Gu=aGw1oZz{y2~pkXkyHJ)Ulew6r%=Joh)aKnv3E{?Q!bj0k+#@=D~=T)ED$5+ay z6MY_M+iUJLlX*%#b&~`8qBf$}V5F=pb)r%uReYbZSHV6!9Na39FCw-YLyC`4xXbbal2sKaj#Z=|+x^bK8cbQ?F5Rz%j?}`U36WE`I?>=b4FCA`hy20z4AGy62WksZdJJpzYf>6 z6pI4XLT!ik$oW7vE^pITy30f@In-7cFNeus6DP~uT*nO1$KO?L zkN#@18g)P{TDpc%2PP5d8%RUnJ5+WfMq8_((KKYO(LXDSo2|utDGtoYcx@m%cSpd= zu}Wa9I(IXTlHAvQZ>@oo;|KrBk6U<4CYoTU*do5Jx*{g+&Ts0`D?byCNV!?8*tu`i zhkAQEE@q?(?BOIP%P$@&{pKn5#ByUPz}84UhWqoSy|wgq>zPmEd|4Hp!QuiX?plP( z3;1p_)jIvGB1~|yKkK`|a?w=1{-jbzH)$0umyy1!TrG|CJo))97HX@yaapNfO&2wH zmk9+* z#kD?eExp?k7O&F1WwEov3`+>~_jTJ6T&lcNA12RqR+so| zMwP!q)09qMQU!Ihpm=EFk9OqiQzH1U6{ALeWL7G|^76A(2JsWJ@RZP>Z20*R5gv=agp2IL(n?MdhEx z+!WQx*@MMz&#fC07wMvN6<#sW)LzCURWBkj1S3U)SBLohX6%?3efwB~NtmE#W!ACy%Q(Clp>|S#Tn%OWza7&}Y$<%}v6w zdAV0IU0lsY2sC?G(8!?IG) zZK^qS^V?ESU9crl|1;Pwr=b0PEvND984MTyvW?BSrcq#kAiJr(slX<(`{xY<{NrCS z^kY0z3B@}-m+|!$TKZ~oqK*;^{Lj!!y824BxIBIXowAiWpUq@Sf4}AN@~f;({>K7n z>3fOx=0)XP?-^Y3+?O7}qTjmggpXdSze9{?xNt{BTYu-*#{77w5#O^U&H(yHC)}OB zw{5O&d){%gkXz+y@O2k6e-^b>bGIx#FaJ9KgJT!x=px67=Pdlg!n$jx%#SPdWX)sH zGgT70DnYuZl*kyO`gK%>MH2#qP4D1;d5?R~LAB2TziUkl@ z!MZGi_L*2AXRFA0h5}vVCXrmHoAnoM*!8CZF->ovN(D#2c$HfjALn*|&_mQgpOx|D z4NBZ+5?5v-H$JUpIoP)@E?gcv)b^J0>EAP`rrG^g50lzuJOp%hYXphtND}v4iux%3T%# zt)eUP)-|TYV5d9g+WOiexeNUG*1XDdgR~J<*UT(wkJ(a@N*#Eh;cBCz-Mhm7L$|`c zTds;b3bt#Ed)ijPLC=C{tV7*VN&P2311#4I%`N@Xmeg}P4^LUR8A_&+j5Qfgng^8p znwb*pM3%?bA*;_AC(kuN>yW>xy4dwv*df@tuW!6~EEvmE6Ax|(YiX&=2rn2&SrJZv zO)dBQRhyxyvCTdo!Iq4QTa=R>SF`xy8uItNO&L@VopA2PaB+~8C0URrkEsK^!M z6f(SjXW{XTg|gGF^nr3zGMedTx$aJD@|9;(TD{%;b=@23Gabx{xRNLJaWlmArCxAt z8J<#ASpF=P`dnE%Zi`1xCnoN=y4H`vkI zbi9Lf37a@$_k<(1u7mCEm|HGzuq)a&^abl_N)EQk4VGMWjqu&G%b z7Ru|c*;jRyi-Ja*-bQt?&!O#?8+W<;3NcBZYp(dIc-0pn&Yho{;W%xSsSrdcd)wcS zhL82E`OD%%w$K1Z0UF1}uL z-Z!MJ_o%?Bwzl!9>sdvzYz@Y!JRv(S#fIcZvY^cij!Y~LSoC%{B zzVzY+vuEfe8e-u(E<-zaS&7z0d*b3^%uoy^lLjLTqw=|6&o$p~iCYSapXfMj{Pu>k zC7!Dxp3k9iCl;Myxx+R`TQ>d99ZDut+dfOGS(R!B-Fi>G}dcb49OeFRWOfL zn5x{IrZ3*nQCB!^quTRqDm9ijW9T^FB@@f_eUD=?i-e-7lzigqX~Jd;PyQZ{X>)(6 zY@RttPb~Wtz_-m3!gPWqP>>a>b&n#ttr8{=#J`8Q<50eqlly(+R<~!o+FFOQ^64s5 z*q>W-MH4d{yLnd^9*seeY(3nRWBpCmw`{GHDYkv*(koa4{5(5l-z1)cYTSkRCAZJ= z{?qb;3m=pjfAmG}mWe`Gi@_&$O4aK!ieFo~tfiz>8{}_?pCSzODG#40;FwBu)w?&y zlCvO7;Ci1r-CIdr_1H?YEbI6z|0N10Ar5Bd7HZ<>Vk0~%$83JNLS5&cx$yiOiNe1G zPW^(52tbbL-N&t5?5?0=*5A|iO}*I@;`+l& zQ)}mrjhd&JqbiQRK2~;(W7LcbyRW;Co!mWmzWD~En^1< z$+s4pf)8mBkRv~mGHWr^*`tDGaJQ_?@?Vq5FSE#P>Ka(eExv%J+p z87}JdfLKguz4xpzYsaAV_(jd4f;In@sR&QGEU)&Mf{=`4A3uit`I6DHd9_wcA5*uA z8w9G!x~}%R@VZSgm+|aR75PGL!tSl6?r5k^EG+ZNMG95J_PF}{j_=ggp~-)~p|ecS z@ISU^WF3~wzkUXa18F*1L`9LjsS*K;iJX%st-sG~pz|+y)w9#-G`}!-uMPV{WRDQ~ zHPzIwqiEVP*8YdbaOo|#>A@Or2Kl42O~LoqyJACoYS%rJt~$EBElFSrtxwQ)9GXin zN=+!NWL-Hv^zp-8{Es1RT`qAhmH_cMCv$(QFctJv#CjF??vA#w=Q5n~Cx}+)<;`xR zEB7E6J2N$1TLpP>3t=q&v3AMyytN;MC1{4Woo)A}#gJ0XH4{9(4R*bkx5?;P0 zpuvi8<9>#_zRTkitOsul=7lMvJsBU@;uz>s=QNKSiS528HTNW23W&h@a~IWl`vn8WH;PEv( z&E3oze}&0@mosrtk+D0*$K}VOy2F`=+H5nH36#*^j5giWdPj z3%Ikhp)}8f37VX`p~T)X2E7 zJc1W?pD=UNk=sEx<+wbu-T;4w`o^*1&e+ZI-Pf1JJ$D!zTKL!_U!Y1LfN85TTE|9l zYfqu=odRPU9UK_=2A_z{v87&vLNq0(pUd70qQKfHDUMM*wfwxrX6>fHlK0g0(UilQ z*b!|J#;mfTodwTNMM+!tmV@-YYKvMJ8R`z36CLOjBbdbZCN}qD|E||$wOm}0eN&%e zMawRn%N*oh5`kipED;i*BEih!^Zc2jmS(Qmbyou;_u5LvesG}hi)VA5Yp;lGREZip zMmav2uCz9voq3mN{p)Ldlf9IZ>3~hEOmnOn(XGV#8##vgwn^@ARaqHJ)qtMzaLet{ z8uU4|wtJ3y-hz$#q^Lu&O=|k{oYkZF6 zxTF$UEs-PL=j>U#b}n)L`s1A5r>}$Pe+5A zsJ_Q#+zrPX^|fX{eG+(5Ww!HIoB1L7cUxt`p=d~)k$T&+sdMs-3TJ|)&fr#~FkF4K zy2Ykj7Q5K;G>~OI9b3AUvH1;+uG=iKq>v)N>K!gsC|>cUG?RO8x4qkXg@%IGoGgwO{I%Ds>J_nx}O|_0f+O ztzZ9*9ayQazsq0MowBk$IbHixDMBh}2j843y0`1Tv&Io_%AkX z+_XWSyMvMZUbAV4^)S{HYm-bKSU$wST3>wYEfUD4VIje>h^=6ypwpyRy0^GVgE@N4 zIcV?Lf+?E`KU&msm?}1AC&k;FTJfd;XZTLa=13G%fzTpBP~7KWBTL;(2g61Y6qLq` zKcMqVbnH-eB31VGSIA#}g!)FDrC7O8OUYQXqgBgPv>3ye${bc?k%&9Yr zqVA`D#5h|U+eHy{kByU6=~6ZFbr-liY+kQ-d}d+bx{9`}mz6JKvM9%nm4x6wFLC&} z=%hX`*c=q5jkFgD!lw>~)fu@LT$`hdC{-o~5-m|80?AII0l~?ufmORtrhBlPGap{- zSsB~7IlBAW-Ldb5O#3c&P#lyRYgtCzCN8~?F`8!WJ{;|i@$V>gMP)y^nP zVI5yn8600)e0+{*HNC9bsZYVE-i19DI9F9&Iiq&W!neD-*>}?2@w>5kQe1kPI+gp% z>h!n+d#nks_9R2W@dErpggU<0eRKPh8vb5jFS+Oi1dB5z{=ING$#o^eEbKk+mXo0M z&|V_9;ghH2Y(IU?*ZgyG^;~w0)n&sNEeB3hFlo}0`Cml}6AF11+^XgyjPe|P17jDD z46d{!JVBGQd3SstdaR_*WTVzy3*}XY*e0>3BjQV8xKrM!GI57XNC4ry45zsDkC}05 zjZiAhBHntLMpM0(2MP3jf`B{;V2h>=%MRr}e^RylNo?T7=5{&#W=7`Z8#;1FMS2 zNzffUoiS3VDSwsp{5G63U;h&>_vvQ-b>x4&0ZrSy<`KI3 zW<=k0witl}nNf)>2pmY*bnE9Now*BtRbxb&|Al3hQHiXQ3qv_wf*SyJ{CA5QxVsC zh@PjOsxA>t{sXRlPTRT3;}dt~)j@+_oCKaY@eMgI@+jKr0CC|#0}^%H#mzkI`}@f{Uk z`6s}wE%;DBKHy=wR#SNSM>6Ee=$AfK6>`QnCJ5;~)}TAq+gsiPV6lf8AL$_YOb(xX3Pim(1J>PE0l190mv`CqoYEy4X1qpcH7F*$~4(M*J(*nq8PLlSIShAZf7T+J(-ohxV0hZ z__(zSD683)r}wX@0t%+UGfR@0K3E=!5ajyOKrfsc2vJ};5={CZ6yWmbodjWJW&1e~ z{0LBQyr`67m&3wmE_$j+U2aP;8vR@R*3CQAiG1)TR6XV zfCMEEth98UiYo~36vi(24h#%@O-u9L+1a^z?V2CyK>`{ii}gUyJt>K#?3vHs3pE;^ z6o;M64+aEZxkt}kik;svHW)-5b~?%AB;PxCkc5zQmR+?TR!JX*zU2UMO)i$-YP4El z)Z?Ju^2ASWz1m+CftJsodk+l_!3fjY2PG2Bh*3xcnwpvUfmS;Q!ib9GS6gi7g<<7- zAQI0Fx{uUAW2CpP9piRdp0GdYS6^RWOxz=5hMB~2;=B1j8XM>50!db1AZ8RN)f`K_ zC$hWBv@X#1ycHBN5o+c;&_u2~$`W+~D3`iZ1wcb}{PoRC5168mfG<^41q8ZIm|Y-S zwca;O=R2^dBEPB+A|zxx)8h6Hc)VEP+4_Sv>(xT@G=Jm*n`2UXFts*ZKa^9Ob^}9{ z0M6t3{o@i#PmrzMh66_4S!BqdvYOgb$VQ|%(f@IQi5)o|-?eib8eLOsz-vPT%kh*H zz4fL}3R&Ow{z4Rip7K+XonIFfbagTKZ^K`KtIWne$i#XBX8#K8{Hj?u5v?A%JPJ?0 zv>9~$83V-#k# zG%BUW?t$cZQPPK$^hUO%b#5V36_43B@1V#Iaa_l;SeNvP__ zwjI9ji|pQ+py`;%v!*>jVxqxml-Zj%MXb4kw_iViIDl+48#}u`$a(j3>WAq#j=k+G zcd|jwf=~N9UmqktwX$LlDC+7mA^-XBzqxq!Y$O(j3BpMeeZz93yf1f>SmZ#wrGRmY zLF*3RY&(Dc{Hp^Ie{F6Xbv=)7zoV~rN;dah{iVooe4+i4iQ9tC3t>AOB?lFr@aV{h zjOdJt@Sn0*_)8k2RKl8SA3m&47g9Kim$E(mLE+t{21*49($B_bamF*A+gLh{0gDN* z>M$-bCKct2diaeZ69nr4Av0-q967p(;|-@KFZM7$0w*} zjJijR{-uP(bgLKt*58K?z+^k=7XtJkgiG6FdVrb^9^I<3aZ)}p>x(qL9)|cNZtI2( zWb`Y+oH6o*H*XG=3@<({(=jqi2KOXv);r($=IH5rJB%bv-_D#RK@lt|wUFsUcMDf{ z^g0`0<@N77JD2ufCjSW&HJdp}tN(%(XiLuji^=NYlqAU1o}WKLKRbJfzS{9_HEEpu z*5v2bgW6+*a7N&aVbBb+*6Ql&hG8U6-n6|wC=u)Ce1C2+lrjAB)=mdIIx(2n5E1IF ze+A<~FSE#h92_>YXFbUG^!p(LBcn*|BOWJjBbSXPokbt6hp}bV{y;=c1ZVLHb|r|) zhHD@2I9Us~4nLB)Fru;_*W)CUV>NaFdAzUER|b(O*wvqcV7d_~4N zPleW4=U+cUGFq6USLee`cmC4l%f>Jr$1sfa$(cTsSZqHp3H8CGD-=s>H-bGkoMA^T z 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 Tu4d&#yH(Uxy+4bu*gyC$Lc7c+ literal 71460 zcmeFZcVCmwwl^F^L8RGHsufXCq=t@)hzf{EmlCO=1rP#A4N9@lM3f%7Aiad%1(6;E zq=b%iLTG_dLg1d@Z=YxHbDsMR+@Ev(7p}Qx)~s3eyVmgj=@TX9W9-Ku5D4?5hxeaB zAcrL&5QY~=>A+tQ>~DL)k2h8d3QwJ$Dc!qZ;%sG$ylG_zfxL<%M8lt+#<2&exvH@+ zwKFLMTx7YM>_>BD_R1&UZ*@%PADsJih}Z1p5$)qA9(}lw?8BIQ>#nx?iAEnjz87~~ zKPukQW79ct=8O4y(`cp#ezZc~eq`G_&U=BNv9U2Pr$y1^f|xa(l6;hrPXl>WC0dgg zC@Ugy<@0;4BUdi4euFTcI}!KWOi&(<%70d0KAx~J!sp}H?@_V8vsZib67+r35lDTG zgADY>7fihsKWCfjpJT+A7vX7F^UU%mkM(TxvzFC=zZbIm^ZmV$?Vr-M*wsyE-3eic zLuyo>io}hn<~$YIt7cCG{kAU#d=Aih5a9#3v_sNgZEnfJNn^=B`HE z@SF&nfBD|3;$_u-ms~w%EqGMdYlQxI%AaLhVk`7T?IFnZZD|c@CWtu{!X=A>hc(g6 z3DDfxxqc0uuzFL0fnM|iC86^iM(^y<~Wh(D`=SS zvL-QDp4~aMbM*3UhO~xb`E=Q=7-Q)HTGCr+osh$^xFfUQ$>Yb$xaE$x)k}z4PuUt@;Dx3GqKZuP!G&6s=b(xqRfIU!lBo?~!hBsxpOUjb5h(qcemoN7IY)V^K@SMxK z*7{NRV-yzO@3(IY1fBnR=G2?_O=hMaZod^mL@7sIY`G{hq@5i0Q9-R$hY+Q9HFLN{y$)$$|#s0iG(YU(sim?hBA2{|w@F#S< za@BQ3W9#ah!><+dFKwOr!%%tjjGuPBR=vaobJ#=8i!rCX-o5;R{&DP&)gR|ShgWIe zKknw0{8;~RKGiGrRH}07+f=BTu%552GRxKUu+6a8W}RlWmgPoE6L%9k6N3USlU@@p zlLnJKzE>Zl8bb=hJ}F*LkNY~D)c$_5QS1lTkIO$w19buuPVt+1l7?os_!LE7jMr4eV?1Soi=+uj%S~0Z23PY+kiH2WQyM&NuM}oQ41XK4P@}zbu zKf4-ymG)}sLv3ZFkEd@R51?xZ4r}JKh%*inmV12tA?}glBf=N!FYFP|KSzX@d!V#bci0|Z!{?Wu9(}|K_FO04KYKOnCjN5lb&va`%*8lPL+rDV%Q_caA1sB*2;|*d z=1;hZQt`gyefO^Vcg2f(NzW!e)W=;?=+YK4Do`m$8BgM{#^@xiIjxzjS6K@>!SkPx1f&R3A9-#4oO`@`xjWiDZ@qV2 zVPg}&iAM?D7J4XZdHa>^Lop<@U2IW&x98!|J5x;r5+&wVOkCi~s?@F(?-L3UmNVI{ z^RxJ4Uf7h{KZVJNzCKpei|kYB5E#z>X&a;p&ogB!$cs(sAauA!B|!II7+Z%~y!`ox zRoSrZaGOP2v{<&7x($1u%JU3eMcrOKhV1CRi9V&ABjT;%C&V|zJ8iWP;iTUq@=&^3?NXws&)f345Ooz@<@ zOgpO9SJ3x0o7_l0iNU51&X(sT*@xKI@^sjT!!TpgD35)U{U(|int7V)*PrY1>(c5P zFEk}~U$~p^y;3r+f3fi5%Zr9d1HbBi{ru&>@dVGBn{Z5op^cSeq;4?ZydgNakmD58 zXy88Xbiur>gp>?lmE^95pX+_EANNxA%~YpknqE7-BYv`JyE%z{pr`odfvS?eV&sF) zAG(d4@1lc?-`@;H2RgmW`ryH}%nswIjT%QgTr!pv;w!kx5P3Qt8KN|Ob!A7K-)^+f zjZg2Iq`clolQ75I=JCtl?N$7rK~r76cIkMx)6U1tk9}1$(}ioot2&w5Whxa-8138Y zvO{!9f2}3A8TWj zKlAc~-QJ5Wg+|ska`Gng+1Rr@*S~*WdHi5=Xi;A8hI)*alv^GCj?#HdcH$!8yDGi? zXO75z?n|7H<*$5O$)3y9%o51h)jXpw_6z|V(Y_4Blv=Fb-dtHZF?2bn_*k)jF;D1E zF0ZGv&-&H#)M4ICP6Cqy#DKbhy~)K%)!@Ql|KJ3*l_y7^?8GnH2-{d&N7&!8d#&HC zZ=vRot{|sOh8pHnu2p(58}bg9zVwW= zsq_)Ui-rob!<`#0`YxsW$(wEOiLJ9)f)9=OmM*SOZ3w{HE6Nt z7-}4AJJan~GMjqw{c(AQ^QHLOS0f8M+Z<=1*b%d_#VT|6EYmu(L`q2ufpoX$dx*4! zYsFH`7=in_$Zru_5zp=T$!eR;k)<(qJ!xT4_S-uz1Z-7Se8?|mjQ=$BhYEAwlpU1} z;TC*#X)kp*W4C7qR_u*96?N>Eio_Ep8KMX2)hChdwbI{Xa;np^*W?8gv}5dIgkmJ+ z@iHEpjXP`_g5j`R9n<@_Ry{iSJ9Omtjmb@Qo-4b*ZT9ff@`0nxRg$ZHTZrZQ3jg%w zPop<)o~?>>L#@%0751AFLwl5?6Y>*o$k});?fqFb_ms49)0;YUiS2l~PxF!cw=Ou+ zgfYG|xbxrtw98Xj*N=()a?h`!KnSvnp;@V7zGHp{!rldWTEBOwr-b%ym?rKz1mXjE zbpNjAE2G5``m)m-)%&YrjptH~cucF_A5*{Ff7Y~N_eABP_sq1(Z*E%K@_jg}dpzG& z^o@zm>EI*xuP6I-pEw-mIH&3^t0~4VwnI+nY|h5ijxEKHIF+<7){J!$-E(p1Xta~= zl5q{(h4*ZrOPT?qmO`58uiY!gId#f*jCw31_LleeIyqmBzn=N1z#^o?`O?qoSK@2Q znJClt_t)Yr*`ao}Ph>YVdy1?yoci?O(GfTGV;FCh)fsrMHqNZI2|{&XUd8206?m1V z5H1=JX}RHPclP8uA(`kZO8~i(~%Wqo&7F7TpEmAxTJquckM+ z^ykkhH$5k<>O?0UGDl4+cb5#=+3ani_WL;<>S#t`bs|`ahB(yT_Do^hEz{%F1t3Qf zO$E7p=XF(@%%sG7gknN^k?j^dOAOvSQsTdb zl0(iACYw&)(Z|#Zg%u6iRYqS9mFbT2BH_{uD_yW0><3eK38jQ^IWuLLJ|b@k*SCt3 zIZj+3LX@Ii8x0L@XJTw}UykM<3^cpf^jWIpw@_M$7-6#W=#AJ#K^bA>*I{24spiU& zr(_ZV4ZV6WvN*|9mCI>i0CRY$?^!nvW;;h&gv%3`0<+22h+U_sW9}r)ozrYemg4O# z$ndISKXEmZawK3h4@I#dM%M27Gx{B(j{5MVDNX7@Z$YNlE*KIq$>$aC+7kA6;ZD6;I+FIB)R`dl51aC(B7(>L zA6@=ZO-w4943Uoc8O-5?V5YvkV>Tb9-Bcp=vpCd4LEt1#noFv3u`p0_`m=`0TNbW3 zC^dh9K-5!B4Y=?NQT=i(EE!MX%eLPZfvk+4u{>{k@c!|a5I5(=EYla{G6}zX(beHe zNm=dU_M^kw3iQ+giJ#|nB@Ve7F=&yn{`I6Gd;1tstNQaC)OS9GUrkN8IPm9ia&|0X zPtBG!yD01F@?uKdZmF&bFUYKC4@NnrnwoL(Go~kgU=wv>85sMiK=&NpD34(r0e72Uj96f zh4LJ{oC*o4RzOPQ;w4t-n+ky!qpP zz-Ne`Z%7wml62|YOH#nGdz+)OKsnL&ya(U#adTziqekRH1QXfK?Ncw5jJW7KeLun` zF?Rpp{ZmgVi~fR2FB#Y!J-Gda<&rUP52w{eHt8{$gZIa|rCj=js=N$f7xc{Y;#?~> z+Rx}1OnCMjyuGtEcdq7LX;_DZM`P8X+bsIPCfFYwEaa#lR~tTRR1PcX6I7_vn#JWZ z@Ot8}*q!)l>drMZ)I>h=6hS)XMht}Q)*HCs%&|})Rrht;B5qEyi`&jI$nlb-fbknd z+UA*hlFQ^fyDbFcpcOgo{%l5bo*F>Rk%!-&BX#a9{Lav5YWPJ9@##)9-Mut?Pu!gJ z#%(n`VfP2sJYb=K_kIcTzmM+P?w7P~-3ZkwPkTIhVr+dG5zi-mrsLjeP zCw=1-9XHA55X8swS3yn4_6DZ<&NBHr?Ok~F9V{2H%UCv`x%Jl_e*WCl8qIYy%g*l&rL0tpiOc~OxQo)hyBf_r^%{(R zLYaZq3PFb*e2GWEJSz-w#p>$QQMxaC@HX;Ql)}w3V6)*CkeDNL@K^DYIL4`Vmmvf^ zw`%S2Y@p)$@TLip#R3ha2S1`kd|i%!IN1jP8r1NyU4C zXi|#lmwg9uu#K)HJs*oh1y?X{I3G8A3&Trr792g9TKuzt_lt&+J*qQdO58#`o-42Q zDv%ktLi51Y9+cqoqUNgoJ@RP2Lfaso7E-UK;F}{~%l5;2>(#?^J>FLP=Nut-xQ9{u zl$l00m?&juLqy>%ix`jhR#LQ_SA|~wi`Sc|joOW^So@m!o9WX8#QhH7WoKm~Y}8~o zKI@e^7(ajh(SdS*Dkz16sAs6V8+9h;s98kNW{r3s#`2M`jzJ8ZQ#M_a4Hl6S>_uLLb=f{`Nrwy#ViUekaq!f4kKRa zBwmT9+|Qvb=+p`$hDw}k67Q97j(SvUq;q?&+?_2qcts|ZR@au{UXgHcG-1jkwm6BV z(POzfve%(O4ez(D!eS_Rg{PmXrQe0-0_;#juu`V&sX*;P7y$|hYyP$dDR-|0oNrRfx^xQEgEVUC8M%>2D<)cnDZW%0gK*wx% z*5^%UIuq<`C?x%5)lZ?F8qS2lUeA5XX5Uc3PTCXnf-Qf-PJiHpCxRu*#M@w)O0uKR4l z)$vCCqmd?sZ<))v9n2g{9;8{p2m~d=@iCt5ahaz!Z@JyS5f!JxyLjxIGqy$mYT~Ms8o?8OmnnO2ofO7L)V5rWxL#pjy`jyw=Vi+Z)y$>mEa$$2 z8xlMcbAE2tgUEekmsn^XD*eTs4a zh@yxptjSg`^AO~{sOB$0F5;^Fm~A&6|MLiG@65BpiGbD(pUeG!>9KSj;U_$=`v4#&O_C|L7wYi#?R0~5O_UyYZc(13Rh?^;2};ICq3$JO#GXMCUk zTAzAFF+y%Hp{gVUF_cFSF)rMw;DBjun`Rev_Y=fj;;tJz&^+v3>*p{x0g8#mg48=YbneKT!ZcVZWHQaM84WqjUy zPg{&QxA)e>XN6STZZVmnn;zuGpFXsA%8z+26`N*@;-5BdSI{JK26IYw@6B5Cb$jE; zF={OV9N%Fx!sC409mm(5q~FHTTbng;xr$OvAf{nE+1I}Mg!8qq@tg0C35`d|xH)=~ zMJ(DK{#g&%r)X|&?wMdc7$auW?zK5GYg;=Y%;hl9-~a6v9VevT4zHwf!=$U6%eG`5 zpE)kT0-3YqRf&4B?<98Gs&>(3guarft}hOus|S}hH>rDBG+ov z#1J#>(KCJe_Rb|R+h`_<^(wiw)XrlI?t&E(&v@~-$05hH^*cwmYFY~lx|gDEjEPJ^ zo-QE+`x*n;hW5>FS`Q}N8<7$RdhZ=Vqx8}$0!V=Aw~Mo{vk3)F+}I~)l~w6EzXy8W z@S18g`dR9^y|(38@gkJssXApETP)@>;nJLonLR3vpN{w_bW%W!PNFm1 z<5EYa$1VhLGD$%EaD5o)PE%`2={W~T9V?V|pvWqm(%F}sO8K=nK#pRa58xmXnIt}_ ziTLY&(omF)DE7Ew`M07;3~LTO<9+D8V`b zwddAT?cutN8p3}K4@LB8BjnSPE35nn@%=Rmbez_}=&VizsKEzQ^+Rdsee#bPcuY3y zx@p#aaJ{QV_Mm}GQ~l0ruD)*j`pzJ$$Jkm@#Y8|g6K%+!9+itqY@E*A&5wawL8JN8 zVpt@Q7nan-ooDXWdQ;-eJ-?HcP%Gc*XL{7+#m2nJh+Uzt=2Qz8??uvsQ_QGp(oI9j z%BzWSxZAJNBUSCO$#>^sSUQ*U4$6w!xflh&ig1- zxDXa@CM@l6xPq{;o|L7Gif#%zKWTeyY^ePV*Kd5#C)*w=V=lXg6*OLBVTxwaF^d zyzT@`%uUOmz|0qq%X}>0RgIC5*0L==?_l-^B&iPvY7%n$f$t0WOkX>1=l?krG4n}| zJ;j%#(o^WaC!t!>%`EYI{JU@U>wsH6sd&s>%Dugh3S*m^cwr#A5A@~Z3u{_S3f3OO zmg%s6AU-_vrUU*edGKWgxxW^qE9ty~K+EDqMl9`loK-qng_>}2-6-*7m2lr!_~J0p z;m^nxlOFGW!}z?RpaR=<<}_#IM_YSA*iidbFVAa3_3i{_SSDaZkJ4*y_qn94J7D<& z)25&MrE=0+z+oNjeGGH z-Hd`&$jz!#r30DQdX5Gy>jvu^(H!5Ww+)MycrcngGk}Yis|FMdkw5pG2YY<^UEy z%6ix-@^(yflXy?pud72y9d-|C<4<;VC#t;P?JXO+j!ZMi^`)yNe8!6a{__I-UjAIpUcm!-Oj!x-YKqkCk6N+ z>WpE{*VuTjw}7R#=TbsX8VQCMg;b+&KN27Rwckf@_hmb?(K)!X9g1&fxfyHALEYZ_ zTzT~kj7PTjc;rjdau#|>*$#;iyJC+s_(~Ye`(hK#LJe}}G8*+bv9wnH+l$N$Lp}-( zZ(rn9lVUI`B|z7Z>tVq_yh$$gS9*O+>-`u;iF?NURA4fOZk^2K2^QS;lNi7+YL>gOS!Rg^yx#4BZ9kKc2UZ+$|VO3jIn-2W#D6gGZ=mYa+A+2L3ML} zl&)fqMf1Whp@_6(jH2}#uIk>%#MiV>%n~3bm0rI0a8F4cxPeL8wCVf%vd#;?x0G~> zvbh{G&vg59KptoUNl(y_o_U)`+~9|Bp2sl9ZhweW%DKElv-Iuc-XCi02tPkWwPX46J2|MD(rD$1(YId56COQR!VeBH z2Aa{beC=dhXg}qpCYH)@D`mgWR84L>wX_|C-RE_QP3C_YFW-Ql2fQeS0kc92+3KQY zl^N#>{e1-_O$5ZuGu5|L@kLtEB_&MgIdDI;jzyFR=@>eHA-*vV@1%LlVqLpE6T4L+ zQm)ZF)e=70W@AV; z&EKHxzR#Wq5)hc<`ZUaNowhb;sQSYuCBIgQYF;8eTlSdaZrx1igq1x;9B2}i6g@xh z5O}lOg$&^N``rp|w*tNZ8_zT5Vs8F*zWZw+CMZw8)Q&;psTXgD5ic+<{s39($kr{m zwDUI>wG3>cV5GO5_J86XqeU2n3_6Ild}nf2a;~t zBXCc?Nn}dq<8K^1fl&4IT(3o)ko9jqjN|lU5f9ShXPz@|^Is!RvUsxz=#Cq%_ZU6t zZ_&kAsCr7~^knG>!pl7oB5c4)$YI=wGh2A`*uGxzMMA*cOd6$%_44|0hwEFCje<2> z^<;M{Q^M*j=buqer_zOzIml1stw@zBuT8LYX zQi2&a?eocP+eK~2+2F-Rf3j`7C9Iy5T^I2YyH}JCp zrXGai{`NxiwolxA_yVmgZF4Wieh}xT{R}!Ej+7Tx#anZbTmoBa=Q8MYzvC@6mD(1v z+0oTW`+Xkw_x1O0R;+xJt4ZGPEAh=c0%=06-=*7I8u`WcxXdb0C^Y&icDSr@y?rX1_q*R)Zl^n{xd_=xla1lZzVwEj_jzc#l^!DvPf^AOS4xu* z)poJVu0a3(`n|CmE9t6;xJ00_;xX1hb-nVo?9u4JquI8lvr^LMpS!2?iky0Imo2(Y?%*F4&OZju~vdd z424dAz$W*9Ow#=s!i8VdKukI6VjL#!!O7E)F$^7iz?HMnU};~{b0I%s)IZC4Ro&}9 z)S@+bmInv%`IE5|E%$)xMhbw|K>SlLz7054oP-z{y6GCD{^L{otwVA2e~`6$9=?2D z><{Mpipn1knbgrh8Z|aVC|NgZf3Z@87ukT#-fjg!1;l5rE9g>$nahcBnQd+9?yJ? z5Cn2ucIVZD-cHirxaE5jz`FRjVzdBRw@VzkSK_>P=CJ_){}R=r*ur4u`jm0Ol#(2c zbgVlyCWa&{V?OA9I{#A}OB;{Rt;FI0+W9Umheu;O)_WyV9W}WKu%^d>|Fv$ry*H5q zei;I=woLDztQ#!kw)7;@CIGwcCs>>Xm=6*?oMLtbO%pJOOW90- zbfty>X8ug?nf>+zy3e}uSzzZ#vJF5Nzbaw^b)9KLb~fnnePuVBz= z_B8l1!Gf&-Bo?Z%;?CNK!T7I0IAL0p;r$f(Gkjrt13;7W7V`jv_L;lmmPs$O1Qkxs zJ_^2618c%{D2rn)2`u-kxHdKhV1Q$MsxgK?KmbSudf}j4@U#LzmlBB!V-We^P=;ij z+J^H03;?x!h#2D^&zL1hV;~d(c<<9eFm9l7VT@*IS3>Ze<`94|XRne0@Cf;;CK9BZ zNz?S`8hR=lu;wugC?a=P{&-XQ-7AAL-%>){f9yR6r|2id1T^B&%4yNR$PRV~3 zJ=Clj-UC6KS0w<(m9D68uMG<|aXS3~7Mv1cB;O(j#P1a*C`xvG zoaF|XR_dmH3Fq_lCuotZJwiUh;apfl2?A^}S}R~64=~^bW+`>80aau-GN=cX;DSFh z_`uV%Q+88k16sS?!NPF)!{X2c2y^9%TPFwYKJ^0<9zMnd={nREbchd0FoFfm=7w%e zimga2d`rpA0Kq~EfY>ocUko$%&;`MJ1qDFGmbO6Vyyxm(b=Q|JxF{~7-(A1Iw3Gn? z`FNs3^bc)_p$o2259}2@7Zyc(-myxMMm_A|U~=&I`_{Dg#gq`adR0@gkG3U}x0FI6XQ5I=RM%kA%+7jB3Sz2kcM z;{^7g7zPSUNw^1#fT=FPGE$#+$2!DKuAz~ih(PDSb4Sy%<6cMvD;t^$3Z6pe!?n1VU2Xc|j z6!_a`G9x`++^}*qB1{~SE9SAJ2h9jqvs)BMzyc?^Xqa@U*s|*q@lT*&bO|C4x`E%v zZDUT$diQGObb#d6B;uB#wf&{fpz;Nu2@=5~Ya#&V)?oDcue1sCJ);dFcGmuqydZEG zef^F<0_55=-O7Sadji5QDI0`#pfUv2fXws+@1HpP3>|xUj5o#I;~zoK;N|A;LfARFejqI4*gD>I6yI?-H}|q8ACI6sP~=8@@=IrVnTMRf#hRS|;CBryC&?nej10MoO<JT8)8Mec|Zb2WlSQ#R%6IGx&G&ak4s&B{cofVv7HlHYyDh{vJsF1E&HX}Hno zcSaQIAAL5y2^av}el&FS)#b~w?lLo+yW6*Fwobygk#hUHP98ds3r)Bsoa{R=sO;Bd%i@qk^rQ24&40HF3^;I8eCGyPa3F z69Y0``^Cn%58JbUjmYV~OJd{Ayj)v@^r)KE$!i0F;nzoBV{T-9sSe>T7LDq+Yq zpDom^amVSeMLOohB;hy!;;#18M?A4WKHd8@=6cdYUHk4RDk?r+Ka4u+Gi6`#(AIA8>Jj-=8|ir^RAVSdB3f;eBiu1+JK7?wfyzV zNc7X0Kb_YXmdy`VyHR`2;kPhX;{15FGu|eypP?HqFXg;o3*Zn_`%9DBInT}GU;TOH zH2m_K#1QMCO`cb~mQFG0R?Rk{bZjv8eYyzyqBABei*^LlDc6K6nbXb`%Rue#VN1FR zPALym~3ZibjG z)$YH}UTROKt&B8sZ~2{7nt;h!5VaqzZ;zK98co$nVu{PjLJZ;22<5hjoJB>E$0$@m*L3aID0~!He*d+>z#zO5&p!oHTepoE11xe%K3iRPp zi6#6$UOVxAt^8_VNWnT!%Z>B-|9?cWr*7D+aaazy%^Hq#t$(FP7%qKT420#N^CG88 z(95*5DzTDI5g5eSU3#v#P1-?6ZimmU9?^eQoJJ`kM-TI}Quk}MDlD8AwTgZC%l{;R z8?QQn!igLGJjt;Jp5TS`e*X#pf;hcVSI~wO``vd;4AkC5KoNBP)^7;_RxG<8Ar;D@ z|M2X-3&^!u0dZN=SLu&^{ihAIKY0zO@Ximi0#-#6WA2s?ceepyp`22STO6tXK31pnu_*klhK^jrP_r`~E3M2aC%4JXgLu5F6RbD=Qxi&~v(! z?>OD~*P(uaF-a6YEX^q@o$j$u?D;w-o-UQ>ITH;hG*kL4f4o1{K|{|uRplc5{0aSFLqK&xui~w6tq|IfXaAh9`ZhpJ1D|<` z-f^XANj<`NRtn#`+LSQ9TVg=(O>*2Tj9v$znC z@?0Y&>uIreqyPqh#Fc!R^hxDF5_)X8-Ds7Y zSWV71mKtZ*2$dV9G)j_Hkq2h@+pbAnm~qA}mw~U!Iv!m`%;#>`;R4ndxBaTWm6Mk| z;-)>>3>?DF%X#{3gQgcmp7x}*$9P;GQis_K6(YBz3$N|&Y7{1~&+8MKv|AB%>MZ|e z4$PwLG_38LHh(FM2)k_bBH}itK{p)+R=7~-?Jqg?u_4af7a3E#B(MgYl^c)X7S)M# zm>D2ghAa0Q zgzqFirOe9j3)$D;I(Ikn(k1ZPv-^}3VxnOWd`8tuB06=!~HsJW6x((x~^WDV1C zPOlj8Qq5}eS|E*50NM##j&wwMPE;4C+yqv;J+H0GRgc%DieF1Z1R{Ht9{O`x(&5y8G+97%M7!@VX<2j*A3d`6t z@VKzO-zcuFJcIJ?(fd_{+!FBE+!P_(0rI1H>~%3!wu{A^Fpz%oEGG`$Vxwj8Fod0> z|8E43ylgVWx?JfQ(`LIg!lG4sq8|YzP}b*5r!z7MuboP)242*LEW`HQdyQl!N4+*> z;U02^c@4S$W9QWyeM4B6`}9pM*kgPaQX+pU@Pkt18$dHk*+QwCjrnX{_B7U)FwvkS zF+`*qNh6tQ+#%DSLB(vU(bc(vL9`)`ul`!D15Iz}=F+rqx)Aq>TCCX=IuvUcoiSz$ z?_R`V(3H>a8zklOU?j|xmmVuNAE9sOY^017dSn<>$h)ybDa6Q*fyfIXXa`F2%UH)X zth6sdQNtn+&p7FGd1UA7+P|OL{GG>aPm4;grlVZ~wn6_JL9070@XCUUui1R*T*j^E z8G)7-pX}1D^7t#hSZDgyUsaBfXd@#NV?qO1xE87+mO=Vdz?LWOwft-(py*L}?LeSM zv5l)QCVTEVceE%R%LzAx$xZCfPKDG_I6Qm1-N&&R0jQC>53|)m3V>8=Xp0%G3aXod7v)dr>D&#U*+9x<8ru%yg2NnFNNO$iB5B4f<{K|zZn$89R#vM-*zE|g*elJ z(FrWI#R)sL-9*Q2&@sC=8T}68jNXOl(tonA9T_u{xk&jb-HU*VK^}hbCff@x_u!be zcM#=!GK>9;6{JCYI{;F8jCf4Gzwrlcp(JdDoY&adTLxx%GhdcAoNe@~BR`3G?W})> z2X6iU5o5l?yq)xxd&yShp{w_+oq4!Qt+zesMcR1glI5=3n&$P(w%6L_ma&~nKy@@9LQ z*pc)hz~qux>;U@zBF|{D8|^mHv-yZE4!E_q?WfdatUv+jL{GUB+j7b^QelZE+@24e z@0)iEWVpPX@tP2k5sUsPd}PW5m4BrXiBp$~HxD)u`Lw z7i;%vuqCzt%E#z*Jlct>2L&HkmI&h$x$*+&{pKn6)86_ewnB(O1H3Iim)GGb5I2f| zGYlohP1)2XId0EtX8y|=C7g4ZN<1%O5p&D1BCU!mP0e+BZg4}~emf>Ll--h|f_3;+ zd)4OqK-x6BfuQDQ!=A*O7VS|5AS0+L zfJUlIg)8*?K6DLcHsmBOWDP}u_=X3j=6bjwGTf6zLNj+i?(yos4pF^@MdCvkOQth> zjotSQS|W;q*AjVA2U&ih9f}{9WSe)UHY^0N@=T08(8^2M&l*B5m>w#ZIc`vDhjv8= zl#aR&d2o$v+@rlj;jQ^Ne=o5j>+Mprki+1-?1x{;u9z2+ZvEi$dU`wu7*2Kq7ng}eZ(^3PvSgI1&CfB&pL z^}mDvmm7-z7ug5|HG1DB(X3kSx`9!8 zvGs!Ws$&O=t2)hSX!LIz{Bf4B^A1(F-M?<516cG4-WtY-VH)HY%YT>Pt9i&Iv7=&O z?(J&o58sUa(17wH1XiOC)=w-mN$?^?GhnO&p;59WEaw)J6q2lXiUbF*dB`7}%AHj| z@4A-*BbX1~q=3#bRzi4n!rxC{-IE#9j)xp7msaK{eqpuJ+HLN(W@=@ z41qq?t@vtfZq72AZj&{dj_;QaWm5*zs(N4*7V8%QO z=auZ7Jw{7C&C@**oh4B(mE}cURVzBz<2M9nw>5clqHHU?k?E4eYNz%BTJ~tuodjEU zW~mMXu>~pOPF#(}WP~bKO8jOI+)loy!kQ~53-NIBZhEY;l7Urx#;fny1NrrOtkX)h zuejyCtEepvZXlCE&uVN>g{!rzLPyM4q!({vMqGy6nhZS_3*JgDR}tH(i8uhc=dw+E zgh6pY47jqI(p=Q8cB!3VPqv;2v0bDy3LxcD_%o0B=s86q12z|#6KYX|Iv)GV!J}1s z9Gf8Rbc*jh1FD*!ycIB?b)#KAUB)7YSrRIz`^xMwD_k;`MRa+;Oy3i&i3JxVMNou8 zaIdl9Vq*K)Ti8-IT-w<|LvGiq_xOWP?f#~I z`Jk}tHMYA=JQad_h65er9pq)USugfhnx-?=Z2sCssa3~fRP`wdEu zo`HTsA#dDaI7fP|M}*s4I4Xu)!y_gzJTB~IXDa>4lBCcd2Ex0K;pM2HvexxDQc)=y z^EQ522DROsg{IuKq9%4$y_sLOw>wcwOssD*IUGFKyOglvEOJ{fh;_8AQA#{szYp%H zh=X2#k{@D@>0>R0V2^bKRu~FsE-OWwhRXK2)hGs@#qLe%&(U$Fz;({9PhR)XTqXAy zV$icatD72RTNGC__kk==>5rA$OVaw9fyI!!`5N_W>9s?{0=Wh!QAYIsTt7!X>hvuw6y1)Dh{ ze;SzOJ)##ZVa1)K{u37Nm<6J~6u*K_b#X%Hnd&EsivF8Y(FRG-ULOU}lmXggpjp~E zj(u%E!2PQZfU8+=h~eKz0e7@o<64mwM4|eR`c7^KQI76zncLgOPP;z5458^94wiEc zZ;E$&&U8w)%}-t<>2XtLs<}`#L_g`1@#HpX_?2p>54n{m44#bcBg-(HkKf9UOMqUE zj_S=(8b}qP#&k8Gn?6>*MA^Z(F595G74|HqNQr zNI%76b7?eHjhYzBpeFp;+&kyjc`3^m6#^vEr3gTAX976v9+HLFJnE8+{dhxSF6@Nj z1><>rsW&e$-oiV|X&NbSP{ye3HkiB4F>Yy>Y)sYiC*@o3Q5_uOwkv=^x*@f}YBf|Ck=jR|VRT@F!9&yFjr-L341hJhzPaCvd)?#>XqbUlIPHI*t=` z^f0s?vA<=El9>kT=G4cA&M~eX9kSn-_{Hz{i&AdvN(t)-lWU7?uu-t>k z(D7e6Fv8?HG|o=&8bDR8>K!Zg-tNbFw~W-H_9d8~EN+;uO|@Y0^OHA8j@zdzXq0O5 zYQq-VgK6y&rUhadP$)v)Wr20J%dhgiK?|>Y1Fh;3=<1z9C#PxzbyJSCAnPW2^jN9) zWDLn4}YUGEW1)i8@|_A`1ZCG`f<1d+F!_SSb_*{F1B%ct#_@?Zj80i33q2` zq;EM&q4A({C8m+4vbw~Ulk{LEz5^t8j(w$@ib(AbOJX@*-7bsHKq8JC;+Q1jV^@H`E)5aSnI*7u<-bJTku}6J!QN;Na^HA6a7eX-u4FueFPqV; zi+glEO6s2s85Pn`ZqpuRK7-^>9w!1qin!21CW6!qJf?wFUZ%#Nu=XA4>0R1$9_J1F zFK?-zP-P&PuS*KZw%Wc?TJB!XtQ{ zvEXE-b3KBg4J|g+G!_KESBgQ1&J_W}I><$GZI)XVs*Ie@$9xiLOF;}bjWrn*~T;s$3lPJ za&`H7SjaYUR=RD=$a{Nwi$i@=k3}xB!)FrIjU3`P!EFiQn&FFYIse3Yo#4D-IcS-; z+;hf*GL01fK=E7=G0BiK<=uH0QX5CQxndfj?X~-sQLS=g zXVVd{-hVY4^{m$$s~@{Fw!w!0J3&%H4t9c}=aga`HR3%}t=1{Ozw5W*N)2*ed_M%o zdGbfoydCjX=>L(>))dWAbDLEH>9Ab;9aPm!X15c8S7{W?%&>WKIHAp=PJM)6=*uG% zEoP%#@AN(C-b$aMxZz3<3|n(7zlLSMJWVxL3Qu<=Z_Q?3K483N0A2)$OeHyjZGShr;hidU`2-_TNfSB3 zu+N+ZEv0y-IZBR~ZS?6+wy~VMePKe9eCr0OqGr6`9Ck&MZGSz%WBfIJoUZsJ~C(g0o<8TMqKN*=rQR@)$tU<>lwM?26CUJli$ zP?R>%@x1#bJlaa&^PH5uGdZ|dJ+V1QT&4Ehw3vobSu8^ng zGdDA^6-RINr#?Cbk4^*^+629O=n``Mb>}M62JS(}C2EG^fPS0J2TUo1xEngT&IG8D zGrdY`LvA09|Go-}f0CW>OmOGn32ZGP&+c3zW7JODU_x8#0evTAnDJFata2I5N$T>0 zpl@9@RB;hC6B&QyMzX>BT<(P=j|^~}im3FQ62l7DgegCWJw>;7)p*+}!03gxt;6!O zcWa+Jd=%iT^pRgQY2WeZmVtkrL1x-a1eMMxwCkv(@iw?#jjf#gT5X%;Z&%k<(D~;% ztHcj($Eh7)gGgG`xXAc;mBRNlZdibTt8w!=z*E(u7B- z$;jsbaBP>^LS5)MMYKDS5#fyTTT1nghVm6XdJp8D%eBPG%>DK=S3_+Ih@cP?%lBWe zw1Vbg>g@w_b8xW;>*&~eJ^hM+YmX{avaLDwQFuFOjEm1-{7%nf3!u(90ez+<4u_z4 zL%l4#!{M7asi|h5lz*1fNw__!`WJtGykCVHQm^mN`mRe}XBNDVKa$Wk?Q?mH4gNFe zM<~hcKqk-0dwcFmqQ4vG#b&5%{!1>K)|mN0nsPEPY;`bB4(pf&%@t~5wfvNCu&lT5 z7!g~NS-(4tP6L*l8yOQ_=$MHSXw?^|4LQTF9R&i9TgKbe`#*Y5;Lf1iiG`tUK60Am zDCIo_r2k~Z5cNMOfO2x2dEiwfEekG7gOJ;x&Nrw;$g18qE_gZlzzJxmyL}Z%W;z65 zHN$#8(|dxRQLeUF)P*f|a8)64(mZ3K*G8X1dy?(}fvK6HkcK)vp0HI#ONmif{Q+kF z3O^7EuMh<1z{d=X+f?C+oKq3<@PQ*1lQTb1I&wmkc|UXH#4k6S*=qtKt{pN?KP%x^ z1zhWWct`avft$hLqf}tf7~1f3CrGQISWnhlDU;uhFrMt>jDgz6Z}%kZea;_#B2Ab= zUp4tZq`h}s6kWF^EP?_eU`EMEFn}OANl=oCVjyRcOp^r3QAGjCpprpAa*`|=MRJxT zsX;(8G#Tk8%&x}wx%a(yX1b=9d;r_R}X?X}jaHsXd{;F%0Y=5H=Q88&7o zlv6qt^@-|z*Y~BuZUw*U$kcn0q06oUgcQ3ayHv7$*_y`S57G0-rfKh@5&l^OUjp!U zuVU|T>fi^3BoXXP63{5x+Q#dA8F-tY>%z@Eq|T?aJ|3~J@NLxw(t=7quRu)^^p0(_ zetX@mp}^VT&jEGs{VK~deh!t+ylSb?>{2oAtygY$Pbf4L9qU}tw07$1l%gW-9l&Ue zR;kTE_431K^4-U34$65YN&2_73G+lURdek(*>!ITk42O|mueSJ3FX?`18wFmWmt3b zUCc|az39&XuNeJV{)Hw0xxHV-{1c*h%y4NzK>!T-MA6V0F8`w>&UCvDNwNXs9hmC< zy*s0mkrZbkiI|xX_-Zk0elqrHa(WV{Ym#Cn)c;8fV774Sn19Z(`#Y!U?~5%u_H%XM z9HuXO)B56BZCxp26j4bR%E-#N)ZE%Fa5ZevQ>uClI`P%~r=)q*%$F-)0(2^!gMu@WJgN04%5)i|Irp^A<`lCqF(`-UR z!S}q6!R#nKKQAD&IX~o%8ya=Tz@u->IH#|2qoI zc*ag>J50>Joxa!YpeaO15?l0a-fO6JxTwj48-!^C8BLy2&&}5%>xh=35dJPK@I##j zTn4VMO<&SssBiFOmdkNj?CvBN-r4P{8o<#U5s@(kQU+Q^2J({VFhR}y^0Ys>yuc3N zg+LKwtGVg?`jg+JiG-~Gc|EoVaSLwG8*~tzf7%r{1H-;3VRR%l0|&h+TW-Wt0rS9i zF6l?~&tn9j9EG_T5W+0y+^^dsx3l;=@oEnth48|Xdcp;pKez<9{H=l*(B{C2U~u0~ zV6eWYS@Crt&+f|;O4?)haUb2f#0PNd?Z78TK5wtB6H?6bKC|oU7+==a#XZI7mg)mr z8$Oqd0cx6j&7CbyN_z%q)=ZPh5R{-sVqkQvYOYK+iuX zeN0HvwZV1l*{??)IOl6Qr6F;aLm5LwZ!P6e5_lXpOYvXew@<{hRgv<75$w)fJT7)ozmBu>B-<5{TeP6X z@hu}M2|aI36cDFvDzd3=9*7ZW*h#RRd*L0|&7+|LDhT|&9qM{yLl|h#XZiE#hwPDs z{{S0J*!@72f_yGp{JmAlNl+EwKOvx2#Q!0Ekjq2B?)1MoNXL9-ybgJyz+G*A8g}Uc zLhXjnBakWK|B$9d`(G%ru+#WMGYIm0E-~Jca)F%*nuT`t;t5%mw2&^M>FJ$fh4JZ9|Zk9lqH6dfC@J$}^Cfc|#-aQC%3c=^l<~ ziXzoGrcApMU$41d1;!6TQnIISpoEHDYyMcj_wp%0F@!jO77I6dgt!YsN|UEZM1S+^N8f*}+bF zr4o=jNF@Y}z@cC(@b~kIeE1^Ts4XfIh>e3;I@%R9wq7ZI>0fmp~)$JBqSVhnSrwNZ9zYZmA zZaPtWKGB8GQajt5i$kJABtNhkOW-z?oUWRyQ}j4i`{oNd3({66gHUaxDRYiI!- zWBhu{G?JJ#2&W^SPDVdIeXD*TB|P>sv)jKBa_rpAz3@y(ak4c_0wr?w-iUwGFxMc=_q~K9xJ!U<=RaiPo5?q509vAMDFHZ9!gCpy7?EM6k6%j*+QO(KWAV1EsMkn#xqY@tK+F8Bs^w9XO zuE|*5Q%9*B?o~9XPt_Wpjv;7p@p~iOLa@CGG(K_n;}=2wVe=vKy56mCJP26|gp0>U zJSYBG+8*N>BZ(_L*{YKxGN`&(uxsbl1^60ATqs=rNKRqGwtB7n6rzV<ORc+Pv7n>hWldux)Gn-ufluSjLg<@B3CRH6i39Y<;8c0M5+Z;3`{Ascr?9Yz*{x z<|0d28>Cs0#dAlmiJ%Q~H%Wx93DmEWlQUUH1l zf~k(%hBB{V^BD|z+AHh*i_wX^qzfB%b;Dyc8m}m{jc*yBLR?9J?J9^nvv(yegf&qRk{iF4ejE7r~ zkjJBkzY5v{+y#%&5962f9VLP3=I7e!U**z?^5-OJS_ zZN^;*N{<1F{q2tSHRN>;JWHbzF(swJcKo^m-Eiv-o@8&Q;_)N4+l{DGaiYZ@%xmp0 z9by*`ZGUPxJM)v-(Z3KJkfK4(6bbV}UyNwLLa@ zhn8Nb*>P75H-<1z1kFFeF4s~9Nrcb&A0tIi6|xZqf;8O8fvF2iZF4UUIKB1##TG+e z)sj(+fME_7n)No*LhXUHW3hBP4lVO&5!8~RO#qT~jy3ITMdv7nE{*4Yowq}ln1lQL zAdH%dQmN&%5r6Yk)O761)P}HI?8b{*o%~dGN1c|>Ux`E(>68cY;_cYi4|xbF%89*m zd?mtzcm-YcAP(VLO&r4h>>!>!{An*g>KoVvShDX;q{i61Ezo&b=I5^>_v#(wT%1*V z(6^cg1SI>f=Mue%4a#`8F;*k7l1 zgo2N%ZSo)whMt^r;l-Qm-7nE?a{;IryBD`e-3!Ifj*#+>aG9@NQTkuugZZWW^H5iu zXhBwxl?FSS$NMWoKsHn7N<#*M@{S$9^k-u7^ckfqIBs1iBMm@uJU-NGVX`rn{*q9USBS|XGn+j7qR-1?$0$BN@q1|!c$%lV^CM3a3u*9m5++F! zCKky?NfNKgrcS$#%2Z6HTVDreuhbq>*|%ok8h6RX+aW^-oOT^@E5QJUVe=B|GZvX$ z9D92E)9<*XXz0muNC}8d4kZ!ZJ~~i8298_nm41BEDg=&OGq*oT9-&Q4Ch!*0UK8YP z@WJ+mc0YdFHNh_-ccSr4l6YFEDJnZ39b;AZqn_Ta76I-}m{SN;<>b4bYHC6rvFgPWa(BWx5 zYXUh`kngn|OQFdxObWb$d>2p;gM2sI-&@)BYWS9FoU$fS=QN{*f8IF*PlOO_AUu=73h z#d9J@y+Pxwwa<^+>%mDwJ%8GUI}NgUjMi+4Ufg(&{pt+UWiR-IL`mx;+A-vFy%G9vG#jtpt&#sIojz>gnO?D=vOLz*v?c*k^+r-p1I0(%1$%pd z^iFJ+8@8OA2lu%{UbPu7FbVk;u@gp(Coz#UQU1#H=I()vYG14qa8JNZ!N^6?Q8z{3!Zn@$ z(pd0yDFw2SL4{b6bnwB^;9p^s8=K>9^1T8_6@7~DJ4%~3({`Jc)-1El1sc=ooGu)% zPT*}`W!2}aYF|B-=`!Ozs?INY(G~n>mRthP%?oeP(=r*HD^m}<{en!0XEjr!h|*iN zse?)GqLC$un8JmEZQ++sI^x8ZUa|5DwQi;?b9$R_6q*3o9^Hmm&MCyw21LchS@!Zt zyVn@-DuhHvnijb@Ic&!Y+Zx@%`m&xRX!!byc*ImUzbR+{7#N<*f7X|&RB9fnU2tpK z44X}IvwQGqzbk{_)UVO~-O-UP>c#KAGc+U3SAx(Ym`&oQ6JI=~v_wnoaMmn-{*UU- z0wpd_vVZq z!Ls;pU?k31-OlBKvAT75g(=)D}QpQPEaW`A|gM046j~dRZSc5(Yl< z^SgE0x>2odh1fU7HIaccl3qzg#i*AgQkkiIm;yNN8V@#_F2#RwJ5DFkBV625p@ZEJ zZ|yovQL2FL=eKcwtKNMk|FjhZVlm;c~`BJU>7tTf?opyE3vtx%_1 z&E%(3!f%y6gf*JKWtIyRQVd)tWS5tnB-q$w`uaV)1U{h=tw5aku)g&{@+j?7YcstuLW&DX!b^;y181i+(oDd0u{olJYcg54!`?^c)Qw$Z z-mzfrh>iQKdOpJRT|N5NFuQ5b4@$4=o0-=98tLqjzr{jo(CUo5&qLoTSo@ykVJkc2(R!1ychTCRVzyFb<~2<9oDyfh1WN_U)f)v0au_rWfn%@m ze6oS>okB5w>WeLc1{eIi4(ESQ&ZgJlQnzH*59QafnKaL;l%+nM>#iZSC;n>L0k+}r zoXpJ5RhDa?N^kw4eKp&$yqQxXtzG(RmdM9zy?uQmdfpYPmZMc8!iy`w&{xsUKLXQR zb(A~bbtZ3mZ~rFROK=N^4w;C)pcJxs%bd~D@$2OUA(m+WoAnpS1>eXogkE^=h`FMF9rn>cK7%?Yhbfo}F0I?VH}Imx zirYLef?Yu1b3!ZOn2^_kM~HuboZY?+*XA((YsR0qsH{!U%mx#19^CP@N1yRuYu&yD zE9Y>i4|R;j3>mA&Df@_i`S>3tP7?TkpSYJmAyioL!-u-)%WZAZZJ)C$eDAf`-EQj| z?f*UPpiIrL_aVB;Y&je%4s9YS?kmmOu zf&*fs*U*uZ2Ux1-X24%y&x`&qh)5!K_<)Xh!kGx6djYJmPI7>tO3wW2XPwMr_~Xn*{Hp8u261pQyNr)b`j z`LSm1YRg5l>Ab5&8;wrhJL*-JER4kP7bi)zKWiOxLopM*U3D+HmGhytu4v-k?C;^D zcLI8v`E9ZX4*H42+y11rYuTcInVoFa*(ZGA>r8Huy9dDB6EeG+kSLv;J*T^IXO*72 zCp)#yCqI}Ss`&fUl!r%Yosv)5HMl?+VD^1{QE`cBiwAQ+y?n{~oS>n>^mm5s;g{rL zL;DXVfZ-Fg^)sQwz9T6#ktnc3E7Qm2KRUb zY%Bi$ib!N^MzEamdVwIH82yE4VIBPUodSmefZAU%ANxjrKS;jbBv91kCC0AOk4+Uoc9DV>-3S^E52P+dYxI~TuC&& z`9q^w&P;}y%&ICK@TB>Ej1KhVDdO9cr}?2C(_8LfmAU(ZnEo^N6acT$xl2G2dsqo8 zYiEvjlbZq|l{JftZ5Ms_>ia$Fcg{b|tZttdps}!eA?bp<0j(j4x2O}%T7Fu;x8=sK zT%_DiPiv(8Re1lnHK{x{tGr)V@xp@oIEgpFmTJH1Aj4YBOwY)$*&Mq*e~c_(y0A(I zTrv!+sMWDg(FNH@IL91a-5>q<7O>ANgn+ zge(tx!W0cg$$7_qI$s@8Rn*X)LSZV|WMmT8kMQ+_+R5#OG+2-&#l>92Sw;}ZIhXAV zzjxrW!pTr+f4UelCYB0O>)!9!oliuxl_~rBQ*ZXLz|`W(%;Dxy!N;!OjuWvEod>Q} zL2)zA`mR}t%a-N5a~RP{AO`2mff5fxP(2wcAH%OsZgDqhaiBmBs=kUUhcBaQ(T)@3 z${HGG+DUad1a&ynX2|*ALb&kPjFUW?wa103u4zqV4(Phq^mDc-wz_+MxE`K*14zs& z0l@>*Xpua4Xu546;dWijzfreviR3Vq^-jqhxl{Dk!y*$AkrqO_s{7Ba3X1<}Dh&x( zo_(Vtir}nVfBZfqL~kRZ=_q$7HnKkw&^WPqjYWXq9S)PMQRhO^uCO>#-e0EjeGT8X zYkBE2#2ebbH2UN6XZG#iCusqj;zNleN+51{0Tr&Ojx-RQb^J66i~>-jRc_EqIL6_M zI(j^Npu(vjR~y~Z>i&}PA%UE>+qmHQ-EfCR>xuo{-Rd6Y+`*#z2@UM}f)Wo-L^KfC zE&S|?WM$&LW>6ar=~f2lG;1xwC0ejo3*sv(ZV28B_I!%a_s?wa0kGw_WV$Q)`X%5W;P+57oQVuUBM!QSTfPg(K?5#A~;N`y)S01 zm!lassJhk~m}jPkJ~b^tY~?CRJ}9KME53Mz-*%tF?#spgGU86Sv9{Gp{U(?A(j#A? z@a@VEv8oao73cH4HBkFL2A^%EUEG!`kWL-YbZssy@*fWezRf68IYJw~I@epF-P^ZS zq?zbNv&zbQy>&3<$He=*==e({t&)uFE#gskUlIwgsrBD}Y20@M%E6X6aA?S~UjdKH zFZ}shb>{ovdygpw=ldqJa514c*VQ{EvPLcu{C{uh;@McP$5-Zw|9m4GD6h@Jjn&BY zaRjM3=iYzBKzG+pfQ=tVpmD31aRz`>44wSu()D??$G)5HeJO;$#SdV9?ax0vnsUv7DRRxZ%F(ZC013 zY_`&sY<92SF*8@Rf3qMk`bd;KMbLFAQg!>MeZF8uik$ zr&V-qPP}#+Hcvcqb@*Sd3y?kX-QP3~)RYk;E{&Bc2z){a5S{2&N#&5j0b zU9V**<2d*xw(rs8Q+Y3VFjY_%dYwU|KIx9IT}o+;S-gffK zmb_(T8eyly+M8^)>l-k)OIV=1SE{dqOZBcU#J)?uW<=Miw8}Z<=5U%vzBX$ubc<_1 z^by7T%a<>I9+cQ!SIm5%KKQhc_3_8U6kSn@N-EPmQR=cixsI=CZq-wNP*fT}Nz!;S zm#bp=W%-$8CZigrX_l6i&qlGW*kD#xQ&Us!@M@ElJ^YJRk#+Tt%7#wZIN3!cg}P{W zGP78CZf?Hkm8L8f`@8UL;k$)clQ{G3pZY<<7?hEPZKD7YKnuOggmfYcNBXul0v9;Llyo|F4%bhoK1xq@*hgLd2jHa*NE>#|SY)hGp#ZvJU)MgPrZE9^*3fH!e#8l2BK&V0j zA4=1#Jw~`{PbQ0y?G%$WLBlFTN3kOV1sCQXMP%tSyBOnt5S5GcFC^{kipp7%fxSq+ z*&X9qD^HIFY(E27GNt_<5O=6(-@wNgC%6E6NUxg5;a+;bpz+R}c)xk)Op2m%ota|S zx%g%cT)68~jlScfVv|be3Xb~7P&my1*@w$9Sdr6ESEitkMXt#bO1hT@xsvMMT~T!1 z3Wl{HO8S^q%_GhJ)d1Q1B9phjw~{9`T+tVhkbC%@`NYp^kLn@Nr3lSyaA9f}$b}}o zZ@H&^2NWfHo^PN~Ntdfdt##AU6$v;Q>20ps^j3~i7Jmq&yDCxxG#8PY=K zOYZTTg}IjB`x>&T8KYn}PDA)TTRCj=nmFsWV zTZlTNdNxxpnj!BNairl&S3-}ha*xs%xBG*rtKMC(POKP+9rJ-XJa`SjY0*-8N! zIx!m966eHmR#w(I5Du(WCXq%Oa>JS+>*S%g3*olL?hW9hwWlP5=0F*iyuuIojf~n| zJ__eZA2X<7a=tH0{l`-ZpE-=5CGiJycZ=}Iv-!elUMFW~XWMH>!2x{!g&@NeaQ(|H z@D_CHbdQ;D`s}2})N#1D&P0JKNOR)v8>?Y<6aAF^oe2eIk2bm2&}_M$I4kN+tMH#Z zezqDGjQNzPhOOh)bg)Biv}IXShG`?P5S|2F>4G%oJF1{dnxu9rQKRB8fzub(pVt{Q za@}{a+kINF-9lTxcTCwu#mLtAL_|@;fAnN7eg!C0x;6VoCo!H<(sLK*GMUMG zVV>03$Y=Q-G!(Ba5p%a7hw!PdLk-i#5Fg&PDkz7lRC3&LLKw{IdsB8zr)E4SdImIl ze@{RBdYpRjt-nk?i#~6IOM;NYQj9J2+t$ut#Rtfm9F-zuH}`I^#43J`@Uw9T{b(El z2-Lj38yM8aF_K&ych?~>;aX5ko|$Jc+a<#}3$n@G&xzvnZpzzs??7hDjZtLnZ^+q<(*4oWh?G)f=+5! zlaQPep6L-6I{m*wQXZ7VJ}PN%EP44Byv;vx6?ot;e8PP3;#j9bT)HyGRX63a5mj1F zE?wT?<6%9wv$dG}qjvGwhNrcODuMTv|2@t?_ZLthBmDn~qx=Ja=y;EhKRrN9P8iYU z7ZiZ0BYY$y{sCe1eGf1e5;1`b2M7KK9P`g<{_k)dR6l{-r(&Jo;W9n#`pRbWA!`)d z1+EVU@hBx^&kBoI$Ap|xR4UipBJW0Oe=MuAm)`AeDJ2i3PJfS@)F_ZR=vWHq*gwyQ zF4)ccyRz4qaL!6$d2j~^$JcXnp3MA}TDxoSZm_4#?A%@ZugKSNq1C(0bAeldMOS-# z>V{H>rIrl;N==F6XATDjbvG+d6A{s{mF&kiinTq%U($071`!OcXWw3thgHQ7578b# zFeGm}iD+RYvWg9NuDcl?pZbD7Tyls^rUnM?s`@?kBF(R6oWjnMS5qeUZA$g4v2If zT#d=Ns-ip1rOLGslO}8KriDNYa}K5+pXU&))YIgxpI*}1dxfr*T#)F~s=JTd-x)DOAs7YgL8FpBl__nEUhkojU56TEigBCL>-P=WShew9$`b(< z#P-01ppr#4;hPH(L_fTw5c7Esxl4ROZ)IEN4!Pi7sP=>x4YtMH%KxBP_R;68wUV-O z`p%B4-JfMWDFW}p zd2u#UDe&FV?giP~=!Q)$q}6H`BW1m1^-7S?o#RmZ`1tW-S2rKnn&&nmf-gfV1tzx@ zWO9n$87O~sP|?;$I=Kx1yDW!~ph4}+K;5gr-YJ9{K-u1;_R~7 z%5l#76i*RRw6dF9r5%C-pJ>y>p;um?s(#?oY{4EB^T?asCiXWg|3*EE6@b8@ z2v*=Cu#7~Rb)zd?vT;q6K2xnby3}@B!|v&iPj@T>h&YXK2+h5?W%X2nHkiB%S_W{aau2b3b}i_VUkgiRoM@-*$Rg z1FGqbUR9OyO)#%7x8rH~YQA-pmgjV>d4I*%*J+u4ds`QyqvxVPM60&Q(;~Hb1Zb^} zt)>b*Qc|aG%_hl*b5;pNzP4$(Rw87Pzb@;3xow_*fJ{2*H+XUu4kBv;*TA8kIv+kfMLr1Cwmmoq~a-ij)AE!1m@@viI#X);c_ndFxQ(@VV{D>q{a zR023|`Z_?bqWZE{Dx*zp{(J*qE5?Ed*|1_K|7TVR>*bZDzpbSVG|}z$pb%DBC^5F& zS=`?XpZoF6@QRM!;Hz4fdsztS*HXLCko7*fP(=X~vb$0diU)VAe*<*OW`a%r{=h01 z`TBaHjtS>Yf}!jfC@>yz#!N>76So&BsdPT}3v{ z$l?)8PSdM>O*bjAyH|DKnt%&a2AlvGF zu&hw)cWUaA$@iCOv@-&~`9ovMin^KD91MnxM!aLUIpeg|LhMrJJb)|8>Mr6)6B^k* z#)>*@R`S+4%SH27@2nu)3 z69&Q$%Pe5KjN+VL16ni#y;Tj9gcp8i#$ALb1DU&KKME##O9sG)^YK$acQkJ2MQu$$ zZPssASag)*i?;sE#dWxHGeKJ-UerS5VNyvo_4{{vAe|_74zS!NFJ#R*F4RXaL=~=1 z>-*_%)TRfj79q6}wqMeE33L~m&I87}g!{$a@O#920yuuQfl>Up^sFo;V2fLu8F-Jr zA|6OX>e~Tf-3m)O4)I*i&sRBlX*@H3Kd4+bG$6Sihauh`l#y*}_gW{EW=@UO0-5A3RV6 z^9vPFsg}4qwkEwbQ2Zf^spz&~;C||5>ju?fV2{}dw5$|^jA_0PDT8{douk_wJVsB= za}AZ!D|Z7&kcilDY%KKzLyboR7Oi;cW9Bs{bK7K3GaZliGt&d<=s9m9nkh-yDbljrHa{`)AQ2+)|B}mp1~{=E2lkWdiU|gD-GD5NK^{Foi$!*v`;0x2 ze_Up>uhYfG5quZL%)oZAj~^~9sYoYe`!Jv-X3TtNmYmr+_s*jSDM2dHZ;RFXrSTy< z1)a#JICre6@x%j+Xb49y1CN2vV1BY`hbja~UXW#{w)bUlN_ZbL>g-f8;NW3H%Cju> zu$aaq`5L@=Lo3(wgXQ7oSa5(9P{Y*8*a}2jso}~Wlc9(K^+t@U=7Z!+F+&NB=+^?u z6S#8TTsp%8sqv#b1K(;{7NT*H&Qr$V)Sh0Sz|=&vxAC!@o9i>?y0E{ zPceB{Rr}Y`9#pwaG!saKzNgj6Se%2zz4?6WvxCgIm@3Ls%3n8RCz2NHZewMO;7$;W zoWBKxIDD2CFXb(Ll+JQrBE%(X0{_oLUr&~KN=?3(?V-ca*-H619;HKz|E9O$TH8DL zvDz)LQc0ivJr|!kxqZv`gBRV@#*fr>3-m!gN2HiWNU_*$Vce6=yPEwmvGfz=Y|Fwy zGl?|INrVc+jLmvQN5j+K4IIgsN6BR!s%7DS%--KvWaM#h1=>O78ojqYeVIG?K7&qK zcP+$h&`cg5Fn6NW53cboU7MH|f9%*d$r}8v9=i4am{I@3l;}_R@c`*N1 zZvPL>LM;*h5a3ex|4OU=cZ7@oqxNw6cqaWf`iEvYo`cu({e9gWuoru{bR_Vsh_p}l z%|5B*aQ_uJ{p#X89QY3fMcDph*ZEQvY;aZU9{w&QKfe|MN|JBd*YwvaYF*p!r?_*& z#gnbp+z)y=0thbt+U^<3P-sV<@RZxZ&z8M7#~QB$rs>|7px$~?`w18B()4dhJkW8} zd+Sb%MCOs zrHGF_cyvS$fZ8*#e~U|=Tguy@yG8luU#Zm-QrDUge{z}VyFpU*27#yX=PrzeR}Y=^ zqz%XtGb`3!<~T(qrB6r#T5LIzK|y~b%?yRgMqac-lGg$GgBvH}1VrJBf&bK(p-c!s z9{iKl3-;E$ARKXr-i@626&tI0b4DvG|MIMZtX!ff5^6$ ziV>S1eWYl+R}7u7zh(*()e97mMdCjV^0$ zlov{<*_n(^hG&4H=`m9L)GmAeY*ZPk_3?u$WCO^?Y2fjs)*m_E8*~Rf3jlfsQ1+8y zo48EaWn`*CGzu`wMo;EkzAp#?MI1pBHq$DP(jx2EJhHfXo!Q>rzA7rJ+1uY=ZnrA7 z{eoZWL^n*dsTmm=SxApD3LU#j);lpfRZ=_;H+ATa^i3s?=e0g+SgZ3H#b+#va)KNr zbPRh_dqveT=}5&68}hL>OAcqZ^XJ(pPLTsKQ}{3t-QQ5oko%u8k2yJXbSu_?)ByJI zdiLle0?8n?fl>OR2G69AA8WEpXH%kMOf`%GE?>K5=l;{q0)wvX1-pl=z8vjLl^m^f zHieipq_keLn;fo_kHwD|+T0tzTHjo+eWix1$AbV96tths;M$$VbNd>(arYQ3ju1bvz=hpy+tz9mdzV2!%=5!+ ze`3@4^p7A_*(QaJXuB=Vejji5Ke5!+Yla(L4|b#a6Lv!)C!rda_wp6E=%<6-mULSr zZ^L$S=743@7T`r(PMFfwX7+5 z4|Of*3r4XO#C7Ei_tAuvyhE=m*ehWd&j9+)U=Dy)fIFw4@uh2{h}rT>LUn6YeWMya z!W9{iWD^wZAJ9y^;v)O~m=HuRJrM3h4L_(Lq=>xFB!8cRL3|;LuzS?%ZVeO7o4F{p zD-+-?H4+6P_71Zx1cA|HFA#6Fhr1}u?)PwQp}IJX+x?h!DX!7|g3(;+-o2YeO=^N{^}K+c-{r_R zodHSU)1$PfzRgrs_LJ_qG2tw4?}C=1m%m?Y;twE(S9n_fKSY)Ph*4239HJNv57E53G>#bP1Fx}4jat5aA9s$%O zRlSj}#WlD?E}aKEdo=x(amG{B?W!eLoK!6I|8nbJQ?N~5W>go@6Mv@z`wl9%k{eb) z7IHIN-A8QR5J2{$g~e6uO*hpqeMPAp*lP8yShUq^ihK@M^sZ0IX5|EG-)&IQQqyVD zUqmZpo@fO+wdQZ6@8Ie^sS(NAUypdXY*=R__I*Zp=4x~vewx=#e>$igWa=_ z+5z|}iwilS4~SU%JC*?xBM@uP^;ho|4RN|Pzp~uyeh5U~r!yCr@}J!=WRL_>MP(2X zosCg}|4s1@@P(TsVn*jV69&SnGfk|$GyA~924#?{yX$t+VopWBLa`<>0D0?vE&uvj zTGe?|K~h-LwjIzrMeK$ASti{!;3%85t=K7a{@Qh~-XQEP%(~Fdoj>Jftrxn*jd2NT zO$)N)F_4P-(E)Uog-qD8J;65P6A>L6({dblMKR@1G3D(P(4M>x!2%oR)#C>l?}Qt& zF{nHv%bolqAny1Fp1F5>=EUMnQ7BenUc4tB&fJ7ACid|cZ1_L zX1bW?MD-Ci$K}i{)U%qrE4gTLj;Y0r{J{xeK>tIJ`RYaMXI6~LPkob9j;t8Wub*x( z;~q!!qj>o5bbJe@vqzzJ6=xHV(4I27oyIg8rtK(b{`1KOyTLs)V@iVhDYA1M*7K*J z>LB5PjwHCad%KZIu>v3J6UFbitVPo4yS?}Z*m?g#*uAL1AafS8qv!84$#u#mnwz~P zdv!w>mgeW9hTqSsYIPkP(mJ@+$M>H0CXFx4mav5&f%o>t^tI{XV(Hf5&TnU|`Rps^ z=^TcC^)iLQo2C8ebP6t`K-MZF{)36XKy#ou6SsRgWF9YXs zgcyh0OK1u`S&+khe^G7|bA4X=?%lVr6I96HmuE>)yvBk2r&&}ye9xqLCh^NFz0KI` zZsqC$0u^a=X~Jt$-@E!>zoT+1r}~uUf)edxv<@=Qhkxbuc zZdbq#Eh^=z`G+Ym&P6AgWec}cL|~koL?X1A6M8@5t^jBq)!mVpq^nu<7kAoEX}#K^ zQrVyKXU;u*lQ>hN&||gz)2Kut0+-tbm?}u*k0z?)K$)kB5r?(b+Gx^cep2km0#^v2 zkUk%d(vClG8*Qa!o>P@qkoT3rzuV9HwH-<+RrO(PbY!4@Gi?@w+GcqvjN1x*LpNG* zEI3KElF~yTRR}w*%a^Du=@q*GZ-063V~aaumw+-P43f*)cxufAH|4N zfBzJ@&^_2>+g9NYH?Diq>x_2!)4F3Y8oB`LI-S^kXFyU;0DT~AaRp(EibKxgG#Mp? zAK6z?(GJuy@>q47=aFZvzaP8yfkD%>mtM%WGeZhDDfaGW7$JRYw*qx{sQU*F_3=!q zyjx^W4|q{+7G$Tc9IST;`6fAJhDoj@eFerq)4^i>)&utDwqwYue@TitPHLO2WD5`a z-U;Dvy+cMvX<>(+3~JaP6E|uY=|2$9<~A$B>&eZ^GxifO3)|a6wch=hhgq$1>i(aA*0 zEniEvo`0Atud3#{9?Yy3q$+@6dE2)R1?z;me*@lrLeGZ2f1fPku(VKBLK1n?eRc9q zW-(LttX$59&Lx9t@&W}QOf_fRpW^ZY&ac6wYLOWOMQ&)kR3Jk%1!SktQ|dHdE27zjt;t;&7rcbC)b8^LC02)o~;szF%qg3@I$hbAWpNvY3u%*Xvu5e@$Aa7L_MAa||^MLbp&5Z7>@q%bvp@*}i1l@1bth&x5uUf2WiXF~uMQ`;#% z-oClEbZmIgQ)&se>9}6fcS8>uKffMoDQCU0aQ{wq#%DBDEL&XU-QeX)0+R~tNgK0f z;H|H1@Vc&%6pjD93JR~1f|Ijiqm=ne?;quNV_i)cAUN!?C>fcm@-RU%Hnb*nlHj2L zRf$^)_q%W>%wRvL@&eYcabhkp0k_)}dFt9@5lZ<5YXE)5i|?^MTL1H}`y(MeVIb_o zQ4;KVb1x<|bR03t6PpYCVkE&MDivrp0!)>#9`KoH-@e(k$a5s4Vi>KIp5Q6fXv%_S z@CQ>VbU&wFEg}so-dY?|&DNR%D;C6z=4rTHjQsCIRF&Z7y?0iuYngda>rdQ2mxV zu5j(RYYh{=K97F#O;q$E^#I=*WPXL%cuW1hH$+C15)+zqQf*)$r;xr1m#w{N3kd-_c~9`=ml%g3=+8Od&q|7>yh{ zgt$JC>Tn#)wytSR#(GChnl& z5&r@;=Nr|X7-$a=&BeIx8W74YtSY`B6JB>j$P%wE56)g%UF9lZge)xqHpu#&)y9*H zx~lHSy4&a<@aC|ebco^g{3-c*#;ag9B<_GcFT&tCeERqdUesx5D!xCdhdH`PUf&Z$O-Wy*b`=T%=;_9e2dU zF_C}%$w%NFJaF2%^e)dW3O9yQp2PkxAkb^Me2KEx zI3M>bh(CRO_C9O>U4|dw0}}Y(lN5uV$38k116^X_hjZbi+Jx0m>+!o%l_tHK=Py8KiK6zDzE<|(D5I|m)&JfP8Iyc4(atV z0i1(J01tUx_=h9)Ar1d;&rbcYNBF<~FI8v%y*-s=7st~6+fDT?9S-#0xyt{{Fs}^N z$Gzd#AC%_dEG&4{Gz=jwwH{!Wl8%Lb2rTutV*}|-_+)e5|7X4!sPb&&FPd4KC7f0H zpJ>70vFV4$n<=NA^ecH#>g}X^a8EZ9$PfwQoN9Maz1Yv|vwOdFY#!Jiz?6(a0G4MB zJE+*Lcu^W%K52zW3QJ3b=?{K-99DxVV-*&IJ9qUD#@_)(Y{3O1vo-Fv{b#)&TgGe$ z&+aRN-fvcSwmfd_WExnvIlDQDKMSMUVFqg!eW@-`8wA79C&GVgaS3VwTbI>%%}v;y zZ_xg=kg~=LP5%?P8FJ(G>(?1l-V}kv^o}+7TJpDy{Nl&T{VP>3o@8e2%nE1c6jzO^ z0P7N&A`QMIH2p+S(U2SXfn*{tzowej^*`8q&$yD3V_ zA|OpVs5F({q$es4Rf05;uF|`JbVx*+bOA%8B|xNw5(9(~Lde|-I`7Q9@BRJ$AMU+h zuK6(Ku+KUB?7jBdYpuPWXUVr+?gFd07^3=r1O$831_=6Z(Cec2#De?+B0tDq{9IsE z_!)3w7=fyfW27>m?aWwsbt)K zy8iV?`qO_Noww9ydP>y>uzmSX@AamIV9dPB#u}HED)C+~B#)hZ0TO7w>^sG2vxi$i zH{B2r-&f%7)`G|_a+})kAk08>I|}ga1t44yW{m!Naso__iaBQ$`H=O-#oNs{iKE(V zQi2s;i2*@W>jfl$vKJr3<~u|60qVXGoZvH(MVFvs+eP%Zjk?tLa469!j0ylX6w63u z*J|nzs*s+^aH{R?o#xMgUh)k%*U$7PEjw3Mx5}FV3-#GnL6)fQ{0ci2>1hT>q7UvM z@}K+eOrY>#oi$URQjqMOea_zUYSmHv+YgZ^C>Rpb5P3^B!0n|s(`>Sjn8nL8sWpq` zU4c!(7bGt&aF*M&vkEu(f=ZzPBWA?Fh@~}DBvH@OQ|WD@BCL&JZF1lp`qZEnPr>$vE+j|gj|0?loeG0*3YB4>xEr` zkFVk-h0YIj8|Yfm2qM;eB#5#gu0yCCA9BLYNio3%xhto@fOme|QAGjUeEcirI)DQ3)0dQdzfE29$Q*0{$$CIjU zy|x=9@LE9(mg-S5%VY39Jk!54HdIdajwIotsfu{IPU4!38F5}$lvjlq$+?xD-?~P12?9KEqH|c_=2B($z-5+N~{A? zO6|ML;?JH6`E4KicC*)fc4EP^X9o(|wC$tT z0I^D4?*jdJo5n3X@qFU$SdIHo<+;6bcY8|aMypE=_)oO~vdkjKMo>)j>sGXenOX9x zL&Z4os?g=jz*m0c_QltuLd@;C!A%g^b^0r)=TvIM|Mi|JNMV`=pqSeu0F{R4QAH2a z!@u?8fUCm-!WoP_pQ6>`7fZs>GcqHc&oh{|2s(hORNa=V0 zYCbaZ2tlg6JI*%$Pu4SMUcFTCE0^f{W5}UnKZOoWGp|3ZEEqLj2m-FXinc?cPWlyI z^ZMR^JGf?P#le)_ew|;-3<3!7>b(zpee~;;_gVIWs3>jD@e7BAA9eF>W*H`u=)gS4 zNkFBS2OJng9;j7Tv*gitPfHsRz89w`L*WwXz$qmHS~AADfpa24fa)U)2s|r6zS%6^ z4``nU0NwzHuP;Y!(^|l!A9RXbfv+>M(hq}<&4{>fdx9kU&#$7Ik@&%MeF;*ZK1f|C zUP!?<2YUvQVi{1m3fwP)bmSYJkAC{|7xc{oUAalZ&x*&cBuUci28}{y z(|k79$3K02c^cnHkE03Bt(&{lwhkM#6vbSeE^FuYT(E*ty$jp8+&+pYtj_kCOCJ8s z(i>?6ztjU_83pWsE6>C6%rD|}hRuV4eB2u!lZ_5((TNT+ujco*W!Wo734MMZox9qCtJ zP_*vb2TlsVXU@6Koopw)TuSb~@VxO7IP2o|RNgoI+z=mnimh~bxe@gpREI4oF)zFO zXQ?*ir3;*FU#&Q_CUEM?vl4(Q0(4!9F7@427e^~W+DUzemVH`$eEh~pBjD#E9FCH% zIq2=(pRsrNf)VPYzZ3)W-z5DPq;7i*mwRf()h6lC)Dl)2K$QPX=#gjI%^^C>{)qw` zIFg^Ae@mGqX4cUDsV}8wDnj@(fNB(ts5<^vys%}&=8fz!oZ?cg>{%B>vI5DOLzT(W zFQ1>~M@z|$t5%PL(k%cq!{RJ{o+}k6mE>V(<+u_eI&ebgoG;;1A! zU{I3oH6nq<{%9h=j^qfRm;^a0`J@VELt$94eq^+$k&Sqp`L6afM~dWvFN##I{C4xX z-9>wzgIyrEHV7|>vha*bmi5f3u&_o4(D{Tx?n)zbif2P1xBi{=Q(d>a>ui5FeBYmZ z_WU&?+Wi@h2j~*qQ^3~q;hpL=*ze+_HZezZUOfJ|1G#$*Aa?+z>tOCxYS;Cm)_X=A zMo(pR4gjf(#g2`f`((gL-+Wbv*~L|}IBx5#g|pLZRrJI%+T%~&?B`T5yUah{IBtn5 zG!|o=WKG`Gw=5XS_>#w!pVQ#vF}) z=b3HpoRD8(ph`uJbL_2TRPvdcPeibgs&{xPM2Iu+dHAb07 z7r@CRdSM3g#N*KuQ*7n^!E+8mktEJx>rZ2CCx^jaMBkGOe`VF<4CnRmO5sHO2Sf-) z>LgdkoSY{9>v0p=J1s@4@I`^s6VI`?z0I$ldVEiC;yJ`ST{s_7(BWd5gB^Dm!9zpjwV)-o%4wvcXLcr zoOTWyUA*6)>VD3TrW0B1;M@D-KfSK28?lTX0K`Ery-$NUDoN06cw?|(sPOfp%+~>` z{K{E%5I~;^mty#xzG(mx0P=}842ROIaV_8s2LApJohz3dThN211^CTv_{a`^uR}Tf z*QH=?@iIUfm9aXTshmsC^Tp^rO?`5AD6FXH0!L5vF5 zC%>I1%l-qccloRr9j#|hr-3dU@1mRpgY~ha!+o^-(}&MD-%lz=Ajb^&li8Fu-WMlE zc{DgP?8a{+da?I=IyHpRF34~YW?CxbDkHiVp36OLJWiqBwobcXC+j=&+-U!0BnT~! zlUSW8>vMhck9O@2^j={Fft&C|dH}Fg=SBHP`Bc+UIxzHKQ9ezBKbY~s${=UH&~kOz z;MCzmZXYk_(ZOK%>o=w%kqnNeN;*dq^(7!N`<0&(s*&OpIQWSzE$d~h94;VP{WJqk z^Iq%4GdhM(?D=zTm1)c?bltPqv|9(oL8{?XWm&0*pV}tjobv$z?jhdRuVigIGyp^P zxDVT@lt;;Z_urkg1;{Wsr=L0wkpGveZT5creaMsZ<0G5TQ*QwJWQT$x{!>#uO*L01 zt%xJ=l-PQ6C>u%f(@Yn{VEHUiCoRA(pQ`F=%jsYLHD*E?}P*dzW2 zqy}IV=7z4NH2uNIM;gphG${Ty#X#{r{R_n>yMy9O!LRFm5AfmC?Slfn1S|E9N**1m z`K6S@ISE^slQ@5E&1?4cBD%4js1m@pIWtyR_UP)b zQ2?onERK0}2c-YfF%otl5zS_>LgC%LU7=4o(0yl>VN5r+=P^Vl$aky*k6a^##>VPtMi$e5=gN$&Z(wsW-5(CBv)P{Al8i$^1za z&))zida%L%-F$8z>0vQ#gR9Jbb8F&JCV;hg)*MLrXw|WCde6Rsv`awLXlnB<`Qn`? zlv&W9=Qa@yr_?SSz6>x$3p)UnHyz48HxxkvI^gr@p+^Ykg?{7K2zm14S7fd(-vW^8^VzYwF*B75W12uLo}j3EgnHM&}X%Tu<055$e` z_Zv>cLTy9Z0C9w&wsw?J+>OKM0T^C==}TGja4l-=NUki5PkGtt4S!HaEQdrIJ!D|^ zcbs6*51b%EV`%iy#{j^VNEz-rOHV6Au4O*nE4wCRdt*k15%EzOrKemOaO(j&8jkMw zr-p40h#&hqwu;X!EP>KnMZUlq1U(Tcs{~#~&mZ{XkXslz>8Q)c=iRTG19VRW%Zl#& zWgU>8{hp-wIM zWn8q$oofail>?z`cI!KNf=`Mqf8(|~K{k3Y)p^$&Rb+$XC~ap|_;(r|h&|mq&rd8U zD(^i7&?`GbQe%1Wdlc**=C6R+U(i1O33>;A`5V8|e@D9h2T_w8;6M>(-1z9?!t=DW zV#a^}^5NNEtV&vj+sY4@pVNm$#e_EW^>)4QUi#d=PiJsKzZGEM7z2K#2b6yP&(AUV zDF;8-!Y{x49D|=@K;KG!%E8Yu_$dcJZKR*3;ZO7Ur;G4&JN#)9{B)OpMhSjK34TTi zetJefJ)@tV(NE9lr)Ttk>=~&nj_-YL>k}lf0gEE;f!%I?O8Px?FZR7nbfbNb;PFv; zdEQ^Y`S(b+{c3aYOVh6skD80@j^EKaCAxR_9xrQ+2WKv*9RB?^SK8bk0(EA^L;WJe zaojD8h<9PO5_(;ExX7OvfV4D48c|nBE34jtAM#c*OpVfF5dQcSeB*Be1`N|}UWh?N zvUY@?jjQ6nkDfDrQjv+ip*>H3LO%!6&~2ih*kt8SfPen-^ENODKZgVi!cQpygYf9* z!uhEbe(K4eTgT7c^#4!WqP-KgElQEF5Sq*|kz$AIyd5Q7(G7c*)?Tw|n^b_zDqI*p zOh(YW%ISU}ehRQumcrz4c{m>^$)_Do!_&6$#u*ze0tJ9LskChS=1saWrXmiKzag0u z8)+DF+Fr+We_VcB@;u1TUwzs>_U^s`u|pS9URJVvP0U}9NGydm5+wR08K&Bqa!^km zXD1e5nrZTK=?S(~4C0R0h}p&_(5R2u0$-K6K;fInQYpxKZPo;R+fr59nq-sie0usA z_w1N*Rs9`+d0+YJ}NnllE74il`i96atI#Z-%VTQ%2@rpZ!P+;6xpy$-B)}#k}pQk)zj$V1Ox7r#?B}URu%;qG#pU$?48_W3+=4Oa@1NHL&YFPiKMVP0Cg=p?`%S8pj~NRUMcx=u9D;(?OL>2U@9Edxa`e71X=dXa4bsN&-j4jcfm~O zqrphQj_yHFM*)wZ8K8OD2V1%H7P=7%m6>$c0Tqwh>Nfh{PWyAaYh$?3-$M2}(kA(~ zUzgd73ev6c+hJ)z>%;8(g7=Hoydn{Y1!X$(1&Qr~xrs#ykzab(_Mbb!$P!~G((r)}-UFHf+6N<_zJZPcSoV-_ zcU>k-?!gCYr$BzZu4DMZ8;^p{cBS>QHj)Trp&C+H2U24TF zW^p&_=}^O%K6u5)@+-Mu*mV{38aG`fr0_(JPqOOywuJ;Xd=xHs9A%EZ#Ww7eXzkmC`&;6 zuQ9~`sy$FbNKn>{RnRIIivlbV?JmOVk6YR=^eU`&tDPu!oBYsLH!p~qmI39mxN;k} zs2Ez1&60&aL)rW>NIjCEpS;z?x7GBN5+5BAwUATpH9tTnZAKE>`7rWK(+rJrnT%E5 z#+u46+1=b(toQ1e)N2pkyKuVm{#o~N!%l&BE$#UM#6s)w`seo>FcyrxQ00$7AsN6O zX9gBaY0BGe-R-Zs{?^fsx#fr_nHEs2X9mRrAD`fxarOIR*3O-%0i`-Q|7-!6r%@B> zF#jgKl6pdpbYuSJCJJFCV%1Pnwtkb*`CoPmtKU=j_I@`q_N-O`D48Mc;u`tWTm662 zf#(W;f=xfmRZwbC`Np4eBC@a<7F4qtr7MyLp|YzSo0c@Us-Kp$u2$1Wc-ZAw)9|9pQ4Zc)pEtiTgo{ds2SMfu1Z(x;gd(p=S#^eBhjlT>%m=8>31$CpdhKt2RK$w zsKt>Lw&J-iCU-h2_XaP@8M(y zqAvN+?NPrG{ptztHxn|8UqZQ{Dvx)r{M8Oj-o3?%Uos23pUMb`<5ZgnTp16xcQNfe z{uAr!i9Csn&~`_$pdcG&=AACb=n3qDZM3tW?A<$ZD1+mXjKDqhvD#f>o~QYlm_KQ{ z>wJQ3H2gyUv?&;i3V6Mc%p;u$&nFLCW|ee&t=hHA7}-h z_=?B9eb33>@MlN3RRmh;uV4N3ApIVBDewYYU?a&1{k_X&KfC<@;V2`^j1`R(8)jBk@+yfFnLs9Y>-L!i6(ldcJNXC?yuDN)oq~-Tnu5dK8#x&o44y9ZfdiI7PV&CUW z-9tTeDQ%7r%_xP;UzNVc3?(4J|=wG8|%ip}cL$fDG-mlv=06Z}rG(IlRk>+!4P!V@}<8 zy`Z4JJ*(A=D|bs#RyaFY$Lpp#NuTV;-fHK98USLS|@GdYrJSFY;&>`mx3xS zT(&N2B(dIB7F$G{HK<}EpFpGVDJ8S>KGS?ZY&N@hrTa5&ow z@@UD8O`9B3`)iUb%<2oJ8a7<% z;7ZKJa4(Kg?*8xIgpfz!f9s9Deaq+qE3HGmKr7KoZ)sS5n{<~_vQ*O3^sJSxcKE|r zmaV8fjq>S%RsLiL-UmgIaNp@Dq&`Pb}qL(gTdO?r7)#{I>sU0LaaI@4U5_u1>XUXc2CpN|t}>HcO5l+3kusVn2j8;=lEXj0^`7V~ zW90w-t=(A@zTY{q^#tL!w!8??0T3M)o@ z?damH<_o|Zx49^j`k_3OO^4;pK;j@$npDD9et$OS!8k0pkco@q76x5C(_`FNOprN{ z$k^G=9Aq;P<+63}dE9_+2=!WS)21VqYp^;a*phGl_S6Bvo?v3zM8sd zG3(E3NwFYSNu=K!lRn?tO7?MHv~WO0Y51fL8&QC2(Uw#SU#gu3Hk4oYTmd$+nzM#%^B`@h3@zu;XN44MeW$fwv zkAYtIbGjHG*$e7q>Gu-1BMlOt2{EZr*EiejWCJ&2D%nfdtl_ty%;gy#b8C-#`NgBF_TBX3=?a*#$Rx5TLFjpIStV|jeH#&pRfLHsfj6C*4{qfX*W?dbxr*u{N4`_ssbbpzPq20}Ez082Q|y0Z*lr5+p5^>YwGL*C-J5~=Y~Xpehd zwDUAOehQzM+3=`u@$8(Iu{3X~V8$;uF}ET2h%mH#40W_CcUS7e)j@WtCmbbc8h)J` za1N4XEhLZQilB|o@|D2-dqy6N_7bktdABdO)h-(x<%Y^b@8f;&xlS8w9$B5Qa9s6v z!PGvTyDE7q6_*|;vDi0qA}-1x)R^$(Yx8gN*9kMTGD z`r1kfQy&cWn9M=R}`<*t)4cT?>n)Jf3kkD*q^_V`s?9%!s_(v;!I=`(--$1To&He=50I z7kc-D+6r<%3A*vk8oJQ2SJ_%NI~ziI3}QXYcY}6UH(*V8#URnadbGTclv|fGx;E<@ z?U>J?d0EN{3Lle2cg$P6&)vi=-mgT(Q3-NQVLE4hWBfT#+=yyjF(vQglKOVNC-*X~ zss(XndM?H%O|ibB`XV$`eaD`?$ZfChw&goNU8!kcGPy!wuY*>4ZsT@NX1DvxvjQWnP{ zNt~@uO=fp3<@)dC{&69o%3;L|8C@Vx2=R^@&80}+JJ*ewJiOyu90&z54gH9axez1e zV%{%rU-?|>_fHR+9LCvHLkkEmTfs*W*5}IYjA6y&?>s%R4}VDP%LSIN^DY)Iq6rHE zE?Y0eUqh}8h*?}Bsu#Xsf%|vfzepXuPQKZvE^0Ph12t5ddaGb>?KfKjHNPO!DT|FR z=AvP5>in6s_KT3j~6xhmt*s~`jJr#lV5Y)GR zBRzaGhJAWOhp;}s&5{hZx|$zb-Kk^T!S<~Z!iCXWiy55JDAdCy_oi6BXT>7dZZxD# zG8{D6Z#d(ij77J}V9D{QuDwj{y+C@trF$mAlt0185U!ak<;>OGpCs9$t&ikqK^|zx zR@bKokAH$OsZ+gDVz0msCWWtfqLk;RRj&1L>6j@@-hD(nqI9g><)8M7eaS4zuoOR> z-VsNhAa@l4N_xO^HeZ39%Jo@?g_+lTTPQjo;hw>N3*T`RLz-{wgL(2%Q9{Z|wt4$t zmZMzN65KoHlS=IuQ{_0z<4d=Z(xP3jTfmH{FttM|O`T<<_R0KW+?b6EvyLbUBvCr& zuymHq(BkODXuf6{uHMF=Ey|1ib3AjFO?R6L2(w#5trU#V|JW9gbUE=D*Hd+8@2IYLC$z1EO}YE5^xSu=j< z;sgFM{S=fk2=}#@@F43;p{_RC;}*xbv%|ux)%U@Ej4Sm``ZVXE!SN27kF}X$&~$R8 z%~ZltbXr505*xB?%QI&ZZB_O>Zj!Ou{leFEJ z*A3C$>v8P7cq&G=rah9WowU5&Dkykg=k99_)?}rBq9ywxeILy_a=MFvGrM z|MDjOBeB=0dGQ`GGf>Yp;ONy!?f+LlGi#ReN85*%(e?G4--`L1i{=g7E{1)dd3002 zI+?)IvfFYOM11-~5;flEAlCar&d!i3tnaUH$Bf9^U`Bjt^MYKx#O6o@V4ZABzV}I2 zPbeRQ7t^s6pTzhfXE-?V7COeYP_o7ch^XIfPhwjf2isTRvT@a0YYyv$M=O79TRrJm zC&-A3Bk%0^>du7bO`dq<+q61Rk&m_faA{ z+4Oixi?SKI9bp^ly(7x;Dh2n%#h})QywOfcpz*jy0|S3|dBzGM%#Jw|YEJbL$#`=Z zAJA>**ybWuODJ=Wk{l$6p-OlHidGt^^Mq*Wp+#LGA1PFNJ#bR*7yZMv?h;JyA}azl zF6H1+>q=dV&%ZwF(LdwQYDX9N(jNkUBX>d&*s#vdorcI+ylhEXPK{d!Tl-MFw!^&dEXIXwG?=i1JhBy2BbU z$32zzdOU5SCE|2%=HZVgKo>Uq1zZ1VbkTjsD~!cly?h))Q2umCX!>4V$_I6KzRoAj zTRc{OIg~C6`|nv;Y)I?&GPnL8*K~)ve~rP@vlh>52V%+ zd@`?h%DdZPg-V1w+g9z^bjI{BnB3qSK3Iz} z!FV4|Z1M{14t4W*_REd;WcI$RVx8DT#|NKR36TQncqNS{J*m5iPZ!+d9Ur%N8~81p z(0!(;){$5WDJZi)PuL=hS=HKqSo-I#W#lP|VD_W$T5#tM-}`#Jj^&3pv<1XUmQAJL zP2+t&%VS?mzZmnbF zc4V4+W^=OftYbC&CUpYcgWM}!RH%dS3-WHgYF^;n7gZ{h8yC3QUdR<~6hEkgn=MOh zj_R5}KRaIbT5dWgHvo_*wwF4TUyWcEl8FGu=bI5L3dGLA7D|Iq44@^QeiMU@P)vCg z7CN`ghW~^0ANE#!PwN)%8pBI#oE2HHWXnny=kH=tECptezi*ExyN*r1LqV;=N6f1$ zz(W)H%R>{A*`C573V^FGmMg7LUFJWS5Gp-1{%-R{ndI3~E8m>DrF{8W7(_8Aa23qrLpyXx2oNmn;B(AZx@}9}Qv9V~^ z!!ln-TS>EvVp;3Zmn!ONhrjRkD*HK${b1PHllhC zur|*F8z=HF8)rX^Mp=Fq~zGvvD&kL4Br;zO17?B$w!A!D81%V z^Rg4cbI>D;?a+4xn;(uk`g33c7-1(HubmL$hZ-<9PCZ{&=Fg~G)s*{0Md*vh>z^!n zT=!j@zKb6;gMVAa78o2$*GsFJ_>8`$jtNALaxNSfVT}IIVEoS`kNLqE`xRzhxJ z_x|hL3uU#r+1AT)v99w5*nKl~j&O(aP~5O=f;(59Jbc-wl15fgU`1^5MDcLn_DV>i zdn;*zGH6KKR2$#Toh!dBUCekax9aE1?boIE&vtMRWW;~BORb$qZDVEq+j~hDhCluH zxg0Y};qyPv{U|tA7BP&mMLU~ z1{ebWwGEs+%5@$H^E_3dbCkOkliHX?P(L~cryq4bn!Kyjd`~Rz|+Sx8CR3w_k^6Og@9;X#DV<*bZ6Y^rPMc9;`gm96$DyOL4z>$suSsAb)& zIa@hPx3z>m3tFdu--*=2vXo~y{D{k{3H zhUq-qw?d3w9Z+vN z^}X$U=ETA8k6rtJ?6IMjbrp$*-h3K>lhZJ?`b{-6M&*m1qsQ=1oK@=eyKQw&BtPmWO>Pu@3-^FQMf0 zY4$f02V<=+7~RH)AD zXNzD`BSR7`RTr(*sm+PZkGb+PjSa^In;$u+$q+tE$wj&TIZD-uQa7zSA0N z>su&?u&k=uNgyio*BIhZkp?Qv8zx#SSzYeV7A|cl_g}6}YxKZ&3YR_@vx3bCs(XiN z_<%8tv0@Ckc#3JGzqWVV2?wc&kXoCr7?X-Y z9qk&q`K&lDrmHEPLc)}KtI#kn{=dCGhMw#N>RbGgdHY`6pn<9y$={nemef}133j)DuuZEj#6$aE4RTU?QmPFFQr+%m-gp^aD=O33R}07l zH@=-7c>SOGy&(-MZfIp{yvzqJA~L9p4ur`cqYl!+U^TA_cufq9w4`n!Q7-ufwC%YW zPP$-dkUYU`UB3P_N$vDs*um z;v}PfoxIH*@g&m(oC|IpJ3SD?7~(7YVbQcR=!yat|MFTL`s@rWjd`OiqgEzva~C|p zmeeo9Fn_4Z9scq3biS5=TgX56CoeFhXuNki5hUWVv9`TFFGJ5G-4IdD0=otfoZw^J zv}T7wT<=jV$sEyGuuWo5`Eir%Y`1GXGc)$)QSQ}Qs61rFd39>nF)yglPfZJF8&b@B^XD*0vbW~N4Bayhjw;ycro z8#wmh0-LxXpR4fcak}>PPb!+I@x5bVWQ4D;`K#G1s2<}K&wRq-;qWxU_)rXNXDDvD zjWt{@DJY1hW&Nk=ay|Y&XgcOMoA!^U+@91H$$F9@5}{oAS8Io*k;+qKpD$`64wZF0Z( zy#b(F9}+wiGRz`9b{xudX#OUB9Cj96P6}9bw-^gX!R#cg19@5Qr(j->gZk3ugWns>WieW?%m^jenfLT|xl2F&@`Q3--FJ|NY( z7s3v7=CA@N=Z4f2NE;L6Vf|CTWDJV%F;i6&$sT=K?N7vQcpo~^pXwV>QS>t0U^y)M z0@&d)UjX)7qudOLTIQpdTGN~-brlGzTY9Rtzv z+G_QoE1Qjv^zAWXxXeb~n>?K;9T8URMrc*Wr3H(f&P)OWVgB~^m908pA9UuQhkBV+ z)EsYt%8cg=f!hYUu^?{OlR;Zj6S~CJ+5TQ>>)V?Rk!!Xs^ml?fu~YJ=#V^TQlv;E1<<-p4jN+1hg=6{@?(=Ns>BkBLpl~P?dL531n0|E zkKLPDq}R8hWc&)zBfwPPbUA`PyP(oBH$oJ=mHvx82d2Sixpua#G!i_9{>#z?FHCd$ zu$TVAo!@=>5MpmPcXJh`e&m+0OsiY=aZBu!+kRgXBjtc!e8FM%*;)Po4~CYugk|r zCaHP8cV8cNnEhv?$+`YavJ|6{W{`QecxNqWSLU}m6Da?^6C(B}DtEO5Wx2Y<=xFR_ z)l0k2dl+f&|GEUU&mDLgqm@49SjDrEN7zh0>b-wn;#VMzd6KKXztXt-Vu3_d)voq$ z-`wDh-)}uC@vLMw%(TLOdXzp~11E?8Vv{S7p65MZiEZ2}v{vjwkN5Hn$$y`hqRitgL z&ND056nxvjM$Z=JdL#QF6Yp)v4>Z|tc3-Sxl~LLzM9+?D;hJ4W;|5AC9@@hjFF_?W zV=pJr4d|ZT7@d;32e-`1zs{`9Wk%1`vs&!o-org$dyLU_x2cx!Kt9c&q0S(ophbCa z@JFW8(^6Z*-;f70 zxZ_dtqpQh9cOS;|Nj%sM(}ivhk|D8svLtxi6ds<=Cd=z@W)P#aOr|_y`{f9@eC1b) zF9)inE-x>*W0&L8{mx>}XBX>Ag>YG04sMRjI5}PzB}4`;s5Qc?&S(aki0y{WwJXER zzAO)!yLK5@9+f`VNZY0iz7QehP?kp%V0`#3>Ami&12SA^8i+&Yt>tl`tk8%LDL<$> zb%X?8TN_Lx^+Zbfri}@n3K3=)7Jw+^RbqEA@ z%mA>B1{+D}l=bED6f1x?s&bYi0_)-!zQU%xPX}sQAHjuqSh(33NF_=~K%)b4S^}0a z2*elrce~Wd>609YxvkJQ$Gw)uDIfDu2%PJ z|MXGy!viO!hIX}kmS(R>SHD}&-|Sj2kXyM6SHF(fvb&Bk$rvaNDu(wB(-H;{#nm1!K&Kyz1%CnlBE&e=i7c6|QmW}iHY@M+-I>L5`Sy4>;s_-|=uqG7aRjpD8 zKOt#_`T;DnGHO#Wb0p>E*99#6T(rUfHKZ8$lETZ6WAPkQ6>Tc#N;hlo&fVOu-Z!oC zAPW?#)}_AA-E!rSP7nz_jl63Ti;2q~g8=Bxe45YJYYmC&m!>V>CG<{f#8L8g?4DO; z2V|!7DxhvgHlu71#cb#nqRnkGHd`oYVx?_mRks*A-Lp=GS5*;tp;GY!D3sKTpa)it zWaaVx5vAU-jj8hWEA1H;gC@ruo*8m2IBLaS4kLrV%s%Q*6WQBtn(yowEl~vIz|th&UKY{|F>^5Gn*T<4$zlKJL&OvH7iNRv-O%1IWJAW zdeYS&s4sdMV?FT8mv&h-k|)Z!DyY} z9`-WPs_@bZvxap^)CIvIG4rY-XL1tUL22Tnn7ZHOpBxc=)+KzLb?cu=Q?*sjbe!YN ztJA&ydB>VFJTwkF7_^ukMNU0?zEa8OJJD3-O`eT-tzqFY;GBYc#2+F*y;1{u6Jk7# zYH+cn3dw;@+<6&u{~mwO)4TRDeV2f47Ok0h5(w4YeY12ojG7A(3&a?6jkZ!n1=_@R&Kv&~LN3x`HahmMG z)+>Rv+7`V1`B7ZbM;EZMQRP5{KK!{~*t|M|qT8}rbKs5tdp=T_ASp^qPOj3Suem1( z3qR8Diw44CQg)g$8a?O?qH49;V})-Frn5z=#|9v6H^%DEgj_nscQ~Qdl&8!UvR9ij zTld=8(lmFMIY2shQXU)5|gN!KanUW)qY!pgGGzU&17asBVI?1?AsK5h8 zs+Dr$)K1?KU(`EWf`*q8|Jaqc{I?cM!Bx3UYp7v|T~-B-J66!=?) zkM4ZV+*(lBLpB8MeJ(7=g`$YA-sG-AAP3sh{LCrY4JVlR zy)U9yMyg$*s~Gh&I)YSUc-kxTbgyg4LvwhyMMYnZh_fuNGHlsiOj3c6c|eCxwe76rLO7 zRT#KLV3jG*l{c+_XzA%kB$U|^d`D{h9#o^E1Qz0f)*g8$WG$k-a91s+PsE?sEj3`d zww3L?X0RTZ;dY%Yuc7(&mbONby2^XT*L52|Z<54B9T(Z7VL=sLrU`r$9h;ObO~Gc} zckn93_EFTe?>gUV4>zHj>aKa!i6ik`1I1+lHcIdvTnR}aW3>uFp``SxT^c(xj|{?| z%Sk&Q%2Hw9}Psgx1~9-MA1P@E~3{RY({Z zT`jKFT_zzRAra0BcGo2GUuw5JJDp*^rZDll`@ZZ0(z5|*H#4L-9jBvt7iDK`H>Z;Pnw$+i?Gc5Yk zk8FTx(-WW=Zv~11PUQz<+j=!s)-#fb)DqkIygaL4k0egS<9RTpL6r5QyF)yJAU8gD&Eljc z!lsn?JZG&eiz2mv;w{4QL$ERRNQ4`V5)$t)_-qY5;B^7QGqW1O`e6S^Ai#@vSsUwT zNWIvle&F)<13gEIHR5!(vgPxE+?njPrc&t_X`X)9l{>6v9UaXnEt~u8rCrQ6Cta&v z(40dN&m(e^gH{5fh$8?g1AINsn3)?p>y_JW?ae6WQ@e`I{J?0+Xsg>Pm#`DT zF)L~>-0lDHKG@%N#jpC#)g!@i$2;Q}u=Aqs&4U{bwHH`b3YuT+tm8NGc&D+xGcBf< zE`1h6K;2JhkP$XF4T}@|BnKYx7oekUnnPHe7eYd%rBSWWcDl(DSc>&X_8>$Dwgmr4{CIT3FZ>llQsoI2kjPnx5)Jj6%*z*CZ`l=#lt0Rqo zT%tS$Q2gtjRg%3mbB3we1oMR4H!Wuc{2Vsv^Ld@0MP};J=H>#&G3IG?m=`%}!;4V8 z4N3z7ZwOV@sK%Yw-g7CM&lPd*U1IQxOLIth4XrsxyE&Kj-E3u}gM}J9X-|H7_`&ZQ zH1SbO(1p$l-RqZb$UIy$8L29EN5ma;K*bYRYQes*iln%IEoI;R9F(lgUs~9A>1ITQ z|CAH!{hT9+^t)0qeZq2iB6&%Yj<>cqV{=TIGaL_`e8_trpso4KDaDUt6B~19jMc`$P zpT183_lak1NfMiQUfnGq`ohKM_WytWsfF~#)z;2%ee$_e@QPST$+gJzrNDcap1+5T z0+>8J%A=Gf__HR7Wh-lJY}w7!pTEIYsQ6YGHlKJdw0MQ?i&xI_zXEO-uZ3t)+cm@X z2#?Zy@18~55?r{&bWYq42lvx64|Uyiw(Ec4n0v6p?qjFFMYl6p+}F#nxC1H!I!5fk zf|a^Jib29;D`-lRp?TRh5S4J@3iwJIo>{j*bBqm+!O$ zz16gQ&_yv9*6*5@&wGwGI_GPC+^qV) zl9?g4Cu$!v!yACKFK1ZLJnvLFQ-jl=w^?-tOa>R{oMb$pQKffZ zkb$d^tFlf3DD)`Z_uprB2CZWu`-~ZOJZCddg^Kt|7ysmDXkcVFQ01{;kT@tgbw3A# z@f`1vhLsP5L>YEjJpLrkl+ac@IWR$M2k?HI*q+sYjxx-6Xrm@J!$(e-+d*77=-(oS zGX)>FuP)@;SzW{+tXMbg$a#_UJcbKLTc++e0Q&Pl$jl3$#6btb&B&P?^iK`QV3?eG z>C}BtAS7(^$@)1P6jDB0G&SpkfsBSuqoq&tLFdRB#J%_YDGrh>Sa$F7Cw)-JCan3j z=ubB&tY3u2PpvNmG8h)WJpD;u2*_A4d!OF_B#?$8=D>fhpws83u&w&j4YFL~#wUJ| zwlg-D7yWStsWCpjMf-mPka6IP>DtrwpsT|T{+^lfi63M)&pyfMf4x8k16#k}^!j8V zqv79jy{GpzfUE`oGkBifw*j&q>|M;M_5T>i;K}a6A^&s zAM~8}aNhUaKj41u`9U0**?abW_Ig%)zu&c9-B*<-BA_BTckUb!R6$1l+&P@cbLTG3 z;NyY6XiF(!ga6LEsLS6wSJ-_61AdXQ(1lv6sGPe6UgMuT|H9@R&gnv!n!8Ks^+r5B!0ioFs0_=w7L zIUWVKE|vSecnxB?wz(tH2#CVlv4zW-YPU%yT( z`b$P~uo5u*!<*poQ2zUP{(U_E?wU{o4mfvMgS+B}D%YLHrfuPeQXAmJp?8a<|Qd2Nl zmdECt<(7CXk%;T^n>`(@qpY_@Dv5&7EXA0aPQD&~6RkXLffL)y9d_yzXI=W|hQ|IZ zrP-1maXypR=f4Dz(Os&>Zgx^zOR1fDK-x08&$U{Q)~4WZ(Lu+T_hu!?fjC3w zSE7eMKJ{m-Byv`zz^^2y>@F2Gv{%EI@;OZo2Lo^^OuXM)KWyuHB^fEdcHEmTJzIaU z$~WH*5m-N1YltJJf!w80bV=!MDKM&W&27Npf18>4q?i$dk35f!r;sY{(|-d!yl|N4 zRL`EJ6sPKP8R8sY>qSWr7V+ue~Ec} zc~oQ4XBYi;WFSzFOrhU20#a@L@!7?ka(4BA0W}FD-;*OZ;g!+>MzV_?BOV=|XzUBb z&uEmmr02VAWsK$7BhIE3jdWQ17p#+Ic|EtR)nK~VH;U?Z5~{M*ECm)&slEi4?)Ach z7DtMB_FJ}Pk~gw6eje{H@x+UHl~=7sRWI&#De=_tm%J1+aZ>H6=#?iLyy=<@fisuU zt8+qGRT7v3@rZ&gVkisq z(GzXpR3~7cUZLBydk8GW;`7TZ83Rod-1R%%B5QBv?@}iD?2Pv3>G14*d(C4$S?e(e zk#n1PBLDe;yyp>kCZjpIX`*PY>5UE^AvX$q$V2a56H=-#RN~&1%87zqNgrLehjd<$ z^GP_NtF;PiHx&B>VinHjXyI?L_NR{aU6e5VzLLxd&;pcyIv7vV`pzW6dy>F z!tRUfe%mXG+D}@a7jqi_ky zkvS~y-;C`HYN)ln=Bd99Gos1Z{bCmOO4W@}#SvAWg+wXK3x)XAJWo^KhK(MN1Xt>AawL%m7hvse%`jUQXzsd9fd2tlrgri z#K@1~36EfsPl%ZBHJkF@423NXtL&^z(RnI}?=LX%{UmkuzjQXieQ6f}{9^(i-Eh91 z8J>I+mUsl@?Gz6T63vZDS9%o9p`!|ONbfxtF=g9~bLZ*#sQOyc;aS#t~=zvwX8{#nudX~ltTm8M*s%@p@<7byj7H95Jz$3tLgjliBsbvbm`PNLa0 zI(IPpAGi$4x0DS^iWx!_+7(yA?J)N%H+v+e?!44YlRWRz9^YNj6@qLChutafMGj14 z;2PcQ5b+uIv#uV>60-@H$F}VA?XyjT`Z2sv-EwTi#Eks@J@FbU$VJM^*gl+cn8#Emoj$Hd9q<3JSh=desTvwL$FrG!3?n#l{ zs^!kJiYRHz$)D@rX~JwCvg#BXB3kl0c`e#s;<+V7lHGBG?CdWUiL8dWZFUJI`msNT zw6xdE#v0t9&>dhv1YRI14_?1^Hh6zClsuts0OtRV)je&h0v4R$XpJm^oCXt{FYnTY zyEy7DK~@x(daFxS3k-@(aYHhO@*IZCoxZ$d(7&V80@J(9LB?(P#gqDa*0olJG@)U9 z=9S309@p16i-mcGr`1)oK+slPAn}F4pj5lTw-GiJLl5MuC&R=rx0Q%;KQm%(rYW$G z-9gc7fJ7k6vMV7Xm$1EIA>;K^aRa)f#WI8}RRPi^7>xvRpyjebnrD22TD z+`adYni$LbsLrKLnM}HWC(?WWC}_fCK6%bl{)(F7{COj3=+dy=LfKYALcZW#tvrX3 zZ9m?GWxJ`lo>YnZ$%UqgZ`&q?yi!-lUybc595IHILRnvL!re0*C5r6GF+9&Z6(P(U z>n(I7dB%YX5D6i2%tt~VSial{NAX-QgzT>GVP(>jX3DwyD%-t#wQ)wS@fr_WY894v zWEbPOBdt!d9%|(p=qz@q^b2?I$NBdnYrYDH3KDX)Se@OOKkEH`6Wco5kwORViu9#LxjY?tC5*m!QSCZSf?Oeko&c#Lz{BGcQy(PA(nZXY183TL<@b;EX~r_cztTqoa=V@25YVfDNcP zf54^qyuoVq~+F^Ty6Umqp5%!lIN*-S1x9*kn z-N&%?Nr*2|2}8!@8_cqHTCCA4_O0OzIji;M-h0k{ajZndm;{AkN2h9p9n$C{e`PwK zTB#36q+*gq+!8cKOA8VxUYpYen3HJRpm+QgISXgAAomU|*J{u*LSg+Mh#-*shaa9A zFW&1MzemqLhg{_t^vKmClj+|}6!Y4-WM>ExuuhD*=>^_5=?%-U-ST|J{f?baBodcu zl2%IEJ4K6nH>~%Kd%Vjmc&H$phk^X|V*s5vP zD-?g}C90R<#aO&Ntp~I9YGGaAc!g7i-=*4-D_S!={Vbbd6OT5pKn~}8Dx3Er~Ijet+`q{Q^j%%W8H{A0^)}7RoA;>QaSGwThFZW zxq!;cz1zVPIDVyk)yU_oKk`dt+T(b5X4_-<4k|r1Ek{djqLkx#Wql7;gf1S{UnNM- zjM_?2wPOj2opl+$7|mrMxWpYxq{A2>V5l?*e&Y2aVf=sZU5ps#yyn zhNH0Zp1QjF$1y*UkaqZ=$NspH%nOsR0CgV@%~*+*TCbH5-Oeg{>8`of65Cm5&0hj% ztip-Msct*AN;MD9EuYC#f8E|(VkDo{;pEQ6Ype>O%AsM}1POK3 zB|7m5_=#dHCuKX+3t}4QOZS7wN-eDE+t`JN)-(~KXQPk8rGT2XdIMNIksUI8h=bA%heMP}RNb2Ewe7d+S-}(T-$UmHn`CyLoD_&ekX_Ap0$v~rB=!7n zb*h|aBXvxC1a9&a(7~cLKrw=i!Vp_kKd#W|mz{#$Sq53J5&%OwAIMO~v+aX&Ch?O5 z$&I_0U4?00A+LC%bGW$LX!|Nsg{-=7@7PQ&w@td$K7~aX;Q&;3&QZZE(X_-#9YP;i1WY=tI$wD&hALFS680yIp|+APRg#%%%9kErgZ%r>hCC4wDe+iyrO4f zS*}6S-~*1)w|nwEx&xle$-!}(%MRVSyESfWf+vmQ0AARPq+%`(d)%koHE=F!RkOhE z^WvqD4B6L~TGuj-<>Mg2?myD>Kvfx2a=t$t05Qm=6NY9RiN&a`= zy|zc=zEuNyU(`76Ey3EXTb5@jICUSYhK*Obpv1<#{d&Z9TY)c+OQ(<2!mz{{KB^-+ z92E53>XQ%X>6@$twLjuT@*p16EAR;GGVe~FjnL4 z4q{hykV>G!@XgF#`pELO_5ogf?VfeTVl4SF+Jn_05VE!vubE8}drd9-lpB0L%%Cj_ zzXGLgkiyucAWBa?q^GJt&uN0sXf^c)^Vym!hMS!t)K`A zj{hKAAiY+CP#i#Zyy4U@Rgep%vhY=nKB?Mh=jf`}J9;lMZu@lv#QF1Uhgv#DEc=R1 z01`^wT1AU2!-$BJL5*sX*wju+?w%E6we490eYLh}9WkU%ljt6!*+h(-s*t zq!=C+h=4&75ijNy8QYM&RMq6G{mYRXIU=>`Bw(a2CueviJC<(YZiNF@__dYSog!%<6;NPTS$U5qU zr)h``G{SUI?N z7+3Vkc;+qUeR|n7B@TZC^4kvH%%@C1wUmZXL=`66;XZ(E#jlzJCu`F2F^I4W_X`{{ z4gjf{g}%(lu?2pfZME@SfEn1)!LmbkFnLAwya(3XvLkZp*b;1V%zJyQ1H1GAAiz!? z%AP`G@gfg!XhJrm{5~x0KQJCsVNi4tJ`;5SF^ZOHu19+;KqFiW!1~-fh#E?TvwnJW z$Ef~ zf76Qs8zo3G7r+)L!dd(A_|~0MC{|Mtj(tSFFjFfZ%z^tCBIO1`%%EuUQwkgN1PX7n zA-t8$9j$|;v6nTvMgtw&Gq>k{CjW58wxPxvWl4MOwUlInj*&E>7INgD$6jJ|-nSjd z4y`)p=2{lEbmq~3hcwESrsThHZxC|pG>8{FO^Lf?zfi?3F*YU<ofOKo9q?fk>VU_)LD+bL;I55m(OlBG9!zJSlw#kTF_N z3Q+tpc84X7xC?gbIx&2FCmbI(5J2p@NlYX1)y`ieDepx(0c z4f`o3S71=lUhXg+GUD2nED{%eOG_VQ*etUhadC59iBNPkoJAgSj~Z$Dc6 zvgPi73L_+|Bt5$T1L7BH@>6}fF(9zmswahW>0q+%pm&MV9B4XA~=Cvs@zlCEFB@Mnk%7{saFGm*$COZfiB zU0rs=`re`zE>DZ08D0eiHkC$4_Vd{mh}qFTk@IYfj-~qt%+bMa2hbTXkEMo5(B1;r zWf)w8&(LIdRj3t}N=)I9Cq~9&Y*<(|XX~Z?%F67{#U*t7E(uCVB)*Rgf*_YB2ru91z{idNr;EGwm@- zuol6qe_CMp1Mt`>$!5Gy%aDL)q?O--JF8v1bDH zgzD%_lcXfd_OxidVrL8BPSF!@lN|l+katF-{4ckFGOPW2m;^&dT+!ov=@Em)zRVX_ z-U@fEySrL0a=XNE=yZ3pK6dz{>`}N4zW<`DG=})}iX`n%A^!PlMw+s3qzbn*vO}sq z#VrNje8Y}~eW4zsTf`lG1fbUI0|TDVaKrPjm3HD%7(QHmi((2BKm5V8bblJ9>fi+k zna~I*&xH;5z(3g)=G=33%q)w^StfrN20g$75qGIDbBRuZZpH%-L~>Y+E+58QrNjbN zMbG<%X!iI9-OBGlZ8CpWb;Y{=SD<>Ay8oyF74jO_zqicpPNCY0EjrA>u9{P#kSPQ_ z=pN)~OR>M$LW$k5^09s%F-L>bly5x0P2}Ox?$j^6-g~nb@8x>$ubMe@!$f7Dq2~B43Y$>Il_@|V6g&z@g`n3$_`31EReKV_>dA?&03lq6J7<4D zikMe>m(VW0NUdcT6;xF<7NBTBGy_5PLqOSbl&fE6Ywh~E$MfVD_FfA_fX#L6SE7qD zkwBwF8g1qCRs)5Y>D=p?x>~X?-n6u7zxSuap@HzS!p6Zh$&+6=o+!sVs~*}tpqjH- z=nd<_jmi`#l?=cFB0nn^m2B`evK))<_Q!{~{Y54c@uD8VNF?%Z?0c&eA6Kp_;7786 z7-nZVZI{mXuCDmc>A*Bm6p3dYg64$ARRLR@&QFw+Q-X^!Pp9aWZmnUJ^OZ1JNN?^? zlQWQUw5Cg6_!KNd!0fZ$bQ5rjIv?AY#*~@lyr}@J{=NRd^VKA(cd%$G&l#|GI2Lw| zeQlbATzbU{TORM#wb3YdzZ5PW-`~~$v>UKBUq7q`iBntiXTt?9lmRF&QOgrm16l_# zWc!b=Od*Y*Pi6p{8f{#+>H<$e7-9zIZT6N+dSvB;D^&<7xFc&;7uo521|@;`tsycc zEo9uz0y**O8XIHEaSNTFVxnLH6RjI0ZD88i6N8JAo{_yW?SXjuiQ%`!e^Z`LebV)0 z_;JGPU&bk!LEwG7r(pK14PF?i;Cg{5X=_bF(sQTQfSC3Yoq!on9#ep0&5A4E&*)hC z$U20?NfL{Wu}9e*v}2&yINutF=1Wmrr_ML2VgubWj`%$;j8jJY&reT1Eq{8uwM$#S zfV{>MEI><^0r?_RbG3{--(YiJW<%U$9bKq?i%ZXT%*AWIq59e8ZIR98J7ltMJg=i+ zKJ-L}veZY{FcY2KBLcCET-jpIGYXjTT@PW`WnD|5PZisnq6a&}15bWA4;=EBhbBQ6 zCv2*JeZ9Xw1#Y<``WE1fls{)1xtp4qA^Xebo{j*8S2SSzTAdnHcu`rHRr7QVAXZ{P z092}RjeAZTdCEg;eEmp#of0TbqpebX!ksgptg|BV5ta@!W> ztHUrv;^(xq-n)kZcgWtw@jH4;eNNNxETSWsw;1+OES(poU1f3jz5D4oP9uI0@5pa2 z+!)ko7AEHCs6(f(S&>3__XiQc)_r;z(CbPR_N$|t+`!En$fDwdve{DH@A040Dz)xQ zldfis9C(WwP|c$UOnM!qa&c-}jkkcq*yl^-qCXk~H?~KnzK|rY!M9$Cg~Kpe4zecN z`|B;KH?X0QG0filfqv7Y;}V04B}Tl+tw+^NDfOjmRH8LMJ`!db*SYZ3ni+PAL_*0d ze_wml&z#>BKR|9D+8Rutd8tB9Z6f?779lxj^po$tPnO33Dte7vrkG-|VCrPI;R^5% zWM1Waz6U!r8)&zwpjjT1dQqU^fVi#R`1P?qX{s%D&9`ZQ-jDz^7eCh*8f__73q#jY z3q)q|J)R2FPjY5)wGqt=$OE7qCRazP8kr#nLpQ(^dxfZcL}2(J`5@w?^{CRpU;`Plgcd7fLsCV!gmbSDh8vHlZl^U27W%j*B*Z2q*(1^bP0(<7 zFqJ%;suP4UBFE&l22&SlOP~+vq8TsS1PrDq~T~MQ8?KSWLnzV9}fo~ z7+~XV@sU%Wd^Qxi#YAIJZ2n3Zf&t)cB*<~Bkh#x9;^u|FI(Nz6nPSqzbsMx6Pn^NXQMNFt?vFpiRE_O{AlDf+i5&FhqVr#1AF}%UBNFTSK(X$ zm%&qcLJPULq{4K<`%7cc^nuBwLO-C**Q@sq+Urm5;(s?-xsK~R?odIQ8OJRsA(BkN z;{h}iQQSt5L>`9{JTVxm+{7>W<~3I3+j7sjLdIekq@TANxuMws!SqVMo8&@rN}2BN zIEG5J=e>5e`0p5zgsaQcHX3C3`?q3cNw*6f%Rs{&@J@;JmL}lE_V0lJp#(chD`h6) zJUTw$uiBfVZN?fNX$Q*me&_1>jzxX}qtsltHF|2B}; zu@0b4xPjCp97vkjx-ws9tED=seo!iX7<5PKHYe232k2sVDzWN` z1RV$+fDg$iHv_sU=Uwz}yN*d{us(MR$s$ZVSv*T{Y^t~PiP@N(g^iC5wEDnUlsRSI zy;7<4%I|!93pg0X1{$m13BcuR0mT-{BSU@us;;1@QKV!F8B64;^Ho#~?o1IgXbwGS z!YB1vxh~V^?02~S;xu1#?iQY3XnCfLOF$Y9B1ik~)XC-H2B0^4J}cYNYt-2v*-!OW zQ3?H?vt#pylFH)moz>`trR=adDV8q#>t4mLz17T#Gz){bln%;a38!5DuAF>p)Irj-us>K?@a@5+BTEqZU_GsqFuHE%)+pOKWg=}AP}RO9icF$MK%N3 zSqIKav7B&GA@y@C{RvW#Z_7WvenP;5EEkELN0TQe*%~BzMtxE%#eeUic&_O~w&KqE zTid^{#$PhLvEc*_HTGKBP7^))0c5)hdD;|8-ASv*JA57+=6bd6Pts`3Tm<;a9MOuo z+6A`tfaR;o*Dt$uzu6NwT0NbCe&^YCmNMHRSiZE|)7R0A1s9Q0NFaz-03s8{k{ds>zm6#~hLRJAeAR3Q9XVjHu_IpOY36);W0I>0ZSgkRv>trR zGYgn~7g0xxMPiSl`mw3~Hy8=CC#i=&M6LEir+?oLzPl#a8uCt;x_&*_A90c>)$RZ! z&}}4sKmvMSNb9mu>H>&w7pZ46mi7%@x+Dhrj*q=k-oM>BGTpYhY~3CW%^-A=SAqny z_LG*|4yoehC3W-Y6y|G`#|ybG->t%AQ!~-3tp$LcdlxSfc78q4agl+i;V?sn3QFqP z1&v~D!zK}Bjv%kAKiuF>N4-hq(1M`vnDAX7@>BzAAWqLP#w@@B8<~CB^oSsC5tSg{ zZ6oP%>HL~=`S&Kcd*$)&eAivfrLI5H8DrdBog!9{MFyE|!ub_b#nn21PKYLK>17IV zPl_XjBQJ0xww~n`R;ve-b5Y%`fJPBwudO(N6pgK7($iqD%pKO14Wy_Kl7_GMKhT&@ zc1x*iPum3rDB-^S$?b=Yb{n923`W$yvZy`+2KV^uM}*e#&bX8FdQ(BDB-)Q?+y`O7 z@6v*x>91JZ>@P5I8wJ7#vno)SC;)mENVFdpfQOD~(JnIPS{Z}ireG)GdIzc;rZ4c4 z+KqOcDWM{IBIn4)3aiP&Fu|6`O)luT+cr(NlQD-k&h)Htk-!XsL~UB_5O~LUm;zO%0eh zi&_e^9*Em_R31YIcWkpDVymxteP|L&Wku!FW2358 zdSPi}zQ?JMX}0vIXM=B1d)bKbHO<}j7>?PD*ZO#~dUUazdZcii=-AgyJ{zAl?c+E8 zP_j#aCf63}v-z^#`Flp$KhGqZa<@ z?J+xSMg(igt)U3zMF$dMy_Si?!|A}?(6lkhcnLo#-Stj<=B7n)mi^5eu6%!}6B{p_ zdeRRn*{^?xXr|tLJq@Oxe1?oGTeIbC5Jk)0G&h<+1^pKY>wQq5cJ|3TE`?~S%5#Ah zGu|Qk$dr?X%sTAXzVf*|!+W;t!v@%0WiKD;Rp3SJZ+YATA28Oyc2JW*vl+#WL>R{z zj|m#hXYV3)(I^?el!2uVk6+)5|GDH`0MfnQtCZ%{(&!n0%(uQ#muJDNFXsscx-w>T z3y2%Q%HWyRdgkqSKKAfg&{(-5_^ zfO$?*JJoVSJmmweDOFDPbsWrWr$jK#_|DEi6wNgj{Hy4rK5xXPFrt$n?2_%hk9q9EV2j#*!Wn+rm-y-V zd5b}ED|e$=Em0=K)J>wC2C+(Z_a zxVWN0;0(+t5l;7!%GGoExa`1-d`pdR468fgHUiqeM=M&bGJXc*pT2e z`Q8lmhv3q)#^8YhYg11H^LyM|^jDjtTgyZt!}AeJ)4*?KK(Z1En3N@l#+ z;x#FUwsN;t{`;Xv)F32O|zCRMfKY`9u8*F3(=M;5jvc~&|bHYLCZ`>eV`Zr1F z@1uXb1nPpY3H*eBUp3g@ez+TfXg9KUdF5<(;cwT9BgzP>6egjkmS->UkE4w#zyN`5 z5t)Ot7x)Ko7KRUe%)htyCye;V3jO=^{x#13kRrc!)c@CeFWd{zBD6LHUH{EP{whd| zB@v)MC+WA;>mR(N5YC&ixzGbij(>1JJ*Pv!>9g5Qba*`pgbPra+( zYis&{@UBF_yG~Y;lw$qi8qXZ~qZWAAo+(DEKN*}eU+XRnysOYEcELZ~q$m&YuA3Dv z@%}DU`*rl>W#C=^ueUd|<4wqy9`IU_F80Z5lGf$z7ZyX^q@ykil{bVv@2MkRGgGFQ ziB`EN^mz+sDZXOP(YaG(=;+QzU`jrr&Nx{S3GC<;q<$GuPD0#gHFG)e89jybh<1|w?H*aHL7 zxY}me-T!c1f9<#MR;-H@3j6zOJ{vnobG=k={*G0Hrbkt?tCmeO8`VL@%L#`6Fma~U zHsBcn^EO?B5?;?2rWV9fD?>!o$r8UX*Z0nJ_>L}e47o8zx|-bSk785`>dleNaIIHaHd>t_FaCCQ2VO+37GxA#fa`aoCl z!_6xLEbe5Py6Un;9lq$X*^Sn4$62JcIQch3Ve^CkG3A$R0hI{YGOrvXd{^=^)TxrY z%t6I%AZ@ryt|l^c=Wkv3zk^hO%$1i*lKn@`u<{_39HY&3wwhfP5s#y&ugpZO+q`37 z+|vIT{#99eM{MX3+cH7^D;O^<3T?`~6w!L+dOXrj5Q8=S4-<~)ui$*+4c{7?@Zoje zryZE87mUzxeCd-ge%Xvd*n#Iy*8I%gdg&HWNytnCta>s&iL(XaWp_h;A@E^n7{s0|p%B+7RRTcjD^G%!Hh`VJzC;7z@6bE#exo&{^Mb+Nh;xg?~KbuSi)dpz%?Oh3s<_k+!S?Xs>Io!Rie7KBVjQ0W8{sEai18Z z^>O8EbkpG|t(a%2q2JMVfT!QjuNQ1U$N031WdplbZuAXd=g+mBAYDZQx+UHRx_Cx8 zO3#g>y=K6~v0Ff3XIH|j!pv@^uIq~o(H+X%E*fpnmMc2xJFLP?TaHE*>$J~saFK1q z#rcutanY#NXcEkDU(R8lVWI~Ze>i~7f}ji2&q3w+d{(~wrIwif$*IQpJUM7|xq4(= z?J}Gv<=XcKi*oC!ESN zwUOIKxRH;v!UP|-e5K*F9+lrX7{)ZyEd*Y;W-s~abPVVEQ^_&bH2I2gQaWLCF0I4o@=xQl z??-)PZ0YakNWS2Ee0udhG$ zdf94}S9&xSX1Cbhdie>5bgF{hvN$7b`B zjpO1E&Og4S^QYQLFlcXECwr;yv}Ts1UL{h_VhKg_8#~W;a_uI;t@Kqh?Xd_hQ41>5 zdM)1plWzQ;ds5_imRuT8=^xAn&H6F`B$gT3-&PDxl@8XlfQ(uh_WdaqjwJE>@Dz78Qi*%Ly#agdOflkLgcBLI z92@X@DuQzSr1gG-nO0ccmDIw+&O0xWOAPSa!_v3nE1u^EnwndJ!NeLkMi7wQY6S#) z78rPNO3EMP@PciBI-O?rDIqt0dru+BBqeoBaAU0s8-;xLVoZcHwRD6cxniV9LQE_} z#W1gN+3bc(Ki|_i^Jz?~FS6hCzecsiGym8)^hHP^7lZP$F~RS1TdEhTv8iWJp=Jeu zlPqX2i#{3jGUmQDKB)Wfz`iP9U4G9gGeGV>yZ84bl31dP1{&=5uQ*-RpKhjhf?Z-9 zDliaIIRbYwEDM+G4rh=)Wi~-)4H?>dv7MtRnvkdV{%Z9SH{d=JC^ZR4A=`7W*i!Jp zSxS|)eGsoD`y;vJnfIo1Y#ct=J+R1)!i#7p?dC#Llf^Aj$3zb(%|#K&Mj_=(2y7Zw zb6o8tV(rVGKC&rlR zX>9`#;HR=D-oaEbF`*qyHadk~=bqZUAffBN@8engz9Yj%?8!G70C7Q|FJ)r=6|MXT zfREsR`&~9FxK#sA8&hLDK^~nt_Cj~a%xFHZY^wErcvHO+<%f(ED>QBS&VzN)CZtYR z%5Y9Vs?rW;j7QDf1@X;h39RAO32gwhuY$G=rIX{M0!|$XU_bEp0J76S&=MUBxsBPN z+U$zz$iYbf(Iz`0L!ffnVy2uTD$FlpAl@QNZ_~+Wr=MsVJxpnVc{qgI=R#SOvF8F^ zN{~f*eUDVnz3&KZkI`_R?`E+GuAZX3{n*2xriHU~o9#Zm_~b(F21NNCXr|8~aR*x* zXde)B`ln-2gkFr*0WdT}DqaCvApn|TYWH#ttBTF;80AdfG7F=%^Or|`#@wO7dYiYr z1n&_)u&3m=4!8cnDh7Q)kODgM0iQ}!1#CDAG*GL9QA(#{CP1s3Z0nA z)JUF=8UX&-s(amSU)Kq5iwO(sd2TH*RM%?)vTSDRaW$uQN75| z2~VlD3t6pt2W!sm`kX51XtA3w~mX-n3oKO{L)-M*_WY59?0VYeDH zfKo!KCi4!q=niJqyaUZcj&GIf@3Jg;IWF8mdEVfXFe*Mq-u*0_!L2!1*R7` zYka@jzx1tNz2ChkGYUa16+IK!V*X=rdM|j@X|QeQWPonh$}=5_XH)IA=D1ocX!;SS z#S{*t7o;@KDCsSjjvxy8f!t`T(=$tZt}!60W*d{#KU`pt*l-DUAnVmXwC1(D>VOvy z6SvckB))UnYX|7zGE)@hWdFZ}VWU^u-%_>~1fQ_Lz190GI)_G6{&`7|J; zdFZByeZu?%p#LMDNQbrWkKV5giD*2+F~`lY{}g!7R+aZTBUwkPhU4w*5~BwVmC?77 zn1w?b6k9@gHWPPl#PpneVK?biB^KszpfejuEj1Ei%F<9*?{px5-%XA=|@jaSQWTp=R1-Jd`Eg>MJX}onpBKpHWzQ{!XoAEjb6p?TK;JI3J zKPA^(7`%|&Ed&OLG%}zQ9>}we`hZ@?k&^6oo9M&h4(=#CA}XA2LZ3_nnOsvaw8wm* zH$9_4*?EqiR`YDdM0vTgY+r@)?m?;s@T0?(1E&1yvrl6_4$JM&FS1Q(v1QaRl*wHe=ABI?O!N27$} zV|l56#Fp4|nN=&Z!)1(qlFKvHe$!tv1UCswqB=>@HV2HyK*%O7x^TXE760Ulf+9gF zule-|r8k>-ly)>^idTuqV{S&vCnW2A!Do$$%+19%SCX;#3#=OH>}n~Z>3XKAa6!e@iLZHAEMU!QUxNB0u1w~_G$Th*Gi}Mz2wLc_ zH*b8IZAGbQi9cy)-1w!d7=37gEqM(3LRd$IOH@`LWe~C@hy`iwE9Pj}@zc3s{7dpm zO@mwFz$h$YMK?sIIH^=(JsQ@^@A?=YjE%G0=*LJlH*WTDwihtriZ@9nRsPZJk>k3$2Q#bokgGNo zclNDk^39oEmTCwxw^%~P+eEyIkH%8nq1A#BJ_|{!_OV0I%y*}=;qp4hz!Wmq2ewc* z2_>$eLby3k5mRuv(-duM^){dc*Ux?B3dl~~o|~CRuZBl->Bd1JxG*NE zeVQ3=3wHP}zDxrJe06n-fQ2&Ql7uMHGYd;ap!79s`FOG)5o>2la~4`T1Q%w#6Dw_? zVKM62x<}F~dqeJSmOdr!<(KdMHRz#k_-b6BU!eQ_OAQ|cF5ewKZaLt;R1W4OzFD4(xM$!Vh5G@)xT=IpquGIpp=AhSXuaXy zM}!_Fz(&d^@qFjn;^h_RyN)BM1Mt?HE3m9mJS=smbPDt>Rvinc^q5Ykmj=WRK?5rLk zvOvmSy4HJ#65{Y8gjbHqfuDR-)v5Q^x1-`RgM({4&_EgptUJM1!0-5wlY|*VY!6Cr zGNC2D(Gd=yTUXBJTjI8d$OBL?d9Dn$zAET2X1))vI?J}bV!dDVSy;*sIdqJnv!_@# zW+qY`eEkKz*GBjeF~n|cFu^%U@l<*a zkcSjnEj>%2?&x`Pr>sD`s#cxzBquxD>3%;upOJz=h>atAzuyF_Ud56B6-me=gv|cK z4Z*$TFr#7z6MKqb;)#3>P>@^uePhR9^=mr^2kW=+Zlc5_Nmn2{&edsfZRP_wEDmxu zCBR1-NutWNcnrCgKd&eHf`peBR@y&UFmPIs&c`VDXe3LTPSS_J!h(<$fbj{YI@iU$ z-E~u9(nU%}-P9^J>Ugagz}^qmM%9*yr4X+`{UD~wVdH)>=H1!Xcz?u&ZlLoEc+D5J z{||d_9aZJ_whJpDVh{!(jj#wwr5lv)?oxWu-60?fNK3b{=#rLPSaf%Tba&^OYrB0n zzq37mecw3aykoroF@~}p)_k7%%=^CXD|#Hl9r3u!@!F^i6}Uz=yiUT!V_M#rGS;k> z2ozK+d%%R@NPa==9;XLUfa0bFn5uN}vz_v9;lM?InjD({+x({}eh z0FDUk!!Iw~rg^QdJZl1^7D&>P>=@jyS_h{Le@sTbI*xy4+Yw{ijYc`5$e=$cp02Ps zR_YuoPyza$nQoYOT9w`6Tcd=On|B|Pe&nuMrc?sVH7B~1fjFB7V%0E}FN$n<_z?z! zHsk)wYy7q^L>M`!8G}a1e7&X~uYL$M(!&yGbSs&N=`TC6$>p}$5(GS7Kgm9T63rLZ zYy^(3fZA0YG_W1ldI6C!1I*w5I-|W|&wWva>0Lqb8oS>2f{UUE7!u33HLavxD0Dl( zSfpd0J_lT@@@!?Z2FZ8qD_ZIv2rD*Im#gLk)41MVs%xYayU}PX8$A!2=H_pl8%|v8 zKR<>)B99U&Jf@+RqmDWptq1A1}+W)PAs-3K+%AT6N^FkbaF{U1Q^`hHdy8lA`=co;WM7=_#n&o1b(r? zlkWiJLTT6OXeVsj=oO0fgje-5FZzF!0E3Hz23Cae;_=aJDDs`in;4I*>>Vz^J#Wod zFEs#;1!=1s+SXrg9FWys!CD(Ckq`~UhH??+>SZHx!rUZ3afI<=J*gGFr>g7uv43sF zlC-{l#)kwXb*hKW+5*){HU<0PDQM0w1aMn`UtQL>(X<40R;x*^!s->8UAH}9Tx|%x z{p|@nEq0gQ;H27!8NFhQA2gBdS!KEM0wNtF#-qzZ#X)bq>{Z>yiqB z56t*yoTCH8XaoTjE8y(dWnVG|mSj#)hE61KcDg=7!Albc9lHu?!7Wihcm>{X@IoqRtBkzSa>sBjbNhJ`zwMcS z`?$@{saUtSB8k1t`eZrDLv6EwH?N0Kz+=nRlOe}@P^xEJXgg|$YX0dMiEhC~RykL>w673X;s$7ZSTGSD zFnjZn47FP?c1iqE-I(Hm%l4~~BS0A}b_ez!3)wI+@(=c}wyf%pDUH%o$1AieEeP2y z6A?D9fZ?r|4A|dv2)6z4?E+D4zSA}49971hjRzkWx2~9*T<1rdds@G~pX*S$q#??0 zLAaXR<`P7zkir!z=^Jr&SWf%&wqez4&!PculI>_9cpM&l>KH* zouvYNIOnTT{YqOYDTj)YbVfI3L{4Wpp`U~n%>b9VpYYzpQC!|h(0ST5PXK$5j(dV1 z4ViY-hlqPg<$+i6*W8|^d>M~E*1!@|2~87niAd^Kh4~21yU1OvWomk&4sg`Cb6&dR zT)WFU$9!eDM3V}rh-Q=fUI!b64fUumkV z3vGhU)UdU&nbYWQ8?`@D6S^V)@QXmFF9eTCO3&8aAvY&^5b^WM9eIaGYISS>GpmiOE?c`Dvk(jLz$34GpEH#k^_VR%x2 zFB;y6Bh>r+rlFA$myuJ{DO&KVfR22Q)>bP+DTm`MzWQ8#TA z@hU~&`bGfE+Dk@JbKk!oyz~2|_8{>JH^aiRS6h zfXnFPN=#xNlM@qqNCEQza3OK+iZpFrT%7zpKLcm(k;F^EMv;;5Iz`9Djqq=N?=l<= zXrTlHDz1$VF)HEZDK~!R+4N!}4ct2dJ$1)sIk+Bc+YkG-;hwX}>|6LJM3u#C@H>zv zb87?Ywo{3M3g&chqoU{iv0()^evgXN#c?ab!kgI5q`sN$>F3ae^)HdUzW%TI(Q716 z&LIh3rU$6px3i%kvig!aB|c&&yG*ad2%p2Qo&EUvuW6h~Ad)AZSTE*E$g5jSFh$sL z94BQEYqYh3`eSRNl#mZskdoiE1&Yt>Db$FEmvQ0r8BPgX_mmn-u0Nh~eL- zC+SO+vy$P8nv0KXdQ}z&*VU_eyUyk6;6uyiU3hU~w@|`O4U6)MJ5uakf0qfSAfR7ik1+2b$IMP98h z*fz!W3+?zZdR!gL{KAT6AE0FmMC^3xBvB~hWJpT5%GW`i{4t{l-Zi#mcq9yr@mAft zvUC3a8|0>tuH%X+G}NXkxcsbPad8@X)k0rp`);o}{0z2|`Gm8}${9ksEw zAd5=OIXf!BfOv-gUti+2K*KE*1Jah0NQF|#xn;kc5>iglUR#O$i3(NpyHGpEJ`1l+ zJW>gNjObSrY4e@T4=6f^GygE@mVQo}iYz{OGd4<>%x=iIZHS=6up=2sylWpvsigDZ z0-pq%&SUg#+ZORNrZlG@miMHu=d=Us{`Ci8Wg|%g!>Eg&7Q+dQQ|9gA^G}XT=*#7p zb|oNFu^6fb-(y|`AIZIWCQZ-4q{c<@R{Rp9G4K_yKFn>^`q0w(icjnB=ZocuHzl5! zsY1$A%wH0=-~aH}{WubPeXP#s10(puqtXr7Y&TA*+IRo(h4~N}G~{B{&;LDJMgpuf zg;cMvJbz-(kpnKqe}~JVNz2F_$gA4_mn8Md(~H%NWB|Fblhs!Gr-gY47DiC2`pT*N zdx?0~OcI5y4Ed^K-_4mLf2}E80 zbT4$ky=d_I&O`d|eFPi>k^Wm;4sBnW{bHc)ZQb!sMq|Z}%xW(Vq7F^SAu|$vcx2E6f`< z{#C(c`}D7OTF-ikBSg+16gP^9&a2I(-tHR@I}M$f2zpSIri^SDnm!jH`ahG7-#?)l zc)z{_>A3Pn^{^zG5u9)QxNQraGTL{PwY=gm_WS$vR|*K+h@fN?`+&!9EMXI1gb~1T zv1(zfu^u;Zih+(1vF)4CM)d8z=@cjLm5uP5p%W}eN{S?&!}-H@mFlL!@;wq zg=BbH#&^+oEJtdOeqZRyFHcKehhsvBI%&i6CMRiE4{%}`3YCN0#g%Pz4^9s(A22XC zm4$y6yKSSI{|B1P7S(llh&>D(S+n@hvBdeU>Hnt5IO}UIHy)Y%>&^OFAQkP%fpi&1 zpKI)dJWdS15xV5iM|kM;<^xNted#kk{D1EdENUcA0&KmZrDT;zagBl z(~G&Rpw;_%Cv4mcEB`E;Oh1up(p`W2Z&}3e2L*AX8&Yn(IJem9@{FN;vMlV$YEHCi z*Z6r8KY2-Y*3#V90~GQZ+0EM{Q`X#w(%fN>s}hRXSQ3}Y5*RVlDpj+;y=XRISyyasRN zHr~p@69@P!Q`208V`=9Ei0KG{Kp-4bsue(_dD~^Rpwa;7N&rnkFB#Y}Hc7%g&w=pl z3&KD_W$;GR6}!spXo2VA-uY6R2bBD;vi>O zy&$=TiBY67l^7%-cx!H9p%r+D&H;s`UH7knBN_Lg-@ukJwngABPMx+^QE4dcZi5&8jvdLN-Eg)9z{4Ks*4Ily} zeqrIw^s<3sWtU_=CwI^QjD5c>(@$%DxH@6LRaeQG_~zBGEtUGYOl@KPLS%B1OOoj} z(Y_6BH6nGn<>fl<%6omZ{;1cTpIpE~&lfile*lwy6;}f3PZMYcLJ%tB8kmiGZ~1@s?u)4|#pYNUYDzJdnWI-bSn*tgMFHm6+dQT416NbV-! zi`xwvO2z|>?W4x0d-rZf-)DZRq=auErC$2ZKbMV$2+r3Og{+t7c->f8^CiHWfMd#| zMMia?aGV3_2QdJ|P#>+Zp#AaVM+vY;j|2J)yjz0=?w~!_liFs{rLF!60Oj^?8VSpw z=PO)NiqVfUJnvVAgH{BH^C_D_D3f-h;s86CZL`w%_4c+)`uO;?(-i?!rt2<)u!ujF7rJ!5Z&IPV6ABC^BV{+RP6I~H+%cCxw%M+uHl>9pbfp5x81|K_pvqc6P z0N!pAC&^*mC|67lUSO&SAhN5@T0T(t_9pCiks|$z3Qr=AVl97pH%#lR0Le1u*=7xge z#Y1+e23aLBFZ58;PN)vb9k&Aod~cf+Xt>pBm_6lcn{A;=VY&RM1BaWchm&}n$#2x| z%81L#R?0Bz0@&Bg(~1`;FSQQXzZ1aYMk|a$qmtDouF0&c2?i^{U`DTOC%U7VcH@&9 zQzmVfw^`Nc+n;TeEM`x9{yeHEpm>gm8(O@MPBY>w)`=|2h6sr1(N)Rw01m=~nN4O; zXby9Bnm0tZyn5*n;lGLS+QbvW2MJM2_Hh2o<1U8sRF-eqwV7Vt%eqP`3BZ6v6sv_R zvqW!lkwVpePAn+aLMc|=9+3K zbceIFV|gdPn7@&_c6}1ZdAaGFaFSe37ip3y0L+#zj|!*y@;5U8Fdjx*RNFgV)N*aZ z0`ML;YVhakbWtMM)@j4`#>x9eS&Flg<59yke!Ok{{N>h8%op+AXHOJHfB3b$`M93T z??XO2xHw!kbvsZQp3rFThiYk$%^V!NLSw4jVZVKF7hi6q)Hu{cIvL?ITkcVtq}s!m z)S97~R|Z`Omod)Ehn|zHA@2!;Xg1%pcZhE2WdT%1b0UuGD6)-#2uwJ&ZX#S@@1aC00Ydc^Ny# zSDkcM0)N^@S|Y@lpO~r`+1vGg_m9-^v8u&n+W9DC&Vyn7`TWvOTewifhY!35tlu%< zXpoMvm(pg;{;jfUTX89rrf(j3&7{3Ba1LEy+JHfzJ#sj%tN zv~o*cIqXkWHE9qbu-oUWAuDJA>z zWL*uy?mi8VW%Lld?WqCXAYVn73j^Im%eIB07hs|iMdd|LRpjJ6Uw7r|!-!Uf-3L~3 zb>i`u+Ylm?~Bt&1c^n*kYsf4R#al4wda#3)j!tsb*AZ-0 ztye~mt3nm;sGI#X4Nf%mUTuw+N#OzsV?tSaBgizaNeu6^B?nh+l9)B3GOttDiI@>V zpRMPX0gEjT*;Rm-+KqX9)1hsS!4r4rDH5r0ph@5zYdv?Naf1Uc?BWyUmbDU@!PE}} zEP@4G-U6#!I{%!H@r430MoGNHp4yG5p&kcBtG&FTPSC*?&)Z{YEZMJly}#f$14KMu zx~S+Rsk06w9@rordk+)e@$z`~iR6`71*ML*+C)o0=~;emY3zrWBepI7g=sLh({bcA z3iKWU-pYEnWC^SJ(g!S`n1TOFjNx7_37sS))G^Gm1u};JC^3|o8BkWC;KonAYLoZP6zbw3+ zx$m+^?9gLBu9CMDQ&Rgn6jh>(xEm;Yg#qjAVTqzFuQHd@!5N9bD&N6S^^$7d@leH& z?~xtML$7s}6O=i|xpY;7N^i#GpVwaL9H*tHXVMuWiw^0+(jv$fe@r%BTY8yX$bMsw`u&DOSq_4C{=nSBiWRKls1J*hT;Zl(5m3Si@!$n-l=x4r9;LW#bqKe<)=ZMh< z$BU7lHnzlm35alpJjfYt7UGJuFc{01`f%te8RZf8!w^^5tnFR{ja#y*_IN6lY#h@M z3V)zn?TQ-_KY%LY3snQx79rKUeFq?)s2R9~(}8@Py+<`hkHH%_lx@CZ zibPN8IN>nV^4Vq<_8n~jj84Cl0)k(Hw&_P^^vI~8wd*8FqZN+p8l@Lus5RpWeBVC3 z`X+?@lGn}kA~fmzta@e0Gc?|O%#3DPS5MjEJuago=fH(K!_9vTtAIZdu6KIcSQ~4T z4t-zHz_3K{WnZ*vBGqA`yIdj1i7n@(T6ux5O=oAKcFCw(`T98#Nfk=c-X(6z@P5(! zpwf=5q~l|`MI?<@VK~W(sksJ&h^CB8h!&tKESQdHkimf7(+C}M9+E?AH0CSw<;xeN z5)l{HsFkzpz6TyT&PB@%zP28_48KHL8)_YHJ z1J6rb*zaBQya-OOuB>>(_a!V*%82d9#(3WO>@maSHJ4h9 z%AWOpx(BC9cufN#=aMeL+J)8_qCcNxH|)P-u40*FQo1J=4W~rym^DNTF{ioOBxX!ZG>9E zlGm!)2Y&>@s;p!fK`j=KC$;OCypfmZ*;b>ge7MT;{G6^FS`mdqRz%k(k)o+e^rRc~G_J$y&yOnYn?#6i>Nd5brac88Y7v(uhGJ zt}u0KMn*2u&9ewfx8U{oo8hgAW~V%cyaQc>z%j;BMzOC3T1SWui5mL)_3Io6w6He9 zfxZpgm(4ewp+go%d;1Qw!xF~Sfb+4wJQfVo7VN%7~tl4<`y?{cjT_kH83ch`i z{A#v(tjQAcGbtA{(5O|qDI2F;WH*}EfZ~6(;&~2J~lYzj|^RaRPwsWmhH@61kmHwQaA^1i4`1A+V=t-AFqGBIvE_!p2EpxDu zI0hDL7qxu2``R!_c-vTe?uB80OM+g)6X?`ifmM|S4$fwO&WGb#*BMaw%GxCtImiq5 z-6*hgz5>=YFl?PfSI&DYhc@^6!XM3xX=P=ZI4X=~vk@c4S{k;~#=F&(6*mbl1P!KNs%C7gWhJeVv^P z0vKG~JXUhD=D=#OVL}($!PK{1z`xRN;;;^6Wu)z@?pK3mvYO<;xhUtIhV@u$y(`Ef zL(J-l7YCH##O%30Lx5!nyf;^wwr4tS;NoZ&6M>O{{F^)@duV2i$l&^ZAykdGrh+->_~03%m&X%>x5OXlPY1Ld` zd(Lp`>?SEYwY&B z?}K31iO39E4tT!h8YzxTNccjSb>~(M$kQPvF;b64RjMn^DCJ*0UQnt~m~}3`C&cCa zS#F`QL1x~Xx-|LfRd6zw>=Tnk`A}b@1K#|zs17dqI~Jj=Azn3y z+-5Pm4pHGb_7(Tuq&@BqLqg2>hsMn0nmuR|9MT5o2WG)LHMzX)IQKl5h_sENyR6M38ekhx>RJ?i@{^tU4z*&gCQpR(x0!WPnw|^KYB0fE2i%9W9KA7 za3?%GxNMBNM7u9lxr!vsV*G^XqId76+UmHPj7d=IQqrkOpy#|LxIM`_tU2#_BmZ2yJlrO zbU56AxUQVIx{lxN@n#@bp*ZO>IRBym)bt+Pxe6#P5Y(XDB{rSV0-ZXI!p}3ecSBV= zicC+Jvr-bX9GAMkR9RR6R7>R&eLHtVSA`p}McRTtX)a#rEMLE-2#eNLksKIxqUJB( zQ67^B6za0Gg5Chg7+_%4-2q|eU9-t2m|OD&YZgiQQ~HN%Bl>j?^`mB3+)jhLZvocO z50lk2!?TfI&vBt;^${8oNo#K9&Dc3Ro7g!nIcKul_Ux$^gI4`$Y_(+FteK%Dnq_bc z3GA|z5@iH*lSS*bFZUKZO)V2aoKYujSw#p=abfl{3rB&HZc^rT8f_b?EInx7wXi~J zl@Egz7Mi6d6*!%PGs7({Ey^p6mh%>Ys@nUS8DErbBT#?ZJFuPGf!DQ!qoX5*s{b+W zN9A@c+4{Nrfdndnjko@pEXa7L>+xJ}v*uB^HPh|1E7|H8nCFXWQdIq@I?!IIFnZF1 zWnyw&`*^$#x{PBLCvmU~(#5%3T3bstnJQT&b3P_ap+t0U;Msl8Js5dGAtFUpld4p& z7DF4_IY!0o$pr!6zQZG--jCdk9*&r+ocJf{MJMO1q^Wtf(7qf!4V(J3%r685d`0}z zC&oYp!jLtFtQZf4(RwKN|H7Zra@h)gBD&DUJdRUE( zX-@1~&cXHElKMI;3Za{AY(vcfL5}3*94KsuGbY|!w=8h)GRZ3rP4XH3mB^u8W50~Q->|uhuzs2O0uc7E|cXP zg-eI%QrrqbJSMjyHI-B>sRa-WZ7PXNNZ9i20@LC4C=~k}*AKh26q(9(-CoPbRP>uu zUY$BAV|NF^40CAbUS2$okwl!*KkJ1f665GzXu%(HTK;XSRuusyRu-!kxs7BU!|x$ zE>Id|KfvJjk&!;WpfCCDT|7Ob%Oz9olRIf}tWkSEHgpu1J6KSFd(j;nC%GmA4OMH* zhHjZjIEXJBUR&*8pJI7$py{#77>^2DlWxi$DpD_PtkP5sSskw`-Ssde0FOuR5K<3U z-3HJ!M8)X10#n5cKWl_(b{li9Ux;$w1JO0u3d+B$oFNl#C%4QEu^ckL8x7($A-ex~;wZKU4AEx2Y7f=+)t zQ*dD!%w6!)&l6irqJtrvIcqIaE5(pvK&}8kM%^2h{fSil=rA4fxY5e!fh$i&;W!%@ zF)%-!vFWyWhw5UV^CF2%S!WFRsQuOC@8#@t_MD3hCLU)2yMpOP&MxW!er~SCPKvxEHHyZ2(8$WEtPMPK}8(~tg3wTXS|!6#d_l9Gz@Cfpw{sp zSr7rd_#aRED`_SJ`>srnp5BNcyB{2s_HO=X{o#Amw_km}(L~;24>9w|5IyCk{&2!8 zgq8Dx9)m6Nb!Tl49yb^S6ss$8kfqHGjPKVB1K?*4pzW;icdC0H`SmF+MNAP7sfx0d z7@Q4b)Cp_qi%nhO7~3D27OM}^)WyB~F#wlskgT^V@kFq|`*BjI%7;uz0@Lc0%o8XH zF9;*B(Pgdjk}d=eq*a_L%8S)2t#!y(<1_zKX9XU-PuX35(VO#vOKa8~`Y zap8>thgO2?keY{M|C}}T_YqUEa=cYTugU8z)XkBJY32d9g2O*=aX<~Fbh#PoV*p%t zy5hL!D^Q1K(sHkWK7Y!0zouN?QHstd}fX5X$6h~S&PN{^E! z%G>ZA+CLur{32+$2X;rZxp_8WV4r^Zik|ZK+#y@>Iy`>VNZdru=<7?-h4%|bCf%9O zSZV!X`teU8A*2fWC)SVdTsbCweUW~(21aD@lQO5fl3|aN2>ad(cpT|@gB7xP;AMMrbZ<>CD=u617v>LyAL&HZB%AivGU(Xx{(mONafQKBUX=R3 zjN{8KA7iOJxpXIV5z`CNZ(JI@Pq2JgwjbI|bOmerH z)vmO&*!Z^ksr$C6vOx)w*#D5>{*Poh^|`UrxV0;-|8K?)l47bjO2jySHM-mGd_pj1 z2@i#CMFx(9kxsxILEq27pd*Fs@Rtu?Nh!W(R?%LKd_;N9E!14~|A`ET#Q)!cod)<` z|2MgJ|3ilRe}{YbKV-Q7A;Vp%cm6tm{)Y_re;~tEU><;i|HF))==K(Y<>%*VX=!Wk zkWFiz@R|vDSo7Td&k98#=?)5zK%7YDN{Pq>Bp%Gjw9xM*JWkk;VBvlOsF(GZP4f3~ z=bgk~E?~X_u1v7h)Q0iN3X22?1;xNIrm^5eD)?YQJUiWgAjAeNYS#Mge90-&_Xp?H z1WfGWrk=S54~-=3#mXQ;-`k3dwddxdsajHD-uHodJ}08#Sxvb-IQS-eZegW`Ed6h}nr+UEaX-Tl_Ou+vmAb z_&sT;s&=>jV`aKOqf{7L#2B;JQo~6mSDt;!PowMM=Pp$=_&F)u%T*FJ-tCcwC%3~f z(iXy~u+ZvLcc+dpXSDEUC_F|$VIZ5MP5LEp^w_C{pG&J0Xv{kbL3nv5&Pt(ul*iM) zm@wd7vD41n6?>f`^h4cREExL%iAq~rc`|Z7?D%J`5p6%#=x5S^v~j57c=sYr9QEo)5(0OBpnKgK{j;2YiD4gJ2l}~o{5~m+k{-UkfUSGUIr3D0!V40UInNS6_nG-{92(?hBl~>4Kz$X2A z+E@#Ye)ZT4vgBNhFT5&9*NmpFc%BGvTrX^!H}7myDbDYmcH#S5!O;t^IEp4aH^9zeOXc zZT@(Xmv%|<@hi64U>2OG?8U*wH9CLt)^!%}&RE?D{gPK}m_XSU_>hE%W)_vInZhF> zf&ZZ*?pmZet+p4iCAmh#FJ;&ze~g`Y#bgRBF$<-)GSti{9>Q+^oeKjIWEt98u>iO)JR#>`vh)a%J}pR9+pmF| zt42mfHir;#&jD6Qgs#`QG9t!2@A1OioWDxR6o4uo;;Qm151udF1QN@<_05sergORS zsnZknJl<;zzgmvJisV%98!8zE2ampdsxYob3D1APGHden*(`*kdDqNXLgsjiz`j+> zQC{6cYn_pSr*kD*6~&$5lSvO*C?D%f7;R}4dk07FT6$O*)}bIGha=Qu5F?2xCT>~d zG!JN)2VcQm_rX}gg&-el@z&y4U60RqNQ&h=kAZyi&;?Lef7NOc%vO1nsno6?k~Li~&t=4G%~z2M*M? znW;0N-lO2%3{x%AVS3qct%oyJF60qvtU2*|lD#WMxM8(C$w&ONUE)VA&Q>u-Uii##fl=ry{>rxs&tpkPy z_LD&tCiJJnWK0f_?B}pIv2s?-o2a#PBF+Q#px@(`3iMo=4poFfC zlx6@!D&j?T?lL$clL+B7<8Opn#eV+d9Bj09{vj>9V5xYPmb)rdDT^1AxLqrgR9AD= zw?w_$xOB*j%ZV14_K0ofW##)GVB#88B^Ft6{UBT~?i&5cS0H`Z^e#Ny;CO4r%^M^- zsRQolYVUUHb6>5=8o0Qmq}`MuQel6y?=*^o*~n( z*~iycc+uY!rb1o<5O|}W;x%(o)DaL9WV$glk5yL=q6(gGz%M-)A9peLbj}qHt15VG=CKG~U~iq9(<19ZFbMQ&1?-5;afj_6xNYK8Nf5wme45n; z#S$+~4h#&O1HLFx-`-&+#7TDEsWm?WCQ$Yr4F7dbUq?BUnT{Q17{K4%80Rfvw1PLW zHZ>B@f|UxFpXNFjJ=9bj3k-%@0e&gXSV=`o@_60-2l(U#{Q&z8NC`kDmAox@AY1HuMQn(yBc8>DyQ@jy& znG08m2nc?h*sI516wD2(30r9*Fk>=WS0yo8>f817bu+#(9KKoFB2~9p?3pLF3cATM zUznPjU!e%x$L0~t_YflO%aTFe%xC(Iv3;$3oMk0-s8-{efWU|MX0);^9G}~AoFk6O zFz^(LpyGE*4lG-Zg2V+100!;?jvh@CP*pE@CV3tKE2?Jyd*nQwr%UOf?YXC}0`Ie+ z&&v>k+r-6HV~6EL_A7go<=*wAXVyc3UM-`0`wX(n@gU8Ut;d4(gRPgdkN~Z3HOpPf|;DLDGSHsm!N3-E+PZ zfZC5aRhfGMsdw6x+q$%`h(^Rbpu%LCkoi?Qwm!*<4Zu1fsx4+Ax9>gDRPW9*>Ph&; zl@iB>V{d5} zpPBZ|PVR`%f&S&`)TLI4rq$Yy9+o>Tnpomp18&QaJi!mm>R^6%a5c1@J@$W;x~|72 zU0FAj&kfvTQ@dznVD{WHRimr>^Fz&$Y_Hw~cZp;3H#1^Jc7GUAp|mcQ6C+#~W4?x= zSm$R4hra;pjk3r<1~x;h@bGYkDb4k!e2c>%2>oC|0D3%~ybhLl5y%H9)&h$AnfEtf z`NjPQ1B|8+Y`l5P@fp4W*A3N%`c6mVaRcQJ14zLE|--o;%!fuHZ&8$Io=j@&33JKd0mv+uc}<| zn4tGAkp$vch%IC6-gbOteNTH?K~;gZEqW zs8yY*-+3;ZE{~b==8wPA9{wtYPy!pWxZz<=l^)aE9O+!=>Z8Jy`@>dKKZ(Kadw8j_ z|7m+d8Xl@VZcj78OG_L^b(6>R;ZjJ^kwFNVoU}K>hLhE0g0TivF&!fu8>j1=6Ynin z562`K>-r5BLeJe#D=1A&O5Q}f0zZ$ab2(r0Q(=+6I8AqE?s7F|JM_~@>5&UUevz7J z*^?$;RG0ZbJuH8gSsKjG*>abxJP4hgIlS!C!DP^jV?BpzcLOPCAF0AC8w-AN1bsHE z;+(a8U!y6z#E3Dl&U7HRRivPBJC33>&Z}*&27rl^hJsmDi_~Q|iy* zUwMb&e`rY5)@}7-@7j74Ap@;hTM8#WopAb$JI26j6l#Jcjx6ZKdq88SG2Vwv60_YD z6g9b>ysxid>)0ZgM^)w2=7wTQkxJ`31qj5%9!rsI^n=>!c3on<*K(pmdm6$D^$PoD z>W>!)jse%kV(`Ra(+U)MX#p6)ACJLWIGcn$97q%CEwR9}6&W%K2(a(x=~W(nyYK%Y zX#D=MxpMX0jd3Z;#6)TvdDrpJG57G=pQ;$2x;wn(Op< zUxlR06i#vlH%B`vZK$1?YHmx&bmQ^C8LGcLs-a+^{yrOfig73qLCpUQnmX<_qpr%%^Xl-#;~Mi;spyT4wiNN7w%4t&vIV9Q*0$UmpTEuC zO$yirGKctmCti%|b!%WO^Ai|9irPn6yUlzDomodiKj8A23|^EwrI&kqovyRnh0~l~ zoJ<}7I-H$;uDXnOCNebm401C(h7;011G)0K^Fgcixzh0 z`N_`Y>5h6^&COpyf4|@cG!*Zun)-+sHfiSi@~Vr=ReYiN{>{fRq;kStV^0=LI1Bc3 zIu&2|ew}-}@gR7WJn1waUE5?4FfDOAUW|qnw~SiUGmOGx1tQ*~S(%b;0dZ7|MdgH1 zv_-LQ5wLlkA0tL7A#s`-#IHNR?r_-70uDhUdU|@}vaIlL^}t6nO+jMLpp8+Qi&WrREHT4u57vZ>W0KfMnlsbFWyJ4-yJ@Pp72pW``AO=)H-J4f}IH; zDH?d$OG>Wa!W&k`=mbA!skoP2(cpD?s#_E%=8K9R0V)7hvxWBzCrU|~x9%ZYcTrL( zNH!W+&Xnmy6yJYwf*d>Ka@39F#GzpZ3-8^N5*Z&quQB-AUC~>o%^bkwBhD37(9fY` zZcs(YqeX2uWb}x(jFTzcokYkM@YAw#*y+D}{J>V_pzV71_HCeyY#-Sq=*O9}a)7*v zQy1Z^NE1#3NUugphY0Z#uwrTfV}E0n{wY9nWcH~AjruO5@7$aLNI=UHx_tNUKe}Jm z2S?_MgmD$etfBAADSOYGre;|`G|$dyY%F0fs?!DxjF|?EerH6);~>m(cI3Kyp8$8$ zop|v%8(Vs(rNFt3f@k@Y3!ug>brouprGD1DW=CZtexN`DxmLIdUS)j<*IQsJ+z|xP){{>ViE-Osp+IE+P3@9gxyM-9 z$qj2sDQ$Zl%)AU-IrA^8Y7W=$<7m~5Jkn?+tKk^SfOn_L1?({uba+NorplYEjri~$ z*o}y!GI@iHxaPXU$yJ;9!o*D0;Js5Lhxl@&s`L1*E$e`gLJqcRdXvbou$P;e&nwQ! z!um_4-+U+N>+TJn8D^D|;PT1yD|3j~{5a=PDoRX%$51d!4yh5CE68{UBszVN4#0J4 zOK`p<4TaP#*)8p|%vS)aMo$nV5BjqNhy*mPcy;z;nr@RVKeu9y;9;;G>jCDTc))Wd zh?rNSlVkR-U3@}viS^GHNaB_%wO3{^sWeC=>#_9A6}8JYE1%emn+td^Eh8~=JS~R5 z39H-AW6o-wnB$Eo=x{I3-@fBeB(1w>8(a@H)Djg;twsV*R3b=8MJA2`Jn&X2scci; zmu@#T95cW$`am0DqrK~vGblk*L=UI|vvS~Z=RFuW3|YA}8ahM^9WRm{+alMDA648{ zF%?QhiHLg|ql8sqHFAMcr-vONKSKca851*wApK6iO$s zVWWoceFxFt++9WMZ)HA~GInJ9)kCjTQlxUc-k6T=Yasc1TOPOBqRui`9!p%bn}<#X zFt%**+P!O$nWik1*-me9mt2OCV4fLF8Co6&t!@;D5}_$Uwt$$;4V_FI7{&tzXOWmR zm~g|te;2aByp{ojIp?<;k&FRjWyCDG9FTp=AyR_u@MbXuSgBiMGp44Q4pj?=1%v|c z3ryiyPrI;vDw0C@KFx@q1CgQ~43aeQt(2_B!(95+SaM(%ZJD95aSS(n4Y(qs}_yW z*@$nA&)oW6_jjup(!xhVi-TXYdn5W%O6mBy^{`_P#nnxfLD0V&G>1Lbk*%5bxg)g7 zFfxW{=os#2v|t?EXQ+-p28Fn>ov`icF@6|6r!CAw6;x2bH2qBH*-rZl{T20)XLTJn zfu`#=#dkGIKA4DNhAGpVH%l)$;Q%@UvPgfN-oXZ08=K-Y&<;l;dPEk@=1F_yN`w*= z)JXbM>%|2_Nr2{;)<$mH7cYvS8QO1*kIZUm^U14PmX3nye!lb-l@OLd>V0pL14af= zH^)p??tGMRwI;O09Z=EX%~`u-tkkvt(G$}G$_Fve;$pqta1{j&JtKiSD}xsfW}f-Q zx3z-uC3P90H$tM~3wHB|_=!An-l&%HeQ=;Jl9ruDP-MXe<7;?T(n!NsN83IR7gYgA zY2mhNAV21ET0MM~B$5>;hm3mnDV&N?y+jD?*hQYE`j6gOfbDQvh&ocZ%0igJs|3c; zc!LG`Sjy{^pE=(e_S-z@km*fT&}Kd5ct-#Zev=hxuPv+3KT)Z^0UoDCCvM$JZeIIW z!|Iv%i?kKS2-I-P+U-VL=IDGGV6V0$#oT|K1&~fwRX;cIBJ7A7n{?lmw#%qcl;IQx z8PKLWnRZHfH7My0{8twXc-!R6qgc8_?~xEQR_@ofPzZio;jf|ARDl&nkQ`nrSz;~s zt5CIN5ak{Gm|BS$%B26~b$P*c(*)GZap4aM*YF;6L+%tz7 zsF_4|gW|?cZ{{Ts)JAjUXmDpuSXb4rvWnyiOi(UMFlFCE zg-#sLPIw#mzU>%}S~Yc!65fzPn9E^D++6n6+P V@(vFDGQQF`PUKeA8;U(M(4@|@a1XLxwO+E;NyzXk_)E}5(JyuUAqg@!PNP&hLdsfe7k$S3P~ zj-DJhhi1t6RfDV0n9%|cji3AvZcU^wZv*>@Cr>DaCJDzH@uW!6-?;>tV^k@ytMOv%!t97e2m0Uq?IULzr^{=I-d8 zT!EE;5iqnkMrY%i-k5;ser(w#l30-JOu%RwlBtVOw&v>@7Usz5e&H zCLrg%et_025V8Lx!ziY??~bA&7y!ZMBh_jwitr!xF6d;AT}(0yME-VHF{YGAESCNQ zizwblK;ULXKIT*4Z?I6<6o6lW+Pehl{d(%(hk z-}|V69dR%I8(a=+CBgD6FXrDQt%nbzBwhuG#op7ngNYsiaKYu@6sbaGdi{^3 zKhr|kvOz~EcJ{t1#ib;YLpdjXL{;w6FEux1Z?2D3kGXoyJ)EU@%%%3$;e9msI|_-! zdoR=eVCw}8-bj(ftNb!{W)A;)r=^VbN$zA9GuP{1q4tc6zl@$2W2sud)HmiWq5!$ zA&(bSG9VNKx>fx2+8-Xj7$i>;F|I^aGS#{|)xmZ8r`lS1kB%d9XX@7u*C!~oj6$H~ zHsKFv3e|$s|Ft8gWsy9Imc^L=7in)D74_P-4GV&TiZn=fmvpBC3?M0ufJjLzjWhz% zFat<;NP~2vB1j`Gty0q6^2A?L>={ zNh@65H<+KqdTnywg(OGB{o&LfHTcY;!U56PLJq}XPHpy!1**DBO6_A+>2?99#^d(d z-=fOD{Sfin{wI^)($3ix)doY)EWZlPEQP(8JLlpN@LI+e1!Qh-4Bg6S zRH&$^iw8hNiI#~eAN}m*R?yWYQGrRklnm?{=hcF9d&h~^xg$Wt!FPhA{I^h+iQS8m z2Q7n=qXZU3; zvvV~fyRd^0-!d>T2)GBT^w9{#AR(s}_3v&QH&^G#HxBpq-CNLUO&8)iw&K)idpqQJ z#@+x=Vb^YrvX}adgC$r3-f}U_X?tbwd$2@l#Lyj_k&WP~h$=Yw(woE|hbSHp$!pZ*ifyRIz8F3rZ3%wXqZ2os zE}8v==A4Nq5ArcgTyoLBYGud@>*4$M2O~bMaeEjHNYT`(m7dhf=DgY(K<7=%TggIFuSz;5 zDZUowS+1>7TGH$G2QW$g#wVfAwfll4q*!`MNH5rahx$+=Z`xf#tIgN9YFz+@#=?}d zx!mbbXSik*{VF$K7a|yz%U=zHC+N+@NV46KZ^)}A_tX|%nIj)q2CJ;J#%t`-SOKvSLbGp4N_`X+u!f~4gH-uojsl@o+-ED#sn)q%r^;5l z+-eN36HK{&r*nn8h=-5sF?j8(LEEV5)Hjs6Y&!>X1&DR6Gax&>a3m%{K*KgQHC2}pg$?E{z5+@x>(20;N ztez|EyjOeGO)^CHsGY-&q*QyX?NC>}>KaK2pQ+H>H8!2%^xm#LSH2lX+$PoN{jM<5 z-StionWFBuar3l&G-?a#wz)|04Qz;79@6z2@u+pv1AqkLHWSnw(cq60;H@LBzBQT@ zhg;6G^%F~fK~FS85@Ze=z3(@p43-|Eb7t6&L_vr|871Li>rduxW`07$$zCGp4r?>@ z4PBWY`wM(BGZMbM1{9=cK}A(9`yNk0b(0U zL|Xn+yBbH~W7fO>oL3%VUmKmt1r^Z#woNNd+cmx(ShwcjorRRO_3i%Qw88AyXVJ!) z_!LD=1e~zk{m?dUY0TgMo$=@T|GW*P&3?VD_O8nb(1vrj%!ouQ;;Gnq1zM*iGo8ZP ziFsk{BvF)XPg{E^)!uOiSSg#q8ZWI1JZeRnH0QRbcZV(S@iuE;rvn{@4GF5?2BaVo za?B&b8t{oUo6|; zJNwCv8pp&WJ`DR5x5WgrFZucn#1CT~X96&O?NlU`6@w?BPct&fF+^|z4Og&P&q8&* zYI)UE_JCqBZ7tK<0;KjMLN+MhRtw2xN@a?axXh~l_xkneqkds06#A))m6@HLue!zQoIdb|4DD^7|d-L(%3O0@uumg&5Xbagl8H4PNA9w@H9lOlI$ z`EDp(H=}Bdp$TeiSIO|liK~o2&yq`r#zVr_VjqmR?TmNvxNX*`kH_f%BwJNA=^V#j zlt9mvMlGyBuP32m|LWI)s^_&z4nz5R#3+M4J)ns@yBu`S>F@|-F9A7)X;bn7GeUiN z9vq+lasjx04=_XG!5DoeA?uw`_3{E}qKXV+Yyw6&?jh*AJwpBKQlH7)i$YVBGKMlO zG>4ea4h}~zVq);P@8w9c^!g22cnF#H>J8mGJD`Lsy&ig3OK5fq=p7)T)fR1+paRjk z+b_CNw&A6`j&XV?MW8U7yfjk>i#Z|gxb?(FWp`#*$7LJ-jlyDgzUY4%OWDSfiQoyY>x@@*>y_7^l zB2@fv2>*0{)%->&4+)_9IsF<56s|6Jof8vo<@?eWhLZ}a@c{m7)|Zc0`ImVFSHA+E zXD)fdT)+RfOsFDd*0-|HQ9MzVNAGd!7HWjMfe4s%U7OoZCq-JPc-$-tQNV&Xe;&BQ zL{NkiE8k~4C>i3#&ob{%T|87Q9?%1zm;O`lgTCuxA@=T<3{9|G8UEBMl!MYC_NYux zZ|-eslx7kNKao{0yZt6D(an+++4F8)vyoX0<_v3hGEdS%lWWtJP{WtI zV@<-!aaUZKeI1J>>x376^TsEIQyHod;=8X+S2($NBsS`@eW#pN!yvCulB}px`dHyE zW65v&`Eun#>^DM)6-V@y@i}YP-jUcfs;XR@OqERkKzOGrD1Bbj1b6{0Umv{yR0Zs+ zs;Xv$fSd<6NJl0R3!*+ScE>5A2xHj{%GpYIEAS@jc>j3dRu+C+Af*{?h$kQ#^n1pn z4d|ClKv`wWK~42wPnCGU+DhO4dS8AM62GDlxqp6xU2bi+%y7$VBqP=!&G zqB8DBJ)O_JZ5#v5enN-Ssje+dmj!K}gt6b|e=DzR8;qyHo7F3#JaqPs+>UP;r=UY6 zo_N`&3={}DL1KSp3wv0w+#JhZ#SXd)kb2_o`XkQsm6m~(bu0Ir?HQW#&S>wS5+Q9N2L z?Ss^ndj{_0a^Pq(v8t~u{9Hpog#lXq>vINv<*RYsx1x689wM#aW>a07k!{;{s3m9 z1);V`V;r69&5b;IS93Qz!s1P=Dann(=~ir2!6SPU-FMu@Em_Tdn*B9P*HNpf?qziF zMX}kZ+Cai?A4|prcdZBU%(jGiGDJpTT z<(*wxQO6(n?>JTE3lcgD=;_bx(E{P&<)N=R3lvR6{WY(5)KCA^RUqT8 zU+Uw_&N>J92TMf;yr~VqP{d>XRRzB)%K63z>-RoL1dk*NQfER!L#5MpL-g04{j&kU zX82}>LX8}rwQ)J}6Gs7Cu4XHg_%WmLWSp$avzi0*a~g(SWsA7QEQa>`nC-YYDrg{* zCb6%*I9X+b(0Ve&=q3m`6*S9<%F^HEODpG74l@$XZ7AgpXrG=_@AfVfIOVlYevz!D zPEQi?rfYA6X{SG*v{TD|7&*oTor7#&kR)b0U9N@!9`Z!i{`t)4@#wp|w^ zWG?ffS=ni9?hLwS5h)=rAMzN;hx!>JgThl~dLMSdvaxJU*S*X)dp~eOUJXHgQ2u$n zA47wnN)xj$|8PB}W8RW5Txd@FK(Y8}M`_{+oNT^VuIJ`?=TofIN@TD1aF1rGaHK_-dfqYnxNk@Kqdz+IuIlq`^;M1B9h z%CsT|>L*+roZ;zj>BKZUw`7A95AJwkscIBtKlm8MKUra}>^?oNbmgQXa#h&l-V)*_S%ZT@Yo#Gh*Ohsh96;m8f z76xG~DISq4*Gz$Z97~tHF6h*Sm)HP2fLn6BhXeK|SI-+i_Ro7GAHM8%o(4&JtL@d&+D9sV2~GiQb_5-0ezkY^-B4|7%B9)IJ+Qf!k{0CVI&v_My)G(Z$I-^A_9AoT0gv+8Dgt6-}vR6lpvqgkl z92-QNHC$n15pj8X_~d}9ld-Gv`xk*qm}1g@=l)t|K$u#;*ZIEI>&II&E{i=xNn$cc zx4@<{qqeo(x@{+Rs74JJT{4qwep=H$B;lc<)8jYRVsyKsscNg#IZVP; zObgLdCb@2LrLBssUy2_fpZqWnC*gmStC%FT)?zur{QB_4E{MIj50AmwrxO;Q^sw2S z2T@QAj7GK#U@qDcIM>tdjRKRC#!1f$MhaY(AKACt^RTXM zc|0C01;-{)uBx(~)@4f%pB_cf&LbddMBHX*w`^B28tRR@WzE$_u*P}3&Rlm7q5wPR zo6FOd%SWDiW9kzPE~S6zA7^YSpz+54Zn9M-(LVv988RE&*zwavorn0sWz!X2$+Z6b zFr@*qg=eD4UOnR^^ky;n}Z!Y^L67{jfcDQXEgR59ga_iH>xn>0`wFu9zgL5 zZLQ&I6bek|HwsG_MuNYKpSa!CT#R%ARzc#~vpm2Q*Uoz40g_AQCY?A4{;)gu?n_Wo z78|x00FA=z+&n;-rCFRc&uEWc=o{rB zcNEu(KJ54IF7A;+JO?%+wiP1E3qv8oStp z%qUw>(vk#1?JsT_SWF32%b6oZc7hrK4z%D&03)L|LJZeDkk=ihPKNV4T{;J+O=)r^sYuT@4C(`s$RVZQKrek+V~*o zYeK&}daEvJF%T^iINgTfka7l6qGD79FcFsgE)E#;LkCWho()dckKrWTELx}NaIc8VJ+5;S7ENToX zV(4zrBElDb!e70T$k3j*L3-S1hyDKaI{-S3l!7GDE#&Jesk9*D!QQaOwHv4~qEiLl z)_1lhy6Pl_Ls0(Az51c9v!;B^`q&CAg{X~@;D&vo{7%SqAAohq|AFHPkq|sMA zmMh*1^Mm&+tu&NfVH-9R%eN$Bs@SsSaba7MVH>!L*!f(uur-C>w$0!EoQf5?YfcnO z;@r(P`Ls6~%-WA+Y;9oCT|Gn}<0%&9X#Vkaubv`9%5POtINw?XsSSj9M{m)cj<}k@ z<+`{!b>qkMXmlQq6M8{wZ(RK!zn*cCN(taAvM3#Alf+4F*@+JwhTc}Blmd)iw37eBFFGv)2@gt&J04SA2g8{FHzY; zetp%I2VY&q_be_p6|#HbBNkjP4|401l161In6j(te&lJG45DOT^A^u3bB+mX3FC!5 z{tzd2b;W-@TT&pU;lO=d1`ezf>ge^sT8pz|<2Y@LFJreSpVYdmStpO;5O@%@rN z?X?~b_GqG(?9Qd63ffX=DA~sphi$o7j7MCD{AuqK{85iPdqrs$U`X$9Nb}n0^J|VU zf4hi(MWRQfNNITRN@XVAx9YhU$;^d^iy#8bA1xA=y62}8w>)Y%c?@AeAd|%8gcrCjtJZUc&a%qvqe*QB&X5EV4Ymq9i_0S zLSgAV>E>|v^4LHBMvrKT6fAg=czt#Zvd*zfiM1Si)T?}Hc!D7_s=UzScbOch%t$g+ z@`<{Y<*T~gwUo;?ghyAa6`^ zWx=n!bIS=C5AJb}yLj?z9e;axFO9-TTZcwF{cCoAd+;g6O^=#iO}jrP`=NqJwL}rx+Mn$XZioU>A$Ul(H#R_vi;vO5x-Ir zKA~tTPJ=LE+oD#{90gP@;+^8h-&%=8Rp?nV7Oxf+F|78FY$juLZu;rT1mhEl+ zWr$K>f*+$rm;5%ZziiX{IP@bxH1Otl2f2>#&vQVDG=}vA0=E(vy#420dL#lSN$e8a z!S`Q=K#UkdE6m_uhOmSVg7D+W_}jn7@4rSfh6UD`IATxg&r2+(>>~y5_x|*l^3TJo z4FqdE_B@;L*9ZRgu;qr>ffqE3$a24C z#5df>s0HBRD@U+Njqx`nK>2V3^@%AR^_=`-H!CkzzJU9XFB1cLR zO82)dM#NlpPP%*LnZLSW0xhjFVW?MY-S`w3ayxKod zq@T8$N&2+)+*IZCdBS~0rA&O^V3|KJhm)_5@+~n$jPx-sN{u6!~eYdJraES(d9y`&AWSem*L3AstlMLoG6$79*dn*M+~#DqlZhZ5Rv`%-F}UiniO79nf$OzL&o znw<7@%%7Y0=A11_S$A!1SO+p#Kdr|TZ^D0VqAL%s;11Rl8U$%X)hY?d$D0vqle+aJ zkm5_`U3slV*?+t9slJU!4YtY)O>Q{ApiwU@U(WIj9nlM-KOKC~b@qF(@oT`}SWp@@ zp)cp&@;E5cMms(l;({NreK(JIDAh}kckS)Jm^2QoEqSWtB%5(A7th=-L&K!JYQXKt zQ{&dfZXeI_FH6~&;xmRW7tm(9(`UD=rl#BQBdVwcyYeXSscCAwoiCT&zg&Q>+`bZa zNoRU3*>d(T-)Sk5?55=QoCbe*VZdwWqU=0TX`!a}lo=`p=nT}_qio2urcv1w@>lQnj60My(CXb#j5K?gS?n%3mO+l;<4?f*RqvVWPwmx_50Wo+{w zpB$)mvg{->74E~aQt$}o8Ct}?KF(}yWJl|5wVwh%K_@##2RWKc_X=ho`JKOFmhMbxt_sd3H0vlg?l!es^b&-{QNP_$R(K{6 z^y$WD`G$^a`xmWZ_C}8}(f1DP1<-ARMKpaSbaWDm^lFrvFHWow^zzx+*&U#KOUuQj zM$BtT3qSy|R;5jvfp^K6Gcqz_i9aB|Bw5T;7g2Eq8Y2Xan1FIn{bOtENS({(jDE@~ z&_1RW5YTqd9wlv(hbC68g|SXq7Vx7m$th42^73HNXQnM-Os{mt6q4NAD@an@z;mBk zZpc*b)}cag5!h0|cp7bXMCV%v5_;NzBqN_!j}%b%(jYW>0B*ZCbNb{52rAzo81+F| zV4z#^o%f&HU>G0yW(8)ao}69xMUgl2WBaTxfn2$*q6O*dM&>!MgguSV8sQ!ZHQvo< zu1{m}-Vg{Tt4((Bac%p3&Uv9t^ZML%h#zeY=nMlUfQwtR!DSN!Y`Ps_f%2Q(1uI^< zoU|VSNdC@RMSmAVn#a?-5@r0QK)t^6?07c^AeIj5hoKE)jYejKF&@R8028+Ky(QQUou$|v-2T9a}c-Cenc#ZA214iQ)7O7KVHop4Q*5$3; z9XJ3Pfx%S~2WOkUi@(V)AbA|Ez+MM=14_ovYZen5WuUs%EV6?!!_|pg-qP5&_E=&m z7rK=dwF}Q4-uEtgC4)@qV|Xi(s%agN1-aZ41q_g!b^D`wbQ~PYo<%@}oXc)TMA9E; za1tmUjX2hTj@AbbEQtIGs3r|~^x|H*1%2x!pSZNoaycE|VPfYVp)KwyFyBmKSnap2 zJPiU%sRE%^{JK-Q);VSFa#x1mKE%PaD`L!Kd%#qtW_Zb6t#M$uOlO))KwlyeYamH?Clr7WCc_(sx%2bDQ;K2oo_=Z zX6tT-Aw`29kk63kyK>_cmg1G*SgDjZV;pO$-i~#)b9?KSNla%&VtUXwk?g6>1X$04 z6GVc0Jev_<&v;tami&C6-hhSZ&3#BBvx73rLtHdnmWa}rL9T9}S8g{K6-sZ2(oq!! zhhy@&^812{a}WI-BC`!xXo_VvzMZ3y5Pip7VbLrq(`H>EZvvVt1@UuB=BJ+PO0)4D zV3{&*T+@CiU-xq`Co~Kwt^k4w1_tF+JTzSduc@0cbMYlW8@|0kQ3>*ARt4{}#)hFQ zqWeMFOF9>RTPRf$bY?8{A}TWb5wYL(v+$@omCcI9m~U5WvgtF*FjY5we@BoS|FW2( zHN`0mSO)5{zEP+UU=bc+q&}JiJT(Z#?Gh^p)%Uok&ei!cUq1%iX6e}u5QlJnz{=q< zZokuT;r8l^pYh%W&01lSN}0*R=;dv7NHzoeJr2UphXed9aMgsytRN+jSa>oJ5n99U zp(q5Ys(FSu2r+OMHGrM>2}k40?lj#|`JugiSn;qx63MoRxAYTURjJ~^O0HJkerlx^ zc~jaoK9c&yL@QPT96Y>iGmG@R>KRI61P?8jc^|1~#mfuOl9x|{w`^BC#NRIH_%o`W z2<|ivyF6PGx75K!LH%h1QkIstk`FH4PCp=<0?0ngI9}(YAH%k$rb%+AC8}(QSpCOzgNqhZb~*Fv5s-uFp~ms*+*=(hmEs4? z)bHvrosrV7`US%n$diNBldO(W)St9Np+EhDvIcBq#?g3c#oVe@ivj>3GjkUF8xm%%{!nhwFJGr(BoH6-cO&|E_S za&^cUC*MVfCcs8EZUXj#52lXhm1CF zfz=#24G3taGnmllvAY_Gw&CN?EI z7%e3Iw$;uYE|qnPE2tBfo3mC)`b=81cdFd_7}@%BaY-5jeFi8#1NX$v<>Kp?pMJO5 z?*nN%98kNi@V8v;69wk7O_@s^?^lld_O4gH0 z%2hLi(|bsbEHloNHUxz$BZYBoRr{zj$3+-)GDW>9%`O{LOrIkuYVMWGMbqj1{#d~rxGrm_=`TUbFhkkHh^l6TyNfa}6EMvX~ z16SyRcaqvdA=`5MMvAr5^vh(@FKyE*X-j};NTbOB0E{dX@jp=y&mpQxs21AyA?!eC z_MsQxfI!E@)S6s7f2IBos6c4r!w@>72vyeG@-!N@0NCb7s;Ujjv@5uRMI%gHfi{Fx zcP*%K3YPlQ#0^1}C95}G6O)MR(_eWC}g&(al*jhh7fV^Lr3RJ4cMTYpw z!xfW+JuhSHd(A|GbaYLyLo7ER&a%CBh{!V(Y!k$xAm-?8P3ok>IF;9ySSY8mzG3{J znEp$Z)tG!Q=4Os;1nE1scE;#WDb4SWVO5engVdo>)34y{a&mH($9QXlfvgmbE(XAr zR5H!dK6N>)0-zY8V_i?uQ{*Tb6?vJ&Cu6)2f(5)7Xf=G{kxEgp{DN|3nRBBWt_5W5 zSzVP&@+YQqSf6GlWInl<3D%}JG#@JdXu-tHjach=s4qET(Xg4^JT+h6lX6Ysj${dw zKjG?A^NwvuHk_V^>Jo1Z2uJv}2Bde~TcM#K_M#>ND|zuOEBMsg$8KrP&CGX3FZkXhzkm6~>YR{On-WbFQswEspG--c zq1Iyd^`#mvoZS2D#p|}}D)VGfFVJRd2D^idKMMUlmb60d5Q~4qGgPlr-{uVKpgdhR z;lsSgqdt1L>^H<`pbO#AnmjOFk6V_jm`_`K#pn5DYi4HLKA@atnylDPW9EC~58koo zWY&%tNR81MtRYny*-&fiA}5EO5|-6dkhkZ%sJe!-HXnYd!1n$_{oK*^+z8q7mH{y- zskLWAdkNd@sFgKw#7%ZWPwO^{&&r7#H%{Z^`ccFaT-~nMWx2#u7DY1BbTgdCs976* zxUheP6X4k2@&jLz3F?P@rh(0*hh4r{D$bH-4UL{7YLib|sOU3HAZIlM(gCAyQjf&1 zXFG@jol8DyoJBNWiyxnYEd$(a`nb*e)Mf@>6LLH1M|YN{eaK!)YuGGUu1!A6rOFk;Rmfu~HZP2V_0@-wqKQiJj&y0ERqVd! zL6K=aef#ITlL(&~5Ufn#!@gkp-UPuy^<$v(=y%vS@f6q-d@Ce5jcmR$o3ciMGm*N= z2Ss5kV^H#YSRCsl0gUpzq;K*+cYL{4w*iU~(e;scY7=rNb3HnPdEZ^N)^5Z5Gdo9rpbi0WBCRwpYAv7Skcdo#>6btUxQ&D+~#vU$J$|ql(^->b~9b<_>*`6I?evlkSw$m%D zs^S;wQD-%Vo^{I~@6q8fX@^6kjMihqsCDW^^$Bd1Vk@VfG8I_LB)O&jh57MlEmV?; zAl3Qqp-M&3R>*q_rmyNzD~%gj3AA>;^n40V`)3DxgS57eVo)u znX`VfTcAadQP5oRUyzueF0>55#CFm&`8yS+Q)4;TH&s`t_qiV$Pr~apyabxNCh$vF zula&T_in%{L|HteQ49u_YD)XDLIJ6P?#(mI-2{B)49v5>Em=Pxi)r z+x0^Fk|t_59)T~)A-4-tsVk441m3YGWXI0%Er9y#%DuwLqN6EQC$Lk9n<-xD{OR=q zhb-{4OS|i~TVT2HBz&F7QivqPx`7%;?$if?o6BN8lvy1(e2^GV3_{Ka6&rh zeLmF3FUWtGyZDI5%NJ3XO(bcMJ!iK$sru?EQTKgKi1avbMf7ZEAhU8S^rr9>@Vp8N zHjYTIT=hPYINC2favB@Vt9w^e9-k(#E6b-F`t*vLlN8Je56{}qk(|f>7fI$8U9Q|a z(pwT0ZhjHdDQx&?=KEHkrfqj*ag-7IgDw)+#a)ywS;t|#az4DV3!o>B(Vd`uSmmNm zHVYVE4yL-kzB5L33gjgLMReV0SD=ez4&m10g52PB4^{UAEK|5Qt$ zHyPa=LdJNm2^*cWY%YrIJE-s~sUItCxu|ahGTH?s5SfgPXfcek`io3z@y4ptgvJ=NMep~!<)DMlNw~u6OWL$R;8VJKyI{Jd=pDuqE3Fs05SB^uH!5SyOZpxFl zf=!Y+qnXir>n9HWL@VCtRo3Hb-jf@GgPjO==NXsJ7-vt1sEbt4NZY=afX*D3JJM-a zb9n|2pXlryayj(7^HHlkb#!;jISn0|$mzvz&hn$iST-P?{amJRwN^NF$bB^DEk7ey zd^=L?A)qN1Q?WW)nVl`0GH80)3G{pls4RM2ovc{LFYJ69D^B8R$-3cFQqsdJnUPUl1bIR7UxU{jHDRo?2^kRT zoUV6!)Gy9AEdMfCS!q=YHx%UL-l3OPEFA$H(xM)gH&(An|6MX6lg&5M!pt*Ei;Ibq zfFi4BDMBgL`@#*-Nxq#x{qBo~`$>0==o95RX0aFBL8_$ij^R7*`}-4}RjmG@+4{M}Y<6lE{a}nO2Nd$;n8M0NNaM>l=GkIuJ)($V!Q5!0hEX)6 z0%-{M`k=={HYj)6?k9e9N|si}6bxRN%0ZTp_q8|&fr}1VxSobtr@E6sKCSZ6zBbIz zF%f8|i-3sVvX>IV^MR6@Xd$_PKh_&Supk_28ctq`;x44B))>+gDkda+rd@dZ6J*8% z3|G(9A&$1AV{l`OT|_VPN&Dd&!g{gd?23SiDTnG0vCYCVL~&mP66_{mUuTlLV(u00 zNllW?X8MKGBmkQ$x&e``9SM#<86*xC}tvxWaCYs4D%C7Fir!l5%Hb)ms!N z*kDY`M9hwyE!R+E_t^JbBav^KlSDlODo}AmgGP`3Um|yP1D%LABve%Si;U~9s2c#z z+95K;BT;xoiM{#gX{etWAU4GHAWE3I1YLB=i4^wFr){vRYyroPL&&T@Ixgw0ryHr5 z=U1y4!%E18u=9VlSQj?ESv};O377AZ zpRagzS)pV6D(YmAw&1^5#haMCUpaK=GSCHtd%i?q?@Wpx%O9@D-i~EX zR8lfZV4aR-C_G@4PN!3`4=K1%7_Q@uUlipTaAiPV@)(XVz=CgG51~+Z2jQW>zzX^I zo5ux(CFNrpHm?QzrZn+Fs?CowE`V3mTT`g3a)Qw3YPmR3m`29w!;1CSp98pcn}cv% zJaGi_Y$6a!;8BiLO$;v%E$$gWFLa+ov^D1F4@KjdLf0Ey*n zWr|7U4e*H|DcxP9Q^D$oOG&K{aM3$}+fe}_z&_O5)ddF~S%z$QwzeWJ_Dd-)nhJ~+ z2U;Um;yL%rs0)X^y4e|HKWx$}=$5Qjt3KkZRWoIR)KjW;P7{!9a1^%lMZculASiy^ z06#xHREQ)OWlfgS(64=-afejkOC}j1Xe=Yl*0l%}5(6PnptFS--?K08lM@3zjvkSI z!8|X*e~@ax_DyIzwDV+(BwpJ;pNqQhfGKvur(Ek`SA$)6Fk)t zYBFLs^w`q7$^&E>ut2J{t3JdUnJ4U`0T(aS-n($U{H@K z?>bz7l;iN}R~&?-0MA;t%x`Ibg>N;FtQKNZsxQy=b*Rye6z5x;D_F@vg3*R@Sf5M& zbL+YP7X2VoeHLl2;+v*~)11nlgY)}hJO*Y5FDrB#zF0VXe|LcOUgiO41Cp&`@W-K_ za8FE3cgiWtLhnX zW^{ouD6m;Va8Q`$Q!LwRKxxPwK>P+7rNg08s#ZPM55Otx29+XK(9owU%}{A<8&7kG zH=a^VGS6?>#p@AC!4ak!Dt2&oF!Xta{enD+Z$Hf4UrG12U&P5S`PGZY1qaIZ&}H(| z^s-*k-qzw+N68-T@!a0a;!Y2dRClQ@(|%A-To~_DR)dt^>q@b7zIm421ObI|e&fj%O z`JA|oVuT{q3Fy(-u;`;KbCvmr`U?PPcW1q3R;X&>DS%eagZNrKAQ3dmpf`uzk?z7e z8OwOJ9dTEt|Etxjj{N~yica8>jF771l?6uef<*r=4OXAm*|w}CG1*|(6KH5_Toq_} zepJAb6~w&S9NQ%3aa0x{@p=h6B_N2w9OEh8?=@>nVI*-nlP5n=BfBTvXQC-0N*!O; zhfBqZzjS#CnSfL~pAb3IA}M3PZ{R`3to(*z{@G?AGoUAdTNVM?T%)nwT-rRqek>sI z*uQ0JaHygB`S8<}`I>0F953j8;1^j485Ir-J-v*#f~af^rrIVY?ZE#) z)f6aS+Ycv~C#88*FUkS*1DOZm2WF4Vr*Mu z<)#W%jJi%9^*_cz>717fJ>XMTW+uR04&(>1XoV?KT)p0DRkYCOW9K`4i(c7No~Dy_ ziP2`rQ*GU#!pL@mI4on2DVEKVgrhWuBWM_`XPfoUCjc{q|LfPcoy}U^7fs{zHP;U< zUADJ`sL&}1Z2I5Gb@#~!m!Bs#-+(nxYP6N|m0pt;PPA9NPBf5XpfNQZV$O^Mw``*o zM89Hr{()}Q;BIw2W(nfTa+l42jx}e@9KY_Ysf3vx40V0tnD(rc0G4dPBYgEH`IV{% z7^zY`_*Q-x1s;p1ZeRgL6q8X=b%)$SzZY|aGO!B|I}F&wF7dq*?q9(zsUsV((T+r-MIG1h@`cLrCM@PEn+qFa z!^E1a-hB$F_(tO0_dj;dfBxz5+DD6Evbx=y?=6H}-%)pzqN}EPVcROZLh%tb?5QUd z^3m2BG`*|o1p51T03Jh;zS!%3{LRB6NNHGbo-n&2rRX{mu94}fNev6ti|(bun*q<&3#l+RoAqvR+QpW`-DuDLj#V-JTn^Y|9;9@ILpi{+Oa$s@2x z0?}oZ;&pZA*&cAMFOB9~v=sb+DQ7XJYdGzZ>Hf@Pxo)Ca z2lrRGrcbQ&d>Q$s{=(Fw$F<2-+AIB@V*T%?@~xM6|2BYj{dy0$wig;4=09iujob=@ z&=uEgbJF)1f{v0mAA+&%o!+A56G|a<#^dSz5ufG}`yX6qGo=ZTs!ofD@ zm+j7N8dn~HJ(!_dRz+fP)oc7`<|I<6RTu)Yh4#@M-u-qUf9=h0)W|*k|0`r80PTfJ z3}XCg$*-Xw2?0o9^98zt=f8eEfE1#@ZU4B1q3_2KkivcC_|-oz01_cK0PO)??+1Uz zur(`z(Up3Cd`$7@;nfBKNa6nq)QWt#F}+Hy^=|{9{nm|g4>sSO#y<8hrh%OnKt}`a zFNgg3_yg>mAz%5&pK2`{9Er#sNe><%RZ0(ZxQ}(Do5AX2^V}*XS<|y;wE6n^`Fu-LmdRQA*A?NnH~+l- z@&Zsiq<~y98%(xYkZl!nVNBqM7~2EWlMYwVznZsQ_x#Vcf%cm`vH=Hz%&BWVEw`g2 zMk+Sc6rV;b(|%1s-1cqz2d>T0b{w)Usi}zkZT3Ie443%>`%i3))yJ!tTd0mVRINWFF4z;3byRN znW^lM^mdK<_3_}ptjHv~Yf6;5_G9|Zvp4K?IaMroJ5NX?LnE0r7lV%p7xq^iAo7Ju#m( zBOuc)$N~Wi)WgGLKV|UxZFxuxoKDJ)L+oddl5WWIbb4It5~dji9Fe6s*SQo}dz}<6MbZ_2_b|^-Eg)sw7iA5r z_Hf4C^n)L&^M>ZsSAaP=6~E@E zrqjef7S>Jzp?#<+uG~Yh`Wt8n;b-{p<94WL`b}9_DV?)p+7NHX1o^uq_lVQ=+a$5h zlIySZSq#)f;tIGQ6zORNp=BeaPnfXLaRu$?gQlLhVsHV~?V7&A^1i13JNEGERDkE1 zhwoFQ1~RDt+2>fK9rDP#T6px&| zBxQn>!hMbNFR&=)ojWlDS+d=9agV8OCMsc|KHL4HEfkTBAUIcfv4muo7OXUYU6YDsu*u^SdusflJYyP2wChIWI1&eN~;ZksXrsAIhyfn>$YG zXDIIfIFJAF+$C&ipOC>EZ7K@qt4C|p-3ve>wnJRrhPDZnnR*bHFf1-~?leA0Z_JA6 zRnnap7rX(B<98H2>jHww4v+)0jp)0o>ueKllF0bjWf4#*lmP&i(;qO#pSc8SF;kE; zA~*+GbQ3_cZK-OrF0<5^0u#21E~u+05?+Qe>;)Bmn!f=3d=c&Vz|JcY=VRlU|my| zKt-OOvFr^DW>jjGGvQ!wKWr!;U%@S=oFbG{f+_pEK~{frO|8#9qEm>Qpt?8zKla``s;RAe8&yOF6af`ck={i>snWYN=}l@tKx#ngJ%BU? z>4MaN^xi`U6_q9+gdPGa%@CS&5<>3A_nh;pXZ*f#?;YQ`WsLk64Ox5dwbz>Sna_OY zTnaZ{I18vA;+#N^iEgp>NI+yzNb&_qvEJb8HhKXGXi0}!^aq))TG|Rb%5RXpjwK=@ zDsw4bZxMbW^!W=ll?r!4U7c`P+*zUoO0IB_;*jM@{=0Wn@9mWHRjcY<3}y2#BF~k- ziPuIgwmtNUaksl_>cb$kO$=*PDxy0to}AO{@9W!KlEA#8amfS_tFx6FR>D%*6tYsx zeN~Q?uc83g(mcu}78VxP15mbnz&Z4k^Zvqi77!)zT+yWD38%86pGX?e(N79;NjnV+PxpvlR4osId+RBwe_i2@uWmHhv*We?5KA zZ6xc*{1A6&UPnT`Ab)Ep`tmiA_>joUv{al8d(RS0d_SlLEKGx_;#8@r7$qx#2GNqb zAL7-w_&}P}NbmhSkqnW(!A!47zL9L+H3UvCea!B?22k^f0Bvf%Ef=v%IYpTk!AGJ6 zoCuo$oNj90z!Nj(_NE``%hV0X7%he@#!Ei{~FXC^uFJj^zU8=T9jQUw?Wdpqi;WEg$FLlG5yZ5-Jq({aFm~Y#W=3O zYBu|@@w`2M_rv}7c3oT!Mv9YHa8HK#ze%JE3&#bq5RKV`zoSbcSzA+($11u`7Rt_e zpm1Vx`X1vw@NFPXbs^vQigBsfT@umT*oS&rK{}VXK7pKd9hl8#Sq!c#oGE73dB&WT z(S0i!4_19y3Cl~L*82e(FE4z4spz8>r9qb8nrLlg=r^nGq3CDN;sJTuxj}(PpW=X| z)5qy>?Dym59s1F7N&NtYJ!+Q9Jj6CZTvv>d<`gon4hTL{A?HvnY2k!k&_Ey6eBIRi+q;`9BRkP z&TcH>vQDHpa_nQzoxTEEff)$M z4d~sm15|p8+rpvpatj}qPRE}Qo5k#|atC0xwa3p@gU2h(miLuO6&@@Ah4Lds;`Q

1r~eD^{XKE{FWmY_X#PpGCjN^W|NFT9lVyee3x5CMxBZY5 z=>GtI|NpiWA@GWtmIhwASlB_+;@!DyD%KiG08V%U09pM(Q#%Pf%9&d;+YcnR5UvZc z_$oYN(&CzQwIt)2IG11m`Wk%LNAnJglBij20anvu(f&ls$MxAoH zy_OTd9W~^C@#w;NWU!?j^;iIl)-HH*r($otb*+UPRtGZCY_cakDM>F@>4Pv>BIp_c zphRwikKZsFZ?BFC7}xpf_&JWfrfIlEqfZGMr&$(KTOE}VI07J}Q{OW@bP#eS@7dVb z?O8=x9s1WrmVKEzuD!l(y_fJGIS@=h$Axba7c7k#*lrN3q5$2>27=8eI`J}cH5{bO zKJ^ycf}dKOLm8YlK_5`D+|uc2?Q-XwP{qMgSq6OTmL;Bdpz1V`?!0-dor0d{T77ZX z-K8M|2*?1-X%O+i_50$HHUxxR7oUL!sExdcAy)ZJd0VSXVCmp6Ipz25{JiT99I`$~ zewl>|h-r9WvNZ7py_cT>$G8quRtCwh?;fS9K_%@~PFa`r4NxZwA~P6D0C6#|wxj}M zSrWJm*(pLELl}+(JW-9n?fRR&JvF=@_zwgYJQQ6c)FEXe9ELt>IBStE7ksy+gZVWc z&w^41K4<)XrUn=y{WM5dGZo(xp7{IX4La9!3$gLPofx0aHmUQY5I)j50G+q)F!SoX zvcl4)Ry=1U^Ig}*o9+o!ueWd)bC*GeO7b<^ z8n5fOs^Dd6R)s~8X^OWti8Rn&DVb9}wQd)P&312^3>A>jd0Ph<*xBcD0l@CjsW=gb zKR_+SJUT^JY)Zy_OF(kcq&-%AZSuWJLxE|labKp!+IRqe|BDpCUG<}~k4*Nf_LEI0 zV&u=G_U`7{w;($W7Y%X;sj6&h-+lmVNW}MY^LMT=`w8eg+8O*7xBR8elaw8WI}(zA z?n@vR{s861gMfp%`07L8V-N6-Ib0fGC7lD9ba!_QsdNpTjlRM6 zeed6MuJhylA;Q4S^E`X6xYxbzwF95aL2ln5yn%v(a$8DLOc4bIEfNLg`oc8~@QSLi z%vJE;6$eF#2ue{GF#`M`X7obJSXLH=9(;cd<%+)<3fje=fPaMG9}3FVv@0mT-gNO= z8tR|FMT<B_^!wdS!hQ(-lW$xasHBH+b$_@M{$5j>0%% znGBEiU#A_?1-2M?>Q*@;}!>yGtJa)#D#t79yv)f-1$r zQiA;tw~pdVHFfo$Zh+P3N&ojj(e4IFy%JJ<_H6ylf345Ok3!^u z2mkQ$E1_rLS@rexY5!q`z-`xK{?iTU-zN{p!N%r&_}@DLu5ed!j{hHCCchhn;tPBK ze&qUpZxFaJ*rKg}cp2s2ExIt7f4AtuHvaXZ3-|s1+>3yR@Bc$6k*sQ({o-%*EeN;N z^T>X*#K52Usjbld#yBmv{X+O_^qbPYsOT`U!2612#swf zkAoZkzhft-Z{zuyCXIZ`W2LNT5!2o$vO@*xlyr1-mHeLt2WJ#x=v81w?Xi7%Dh%A` zr#qQ)$vm@nT3$0kpu`d2^;U3kqv0a$QlE2gZntg29{GZUMD$KB=G-oBhoxJ`y=gin z`rlxNt&zsh!(L4_!lS;d^o&e>Iw$>7hIaR<-Q1hU>ZM|wHdB^ora1M=xr&Olj%K+U z6?xIjx>HIn@hTgGHrIB;(!CAR1pTo{B1?_hrEBaLVQxE1iZ%8|^4z@-E(hEeci&8z zxVG$6Z}YRqI`vO;gbB+7_6(}W8=TgLV)Ba{#!hp!>zsRP*mmAd`FUq0u^7BFeL@!@ zGga@FY1W@*d{_R2stzAjiqspkK&wV^vu;a(t(0i2V>!h`u8Vs)sb@8(m{u<7QL5*5 zpeJ%~xYTOA^5Y4YX^&8?BZ30%z87genD=&)IfKhk#lxgCf!Yt_c4Ub`v&1RobhVv9 z&1UTyOg>d0l2$$?WNGH~a>kl@=}YEws(^8a^s(US57Dgh?YUs)*fZowyEwjfG~I9+ zQ+of7_t7H0dX;suN(>_@gGwG1zLu@8sU98g#Vv0j?@>y$XuC`rb;USY%yCV7QYP~_ z*^e)1WH-)uo$Pa5l`P_YlRGf$aWL)E$hX@g8kv+tY+QV(W}@N&_K*SYaUi!x=AGPl zy4}t!bF#lNANGmh-lYuL)Q?Ii4jqM*l$3D)*8*hysc9Sf01KEyY1>7$2~ zzItk@R=5o2sq|&Z5;=6)cZ61K?1)N~@)y7~HVQDjov$iWOKtZurj zxrbns@3Li9GExRXMM|^E5PKR`)>asieSK3Qrn(YIN?WpiM()K!UaQaWP67%-s*B>f zTLY->>_WSk2XhUW;k$}oJ^A*tzOzzD`7a^JD&OA3AG>p#Z&>$@L?~f=uR*7npv@E? zTVLK4#*-d+)0OX0AiA{6a!nc*+j|u)Ykbu6jW5@9;Qq$y&z?V)|A_@@kS~fi8HDlP zaq}l4JCzA|Vq}fOa$83{Tjy+&^~u^@$RsTT_H<1}FwbSTlx%DoD%9-MDxGf*3p+9- zd}S;1F`3uJ+TjzWb`K<&=^boY(0Tp+{KRb6?8wj58?tZHQ>PsjGF@?zb3S9`W=jZm z-Eb_8k3rtt=btdiS_X2J#1H!EY%%YUI>K$%9x(Ig6=ylLrV2J59sQVa=#C+>t`-K4 zh-;eV#UAV3HP{_7TKd4oSQ_ufgDd{g?t80l~qJwZ5YDvc{tu&j@lrN*-SB>Z)%m}4CwBAeb!kfp091!B5KJZq;KqnJR=pZ82#^^Sc!0K8t*-F;y#v`k;~r zifxHD4Q6K}-4+FkaecsRl`B{jPvE7pTT)w{^zPk5$b4~U#t=!?sSoNZj*pTgQbK2f zGp-X}AFL@P93){i3^4F`Od07YUIH8ulO&(g&(S-ZMkH9-d25Q%B+2fb<;cfRCF2Pk z7N40s&c9;IxA>f&=r*(P;QR;^JiB%a-Emz{87#oT=A=az8J6}Zxu`FQmd7L&xVbBB z?h@qB9hKEhd#%)K=Cn;cTthEAq8a{scC$#wwISKvGDVm^8MktUxk}B???jz%BX@V8 zOE}Upy`x0OZqg88I9N%2&m)_Z@7{&B%ZwW3Ii5$0aSDRtZ+NG4ikC|Sc+FO$>=)bO z6UjW*S=_c;X*cRmUJ3i+JKKHINMRuQ|D^nAYs}$z)(e>^?vmU^C61Z!fls$`iTrn-AnPIh

;w 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 { const key = fromHex(vector.key); const originalNonce = fromHex(vector.nonce); const plaintext = fromHex(vector.plaintext || '00'); const expected = fromHex(vector.expected); - - // For OpenSSL ChaCha20, we need to construct a 128-bit IV: - // [64-bit counter (little-endian)] + [64-bit nonce] - const counter = vector.counter || 0; - const iv = Buffer.alloc(16); // 128 bits - - // Write counter as little-endian 64-bit integer in first 8 bytes - iv.writeUInt32LE(counter, 0); - iv.writeUInt32LE(0, 4); // High 32 bits of counter - - // Copy the last 8 bytes of the original nonce to complete the IV - // RFC 7539 nonce is 12 bytes, we need the last 8 bytes - originalNonce.copy(iv, 8, 4, 12); + const iv = createChaCha20IV(originalNonce, vector.counter); roundTrip('chacha20', key, iv, plaintext); @@ -220,111 +217,99 @@ testChaCha20Poly1305Vector( 'rfc7539 test vector 2', ); -// // Additional ChaCha20-Poly1305 test vectors with different scenarios -// test(SUITE, 'chacha20-poly1305 empty plaintext', () => { -// const key = Buffer.from( -// '0000000000000000000000000000000000000000000000000000000000000000', -// 'hex', -// ); -// const nonce = Buffer.from('000000000000000000000000', 'hex'); -// const plaintext = Buffer.alloc(0); -// const aad = Buffer.from('00000000000000000000000000000000', 'hex'); - -// roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); -// }); - -// test(SUITE, 'chacha20-poly1305 no aad', () => { -// const key = Buffer.from( -// '0000000000000000000000000000000000000000000000000000000000000000', -// 'hex', -// ); -// const nonce = Buffer.from('000000000000000000000000', 'hex'); -// const plaintext = Buffer.from('00000000000000000000000000000000', 'hex'); - -// roundTripAuth('chacha20-poly1305', key, nonce, plaintext); -// }); - -// test(SUITE, 'chacha20-poly1305 large plaintext', () => { -// const key = Buffer.from( -// '0000000000000000000000000000000000000000000000000000000000000000', -// 'hex', -// ); -// const nonce = Buffer.from('000000000000000000000000', 'hex'); -// const plaintext = Buffer.alloc(1024, 0x42); // 1KB of 0x42 -// const aad = Buffer.from('additional authenticated data', 'utf8'); - -// roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); -// }); - -// // Test different tag lengths for ChaCha20-Poly1305 -// test(SUITE, 'chacha20-poly1305 custom tag length', () => { -// const key = Buffer.from( -// '0000000000000000000000000000000000000000000000000000000000000000', -// 'hex', -// ); -// const nonce = Buffer.from('000000000000000000000000', 'hex'); -// const plaintext = Buffer.from('Hello, ChaCha20-Poly1305!', 'utf8'); -// const aad = Buffer.from('test aad', 'utf8'); - -// // Test with 12-byte tag -// roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad, 12); - -// // Test with 8-byte tag -// roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad, 8); -// }); - -// // ChaCha20 edge cases -// test(SUITE, 'chacha20 empty plaintext', () => { -// const key = Buffer.from( -// '0000000000000000000000000000000000000000000000000000000000000000', -// 'hex', -// ); -// const nonce = Buffer.from('000000000000000000000000', 'hex'); -// const plaintext = Buffer.alloc(0); - -// roundTrip('chacha20', key, nonce, plaintext); -// }); - -// test(SUITE, 'chacha20 single byte', () => { -// const key = Buffer.from( -// '0000000000000000000000000000000000000000000000000000000000000000', -// 'hex', -// ); -// const nonce = Buffer.from('000000000000000000000000', 'hex'); -// const plaintext = Buffer.from([0x42]); - -// roundTrip('chacha20', key, nonce, plaintext); -// }); - -// test(SUITE, 'chacha20 large plaintext', () => { -// const key = Buffer.from( -// '0000000000000000000000000000000000000000000000000000000000000000', -// 'hex', -// ); -// const nonce = Buffer.from('000000000000000000000000', 'hex'); -// const plaintext = Buffer.alloc(4096, 0x55); // 4KB of 0x55 - -// roundTrip('chacha20', key, nonce, plaintext); -// }); - -// // Test with different nonce formats (96-bit vs 64-bit + counter) -// test(SUITE, 'chacha20 different nonce sizes', () => { -// const key = Buffer.from( -// '0000000000000000000000000000000000000000000000000000000000000000', -// 'hex', -// ); -// const plaintext = Buffer.from('test message', 'utf8'); - -// // 96-bit nonce (IETF ChaCha20) -// const nonce96 = Buffer.from('000000000000000000000000', 'hex'); -// roundTrip('chacha20', key, nonce96, plaintext); - -// // 64-bit nonce (original ChaCha20) - if supported -// try { -// const nonce64 = Buffer.from('0000000000000000', 'hex'); -// roundTrip('chacha20', key, nonce64, plaintext); -// } catch { -// // Some implementations only support 96-bit nonces -// console.log('64-bit nonce not supported, skipping'); -// } -// }); +// Helper function for common test setup +function createTestSetup( + keyHex = '0000000000000000000000000000000000000000000000000000000000000000', + nonceHex = '000000000000000000000000', +) { + return { + key: Buffer.from(keyHex, 'hex'), + nonce: Buffer.from(nonceHex, 'hex'), + }; +} + +// Additional ChaCha20-Poly1305 test vectors with different scenarios +test(SUITE, 'chacha20-poly1305 empty plaintext', () => { + const { key, nonce } = createTestSetup(); + const plaintext = Buffer.alloc(0); + const aad = Buffer.from('00000000000000000000000000000000', 'hex'); + + roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); +}); + +test(SUITE, 'chacha20-poly1305 no aad', () => { + const { key, nonce } = createTestSetup(); + const plaintext = Buffer.from('00000000000000000000000000000000', 'hex'); + + roundTripAuth('chacha20-poly1305', key, nonce, plaintext); +}); + +test(SUITE, 'chacha20-poly1305 large plaintext', () => { + const { key, nonce } = createTestSetup(); + const plaintext = Buffer.alloc(1024, 0x42); // 1KB of 0x42 + const aad = Buffer.from('additional authenticated data', 'utf8'); + + roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad); +}); + +// Test different tag lengths for ChaCha20-Poly1305 +test(SUITE, 'chacha20-poly1305 custom tag length', () => { + const { key, nonce } = createTestSetup(); + const plaintext = Buffer.from('Hello, ChaCha20-Poly1305!', 'utf8'); + const aad = Buffer.from('test aad', 'utf8'); + + // Test with 12-byte tag + roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad, 12); + + // Test with 8-byte tag + roundTripAuth('chacha20-poly1305', key, nonce, plaintext, aad, 8); +}); + +// ChaCha20 edge cases +test(SUITE, 'chacha20 empty plaintext', () => { + const { key, nonce } = createTestSetup(); + const plaintext = Buffer.alloc(0); + const iv = createChaCha20IV(nonce); + + roundTrip('chacha20', key, iv, plaintext); +}); + +test(SUITE, 'chacha20 single byte', () => { + const { key, nonce } = createTestSetup(); + const plaintext = Buffer.from([0x42]); + const iv = createChaCha20IV(nonce); + + roundTrip('chacha20', key, iv, plaintext); +}); + +test(SUITE, 'chacha20 large plaintext', () => { + const { key, nonce } = createTestSetup(); + const plaintext = Buffer.alloc(4096, 0x55); // 4KB of 0x55 + const iv = createChaCha20IV(nonce); + + roundTrip('chacha20', key, iv, plaintext); +}); + +// Test with different nonce formats (96-bit vs 64-bit + counter) +test(SUITE, 'chacha20 different nonce sizes', () => { + const { key } = createTestSetup(); + const plaintext = Buffer.from('test message', 'utf8'); + + // 96-bit nonce (IETF ChaCha20) + const nonce96 = Buffer.from('000000000000000000000000', 'hex'); + const iv96 = createChaCha20IV(nonce96); + roundTrip('chacha20', key, iv96, plaintext); + + // 64-bit nonce (original ChaCha20) - if supported + try { + const nonce64 = Buffer.from('0000000000000000', 'hex'); + const iv64 = Buffer.alloc(16); + iv64.writeUInt32LE(0, 0); + iv64.writeUInt32LE(0, 4); + nonce64.copy(iv64, 8, 0, 8); + roundTrip('chacha20', key, iv64, plaintext); + } catch { + // Some implementations only support 96-bit nonces + console.log('64-bit nonce not supported, skipping'); + } +}); From 6604723f41e1de09fb7748c165004fd7a913c0fc Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Mon, 2 Jun 2025 11:57:48 -0300 Subject: [PATCH 12/13] chore: update buffer and quick-base64 to latest --- bun.lock | 12 ++++++------ example/package.json | 4 ++-- packages/react-native-quick-crypto/package.json | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bun.lock b/bun.lock index 4c230c97..535c2ed2 100644 --- a/bun.lock +++ b/bun.lock @@ -23,7 +23,7 @@ "name": "react-native-quick-crypto-example", "version": "1.0.0-beta.16", "dependencies": { - "@craftzdog/react-native-buffer": "6.0.5", + "@craftzdog/react-native-buffer": "6.1.0", "@noble/ciphers": "^1.3.0", "@noble/curves": "^1.7.0", "@noble/hashes": "^1.5.0", @@ -39,7 +39,7 @@ "react-native": "0.76.9", "react-native-bouncy-checkbox": "4.1.2", "react-native-nitro-modules": "0.25.2", - "react-native-quick-base64": "2.1.2", + "react-native-quick-base64": "2.2.0", "react-native-quick-crypto": "1.0.0-beta.16", "react-native-safe-area-context": "5.1.0", "react-native-screens": "3.35.0", @@ -76,9 +76,9 @@ "name": "react-native-quick-crypto", "version": "1.0.0-beta.16", "dependencies": { - "@craftzdog/react-native-buffer": "6.0.5", + "@craftzdog/react-native-buffer": "6.1.0", "events": "3.3.0", - "react-native-quick-base64": "2.1.2", + "react-native-quick-base64": "2.2.0", "readable-stream": "4.5.2", "util": "0.12.5", }, @@ -372,7 +372,7 @@ "@conventional-changelog/git-client": ["@conventional-changelog/git-client@1.0.1", "", { "dependencies": { "@types/semver": "^7.5.5", "semver": "^7.5.2" }, "peerDependencies": { "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.0.0" }, "optionalPeers": ["conventional-commits-filter", "conventional-commits-parser"] }, "sha512-PJEqBwAleffCMETaVm/fUgHldzBE35JFk3/9LL6NUA5EXa3qednu+UT6M7E5iBu3zIQZCULYIiZ90fBYHt6xUw=="], - "@craftzdog/react-native-buffer": ["@craftzdog/react-native-buffer@6.0.5", "", { "dependencies": { "ieee754": "^1.2.1", "react-native-quick-base64": "^2.0.5" } }, "sha512-Av+YqfwA9e7jhgI9GFE/gTpwl/H+dRRLmZyJPOpKTy107j9Oj7oXlm3/YiMNz+C/CEGqcKAOqnXDLs4OL6AAFw=="], + "@craftzdog/react-native-buffer": ["@craftzdog/react-native-buffer@6.1.0", "", { "dependencies": { "ieee754": "^1.2.1", "react-native-quick-base64": "^2.0.5" } }, "sha512-lJXdjZ7fTllLbzDrwg/FrJLjQ5sBcAgwcqgAB6OPpXTHdCenEhHZblQpfmBLLe7/S7m0yKXL3kN3jpwOEkpjGg=="], "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.4.0", "", { "dependencies": { "eslint-visitor-keys": "^3.3.0" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA=="], @@ -1890,7 +1890,7 @@ "react-native-nitro-modules": ["react-native-nitro-modules@0.25.2", "", { "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-rL+X0LzB8BXvpdrUE/+oZ5v4qS/1nZIq0M8Uctbvqq2q53sVCHX4995ffT8+lGIJe/f0QcBvvrEeXtBPl86iwQ=="], - "react-native-quick-base64": ["react-native-quick-base64@2.1.2", "", { "dependencies": { "base64-js": "^1.5.1" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-xghaXpWdB0ji8OwYyo0fWezRroNxiNFCNFpGUIyE7+qc4gA/IGWnysIG5L0MbdoORv8FkTKUvfd6yCUN5R2VFA=="], + "react-native-quick-base64": ["react-native-quick-base64@2.2.0", "", { "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-r7/BRsRl8QKEhS0JsHW6QX9+8LrC6NNWlwNnBnZ69h2kbcfABYsUILT71obrs9fqElEIMzuYSI5aHID955akyQ=="], "react-native-quick-crypto": ["react-native-quick-crypto@workspace:packages/react-native-quick-crypto"], diff --git a/example/package.json b/example/package.json index abba3a5c..ea3ce771 100644 --- a/example/package.json +++ b/example/package.json @@ -20,7 +20,7 @@ "build:ios": "cd ios && xcodebuild -workspace QuickCrytpExample.xcworkspace -scheme QuickCrytpExample -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO" }, "dependencies": { - "@craftzdog/react-native-buffer": "6.0.5", + "@craftzdog/react-native-buffer": "6.1.0", "@noble/ciphers": "^1.3.0", "@noble/curves": "^1.7.0", "@noble/hashes": "^1.5.0", @@ -36,7 +36,7 @@ "react-native": "0.76.9", "react-native-bouncy-checkbox": "4.1.2", "react-native-nitro-modules": "0.25.2", - "react-native-quick-base64": "2.1.2", + "react-native-quick-base64": "2.2.0", "react-native-quick-crypto": "1.0.0-beta.16", "react-native-safe-area-context": "5.1.0", "react-native-screens": "3.35.0", diff --git a/packages/react-native-quick-crypto/package.json b/packages/react-native-quick-crypto/package.json index 5fcc73f8..eab9c4a1 100644 --- a/packages/react-native-quick-crypto/package.json +++ b/packages/react-native-quick-crypto/package.json @@ -68,9 +68,9 @@ "registry": "https://registry.npmjs.org/" }, "dependencies": { - "@craftzdog/react-native-buffer": "6.0.5", + "@craftzdog/react-native-buffer": "6.1.0", "events": "3.3.0", - "react-native-quick-base64": "2.1.2", + "react-native-quick-base64": "2.2.0", "readable-stream": "4.5.2", "util": "0.12.5" }, From 9175d3e5021301ccaba1f70bc85805e0b13304fe Mon Sep 17 00:00:00 2001 From: Renan Mav Date: Mon, 2 Jun 2025 12:03:57 -0300 Subject: [PATCH 13/13] refactor: init with template-like pattern --- .../cpp/cipher/ChaCha20Cipher.cpp | 62 +++++-------------- .../cpp/cipher/ChaCha20Cipher.hpp | 15 ++++- .../cpp/cipher/HybridCipher.cpp | 23 ++++--- .../cpp/cipher/HybridCipher.hpp | 6 ++ 4 files changed, 49 insertions(+), 57 deletions(-) diff --git a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.cpp b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.cpp index b4b7280f..c8177a93 100644 --- a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.cpp +++ b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.cpp @@ -6,60 +6,32 @@ namespace margelo::nitro::crypto { -void ChaCha20Cipher::init(const std::shared_ptr cipher_key, const std::shared_ptr iv) { - // Clean up any existing context - if (ctx) { - EVP_CIPHER_CTX_free(ctx); - ctx = nullptr; - } - - // Get ChaCha20 cipher implementation - const EVP_CIPHER* cipher = EVP_chacha20(); - if (!cipher) { - throw std::runtime_error("Failed to get ChaCha20 cipher implementation"); - } - - // Create a new context - ctx = EVP_CIPHER_CTX_new(); - if (!ctx) { - throw std::runtime_error("Failed to create cipher context"); - } - - // Initialize the encryption/decryption operation - if (EVP_CipherInit_ex(ctx, cipher, nullptr, nullptr, nullptr, is_cipher) != 1) { - unsigned long err = ERR_get_error(); - char err_buf[256]; - ERR_error_string_n(err, err_buf, sizeof(err_buf)); - EVP_CIPHER_CTX_free(ctx); - ctx = nullptr; - throw std::runtime_error("ChaCha20Cipher: Failed initial CipherInit setup: " + std::string(err_buf)); - } +using namespace margelo::nitro; - // Set key and IV - auto native_key = ToNativeArrayBuffer(cipher_key); - auto native_iv = ToNativeArrayBuffer(iv); +// Implement virtual methods from HybridCipher +const EVP_CIPHER* ChaCha20Cipher::getCipherImpl() { + return EVP_chacha20(); +} - // Validate key size - if (native_key->size() != kKeySize) { +void ChaCha20Cipher::validateKeySize(size_t key_size) const { + if (key_size != kKeySize) { throw std::runtime_error("ChaCha20 key must be 32 bytes"); } +} - // Validate IV size - if (native_iv->size() != kIVSize) { +void ChaCha20Cipher::validateIVSize(size_t iv_size) const { + if (iv_size != kIVSize) { throw std::runtime_error("ChaCha20 IV must be 16 bytes"); } +} - const unsigned char* key_ptr = reinterpret_cast(native_key->data()); - const unsigned char* iv_ptr = reinterpret_cast(native_iv->data()); +std::string ChaCha20Cipher::getCipherName() const { + return "ChaCha20"; +} - if (EVP_CipherInit_ex(ctx, nullptr, nullptr, key_ptr, iv_ptr, is_cipher) != 1) { - unsigned long err = ERR_get_error(); - char err_buf[256]; - ERR_error_string_n(err, err_buf, sizeof(err_buf)); - EVP_CIPHER_CTX_free(ctx); - ctx = nullptr; - throw std::runtime_error("ChaCha20Cipher: Failed to set key/IV: " + std::string(err_buf)); - } +// Use the base class implementation which now uses our virtual methods +void ChaCha20Cipher::init(const std::shared_ptr cipher_key, const std::shared_ptr iv) { + HybridCipher::init(cipher_key, iv); } std::shared_ptr ChaCha20Cipher::update(const std::shared_ptr& data) { diff --git a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp index 6819b5b8..cc5991b1 100644 --- a/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp +++ b/packages/react-native-quick-crypto/cpp/cipher/ChaCha20Cipher.hpp @@ -1,13 +1,17 @@ #pragma once #include "HybridCipher.hpp" +#include +#include namespace margelo::nitro::crypto { +using namespace margelo::nitro; + class ChaCha20Cipher : public HybridCipher { public: - ChaCha20Cipher() : HybridObject(TAG) {} - ~ChaCha20Cipher() { + ChaCha20Cipher() : HybridCipher() {} + ~ChaCha20Cipher() override { // Let parent destructor free the context ctx = nullptr; } @@ -16,6 +20,13 @@ class ChaCha20Cipher : public HybridCipher { std::shared_ptr update(const std::shared_ptr& data) override; std::shared_ptr final() override; + protected: + // Implement virtual methods from HybridCipher + const EVP_CIPHER* getCipherImpl() override; + void validateKeySize(size_t key_size) const override; + void validateIVSize(size_t iv_size) const override; + std::string getCipherName() const override; + private: // ChaCha20 uses a 256-bit key (32 bytes) and a 128-bit IV (16 bytes) static constexpr int kKeySize = 32; diff --git a/packages/react-native-quick-crypto/cpp/cipher/HybridCipher.cpp b/packages/react-native-quick-crypto/cpp/cipher/HybridCipher.cpp index 969c20ce..b602990a 100644 --- a/packages/react-native-quick-crypto/cpp/cipher/HybridCipher.cpp +++ b/packages/react-native-quick-crypto/cpp/cipher/HybridCipher.cpp @@ -48,33 +48,36 @@ void HybridCipher::init(const std::shared_ptr cipher_key, const std ctx = nullptr; } - // 1. Get cipher implementation by name - const EVP_CIPHER* cipher = EVP_get_cipherbyname(cipher_type.c_str()); + // Get cipher implementation from derived class + const EVP_CIPHER* cipher = getCipherImpl(); if (!cipher) { - throw std::runtime_error("Unknown cipher " + cipher_type); + throw std::runtime_error("Failed to get " + getCipherName() + " cipher implementation"); } - // 2. Create a new context + // Create a new context ctx = EVP_CIPHER_CTX_new(); if (!ctx) { throw std::runtime_error("Failed to create cipher context"); } - // Initialise the encryption/decryption operation with the cipher type. - // Key and IV will be set later by the derived class if needed. + // Initialize the encryption/decryption operation with the cipher type. if (EVP_CipherInit_ex(ctx, cipher, nullptr, nullptr, nullptr, is_cipher) != 1) { unsigned long err = ERR_get_error(); char err_buf[256]; ERR_error_string_n(err, err_buf, sizeof(err_buf)); EVP_CIPHER_CTX_free(ctx); ctx = nullptr; - throw std::runtime_error("HybridCipher: Failed initial CipherInit setup: " + std::string(err_buf)); + throw std::runtime_error(getCipherName() + ": Failed initial CipherInit setup: " + std::string(err_buf)); } - // For base hybrid cipher, set key and IV immediately. - // Derived classes like CCM might override init and handle this differently. + // Set key and IV auto native_key = ToNativeArrayBuffer(cipher_key); auto native_iv = ToNativeArrayBuffer(iv); + + // Validate key and IV sizes using derived class methods + validateKeySize(native_key->size()); + validateIVSize(native_iv->size()); + const unsigned char* key_ptr = reinterpret_cast(native_key->data()); const unsigned char* iv_ptr = reinterpret_cast(native_iv->data()); @@ -84,7 +87,7 @@ void HybridCipher::init(const std::shared_ptr cipher_key, const std ERR_error_string_n(err, err_buf, sizeof(err_buf)); EVP_CIPHER_CTX_free(ctx); ctx = nullptr; - throw std::runtime_error("HybridCipher: Failed to set key/IV: " + std::string(err_buf)); + throw std::runtime_error(getCipherName() + ": Failed to set key/IV: " + std::string(err_buf)); } } diff --git a/packages/react-native-quick-crypto/cpp/cipher/HybridCipher.hpp b/packages/react-native-quick-crypto/cpp/cipher/HybridCipher.hpp index 7f418ba3..2d3be51f 100644 --- a/packages/react-native-quick-crypto/cpp/cipher/HybridCipher.hpp +++ b/packages/react-native-quick-crypto/cpp/cipher/HybridCipher.hpp @@ -46,6 +46,12 @@ class HybridCipher : public HybridCipherSpec { enum UpdateResult { kSuccess, kErrorMessageSize, kErrorState }; enum AuthTagState { kAuthTagUnknown, kAuthTagKnown, kAuthTagPassedToOpenSSL }; + // Virtual methods for cipher-specific implementations + virtual const EVP_CIPHER* getCipherImpl() = 0; + virtual void validateKeySize(size_t key_size) const = 0; + virtual void validateIVSize(size_t iv_size) const = 0; + virtual std::string getCipherName() const = 0; + protected: // Properties bool is_cipher = true;

3+0Aa8H*5Ozx=9}6c>v-Ye=J2(JP6w+j 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