summaryrefslogtreecommitdiffstats
path: root/tests/test-crypto-pbkdf.c
blob: 85ed1f9b3339268f159c0020395a6d5794e4ba36 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
/*
 * QEMU Crypto cipher algorithms
 *
 * Copyright (c) 2015-2016 Red Hat, Inc.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 *
 */

#include "qemu/osdep.h"
#include "qapi/error.h"
#include "crypto/init.h"
#ifndef _WIN32
#include <sys/resource.h>
#endif

#if ((defined(CONFIG_NETTLE) || defined(CONFIG_GCRYPT)) && \
     (defined(_WIN32) || defined(RUSAGE_THREAD)))
#include "crypto/pbkdf.h"

typedef struct QCryptoPbkdfTestData QCryptoPbkdfTestData;
struct QCryptoPbkdfTestData {
    const char *path;
    QCryptoHashAlgorithm hash;
    unsigned int iterations;
    const char *key;
    size_t nkey;
    const char *salt;
    size_t nsalt;
    const char *out;
    size_t nout;
    bool slow;
};

/* This test data comes from cryptsetup package
 *
 *  $SRC/lib/crypto_backend/pbkdf2_generic.c
 *
 * under LGPLv2.1+ license
 */
static QCryptoPbkdfTestData test_data[] = {
    /* RFC 3962 test data */
    {
        .path = "/crypto/pbkdf/rfc3962/sha1/iter1",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 1,
        .key = "password",
        .nkey = 8,
        .salt = "ATHENA.MIT.EDUraeburn",
        .nsalt = 21,
        .out = "\xcd\xed\xb5\x28\x1b\xb2\xf8\x01"
               "\x56\x5a\x11\x22\xb2\x56\x35\x15"
               "\x0a\xd1\xf7\xa0\x4b\xb9\xf3\xa3"
               "\x33\xec\xc0\xe2\xe1\xf7\x08\x37",
        .nout = 32
    },
    {
        .path = "/crypto/pbkdf/rfc3962/sha1/iter2",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 2,
        .key = "password",
        .nkey = 8,
        .salt = "ATHENA.MIT.EDUraeburn",
        .nsalt = 21,
        .out = "\x01\xdb\xee\x7f\x4a\x9e\x24\x3e"
               "\x98\x8b\x62\xc7\x3c\xda\x93\x5d"
               "\xa0\x53\x78\xb9\x32\x44\xec\x8f"
               "\x48\xa9\x9e\x61\xad\x79\x9d\x86",
        .nout = 32
    },
    {
        .path = "/crypto/pbkdf/rfc3962/sha1/iter1200a",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 1200,
        .key = "password",
        .nkey = 8,
        .salt = "ATHENA.MIT.EDUraeburn",
        .nsalt = 21,
        .out = "\x5c\x08\xeb\x61\xfd\xf7\x1e\x4e"
               "\x4e\xc3\xcf\x6b\xa1\xf5\x51\x2b"
               "\xa7\xe5\x2d\xdb\xc5\xe5\x14\x2f"
               "\x70\x8a\x31\xe2\xe6\x2b\x1e\x13",
        .nout = 32
    },
    {
        .path = "/crypto/pbkdf/rfc3962/sha1/iter5",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 5,
        .key = "password",
        .nkey = 8,
        .salt = "\0224VxxV4\022", /* "\x1234567878563412 */
        .nsalt = 8,
        .out = "\xd1\xda\xa7\x86\x15\xf2\x87\xe6"
               "\xa1\xc8\xb1\x20\xd7\x06\x2a\x49"
               "\x3f\x98\xd2\x03\xe6\xbe\x49\xa6"
               "\xad\xf4\xfa\x57\x4b\x6e\x64\xee",
        .nout = 32
    },
    {
        .path = "/crypto/pbkdf/rfc3962/sha1/iter1200b",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 1200,
        .key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        .nkey = 64,
        .salt = "pass phrase equals block size",
        .nsalt = 29,
        .out = "\x13\x9c\x30\xc0\x96\x6b\xc3\x2b"
               "\xa5\x5f\xdb\xf2\x12\x53\x0a\xc9"
               "\xc5\xec\x59\xf1\xa4\x52\xf5\xcc"
               "\x9a\xd9\x40\xfe\xa0\x59\x8e\xd1",
        .nout = 32
    },
    {
        .path = "/crypto/pbkdf/rfc3962/sha1/iter1200c",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 1200,
        .key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        .nkey = 65,
        .salt = "pass phrase exceeds block size",
        .nsalt = 30,
        .out = "\x9c\xca\xd6\xd4\x68\x77\x0c\xd5"
               "\x1b\x10\xe6\xa6\x87\x21\xbe\x61"
               "\x1a\x8b\x4d\x28\x26\x01\xdb\x3b"
               "\x36\xbe\x92\x46\x91\x5e\xc8\x2a",
        .nout = 32
    },
    {
        .path = "/crypto/pbkdf/rfc3962/sha1/iter50",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 50,
        .key = "\360\235\204\236", /* g-clef ("\xf09d849e) */
        .nkey = 4,
        .salt = "EXAMPLE.COMpianist",
        .nsalt = 18,
        .out = "\x6b\x9c\xf2\x6d\x45\x45\x5a\x43"
               "\xa5\xb8\xbb\x27\x6a\x40\x3b\x39"
               "\xe7\xfe\x37\xa0\xc4\x1e\x02\xc2"
               "\x81\xff\x30\x69\xe1\xe9\x4f\x52",
        .nout = 32
    },

    /* RFC-6070 test data */
    {
        .path = "/crypto/pbkdf/rfc6070/sha1/iter1",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 1,
        .key = "password",
        .nkey = 8,
        .salt = "salt",
        .nsalt = 4,
        .out = "\x0c\x60\xc8\x0f\x96\x1f\x0e\x71\xf3\xa9"
               "\xb5\x24\xaf\x60\x12\x06\x2f\xe0\x37\xa6",
        .nout = 20
    },
    {
        .path = "/crypto/pbkdf/rfc6070/sha1/iter2",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 2,
        .key = "password",
        .nkey = 8,
        .salt = "salt",
        .nsalt = 4,
        .out = "\xea\x6c\x01\x4d\xc7\x2d\x6f\x8c\xcd\x1e"
               "\xd9\x2a\xce\x1d\x41\xf0\xd8\xde\x89\x57",
        .nout = 20
    },
    {
        .path = "/crypto/pbkdf/rfc6070/sha1/iter4096",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 4096,
        .key = "password",
        .nkey = 8,
        .salt = "salt",
        .nsalt = 4,
        .out = "\x4b\x00\x79\x01\xb7\x65\x48\x9a\xbe\xad"
               "\x49\xd9\x26\xf7\x21\xd0\x65\xa4\x29\xc1",
        .nout = 20
    },
    {
        .path = "/crypto/pbkdf/rfc6070/sha1/iter16777216",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 16777216,
        .key = "password",
        .nkey = 8,
        .salt = "salt",
        .nsalt = 4,
        .out = "\xee\xfe\x3d\x61\xcd\x4d\xa4\xe4\xe9\x94"
               "\x5b\x3d\x6b\xa2\x15\x8c\x26\x34\xe9\x84",
        .nout = 20,
        .slow = true,
    },
    {
        .path = "/crypto/pbkdf/rfc6070/sha1/iter4096a",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 4096,
        .key = "passwordPASSWORDpassword",
        .nkey = 24,
        .salt = "saltSALTsaltSALTsaltSALTsaltSALTsalt",
        .nsalt = 36,
        .out = "\x3d\x2e\xec\x4f\xe4\x1c\x84\x9b\x80\xc8"
               "\xd8\x36\x62\xc0\xe4\x4a\x8b\x29\x1a\x96"
               "\x4c\xf2\xf0\x70\x38",
        .nout = 25
    },
    {
        .path = "/crypto/pbkdf/rfc6070/sha1/iter4096b",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 4096,
        .key = "pass\0word",
        .nkey = 9,
        .salt = "sa\0lt",
        .nsalt = 5,
        .out = "\x56\xfa\x6a\xa7\x55\x48\x09\x9d\xcc\x37"
               "\xd7\xf0\x34\x25\xe0\xc3",
        .nout = 16
    },

    /* non-RFC misc test data */
#ifdef CONFIG_NETTLE
    {
        /* empty password test.
         * Broken with libgcrypt <= 1.5.0, hence CONFIG_NETTLE */
        .path = "/crypto/pbkdf/nonrfc/sha1/iter2",
        .hash = QCRYPTO_HASH_ALG_SHA1,
        .iterations = 2,
        .key = "",
        .nkey = 0,
        .salt = "salt",
        .nsalt = 4,
        .out = "\x13\x3a\x4c\xe8\x37\xb4\xd2\x52\x1e\xe2"
               "\xbf\x03\xe1\x1c\x71\xca\x79\x4e\x07\x97",
        .nout = 20
    },
#endif
    {
        /* Password exceeds block size test */
        .path = "/crypto/pbkdf/nonrfc/sha256/iter1200",
        .hash = QCRYPTO_HASH_ALG_SHA256,
        .iterations = 1200,
        .key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        .nkey = 65,
        .salt = "pass phrase exceeds block size",
        .nsalt = 30,
        .out = "\x22\x34\x4b\xc4\xb6\xe3\x26\x75"
               "\xa8\x09\x0f\x3e\xa8\x0b\xe0\x1d"
               "\x5f\x95\x12\x6a\x2c\xdd\xc3\xfa"
               "\xcc\x4a\x5e\x6d\xca\x04\xec\x58",
        .nout = 32
    },
    {
        .path = "/crypto/pbkdf/nonrfc/sha512/iter1200",
        .hash = QCRYPTO_HASH_ALG_SHA512,
        .iterations = 1200,
        .key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        .nkey = 129,
        .salt = "pass phrase exceeds block size",
        .nsalt = 30,
        .out = "\x0f\xb2\xed\x2c\x0e\x6e\xfb\x7d"
               "\x7d\x8e\xdd\x58\x01\xb4\x59\x72"
               "\x99\x92\x16\x30\x5e\xa4\x36\x8d"
               "\x76\x14\x80\xf3\xe3\x7a\x22\xb9",
        .nout = 32
    },
    {
        .path = "/crypto/pbkdf/nonrfc/sha224/iter1200",
        .hash = QCRYPTO_HASH_ALG_SHA224,
        .iterations = 1200,
        .key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        .nkey = 129,
        .salt = "pass phrase exceeds block size",
        .nsalt = 30,
        .out = "\x13\x3b\x88\x0c\x0e\x52\xa2\x41"
               "\x49\x33\x35\xa6\xc3\x83\xae\x23"
               "\xf6\x77\x43\x9e\x5b\x30\x92\x3e"
               "\x4a\x3a\xaa\x24\x69\x3c\xed\x20",
        .nout = 32
    },
    {
        .path = "/crypto/pbkdf/nonrfc/sha384/iter1200",
        .hash = QCRYPTO_HASH_ALG_SHA384,
        .iterations = 1200,
        .key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        .nkey = 129,
        .salt = "pass phrase exceeds block size",
        .nsalt = 30,
        .out = "\xfe\xe3\xe1\x84\xc9\x25\x3e\x10"
               "\x47\xc8\x7d\x53\xc6\xa5\xe3\x77"
               "\x29\x41\x76\xbd\x4b\xe3\x9b\xac"
               "\x05\x6c\x11\xdd\x17\xc5\x93\x80",
        .nout = 32
    },
    {
        .path = "/crypto/pbkdf/nonrfc/ripemd160/iter1200",
        .hash = QCRYPTO_HASH_ALG_RIPEMD160,
        .iterations = 1200,
        .key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        .nkey = 129,
        .salt = "pass phrase exceeds block size",
        .nsalt = 30,
        .out = "\xd6\xcb\xd8\xa7\xdb\x0c\xa2\x2a"
               "\x23\x5e\x47\xaf\xdb\xda\xa8\xef"
               "\xe4\x01\x0d\x6f\xb5\x33\xc8\xbd"
               "\xce\xbf\x91\x14\x8b\x5c\x48\x41",
        .nout = 32
    },
#if 0
    {
        .path = "/crypto/pbkdf/nonrfc/whirlpool/iter1200",
        .hash = QCRYPTO_HASH_ALG_WHIRLPOOL,
        .iterations = 1200,
        .key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
               "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        .nkey = 65,
        .salt = "pass phrase exceeds block size",
        .nsalt = 30,
        .out = "\x9c\x1c\x74\xf5\x88\x26\xe7\x6a"
               "\x53\x58\xf4\x0c\x39\xe7\x80\x89"
               "\x07\xc0\x31\x19\x9a\x50\xa2\x48"
               "\xf1\xd9\xfe\x78\x64\xe5\x84\x50",
        .nout = 32
    }
#endif
};


static inline char hex(int i)
{
    if (i < 10) {
        return '0' + i;
    }
    return 'a' + (i - 10);
}

static char *hex_string(const uint8_t *bytes,
                        size_t len)
{
    char *hexstr = g_new0(char, len * 2 + 1);
    size_t i;

    for (i = 0; i < len; i++) {
        hexstr[i * 2] = hex((bytes[i] >> 4) & 0xf);
        hexstr[i * 2 + 1] = hex(bytes[i] & 0xf);
    }
    hexstr[len * 2] = '\0';

    return hexstr;
}

static void test_pbkdf(const void *opaque)
{
    const QCryptoPbkdfTestData *data = opaque;
    size_t nout = data->nout;
    uint8_t *out = g_new0(uint8_t, nout);
    gchar *expect, *actual;

    qcrypto_pbkdf2(data->hash,
                   (uint8_t *)data->key, data->nkey,
                   (uint8_t *)data->salt, data->nsalt,
                   data->iterations,
                   (uint8_t *)out, nout,
                   &error_abort);

    expect = hex_string((const uint8_t *)data->out, data->nout);
    actual = hex_string(out, nout);

    g_assert_cmpstr(actual, ==, expect);

    g_free(actual);
    g_free(expect);
    g_free(out);
}


static void test_pbkdf_timing(void)
{
    uint8_t key[32];
    uint8_t salt[32];
    int iters;

    memset(key, 0x5d, sizeof(key));
    memset(salt, 0x7c, sizeof(salt));

    iters = qcrypto_pbkdf2_count_iters(QCRYPTO_HASH_ALG_SHA256,
                                       key, sizeof(key),
                                       salt, sizeof(salt),
                                       32,
                                       &error_abort);

    g_assert(iters >= (1 << 15));
}


int main(int argc, char **argv)
{
    size_t i;

    g_test_init(&argc, &argv, NULL);

    g_assert(qcrypto_init(NULL) == 0);

    for (i = 0; i < G_N_ELEMENTS(test_data); i++) {
        if (!test_data[i].slow ||
            g_test_slow()) {
            g_test_add_data_func(test_data[i].path, &test_data[i], test_pbkdf);
        }
    }

    if (g_test_slow()) {
        g_test_add_func("/crypt0/pbkdf/timing", test_pbkdf_timing);
    }

    return g_test_run();
}
#else
int main(int argc, char **argv)
{
    g_test_init(&argc, &argv, NULL);
    return g_test_run();
}
#endif
ock.c?id=a98f49f46abb2034277633405479a4ab790c381e'>^
645ae7d88e ^











dc5a137125 ^
645ae7d88e ^



9f07429e88 ^


645ae7d88e ^
dc5a137125 ^
645ae7d88e ^
dc5a137125 ^


9f4793d8f2 ^






0a82855a1a ^
8df686165b ^
9f4793d8f2 ^
8df686165b ^




9f07429e88 ^
8df686165b ^



f30c66ba6e ^
8df686165b ^


9f4793d8f2 ^



f791bf7f93 ^
9f4793d8f2 ^
0a82855a1a ^

0eb7217e49 ^

a15f08dcee ^
f791bf7f93 ^
8a22f02a88 ^
ea2384d36e ^
b338082b3f ^
e4e9986b1c ^




f791bf7f93 ^

5839e53bbc ^
e4654d2d94 ^
fbe40ff780 ^


3783fa3dd3 ^
2119882c7e ^
9fcb025146 ^
dcd042282d ^
d7d512f609 ^
3ff2f67a7c ^

0bc329fbb0 ^


0f12264e7a ^



2c1d04e002 ^

b338082b3f ^


88d88798b7 ^
ea2384d36e ^

bdb734763b ^
88d88798b7 ^
8a22f02a88 ^

ea2384d36e ^
8a22f02a88 ^
ea2384d36e ^
88d88798b7 ^
ea2384d36e ^


88d88798b7 ^




f791bf7f93 ^

88d88798b7 ^















9ac404c523 ^
eb852011ab ^
b64ec4e4ad ^

859aef026e ^
b64ec4e4ad ^


859aef026e ^
eb852011ab ^


b64ec4e4ad ^
eb852011ab ^
b64ec4e4ad ^
eb852011ab ^
b64ec4e4ad ^
9ac404c523 ^
eb852011ab ^


b64ec4e4ad ^

9ac404c523 ^
b64ec4e4ad ^



eb852011ab ^


9ac404c523 ^

f791bf7f93 ^
9ac404c523 ^


e6ff69bf5e ^




5b7e1542cf ^


83d0521a1e ^
5b7e1542cf ^
cc84d90ff5 ^
5b7e1542cf ^



cc84d90ff5 ^


5b7e1542cf ^

da359909bd ^
5b7e1542cf ^
b92902dfea ^

621ff94d50 ^
cc84d90ff5 ^
5b7e1542cf ^

0e7e1989f7 ^
83d0521a1e ^
ea2384d36e ^
5b7e1542cf ^

f791bf7f93 ^

5b7e1542cf ^



83d0521a1e ^
5b7e1542cf ^
cc84d90ff5 ^
5b7e1542cf ^

efc75e2a4c ^
cc84d90ff5 ^
80168bff43 ^

5b7e1542cf ^





0b8b8753e4 ^

5b7e1542cf ^
b47ec2c456 ^
5b7e1542cf ^



cc84d90ff5 ^
84d18f065f ^
cc84d90ff5 ^




0e7e1989f7 ^
80168bff43 ^

5b7e1542cf ^
ea2384d36e ^

fd17146cd9 ^








84a12e6648 ^
cc84d90ff5 ^
fd17146cd9 ^
cc84d90ff5 ^
84a12e6648 ^
bdb734763b ^

8c6242b6f3 ^

fd17146cd9 ^



































bdb734763b ^

fd17146cd9 ^












5a5e7f8cd8 ^








fd17146cd9 ^

eeea1faa09 ^
fd17146cd9 ^





b4ad82aab1 ^

fd17146cd9 ^















eeea1faa09 ^
fd17146cd9 ^





























729222af14 ^
fd17146cd9 ^
729222af14 ^

fd17146cd9 ^
f791bf7f93 ^

b65a5e12a4 ^
84a12e6648 ^
16905d7175 ^
84a12e6648 ^

729222af14 ^































84a12e6648 ^

e1d7f8bb1e ^




384a48fb74 ^
e1d7f8bb1e ^




















a890f08e58 ^



384a48fb74 ^
a890f08e58 ^

















892b7de832 ^








93393e698c ^
f791bf7f93 ^
892b7de832 ^


93393e698c ^

892b7de832 ^













93393e698c ^
f791bf7f93 ^
892b7de832 ^


93393e698c ^

892b7de832 ^




eba25057b9 ^




d5249393ef ^
eba25057b9 ^
3b9f94e1a8 ^
eba25057b9 ^





d5249393ef ^
67b915a5dd ^
7ccfb2eb5f ^
0badc1ee0e ^
69bef7931e ^


eba25057b9 ^


ea2384d36e ^
fe235a06e1 ^




eba25057b9 ^


d5249393ef ^
eba25057b9 ^
fc01f7e7f9 ^
84a12e6648 ^







bdb734763b ^
84a12e6648 ^













88d88798b7 ^


bdb734763b ^
88d88798b7 ^









98289620e0 ^
b65a5e12a4 ^

83f6409109 ^


1cec71e359 ^
83f6409109 ^
88d88798b7 ^
19cb37389f ^
f791bf7f93 ^
66f82ceed6 ^

39508e7adb ^











98289620e0 ^
ef8104378c ^
84a12e6648 ^
98289620e0 ^
9e0b22f4f2 ^

1cec71e359 ^




88d88798b7 ^










8a22f02a88 ^
83f6409109 ^
b65a5e12a4 ^
88d88798b7 ^




83f6409109 ^

c6684249fd ^





7cddd3728e ^

c6684249fd ^





38f3ef574b ^

c6684249fd ^


967d7905d1 ^
c6684249fd ^













5696c6e350 ^
34b5d2c68e ^
f3a5d3f8a1 ^
c6684249fd ^
7cddd3728e ^
f500a6d3c2 ^
f8ea0b00e0 ^
bdb734763b ^

08a00559f0 ^
5696c6e350 ^
ef8104378c ^
c98ac35d87 ^
1a39685910 ^
f8ea0b00e0 ^
5696c6e350 ^
83f6409109 ^
34b5d2c68e ^

c98ac35d87 ^

83f6409109 ^

c6684249fd ^
c98ac35d87 ^
34b5d2c68e ^

c98ac35d87 ^



ea2384d36e ^

51762288b4 ^

65a9bb25d6 ^
51762288b4 ^
3d9f2d2af6 ^
51762288b4 ^

967d7905d1 ^
51762288b4 ^
d470ad42ac ^



396759ad4a ^
b192af8acc ^
396759ad4a ^

51762288b4 ^





7e382003f1 ^
51762288b4 ^


8b1170012b ^




51762288b4 ^


c3993cdca3 ^
cddff5bae1 ^





da359909bd ^
cddff5bae1 ^






543770bd2e ^








bdb734763b ^
543770bd2e ^















cddff5bae1 ^
f80f267373 ^





















9e8f1835ea ^



















c3993cdca3 ^



53e8ae0100 ^
c3993cdca3 ^



53e8ae0100 ^

92196b2f56 ^
53e8ae0100 ^
92196b2f56 ^
c3993cdca3 ^
53e8ae0100 ^
c3993cdca3 ^
53e8ae0100 ^
c3993cdca3 ^

53e8ae0100 ^
c3993cdca3 ^






b541155587 ^


2c0a3acb95 ^
b541155587 ^

20018e12cf ^


6cd5c9d7b2 ^
20018e12cf ^

89bd030533 ^


6cd5c9d7b2 ^
89bd030533 ^

e037c09c78 ^

20018e12cf ^

e037c09c78 ^
20018e12cf ^

38701b6aef ^


bdb734763b ^
38701b6aef ^



5d2318499f ^






53a7d04185 ^






0b50cc8853 ^
73176bee99 ^


b1e6fc0817 ^
73176bee99 ^

b1e6fc0817 ^
bdb734763b ^
73176bee99 ^


73176bee99 ^

418690447a ^
3f48686fac ^
f87a0e29a9 ^
3f48686fac ^
f87a0e29a9 ^
418690447a ^


b1e6fc0817 ^

db95dbba3b ^




bdb734763b ^
db95dbba3b ^




f30c66ba6e ^

db95dbba3b ^
db95dbba3b ^























ca2f1234c3 ^
d736f119da ^
db95dbba3b ^



bdb734763b ^
db95dbba3b ^



48e0828861 ^
d736f119da ^
6858eba09e ^



e94d3dba6a ^
6858eba09e ^
bdb734763b ^
6858eba09e ^
e94d3dba6a ^

61f09cea01 ^




6858eba09e ^
e54ee1b385 ^

6858eba09e ^
6473069416 ^
6858eba09e ^

e94d3dba6a ^

61f09cea01 ^

6858eba09e ^


fae8bd3904 ^



00ff7ffd67 ^


fae8bd3904 ^

bdb734763b ^
fae8bd3904 ^






































































ca2f1234c3 ^



696bf4c78c ^
a225369bce ^

ca2f1234c3 ^






48e0828861 ^








a225369bce ^
696bf4c78c ^
a225369bce ^
48e0828861 ^

4348355032 ^








fb62b58896 ^
3ca1f32257 ^

384a48fb74 ^
3ca1f32257 ^



4348355032 ^












fb62b58896 ^
4348355032 ^

3ca1f32257 ^

f0c2832703 ^
3ca1f32257 ^


7b27245239 ^

61de4c6808 ^
bdb734763b ^
7b27245239 ^




20cca275c6 ^
7b27245239 ^
7b27245239 ^


91a097e747 ^

bdb734763b ^

2a3d4331fa ^
91a097e747 ^
57f9db9a94 ^
91a097e747 ^


57f9db9a94 ^
91a097e747 ^

f87a0e29a9 ^
57f9db9a94 ^
f87a0e29a9 ^


e35bdc123a ^


91a097e747 ^



bdb734763b ^
91a097e747 ^
46f5ac205a ^
91a097e747 ^

46f5ac205a ^

91a097e747 ^
f87a0e29a9 ^
46f5ac205a ^
f87a0e29a9 ^
e35bdc123a ^



91a097e747 ^

636ea3708c ^


6913c0c2ce ^
15489c769b ^
bdb734763b ^
6913c0c2ce ^
15489c769b ^






785ec4b1b9 ^
636ea3708c ^
6913c0c2ce ^

0c5e94ee83 ^
7f06d47eff ^
0c5e94ee83 ^

15489c769b ^
0c5e94ee83 ^

6913c0c2ce ^

785ec4b1b9 ^
15489c769b ^
6913c0c2ce ^

824808dd77 ^





6913c0c2ce ^


15489c769b ^

6913c0c2ce ^

01a5650179 ^




0f12264e7a ^
da359909bd ^
01a5650179 ^












680c7f9606 ^
01a5650179 ^
680c7f9606 ^

01a5650179 ^









180ca19ae0 ^
01a5650179 ^




180ca19ae0 ^
01a5650179 ^

1e4c797c75 ^
01a5650179 ^

180ca19ae0 ^
01a5650179 ^





0f12264e7a ^





01a5650179 ^
180ca19ae0 ^





01a5650179 ^

01a5650179 ^


621d17378a ^











680c7f9606 ^



f791bf7f93 ^

680c7f9606 ^

621d17378a ^

680c7f9606 ^





cb3e7f08ae ^
180ca19ae0 ^
cb3e7f08ae ^
180ca19ae0 ^
680c7f9606 ^






621d17378a ^



f791bf7f93 ^
621d17378a ^


c5f3014b82 ^
18edf289a8 ^







62392ebb09 ^




91a097e747 ^
91a097e747 ^








f87a0e29a9 ^




692e01a27c ^
e35bdc123a ^




692e01a27c ^



818584a43a ^
415bbca86d ^
818584a43a ^


5a9347c673 ^




18edf289a8 ^



5a5e7f8cd8 ^


fd17146cd9 ^














b6ce07aa83 ^
5791533251 ^
b6ad491a49 ^

5791533251 ^
5696c6e350 ^
82dc8b4110 ^
5791533251 ^

035fccdf79 ^
62392ebb09 ^
6913c0c2ce ^
818584a43a ^
18edf289a8 ^
62392ebb09 ^
34b5d2c68e ^
307261b243 ^
5791533251 ^
6405875cdd ^
707ff8282b ^
bdb734763b ^
5791533251 ^
62392ebb09 ^
af175e85f9 ^
62392ebb09 ^



9b7e869167 ^

62392ebb09 ^



5a9347c673 ^









456736710d ^
f30c66ba6e ^
5696c6e350 ^
456736710d ^
129c7d1c53 ^






456736710d ^


4a0082401a ^
765003db02 ^

18edf289a8 ^

6913c0c2ce ^
6913c0c2ce ^
82dc8b4110 ^

62392ebb09 ^
307261b243 ^



8be25de643 ^





307261b243 ^
8be25de643 ^




b64ec4e4ad ^
5791533251 ^
d3faa13e5f ^
d73415a315 ^
d3faa13e5f ^
82dc8b4110 ^
307261b243 ^
0ebd24e0a2 ^


18edf289a8 ^

0ebd24e0a2 ^
53fec9d3fd ^

415bbca86d ^
818584a43a ^







543770bd2e ^





692e01a27c ^

c2ad1b0c46 ^




91af701412 ^
5791533251 ^
66f82ceed6 ^
82dc8b4110 ^
01a5650179 ^
5791533251 ^
01a5650179 ^

51762288b4 ^
01a5650179 ^
3baca89139 ^

18edf289a8 ^
5791533251 ^

18edf289a8 ^

5791533251 ^


5e5c4f63f4 ^




bdb734763b ^
5e5c4f63f4 ^



5577fff738 ^
5e5c4f63f4 ^
5577fff738 ^
5e5c4f63f4 ^


7dc847ebba ^
ca6b6e1e68 ^
cb3e7f08ae ^
5e5c4f63f4 ^



5e5c4f63f4 ^




de3b53f007 ^




bdb734763b ^
de3b53f007 ^














cb3e7f08ae ^
de3b53f007 ^


5791533251 ^
f54120ff1a ^

53a2951312 ^

b6ce07aa83 ^
de3b53f007 ^
053e1578c9 ^
ea2384d36e ^
c2ad1b0c46 ^
53a2951312 ^
e3fa4bfa72 ^
053e1578c9 ^
34b5d2c68e ^
83f6409109 ^
da359909bd ^

129c7d1c53 ^






53a2951312 ^
053e1578c9 ^








53a2951312 ^







91a097e747 ^


035fccdf79 ^
17b005f1d4 ^
f54120ff1a ^
46f5ac205a ^
f54120ff1a ^





035fccdf79 ^

c2ad1b0c46 ^
129c7d1c53 ^
f54120ff1a ^
f54120ff1a ^
053e1578c9 ^


17b005f1d4 ^
053e1578c9 ^
17b005f1d4 ^
053e1578c9 ^

46f5ac205a ^
053e1578c9 ^


98289620e0 ^
c2ad1b0c46 ^

17b005f1d4 ^
c2ad1b0c46 ^
f54120ff1a ^
17b005f1d4 ^
5acd9d81e1 ^
84d18f065f ^
34b5d2c68e ^
f54120ff1a ^
6963a30d82 ^
cd5d031e75 ^


cd5d031e75 ^
6963a30d82 ^

f54120ff1a ^


148eb13c84 ^

69b736e765 ^
148eb13c84 ^
859443b0fb ^
148eb13c84 ^











859443b0fb ^
148eb13c84 ^










cc02214097 ^

148eb13c84 ^





cc02214097 ^






384a48fb74 ^
cc02214097 ^


3bf416ba0f ^

f0c2832703 ^
da261b69ae ^
3bf416ba0f ^

30ebb9aa92 ^



3bf416ba0f ^

30ebb9aa92 ^






862fded928 ^
3bf416ba0f ^




30ebb9aa92 ^










3bf416ba0f ^



9397c14fcb ^
3bf416ba0f ^

862fded928 ^
3bf416ba0f ^







9397c14fcb ^
3bf416ba0f ^











ffd1a5a25c ^
e5d8a40685 ^

ffd1a5a25c ^


0b3ca76e52 ^
da359909bd ^
e5d8a40685 ^
0b3ca76e52 ^

e0995dc3da ^
ffd1a5a25c ^




bd57f8f7f8 ^
















bdb734763b ^

bd57f8f7f8 ^
















ecb776bd93 ^




b0defa8356 ^


ecb776bd93 ^

862fded928 ^

ecb776bd93 ^

b0defa8356 ^



ecb776bd93 ^
b0defa8356 ^

ecb776bd93 ^

b0defa8356 ^
ecb776bd93 ^
862fded928 ^
ecb776bd93 ^





b0defa8356 ^



ecb776bd93 ^
b0defa8356 ^

2513ef5959 ^



da359909bd ^
2513ef5959 ^










da359909bd ^
2513ef5959 ^














da359909bd ^
2513ef5959 ^

















0978623e0f ^

82b54cf516 ^
0978623e0f ^
b0a9f6fed3 ^
0978623e0f ^




bdb734763b ^
0978623e0f ^
b0a9f6fed3 ^


0978623e0f ^







bdb734763b ^
82b54cf516 ^







82b54cf516 ^




82b54cf516 ^



b0a9f6fed3 ^










0978623e0f ^









4bf021dbd5 ^
0978623e0f ^

4bf021dbd5 ^

82b54cf516 ^
b0a9f6fed3 ^

82b54cf516 ^




b0a9f6fed3 ^



0978623e0f ^
82b54cf516 ^

b0a9f6fed3 ^

0978623e0f ^


82b54cf516 ^


b0a9f6fed3 ^
0978623e0f ^


b0a9f6fed3 ^


0978623e0f ^


b0a9f6fed3 ^





82b54cf516 ^
0978623e0f ^

33a610c398 ^
c20555e15f ^

33a610c398 ^
c20555e15f ^

33a610c398 ^



c20555e15f ^
862fded928 ^
c20555e15f ^

33a610c398 ^


cc02214097 ^
33a610c398 ^
481e0eeef4 ^


c20555e15f ^

481e0eeef4 ^

33a610c398 ^


9c60a5d197 ^















33a610c398 ^




b1d2bbeb3a ^
2513ef5959 ^


33a610c398 ^

78e421c9fb ^
33a610c398 ^
78e421c9fb ^
33a610c398 ^





9eab154415 ^
e5d8a40685 ^
ffd1a5a25c ^

ecb776bd93 ^
bd57f8f7f8 ^



3ef45e0242 ^
25409807cf ^

bd57f8f7f8 ^

b1d2bbeb3a ^
862fded928 ^
bd57f8f7f8 ^
b1d2bbeb3a ^


9397c14fcb ^
b1d2bbeb3a ^
bd57f8f7f8 ^

c20555e15f ^
33a610c398 ^







c7a0f2be8f ^

33a610c398 ^




b4ad82aab1 ^

33a610c398 ^








5176196c32 ^
d083319fe0 ^








d083319fe0 ^


e2a7423a11 ^
d083319fe0 ^



e2a7423a11 ^



d083319fe0 ^


e2a7423a11 ^
d083319fe0 ^

33a610c398 ^
071b474f54 ^
bb87e4d1c0 ^

b1d2bbeb3a ^

862fded928 ^
bb87e4d1c0 ^
b1d2bbeb3a ^

bb87e4d1c0 ^
b1d2bbeb3a ^
bb87e4d1c0 ^

33a610c398 ^


1046779e64 ^
83928dc496 ^
33a610c398 ^

b4ad82aab1 ^

ecb776bd93 ^
83928dc496 ^




33a610c398 ^
071b474f54 ^

1046779e64 ^










33a610c398 ^

83928dc496 ^
d5e6f437c5 ^

c1087f1206 ^




b4ad82aab1 ^

c1087f1206 ^
e5d8a40685 ^
bf8e925eb5 ^
c1087f1206 ^



87278af1d9 ^





87278af1d9 ^



6a1b9ee152 ^
862fded928 ^
e444fa8312 ^

6a1b9ee152 ^

70082db4ef ^
70082db4ef ^




e5d8a40685 ^
862fded928 ^
70082db4ef ^

















64631f3681 ^
70082db4ef ^








6f838a4b73 ^
6f838a4b73 ^






862fded928 ^
e5d8a40685 ^
6f838a4b73 ^






e5d8a40685 ^
6f838a4b73 ^

f889054f03 ^














6f838a4b73 ^

f889054f03 ^
































6f838a4b73 ^
6f838a4b73 ^








2519f54919 ^
e5d8a40685 ^
2519f54919 ^


b4ad82aab1 ^
2519f54919 ^


e5d8a40685 ^
2519f54919 ^


e5d8a40685 ^
2519f54919 ^

e5d8a40685 ^
2519f54919 ^





7b1d9c4df0 ^






7b1d9c4df0 ^









b0a9f6fed3 ^












be64bbb014 ^
b0a9f6fed3 ^

e9740bc6d4 ^
be64bbb014 ^
e9740bc6d4 ^
debc292767 ^

e9740bc6d4 ^
2cad1ebe70 ^
bfb8aa6d58 ^
f0c2832703 ^
2cad1ebe70 ^
bb2614e991 ^


debc292767 ^







bd86fb990c ^
debc292767 ^



e9740bc6d4 ^
d736f119da ^


bd86fb990c ^

d736f119da ^
696bf4c78c ^
e9740bc6d4 ^

36fe13317b ^

b0a9f6fed3 ^


36fe13317b ^
e9740bc6d4 ^
696bf4c78c ^
e9740bc6d4 ^
debc292767 ^








33a610c398 ^
d736f119da ^


bd86fb990c ^

8ee039951d ^

debc292767 ^




bd86fb990c ^
debc292767 ^


b0a9f6fed3 ^



8ee039951d ^
33a610c398 ^
04c9c3a52c ^






df58179267 ^
548a74c0db ^
bdb734763b ^
a225369bce ^
04c9c3a52c ^


548a74c0db ^
d5e6f437c5 ^
548a74c0db ^











f0c2832703 ^
b0a9f6fed3 ^







548a74c0db ^





2651806141 ^
548a74c0db ^
2651806141 ^

548a74c0db ^


548a74c0db ^
2651806141 ^

548a74c0db ^
d5e6f437c5 ^

548a74c0db ^
04c9c3a52c ^
548a74c0db ^








f8d2ad7881 ^





7ec390d587 ^

548a74c0db ^














da261b69ae ^
bdb734763b ^
548a74c0db ^


d5e6f437c5 ^

bd86fb990c ^
258b776515 ^
d5e6f437c5 ^


df58179267 ^

548a74c0db ^

132ada80c4 ^
548a74c0db ^






bd86fb990c ^
548a74c0db ^



132ada80c4 ^


548a74c0db ^

132ada80c4 ^


548a74c0db ^
132ada80c4 ^

04c9c3a52c ^
548a74c0db ^
132ada80c4 ^


548a74c0db ^
b0a9f6fed3 ^


548a74c0db ^

b4b059f628 ^
548a74c0db ^










f8d2ad7881 ^


7ec390d587 ^

f8d2ad7881 ^
aa5a04c7db ^












bdb734763b ^
aa5a04c7db ^
bfb8aa6d58 ^





aa5a04c7db ^










aa5a04c7db ^


be64bbb014 ^
548a74c0db ^
be64bbb014 ^
4954aacea0 ^
bdb734763b ^
b0a9f6fed3 ^
4954aacea0 ^














548a74c0db ^






















b4ad82aab1 ^

548a74c0db ^



e878bb1293 ^
548a74c0db ^


548a74c0db ^
e878bb1293 ^

f8d2ad7881 ^


548a74c0db ^
b4b059f628 ^
df58179267 ^

b441dc71c0 ^






132ada80c4 ^


b441dc71c0 ^
98292c61bc ^


bd86fb990c ^
258b776515 ^
8b2ff5291f ^
f21d96d04b ^
aa5a04c7db ^


f68c598be6 ^
f791bf7f93 ^

aa5a04c7db ^




d5e6f437c5 ^
aa5a04c7db ^


d5e6f437c5 ^

aa5a04c7db ^

f8d2ad7881 ^

aa5a04c7db ^


f21d96d04b ^


7b99a26600 ^
f21d96d04b ^
33a604075c ^
779020cbdc ^

f791bf7f93 ^

f21d96d04b ^
be64bbb014 ^
f21d96d04b ^


332b3a175f ^



































3cf746b3f1 ^


332b3a175f ^
3cf746b3f1 ^
332b3a175f ^

f21d96d04b ^
3cf746b3f1 ^
4e4bf5c42c ^
3cf746b3f1 ^





4e4bf5c42c ^




332b3a175f ^
4e4bf5c42c ^
33a604075c ^

3cf746b3f1 ^
332b3a175f ^
3cf746b3f1 ^


7b99a26600 ^
3cf746b3f1 ^

f791bf7f93 ^
3cf746b3f1 ^



332b3a175f ^
f21d96d04b ^
33a604075c ^

5c8cab4808 ^



f0c2832703 ^
5c8cab4808 ^
bd86fb990c ^

5c8cab4808 ^



0065c455f9 ^











5db15a5769 ^
25191e5ff0 ^













e9238278c2 ^

7ec390d587 ^

5db15a5769 ^
e9238278c2 ^



8d24cce1e3 ^
a1e708fcda ^
e9238278c2 ^



0065c455f9 ^
bdb734763b ^

e9238278c2 ^












a1e708fcda ^
2cad1ebe70 ^

25f78d9e2d ^







e9238278c2 ^














826b6ca0b0 ^

e9238278c2 ^





8d24cce1e3 ^

12fa4af61f ^
e9238278c2 ^





160333e1fe ^

a1e708fcda ^

160333e1fe ^

e9238278c2 ^
160333e1fe ^

a1e708fcda ^
e9238278c2 ^
0065c455f9 ^
826b6ca0b0 ^
8d24cce1e3 ^
e9238278c2 ^
160333e1fe ^



e9238278c2 ^



bdb734763b ^
e9238278c2 ^


160333e1fe ^





f791bf7f93 ^
c0829cb1fd ^

160333e1fe ^







a1e708fcda ^
c0829cb1fd ^

a1e708fcda ^
8d24cce1e3 ^

31ca6d077c ^


d9b7b05703 ^





31ca6d077c ^
d9b7b05703 ^

9156df12a4 ^
6b6833c1b4 ^
d9b7b05703 ^

317fc44ef2 ^
998c201923 ^
8d24cce1e3 ^
d9b7b05703 ^

34b5d2c68e ^
9156df12a4 ^
f791bf7f93 ^

760e006384 ^
1ba4b6a553 ^
9156df12a4 ^

31ca6d077c ^
d9b7b05703 ^


31ca6d077c ^

9156df12a4 ^
d9b7b05703 ^




129c7d1c53 ^






d9b7b05703 ^

6b6833c1b4 ^
1cb6f50644 ^
cb3e7f08ae ^
1ba4b6a553 ^
dbecebddfa ^
998c201923 ^









6b6833c1b4 ^
9f07429e88 ^


cb3e7f08ae ^
9f07429e88 ^

9156df12a4 ^

8ee79e707a ^


cb3e7f08ae ^
8ee79e707a ^


6bff597bf6 ^

46f5ac205a ^
9156df12a4 ^

6b6833c1b4 ^
25191e5ff0 ^
5b3639371c ^
9156df12a4 ^
e43bfd9c87 ^
5b3639371c ^
1ba4b6a553 ^
9156df12a4 ^
df58179267 ^
998c201923 ^





5db15a5769 ^

dc9c10a1f4 ^
5db15a5769 ^
dc9c10a1f4 ^
12fa4af61f ^

d80ac658f2 ^
d9b7b05703 ^

1ba4b6a553 ^

cb3e7f08ae ^
1ba4b6a553 ^
9156df12a4 ^

2d6b86af14 ^

bd86fb990c ^
272c02eaef ^
da557aac18 ^
2d6b86af14 ^
da557aac18 ^
da557aac18 ^


bd86fb990c ^
f67503e5bd ^
da557aac18 ^



129c7d1c53 ^






da557aac18 ^

b4b059f628 ^
da557aac18 ^

da557aac18 ^
cb3e7f08ae ^
da557aac18 ^


5b3639371c ^
272c02eaef ^
5b3639371c ^
df58179267 ^


da557aac18 ^

2d6b86af14 ^



















bd86fb990c ^
258b776515 ^
2d6b86af14 ^



f791bf7f93 ^

bd86fb990c ^
272c02eaef ^
2d6b86af14 ^



258b776515 ^

b4b059f628 ^

bd86fb990c ^



e1d74bc6c6 ^


e1d74bc6c6 ^




f791bf7f93 ^

e1d74bc6c6 ^






1f5842487a ^
e1d74bc6c6 ^

7dc847ebba ^
e1d74bc6c6 ^







e35bdc123a ^

e1d74bc6c6 ^

272c02eaef ^
e1d74bc6c6 ^
cb3e7f08ae ^
e1d74bc6c6 ^



668361898e ^



b998875dcf ^

1ba4b6a553 ^
b998875dcf ^
83d0521a1e ^
ff6ed7141d ^
b998875dcf ^

bdb734763b ^

b998875dcf ^



f187743acd ^


1ba4b6a553 ^
f187743acd ^
b998875dcf ^

1ba4b6a553 ^
b998875dcf ^

1ba4b6a553 ^
b998875dcf ^

ef8104378c ^
c282e1fdf7 ^
39101f2511 ^
e43bfd9c87 ^
83d0521a1e ^
b998875dcf ^
e43bfd9c87 ^

1ba4b6a553 ^
b998875dcf ^

73176bee99 ^
46f5ac205a ^


b998875dcf ^
5b3639371c ^
73176bee99 ^
5b3639371c ^
1ba4b6a553 ^
b998875dcf ^

934aee14d3 ^

ff6ed7141d ^
b2c2832c61 ^

1ba4b6a553 ^

cb3e7f08ae ^
1ba4b6a553 ^
ff6ed7141d ^
b998875dcf ^

da557aac18 ^
b6ce07aa83 ^
de9c0cec6c ^



cb3e7f08ae ^
f67503e5bd ^


ddf5636dc9 ^



b6ce07aa83 ^
5b3639371c ^



bd86fb990c ^
272c02eaef ^
5b3639371c ^
ea2384d36e ^
b6ce07aa83 ^
5696c6e350 ^
9a4f4c3156 ^
ce34377124 ^
2f624b80ba ^
74fe54f2a1 ^
3e8c2e5705 ^
34b5d2c68e ^
73176bee99 ^
b1e6fc0817 ^
712e78744e ^
bd86fb990c ^

f0c2832703 ^
f67503e5bd ^
ddf5636dc9 ^

cb3e7f08ae ^
ddf5636dc9 ^
ddf5636dc9 ^


5b3639371c ^
ddf5636dc9 ^



5b3639371c ^
ddf5636dc9 ^
76b223200e ^
ddf5636dc9 ^
5b3639371c ^
ddf5636dc9 ^

5b3639371c ^
f67503e5bd ^
de9c0cec6c ^




145f598e4a ^
de3b53f007 ^

de3b53f007 ^


145f598e4a ^

bd86fb990c ^
3cdc69d31b ^












bddcec3745 ^
3cdc69d31b ^

bd86fb990c ^
f3930ed0bb ^

de3b53f007 ^
dfde483ea3 ^
462f5bcf69 ^


129c7d1c53 ^






f87a0e29a9 ^




14499ea541 ^





f87a0e29a9 ^

00ff7ffd67 ^

14499ea541 ^

62392ebb09 ^



76c591b013 ^
129c7d1c53 ^
76c591b013 ^


76c591b013 ^

76c591b013 ^




76c591b013 ^
129c7d1c53 ^
3e8c2e5705 ^
e59a0cf17b ^


4f7be2806e ^



3e8c2e5705 ^
ae0f57f0aa ^

3e8c2e5705 ^


5696c6e350 ^
4e4bf5c42c ^

f4788adcb4 ^
5696c6e350 ^


58944401d6 ^

1fdd693308 ^
f4788adcb4 ^

5696c6e350 ^
dacaa16238 ^


d861ab3acf ^
d7086422b1 ^
5696c6e350 ^
d7086422b1 ^


5696c6e350 ^
46f5ac205a ^
4e4bf5c42c ^
f500a6d3c2 ^

76c591b013 ^
38f3ef574b ^
76c591b013 ^
cf2ab8fc34 ^
17b005f1d4 ^
8bfea15dda ^
2a05cbe426 ^
62392ebb09 ^










46f5ac205a ^

76c591b013 ^
17b005f1d4 ^
8bfea15dda ^
ea2384d36e ^
b6ce07aa83 ^
53a2951312 ^





b6ce07aa83 ^
82dc8b4110 ^
b6ce07aa83 ^
8bfea15dda ^
6987307ca3 ^

4e4bf5c42c ^
5696c6e350 ^
f500a6d3c2 ^


b6ce07aa83 ^
9156df12a4 ^
d9b7b05703 ^
b6ce07aa83 ^
b6ad491a49 ^
b6ce07aa83 ^
b6ce07aa83 ^

50196d7a7c ^

2f624b80ba ^




50196d7a7c ^

2f624b80ba ^


b6ad491a49 ^
7ad2757fef ^
b6ad491a49 ^
5acd9d81e1 ^



d0e46a5577 ^


5acd9d81e1 ^
b6ad491a49 ^
b6ad491a49 ^

b6ad491a49 ^
c01c214b69 ^
b6ce07aa83 ^
cb3e7f08ae ^
8961be33e8 ^
dd62f1ca43 ^



668361898e ^


73176bee99 ^
dd62f1ca43 ^


5b3639371c ^





dd62f1ca43 ^

5b3639371c ^
b6ce07aa83 ^
8bfea15dda ^
5696c6e350 ^
cb3e7f08ae ^



de9c0cec6c ^
998cbd6a44 ^
5b3639371c ^
621ff94d50 ^
5b3639371c ^
de9c0cec6c ^
b6ad491a49 ^
5b3639371c ^
cb3e7f08ae ^

621ff94d50 ^
5b3639371c ^
b6ce07aa83 ^

5b3639371c ^

f3930ed0bb ^
f791bf7f93 ^

5b3639371c ^
272c02eaef ^
f3930ed0bb ^

faf116b438 ^














































e971aa1273 ^
cb828c31de ^