Home | History | Annotate | Line # | Download | only in test
      1      1.1  christos /*
      2      1.1  christos  * Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
      3      1.1  christos  *
      4      1.1  christos  * Licensed under the Apache License 2.0 (the "License").  You may not use
      5      1.1  christos  * this file except in compliance with the License.  You can obtain a copy
      6      1.1  christos  * in the file LICENSE in the source distribution or at
      7      1.1  christos  * https://www.openssl.org/source/license.html
      8      1.1  christos  */
      9      1.1  christos 
     10      1.1  christos /* Internal tests for the siphash module */
     11      1.1  christos 
     12      1.1  christos #include <stdio.h>
     13      1.1  christos #include <string.h>
     14      1.1  christos 
     15      1.1  christos #include <openssl/bio.h>
     16      1.1  christos #include "testutil.h"
     17      1.1  christos #include "crypto/siphash.h"
     18      1.1  christos #include "internal/nelem.h"
     19      1.1  christos 
     20      1.1  christos typedef struct {
     21      1.1  christos     size_t size;
     22      1.1  christos     unsigned char data[64];
     23      1.1  christos } SIZED_DATA;
     24      1.1  christos 
     25      1.1  christos typedef struct {
     26      1.1  christos     int idx;
     27      1.1  christos     SIZED_DATA expected;
     28      1.1  christos } TESTDATA;
     29      1.1  christos 
     30      1.1  christos /**********************************************************************
     31      1.1  christos  *
     32      1.1  christos  * Test of siphash internal functions
     33      1.1  christos  *
     34      1.1  christos  ***/
     35      1.1  christos 
     36      1.1  christos /* From C reference: https://131002.net/siphash/ */
     37      1.1  christos 
     38      1.1  christos static TESTDATA tests[] = {
     39  1.1.1.2  christos     { 0, { 8, {
     40  1.1.1.2  christos                   0x31,
     41  1.1.1.2  christos                   0x0e,
     42  1.1.1.2  christos                   0x0e,
     43  1.1.1.2  christos                   0xdd,
     44  1.1.1.2  christos                   0x47,
     45  1.1.1.2  christos                   0xdb,
     46  1.1.1.2  christos                   0x6f,
     47  1.1.1.2  christos                   0x72,
     48  1.1.1.2  christos               } } },
     49  1.1.1.2  christos     { 1, { 8, {
     50  1.1.1.2  christos                   0xfd,
     51  1.1.1.2  christos                   0x67,
     52  1.1.1.2  christos                   0xdc,
     53  1.1.1.2  christos                   0x93,
     54  1.1.1.2  christos                   0xc5,
     55  1.1.1.2  christos                   0x39,
     56  1.1.1.2  christos                   0xf8,
     57  1.1.1.2  christos                   0x74,
     58  1.1.1.2  christos               } } },
     59  1.1.1.2  christos     { 2, { 8, {
     60  1.1.1.2  christos                   0x5a,
     61  1.1.1.2  christos                   0x4f,
     62  1.1.1.2  christos                   0xa9,
     63  1.1.1.2  christos                   0xd9,
     64  1.1.1.2  christos                   0x09,
     65  1.1.1.2  christos                   0x80,
     66  1.1.1.2  christos                   0x6c,
     67  1.1.1.2  christos                   0x0d,
     68  1.1.1.2  christos               } } },
     69  1.1.1.2  christos     { 3, { 8, {
     70  1.1.1.2  christos                   0x2d,
     71  1.1.1.2  christos                   0x7e,
     72  1.1.1.2  christos                   0xfb,
     73  1.1.1.2  christos                   0xd7,
     74  1.1.1.2  christos                   0x96,
     75  1.1.1.2  christos                   0x66,
     76  1.1.1.2  christos                   0x67,
     77  1.1.1.2  christos                   0x85,
     78  1.1.1.2  christos               } } },
     79  1.1.1.2  christos     { 4, { 8, {
     80  1.1.1.2  christos                   0xb7,
     81  1.1.1.2  christos                   0x87,
     82  1.1.1.2  christos                   0x71,
     83  1.1.1.2  christos                   0x27,
     84  1.1.1.2  christos                   0xe0,
     85  1.1.1.2  christos                   0x94,
     86  1.1.1.2  christos                   0x27,
     87  1.1.1.2  christos                   0xcf,
     88  1.1.1.2  christos               } } },
     89  1.1.1.2  christos     { 5, { 8, {
     90  1.1.1.2  christos                   0x8d,
     91  1.1.1.2  christos                   0xa6,
     92  1.1.1.2  christos                   0x99,
     93  1.1.1.2  christos                   0xcd,
     94  1.1.1.2  christos                   0x64,
     95  1.1.1.2  christos                   0x55,
     96  1.1.1.2  christos                   0x76,
     97  1.1.1.2  christos                   0x18,
     98  1.1.1.2  christos               } } },
     99  1.1.1.2  christos     { 6, { 8, {
    100  1.1.1.2  christos                   0xce,
    101  1.1.1.2  christos                   0xe3,
    102  1.1.1.2  christos                   0xfe,
    103  1.1.1.2  christos                   0x58,
    104  1.1.1.2  christos                   0x6e,
    105  1.1.1.2  christos                   0x46,
    106  1.1.1.2  christos                   0xc9,
    107  1.1.1.2  christos                   0xcb,
    108  1.1.1.2  christos               } } },
    109  1.1.1.2  christos     { 7, { 8, {
    110  1.1.1.2  christos                   0x37,
    111  1.1.1.2  christos                   0xd1,
    112  1.1.1.2  christos                   0x01,
    113  1.1.1.2  christos                   0x8b,
    114  1.1.1.2  christos                   0xf5,
    115  1.1.1.2  christos                   0x00,
    116  1.1.1.2  christos                   0x02,
    117  1.1.1.2  christos                   0xab,
    118  1.1.1.2  christos               } } },
    119  1.1.1.2  christos     { 8, { 8, {
    120  1.1.1.2  christos                   0x62,
    121  1.1.1.2  christos                   0x24,
    122  1.1.1.2  christos                   0x93,
    123  1.1.1.2  christos                   0x9a,
    124  1.1.1.2  christos                   0x79,
    125  1.1.1.2  christos                   0xf5,
    126  1.1.1.2  christos                   0xf5,
    127  1.1.1.2  christos                   0x93,
    128  1.1.1.2  christos               } } },
    129  1.1.1.2  christos     { 9, { 8, {
    130  1.1.1.2  christos                   0xb0,
    131  1.1.1.2  christos                   0xe4,
    132  1.1.1.2  christos                   0xa9,
    133  1.1.1.2  christos                   0x0b,
    134  1.1.1.2  christos                   0xdf,
    135  1.1.1.2  christos                   0x82,
    136  1.1.1.2  christos                   0x00,
    137  1.1.1.2  christos                   0x9e,
    138  1.1.1.2  christos               } } },
    139  1.1.1.2  christos     { 10, { 8, {
    140  1.1.1.2  christos                    0xf3,
    141  1.1.1.2  christos                    0xb9,
    142  1.1.1.2  christos                    0xdd,
    143  1.1.1.2  christos                    0x94,
    144  1.1.1.2  christos                    0xc5,
    145  1.1.1.2  christos                    0xbb,
    146  1.1.1.2  christos                    0x5d,
    147  1.1.1.2  christos                    0x7a,
    148  1.1.1.2  christos                } } },
    149  1.1.1.2  christos     { 11, { 8, {
    150  1.1.1.2  christos                    0xa7,
    151  1.1.1.2  christos                    0xad,
    152  1.1.1.2  christos                    0x6b,
    153  1.1.1.2  christos                    0x22,
    154  1.1.1.2  christos                    0x46,
    155  1.1.1.2  christos                    0x2f,
    156  1.1.1.2  christos                    0xb3,
    157  1.1.1.2  christos                    0xf4,
    158  1.1.1.2  christos                } } },
    159  1.1.1.2  christos     { 12, { 8, {
    160  1.1.1.2  christos                    0xfb,
    161  1.1.1.2  christos                    0xe5,
    162  1.1.1.2  christos                    0x0e,
    163  1.1.1.2  christos                    0x86,
    164  1.1.1.2  christos                    0xbc,
    165  1.1.1.2  christos                    0x8f,
    166  1.1.1.2  christos                    0x1e,
    167  1.1.1.2  christos                    0x75,
    168  1.1.1.2  christos                } } },
    169  1.1.1.2  christos     { 13, { 8, {
    170  1.1.1.2  christos                    0x90,
    171  1.1.1.2  christos                    0x3d,
    172  1.1.1.2  christos                    0x84,
    173  1.1.1.2  christos                    0xc0,
    174  1.1.1.2  christos                    0x27,
    175  1.1.1.2  christos                    0x56,
    176  1.1.1.2  christos                    0xea,
    177  1.1.1.2  christos                    0x14,
    178  1.1.1.2  christos                } } },
    179  1.1.1.2  christos     { 14, { 8, {
    180  1.1.1.2  christos                    0xee,
    181  1.1.1.2  christos                    0xf2,
    182  1.1.1.2  christos                    0x7a,
    183  1.1.1.2  christos                    0x8e,
    184  1.1.1.2  christos                    0x90,
    185  1.1.1.2  christos                    0xca,
    186  1.1.1.2  christos                    0x23,
    187  1.1.1.2  christos                    0xf7,
    188  1.1.1.2  christos                } } },
    189  1.1.1.2  christos     { 15, { 8, {
    190  1.1.1.2  christos                    0xe5,
    191  1.1.1.2  christos                    0x45,
    192  1.1.1.2  christos                    0xbe,
    193  1.1.1.2  christos                    0x49,
    194  1.1.1.2  christos                    0x61,
    195  1.1.1.2  christos                    0xca,
    196  1.1.1.2  christos                    0x29,
    197  1.1.1.2  christos                    0xa1,
    198  1.1.1.2  christos                } } },
    199  1.1.1.2  christos     { 16, { 8, {
    200  1.1.1.2  christos                    0xdb,
    201  1.1.1.2  christos                    0x9b,
    202  1.1.1.2  christos                    0xc2,
    203  1.1.1.2  christos                    0x57,
    204  1.1.1.2  christos                    0x7f,
    205  1.1.1.2  christos                    0xcc,
    206  1.1.1.2  christos                    0x2a,
    207  1.1.1.2  christos                    0x3f,
    208  1.1.1.2  christos                } } },
    209  1.1.1.2  christos     { 17, { 8, {
    210  1.1.1.2  christos                    0x94,
    211  1.1.1.2  christos                    0x47,
    212  1.1.1.2  christos                    0xbe,
    213  1.1.1.2  christos                    0x2c,
    214  1.1.1.2  christos                    0xf5,
    215  1.1.1.2  christos                    0xe9,
    216  1.1.1.2  christos                    0x9a,
    217  1.1.1.2  christos                    0x69,
    218  1.1.1.2  christos                } } },
    219  1.1.1.2  christos     { 18, { 8, {
    220  1.1.1.2  christos                    0x9c,
    221  1.1.1.2  christos                    0xd3,
    222  1.1.1.2  christos                    0x8d,
    223  1.1.1.2  christos                    0x96,
    224  1.1.1.2  christos                    0xf0,
    225  1.1.1.2  christos                    0xb3,
    226  1.1.1.2  christos                    0xc1,
    227  1.1.1.2  christos                    0x4b,
    228  1.1.1.2  christos                } } },
    229  1.1.1.2  christos     { 19, { 8, {
    230  1.1.1.2  christos                    0xbd,
    231  1.1.1.2  christos                    0x61,
    232  1.1.1.2  christos                    0x79,
    233  1.1.1.2  christos                    0xa7,
    234  1.1.1.2  christos                    0x1d,
    235  1.1.1.2  christos                    0xc9,
    236  1.1.1.2  christos                    0x6d,
    237  1.1.1.2  christos                    0xbb,
    238  1.1.1.2  christos                } } },
    239  1.1.1.2  christos     { 20, { 8, {
    240  1.1.1.2  christos                    0x98,
    241  1.1.1.2  christos                    0xee,
    242  1.1.1.2  christos                    0xa2,
    243  1.1.1.2  christos                    0x1a,
    244  1.1.1.2  christos                    0xf2,
    245  1.1.1.2  christos                    0x5c,
    246  1.1.1.2  christos                    0xd6,
    247  1.1.1.2  christos                    0xbe,
    248  1.1.1.2  christos                } } },
    249  1.1.1.2  christos     { 21, { 8, {
    250  1.1.1.2  christos                    0xc7,
    251  1.1.1.2  christos                    0x67,
    252  1.1.1.2  christos                    0x3b,
    253  1.1.1.2  christos                    0x2e,
    254  1.1.1.2  christos                    0xb0,
    255  1.1.1.2  christos                    0xcb,
    256  1.1.1.2  christos                    0xf2,
    257  1.1.1.2  christos                    0xd0,
    258  1.1.1.2  christos                } } },
    259  1.1.1.2  christos     { 22, { 8, {
    260  1.1.1.2  christos                    0x88,
    261  1.1.1.2  christos                    0x3e,
    262  1.1.1.2  christos                    0xa3,
    263  1.1.1.2  christos                    0xe3,
    264  1.1.1.2  christos                    0x95,
    265  1.1.1.2  christos                    0x67,
    266  1.1.1.2  christos                    0x53,
    267  1.1.1.2  christos                    0x93,
    268  1.1.1.2  christos                } } },
    269  1.1.1.2  christos     { 23, { 8, {
    270  1.1.1.2  christos                    0xc8,
    271  1.1.1.2  christos                    0xce,
    272  1.1.1.2  christos                    0x5c,
    273  1.1.1.2  christos                    0xcd,
    274  1.1.1.2  christos                    0x8c,
    275  1.1.1.2  christos                    0x03,
    276  1.1.1.2  christos                    0x0c,
    277  1.1.1.2  christos                    0xa8,
    278  1.1.1.2  christos                } } },
    279  1.1.1.2  christos     { 24, { 8, {
    280  1.1.1.2  christos                    0x94,
    281  1.1.1.2  christos                    0xaf,
    282  1.1.1.2  christos                    0x49,
    283  1.1.1.2  christos                    0xf6,
    284  1.1.1.2  christos                    0xc6,
    285  1.1.1.2  christos                    0x50,
    286  1.1.1.2  christos                    0xad,
    287  1.1.1.2  christos                    0xb8,
    288  1.1.1.2  christos                } } },
    289  1.1.1.2  christos     { 25, { 8, {
    290  1.1.1.2  christos                    0xea,
    291  1.1.1.2  christos                    0xb8,
    292  1.1.1.2  christos                    0x85,
    293  1.1.1.2  christos                    0x8a,
    294  1.1.1.2  christos                    0xde,
    295  1.1.1.2  christos                    0x92,
    296  1.1.1.2  christos                    0xe1,
    297  1.1.1.2  christos                    0xbc,
    298  1.1.1.2  christos                } } },
    299  1.1.1.2  christos     { 26, { 8, {
    300  1.1.1.2  christos                    0xf3,
    301  1.1.1.2  christos                    0x15,
    302  1.1.1.2  christos                    0xbb,
    303  1.1.1.2  christos                    0x5b,
    304  1.1.1.2  christos                    0xb8,
    305  1.1.1.2  christos                    0x35,
    306  1.1.1.2  christos                    0xd8,
    307  1.1.1.2  christos                    0x17,
    308  1.1.1.2  christos                } } },
    309  1.1.1.2  christos     { 27, { 8, {
    310  1.1.1.2  christos                    0xad,
    311  1.1.1.2  christos                    0xcf,
    312  1.1.1.2  christos                    0x6b,
    313  1.1.1.2  christos                    0x07,
    314  1.1.1.2  christos                    0x63,
    315  1.1.1.2  christos                    0x61,
    316  1.1.1.2  christos                    0x2e,
    317  1.1.1.2  christos                    0x2f,
    318  1.1.1.2  christos                } } },
    319  1.1.1.2  christos     { 28, { 8, {
    320  1.1.1.2  christos                    0xa5,
    321  1.1.1.2  christos                    0xc9,
    322  1.1.1.2  christos                    0x1d,
    323  1.1.1.2  christos                    0xa7,
    324  1.1.1.2  christos                    0xac,
    325  1.1.1.2  christos                    0xaa,
    326  1.1.1.2  christos                    0x4d,
    327  1.1.1.2  christos                    0xde,
    328  1.1.1.2  christos                } } },
    329  1.1.1.2  christos     { 29, { 8, {
    330  1.1.1.2  christos                    0x71,
    331  1.1.1.2  christos                    0x65,
    332  1.1.1.2  christos                    0x95,
    333  1.1.1.2  christos                    0x87,
    334  1.1.1.2  christos                    0x66,
    335  1.1.1.2  christos                    0x50,
    336  1.1.1.2  christos                    0xa2,
    337  1.1.1.2  christos                    0xa6,
    338  1.1.1.2  christos                } } },
    339  1.1.1.2  christos     { 30, { 8, {
    340  1.1.1.2  christos                    0x28,
    341  1.1.1.2  christos                    0xef,
    342  1.1.1.2  christos                    0x49,
    343  1.1.1.2  christos                    0x5c,
    344  1.1.1.2  christos                    0x53,
    345  1.1.1.2  christos                    0xa3,
    346  1.1.1.2  christos                    0x87,
    347  1.1.1.2  christos                    0xad,
    348  1.1.1.2  christos                } } },
    349  1.1.1.2  christos     { 31, { 8, {
    350  1.1.1.2  christos                    0x42,
    351  1.1.1.2  christos                    0xc3,
    352  1.1.1.2  christos                    0x41,
    353  1.1.1.2  christos                    0xd8,
    354  1.1.1.2  christos                    0xfa,
    355  1.1.1.2  christos                    0x92,
    356  1.1.1.2  christos                    0xd8,
    357  1.1.1.2  christos                    0x32,
    358  1.1.1.2  christos                } } },
    359  1.1.1.2  christos     { 32, { 8, {
    360  1.1.1.2  christos                    0xce,
    361  1.1.1.2  christos                    0x7c,
    362  1.1.1.2  christos                    0xf2,
    363  1.1.1.2  christos                    0x72,
    364  1.1.1.2  christos                    0x2f,
    365  1.1.1.2  christos                    0x51,
    366  1.1.1.2  christos                    0x27,
    367  1.1.1.2  christos                    0x71,
    368  1.1.1.2  christos                } } },
    369  1.1.1.2  christos     { 33, { 8, {
    370  1.1.1.2  christos                    0xe3,
    371  1.1.1.2  christos                    0x78,
    372  1.1.1.2  christos                    0x59,
    373  1.1.1.2  christos                    0xf9,
    374  1.1.1.2  christos                    0x46,
    375  1.1.1.2  christos                    0x23,
    376  1.1.1.2  christos                    0xf3,
    377  1.1.1.2  christos                    0xa7,
    378  1.1.1.2  christos                } } },
    379  1.1.1.2  christos     { 34, { 8, {
    380  1.1.1.2  christos                    0x38,
    381  1.1.1.2  christos                    0x12,
    382  1.1.1.2  christos                    0x05,
    383  1.1.1.2  christos                    0xbb,
    384  1.1.1.2  christos                    0x1a,
    385  1.1.1.2  christos                    0xb0,
    386  1.1.1.2  christos                    0xe0,
    387  1.1.1.2  christos                    0x12,
    388  1.1.1.2  christos                } } },
    389  1.1.1.2  christos     { 35, { 8, {
    390  1.1.1.2  christos                    0xae,
    391  1.1.1.2  christos                    0x97,
    392  1.1.1.2  christos                    0xa1,
    393  1.1.1.2  christos                    0x0f,
    394  1.1.1.2  christos                    0xd4,
    395  1.1.1.2  christos                    0x34,
    396  1.1.1.2  christos                    0xe0,
    397  1.1.1.2  christos                    0x15,
    398  1.1.1.2  christos                } } },
    399  1.1.1.2  christos     { 36, { 8, {
    400  1.1.1.2  christos                    0xb4,
    401  1.1.1.2  christos                    0xa3,
    402  1.1.1.2  christos                    0x15,
    403  1.1.1.2  christos                    0x08,
    404  1.1.1.2  christos                    0xbe,
    405  1.1.1.2  christos                    0xff,
    406  1.1.1.2  christos                    0x4d,
    407  1.1.1.2  christos                    0x31,
    408  1.1.1.2  christos                } } },
    409  1.1.1.2  christos     { 37, { 8, {
    410  1.1.1.2  christos                    0x81,
    411  1.1.1.2  christos                    0x39,
    412  1.1.1.2  christos                    0x62,
    413  1.1.1.2  christos                    0x29,
    414  1.1.1.2  christos                    0xf0,
    415  1.1.1.2  christos                    0x90,
    416  1.1.1.2  christos                    0x79,
    417  1.1.1.2  christos                    0x02,
    418  1.1.1.2  christos                } } },
    419  1.1.1.2  christos     { 38, { 8, {
    420  1.1.1.2  christos                    0x4d,
    421  1.1.1.2  christos                    0x0c,
    422  1.1.1.2  christos                    0xf4,
    423  1.1.1.2  christos                    0x9e,
    424  1.1.1.2  christos                    0xe5,
    425  1.1.1.2  christos                    0xd4,
    426  1.1.1.2  christos                    0xdc,
    427  1.1.1.2  christos                    0xca,
    428  1.1.1.2  christos                } } },
    429  1.1.1.2  christos     { 39, { 8, {
    430  1.1.1.2  christos                    0x5c,
    431  1.1.1.2  christos                    0x73,
    432  1.1.1.2  christos                    0x33,
    433  1.1.1.2  christos                    0x6a,
    434  1.1.1.2  christos                    0x76,
    435  1.1.1.2  christos                    0xd8,
    436  1.1.1.2  christos                    0xbf,
    437  1.1.1.2  christos                    0x9a,
    438  1.1.1.2  christos                } } },
    439  1.1.1.2  christos     { 40, { 8, {
    440  1.1.1.2  christos                    0xd0,
    441  1.1.1.2  christos                    0xa7,
    442  1.1.1.2  christos                    0x04,
    443  1.1.1.2  christos                    0x53,
    444  1.1.1.2  christos                    0x6b,
    445  1.1.1.2  christos                    0xa9,
    446  1.1.1.2  christos                    0x3e,
    447  1.1.1.2  christos                    0x0e,
    448  1.1.1.2  christos                } } },
    449  1.1.1.2  christos     { 41, { 8, {
    450  1.1.1.2  christos                    0x92,
    451  1.1.1.2  christos                    0x59,
    452  1.1.1.2  christos                    0x58,
    453  1.1.1.2  christos                    0xfc,
    454  1.1.1.2  christos                    0xd6,
    455  1.1.1.2  christos                    0x42,
    456  1.1.1.2  christos                    0x0c,
    457  1.1.1.2  christos                    0xad,
    458  1.1.1.2  christos                } } },
    459  1.1.1.2  christos     { 42, { 8, {
    460  1.1.1.2  christos                    0xa9,
    461  1.1.1.2  christos                    0x15,
    462  1.1.1.2  christos                    0xc2,
    463  1.1.1.2  christos                    0x9b,
    464  1.1.1.2  christos                    0xc8,
    465  1.1.1.2  christos                    0x06,
    466  1.1.1.2  christos                    0x73,
    467  1.1.1.2  christos                    0x18,
    468  1.1.1.2  christos                } } },
    469  1.1.1.2  christos     { 43, { 8, {
    470  1.1.1.2  christos                    0x95,
    471  1.1.1.2  christos                    0x2b,
    472  1.1.1.2  christos                    0x79,
    473  1.1.1.2  christos                    0xf3,
    474  1.1.1.2  christos                    0xbc,
    475  1.1.1.2  christos                    0x0a,
    476  1.1.1.2  christos                    0xa6,
    477  1.1.1.2  christos                    0xd4,
    478  1.1.1.2  christos                } } },
    479  1.1.1.2  christos     { 44, { 8, {
    480  1.1.1.2  christos                    0xf2,
    481  1.1.1.2  christos                    0x1d,
    482  1.1.1.2  christos                    0xf2,
    483  1.1.1.2  christos                    0xe4,
    484  1.1.1.2  christos                    0x1d,
    485  1.1.1.2  christos                    0x45,
    486  1.1.1.2  christos                    0x35,
    487  1.1.1.2  christos                    0xf9,
    488  1.1.1.2  christos                } } },
    489  1.1.1.2  christos     { 45, { 8, {
    490  1.1.1.2  christos                    0x87,
    491  1.1.1.2  christos                    0x57,
    492  1.1.1.2  christos                    0x75,
    493  1.1.1.2  christos                    0x19,
    494  1.1.1.2  christos                    0x04,
    495  1.1.1.2  christos                    0x8f,
    496  1.1.1.2  christos                    0x53,
    497  1.1.1.2  christos                    0xa9,
    498  1.1.1.2  christos                } } },
    499  1.1.1.2  christos     { 46, { 8, {
    500  1.1.1.2  christos                    0x10,
    501  1.1.1.2  christos                    0xa5,
    502  1.1.1.2  christos                    0x6c,
    503  1.1.1.2  christos                    0xf5,
    504  1.1.1.2  christos                    0xdf,
    505  1.1.1.2  christos                    0xcd,
    506  1.1.1.2  christos                    0x9a,
    507  1.1.1.2  christos                    0xdb,
    508  1.1.1.2  christos                } } },
    509  1.1.1.2  christos     { 47, { 8, {
    510  1.1.1.2  christos                    0xeb,
    511  1.1.1.2  christos                    0x75,
    512  1.1.1.2  christos                    0x09,
    513  1.1.1.2  christos                    0x5c,
    514  1.1.1.2  christos                    0xcd,
    515  1.1.1.2  christos                    0x98,
    516  1.1.1.2  christos                    0x6c,
    517  1.1.1.2  christos                    0xd0,
    518  1.1.1.2  christos                } } },
    519  1.1.1.2  christos     { 48, { 8, {
    520  1.1.1.2  christos                    0x51,
    521  1.1.1.2  christos                    0xa9,
    522  1.1.1.2  christos                    0xcb,
    523  1.1.1.2  christos                    0x9e,
    524  1.1.1.2  christos                    0xcb,
    525  1.1.1.2  christos                    0xa3,
    526  1.1.1.2  christos                    0x12,
    527  1.1.1.2  christos                    0xe6,
    528  1.1.1.2  christos                } } },
    529  1.1.1.2  christos     { 49, { 8, {
    530  1.1.1.2  christos                    0x96,
    531  1.1.1.2  christos                    0xaf,
    532  1.1.1.2  christos                    0xad,
    533  1.1.1.2  christos                    0xfc,
    534  1.1.1.2  christos                    0x2c,
    535  1.1.1.2  christos                    0xe6,
    536  1.1.1.2  christos                    0x66,
    537  1.1.1.2  christos                    0xc7,
    538  1.1.1.2  christos                } } },
    539  1.1.1.2  christos     { 50, { 8, {
    540  1.1.1.2  christos                    0x72,
    541  1.1.1.2  christos                    0xfe,
    542  1.1.1.2  christos                    0x52,
    543  1.1.1.2  christos                    0x97,
    544  1.1.1.2  christos                    0x5a,
    545  1.1.1.2  christos                    0x43,
    546  1.1.1.2  christos                    0x64,
    547  1.1.1.2  christos                    0xee,
    548  1.1.1.2  christos                } } },
    549  1.1.1.2  christos     { 51, { 8, {
    550  1.1.1.2  christos                    0x5a,
    551  1.1.1.2  christos                    0x16,
    552  1.1.1.2  christos                    0x45,
    553  1.1.1.2  christos                    0xb2,
    554  1.1.1.2  christos                    0x76,
    555  1.1.1.2  christos                    0xd5,
    556  1.1.1.2  christos                    0x92,
    557  1.1.1.2  christos                    0xa1,
    558  1.1.1.2  christos                } } },
    559  1.1.1.2  christos     { 52, { 8, {
    560  1.1.1.2  christos                    0xb2,
    561  1.1.1.2  christos                    0x74,
    562  1.1.1.2  christos                    0xcb,
    563  1.1.1.2  christos                    0x8e,
    564  1.1.1.2  christos                    0xbf,
    565  1.1.1.2  christos                    0x87,
    566  1.1.1.2  christos                    0x87,
    567  1.1.1.2  christos                    0x0a,
    568  1.1.1.2  christos                } } },
    569  1.1.1.2  christos     { 53, { 8, {
    570  1.1.1.2  christos                    0x6f,
    571  1.1.1.2  christos                    0x9b,
    572  1.1.1.2  christos                    0xb4,
    573  1.1.1.2  christos                    0x20,
    574  1.1.1.2  christos                    0x3d,
    575  1.1.1.2  christos                    0xe7,
    576  1.1.1.2  christos                    0xb3,
    577  1.1.1.2  christos                    0x81,
    578  1.1.1.2  christos                } } },
    579  1.1.1.2  christos     { 54, { 8, {
    580  1.1.1.2  christos                    0xea,
    581  1.1.1.2  christos                    0xec,
    582  1.1.1.2  christos                    0xb2,
    583  1.1.1.2  christos                    0xa3,
    584  1.1.1.2  christos                    0x0b,
    585  1.1.1.2  christos                    0x22,
    586  1.1.1.2  christos                    0xa8,
    587  1.1.1.2  christos                    0x7f,
    588  1.1.1.2  christos                } } },
    589  1.1.1.2  christos     { 55, { 8, {
    590  1.1.1.2  christos                    0x99,
    591  1.1.1.2  christos                    0x24,
    592  1.1.1.2  christos                    0xa4,
    593  1.1.1.2  christos                    0x3c,
    594  1.1.1.2  christos                    0xc1,
    595  1.1.1.2  christos                    0x31,
    596  1.1.1.2  christos                    0x57,
    597  1.1.1.2  christos                    0x24,
    598  1.1.1.2  christos                } } },
    599  1.1.1.2  christos     { 56, { 8, {
    600  1.1.1.2  christos                    0xbd,
    601  1.1.1.2  christos                    0x83,
    602  1.1.1.2  christos                    0x8d,
    603  1.1.1.2  christos                    0x3a,
    604  1.1.1.2  christos                    0xaf,
    605  1.1.1.2  christos                    0xbf,
    606  1.1.1.2  christos                    0x8d,
    607  1.1.1.2  christos                    0xb7,
    608  1.1.1.2  christos                } } },
    609  1.1.1.2  christos     { 57, { 8, {
    610  1.1.1.2  christos                    0x0b,
    611  1.1.1.2  christos                    0x1a,
    612  1.1.1.2  christos                    0x2a,
    613  1.1.1.2  christos                    0x32,
    614  1.1.1.2  christos                    0x65,
    615  1.1.1.2  christos                    0xd5,
    616  1.1.1.2  christos                    0x1a,
    617  1.1.1.2  christos                    0xea,
    618  1.1.1.2  christos                } } },
    619  1.1.1.2  christos     { 58, { 8, {
    620  1.1.1.2  christos                    0x13,
    621  1.1.1.2  christos                    0x50,
    622  1.1.1.2  christos                    0x79,
    623  1.1.1.2  christos                    0xa3,
    624  1.1.1.2  christos                    0x23,
    625  1.1.1.2  christos                    0x1c,
    626  1.1.1.2  christos                    0xe6,
    627  1.1.1.2  christos                    0x60,
    628  1.1.1.2  christos                } } },
    629  1.1.1.2  christos     { 59, { 8, {
    630  1.1.1.2  christos                    0x93,
    631  1.1.1.2  christos                    0x2b,
    632  1.1.1.2  christos                    0x28,
    633  1.1.1.2  christos                    0x46,
    634  1.1.1.2  christos                    0xe4,
    635  1.1.1.2  christos                    0xd7,
    636  1.1.1.2  christos                    0x06,
    637  1.1.1.2  christos                    0x66,
    638  1.1.1.2  christos                } } },
    639  1.1.1.2  christos     { 60, { 8, {
    640  1.1.1.2  christos                    0xe1,
    641  1.1.1.2  christos                    0x91,
    642  1.1.1.2  christos                    0x5f,
    643  1.1.1.2  christos                    0x5c,
    644  1.1.1.2  christos                    0xb1,
    645  1.1.1.2  christos                    0xec,
    646  1.1.1.2  christos                    0xa4,
    647  1.1.1.2  christos                    0x6c,
    648  1.1.1.2  christos                } } },
    649  1.1.1.2  christos     { 61, { 8, {
    650  1.1.1.2  christos                    0xf3,
    651  1.1.1.2  christos                    0x25,
    652  1.1.1.2  christos                    0x96,
    653  1.1.1.2  christos                    0x5c,
    654  1.1.1.2  christos                    0xa1,
    655  1.1.1.2  christos                    0x6d,
    656  1.1.1.2  christos                    0x62,
    657  1.1.1.2  christos                    0x9f,
    658  1.1.1.2  christos                } } },
    659  1.1.1.2  christos     { 62, { 8, {
    660  1.1.1.2  christos                    0x57,
    661  1.1.1.2  christos                    0x5f,
    662  1.1.1.2  christos                    0xf2,
    663  1.1.1.2  christos                    0x8e,
    664  1.1.1.2  christos                    0x60,
    665  1.1.1.2  christos                    0x38,
    666  1.1.1.2  christos                    0x1b,
    667  1.1.1.2  christos                    0xe5,
    668  1.1.1.2  christos                } } },
    669  1.1.1.2  christos     { 63, { 8, {
    670  1.1.1.2  christos                    0x72,
    671  1.1.1.2  christos                    0x45,
    672  1.1.1.2  christos                    0x06,
    673  1.1.1.2  christos                    0xeb,
    674  1.1.1.2  christos                    0x4c,
    675  1.1.1.2  christos                    0x32,
    676  1.1.1.2  christos                    0x8a,
    677  1.1.1.2  christos                    0x95,
    678  1.1.1.2  christos                } } },
    679  1.1.1.2  christos     { 0, { 16, {
    680  1.1.1.2  christos                    0xa3,
    681  1.1.1.2  christos                    0x81,
    682  1.1.1.2  christos                    0x7f,
    683  1.1.1.2  christos                    0x04,
    684  1.1.1.2  christos                    0xba,
    685  1.1.1.2  christos                    0x25,
    686  1.1.1.2  christos                    0xa8,
    687  1.1.1.2  christos                    0xe6,
    688  1.1.1.2  christos                    0x6d,
    689  1.1.1.2  christos                    0xf6,
    690  1.1.1.2  christos                    0x72,
    691  1.1.1.2  christos                    0x14,
    692  1.1.1.2  christos                    0xc7,
    693  1.1.1.2  christos                    0x55,
    694  1.1.1.2  christos                    0x02,
    695  1.1.1.2  christos                    0x93,
    696  1.1.1.2  christos                } } },
    697  1.1.1.2  christos     { 1, { 16, {
    698  1.1.1.2  christos                    0xda,
    699  1.1.1.2  christos                    0x87,
    700  1.1.1.2  christos                    0xc1,
    701  1.1.1.2  christos                    0xd8,
    702  1.1.1.2  christos                    0x6b,
    703  1.1.1.2  christos                    0x99,
    704  1.1.1.2  christos                    0xaf,
    705  1.1.1.2  christos                    0x44,
    706  1.1.1.2  christos                    0x34,
    707  1.1.1.2  christos                    0x76,
    708  1.1.1.2  christos                    0x59,
    709  1.1.1.2  christos                    0x11,
    710  1.1.1.2  christos                    0x9b,
    711  1.1.1.2  christos                    0x22,
    712  1.1.1.2  christos                    0xfc,
    713  1.1.1.2  christos                    0x45,
    714  1.1.1.2  christos                } } },
    715  1.1.1.2  christos     { 2, { 16, {
    716  1.1.1.2  christos                    0x81,
    717  1.1.1.2  christos                    0x77,
    718  1.1.1.2  christos                    0x22,
    719  1.1.1.2  christos                    0x8d,
    720  1.1.1.2  christos                    0xa4,
    721  1.1.1.2  christos                    0xa4,
    722  1.1.1.2  christos                    0x5d,
    723  1.1.1.2  christos                    0xc7,
    724  1.1.1.2  christos                    0xfc,
    725  1.1.1.2  christos                    0xa3,
    726  1.1.1.2  christos                    0x8b,
    727  1.1.1.2  christos                    0xde,
    728  1.1.1.2  christos                    0xf6,
    729  1.1.1.2  christos                    0x0a,
    730  1.1.1.2  christos                    0xff,
    731  1.1.1.2  christos                    0xe4,
    732  1.1.1.2  christos                } } },
    733  1.1.1.2  christos     { 3, { 16, {
    734  1.1.1.2  christos                    0x9c,
    735  1.1.1.2  christos                    0x70,
    736  1.1.1.2  christos                    0xb6,
    737  1.1.1.2  christos                    0x0c,
    738  1.1.1.2  christos                    0x52,
    739  1.1.1.2  christos                    0x67,
    740  1.1.1.2  christos                    0xa9,
    741  1.1.1.2  christos                    0x4e,
    742  1.1.1.2  christos                    0x5f,
    743  1.1.1.2  christos                    0x33,
    744  1.1.1.2  christos                    0xb6,
    745  1.1.1.2  christos                    0xb0,
    746  1.1.1.2  christos                    0x29,
    747  1.1.1.2  christos                    0x85,
    748  1.1.1.2  christos                    0xed,
    749  1.1.1.2  christos                    0x51,
    750  1.1.1.2  christos                } } },
    751  1.1.1.2  christos     { 4, { 16, {
    752  1.1.1.2  christos                    0xf8,
    753  1.1.1.2  christos                    0x81,
    754  1.1.1.2  christos                    0x64,
    755  1.1.1.2  christos                    0xc1,
    756  1.1.1.2  christos                    0x2d,
    757  1.1.1.2  christos                    0x9c,
    758  1.1.1.2  christos                    0x8f,
    759  1.1.1.2  christos                    0xaf,
    760  1.1.1.2  christos                    0x7d,
    761  1.1.1.2  christos                    0x0f,
    762  1.1.1.2  christos                    0x6e,
    763  1.1.1.2  christos                    0x7c,
    764  1.1.1.2  christos                    0x7b,
    765  1.1.1.2  christos                    0xcd,
    766  1.1.1.2  christos                    0x55,
    767  1.1.1.2  christos                    0x79,
    768  1.1.1.2  christos                } } },
    769  1.1.1.2  christos     { 5, { 16, {
    770  1.1.1.2  christos                    0x13,
    771  1.1.1.2  christos                    0x68,
    772  1.1.1.2  christos                    0x87,
    773  1.1.1.2  christos                    0x59,
    774  1.1.1.2  christos                    0x80,
    775  1.1.1.2  christos                    0x77,
    776  1.1.1.2  christos                    0x6f,
    777  1.1.1.2  christos                    0x88,
    778  1.1.1.2  christos                    0x54,
    779  1.1.1.2  christos                    0x52,
    780  1.1.1.2  christos                    0x7a,
    781  1.1.1.2  christos                    0x07,
    782  1.1.1.2  christos                    0x69,
    783  1.1.1.2  christos                    0x0e,
    784  1.1.1.2  christos                    0x96,
    785  1.1.1.2  christos                    0x27,
    786  1.1.1.2  christos                } } },
    787  1.1.1.2  christos     { 6, { 16, {
    788  1.1.1.2  christos                    0x14,
    789  1.1.1.2  christos                    0xee,
    790  1.1.1.2  christos                    0xca,
    791  1.1.1.2  christos                    0x33,
    792  1.1.1.2  christos                    0x8b,
    793  1.1.1.2  christos                    0x20,
    794  1.1.1.2  christos                    0x86,
    795  1.1.1.2  christos                    0x13,
    796  1.1.1.2  christos                    0x48,
    797  1.1.1.2  christos                    0x5e,
    798  1.1.1.2  christos                    0xa0,
    799  1.1.1.2  christos                    0x30,
    800  1.1.1.2  christos                    0x8f,
    801  1.1.1.2  christos                    0xd7,
    802  1.1.1.2  christos                    0xa1,
    803  1.1.1.2  christos                    0x5e,
    804  1.1.1.2  christos                } } },
    805  1.1.1.2  christos     { 7, { 16, {
    806  1.1.1.2  christos                    0xa1,
    807  1.1.1.2  christos                    0xf1,
    808  1.1.1.2  christos                    0xeb,
    809  1.1.1.2  christos                    0xbe,
    810  1.1.1.2  christos                    0xd8,
    811  1.1.1.2  christos                    0xdb,
    812  1.1.1.2  christos                    0xc1,
    813  1.1.1.2  christos                    0x53,
    814  1.1.1.2  christos                    0xc0,
    815  1.1.1.2  christos                    0xb8,
    816  1.1.1.2  christos                    0x4a,
    817  1.1.1.2  christos                    0xa6,
    818  1.1.1.2  christos                    0x1f,
    819  1.1.1.2  christos                    0xf0,
    820  1.1.1.2  christos                    0x82,
    821  1.1.1.2  christos                    0x39,
    822  1.1.1.2  christos                } } },
    823  1.1.1.2  christos     { 8, { 16, {
    824  1.1.1.2  christos                    0x3b,
    825  1.1.1.2  christos                    0x62,
    826  1.1.1.2  christos                    0xa9,
    827  1.1.1.2  christos                    0xba,
    828  1.1.1.2  christos                    0x62,
    829  1.1.1.2  christos                    0x58,
    830  1.1.1.2  christos                    0xf5,
    831  1.1.1.2  christos                    0x61,
    832  1.1.1.2  christos                    0x0f,
    833  1.1.1.2  christos                    0x83,
    834  1.1.1.2  christos                    0xe2,
    835  1.1.1.2  christos                    0x64,
    836  1.1.1.2  christos                    0xf3,
    837  1.1.1.2  christos                    0x14,
    838  1.1.1.2  christos                    0x97,
    839  1.1.1.2  christos                    0xb4,
    840  1.1.1.2  christos                } } },
    841  1.1.1.2  christos     { 9, { 16, {
    842  1.1.1.2  christos                    0x26,
    843  1.1.1.2  christos                    0x44,
    844  1.1.1.2  christos                    0x99,
    845  1.1.1.2  christos                    0x06,
    846  1.1.1.2  christos                    0x0a,
    847  1.1.1.2  christos                    0xd9,
    848  1.1.1.2  christos                    0xba,
    849  1.1.1.2  christos                    0xab,
    850  1.1.1.2  christos                    0xc4,
    851  1.1.1.2  christos                    0x7f,
    852  1.1.1.2  christos                    0x8b,
    853  1.1.1.2  christos                    0x02,
    854  1.1.1.2  christos                    0xbb,
    855  1.1.1.2  christos                    0x6d,
    856  1.1.1.2  christos                    0x71,
    857  1.1.1.2  christos                    0xed,
    858  1.1.1.2  christos                } } },
    859  1.1.1.2  christos     { 10, { 16, {
    860  1.1.1.2  christos                     0x00,
    861  1.1.1.2  christos                     0x11,
    862  1.1.1.2  christos                     0x0d,
    863  1.1.1.2  christos                     0xc3,
    864  1.1.1.2  christos                     0x78,
    865  1.1.1.2  christos                     0x14,
    866  1.1.1.2  christos                     0x69,
    867  1.1.1.2  christos                     0x56,
    868  1.1.1.2  christos                     0xc9,
    869  1.1.1.2  christos                     0x54,
    870  1.1.1.2  christos                     0x47,
    871  1.1.1.2  christos                     0xd3,
    872  1.1.1.2  christos                     0xf3,
    873  1.1.1.2  christos                     0xd0,
    874  1.1.1.2  christos                     0xfb,
    875  1.1.1.2  christos                     0xba,
    876  1.1.1.2  christos                 } } },
    877  1.1.1.2  christos     { 11, { 16, {
    878  1.1.1.2  christos                     0x01,
    879  1.1.1.2  christos                     0x51,
    880  1.1.1.2  christos                     0xc5,
    881  1.1.1.2  christos                     0x68,
    882  1.1.1.2  christos                     0x38,
    883  1.1.1.2  christos                     0x6b,
    884  1.1.1.2  christos                     0x66,
    885  1.1.1.2  christos                     0x77,
    886  1.1.1.2  christos                     0xa2,
    887  1.1.1.2  christos                     0xb4,
    888  1.1.1.2  christos                     0xdc,
    889  1.1.1.2  christos                     0x6f,
    890  1.1.1.2  christos                     0x81,
    891  1.1.1.2  christos                     0xe5,
    892  1.1.1.2  christos                     0xdc,
    893  1.1.1.2  christos                     0x18,
    894  1.1.1.2  christos                 } } },
    895  1.1.1.2  christos     { 12, { 16, {
    896  1.1.1.2  christos                     0xd6,
    897  1.1.1.2  christos                     0x26,
    898  1.1.1.2  christos                     0xb2,
    899  1.1.1.2  christos                     0x66,
    900  1.1.1.2  christos                     0x90,
    901  1.1.1.2  christos                     0x5e,
    902  1.1.1.2  christos                     0xf3,
    903  1.1.1.2  christos                     0x58,
    904  1.1.1.2  christos                     0x82,
    905  1.1.1.2  christos                     0x63,
    906  1.1.1.2  christos                     0x4d,
    907  1.1.1.2  christos                     0xf6,
    908  1.1.1.2  christos                     0x85,
    909  1.1.1.2  christos                     0x32,
    910  1.1.1.2  christos                     0xc1,
    911  1.1.1.2  christos                     0x25,
    912  1.1.1.2  christos                 } } },
    913  1.1.1.2  christos     { 13, { 16, {
    914  1.1.1.2  christos                     0x98,
    915  1.1.1.2  christos                     0x69,
    916  1.1.1.2  christos                     0xe2,
    917  1.1.1.2  christos                     0x47,
    918  1.1.1.2  christos                     0xe9,
    919  1.1.1.2  christos                     0xc0,
    920  1.1.1.2  christos                     0x8b,
    921  1.1.1.2  christos                     0x10,
    922  1.1.1.2  christos                     0xd0,
    923  1.1.1.2  christos                     0x29,
    924  1.1.1.2  christos                     0x93,
    925  1.1.1.2  christos                     0x4f,
    926  1.1.1.2  christos                     0xc4,
    927  1.1.1.2  christos                     0xb9,
    928  1.1.1.2  christos                     0x52,
    929  1.1.1.2  christos                     0xf7,
    930  1.1.1.2  christos                 } } },
    931  1.1.1.2  christos     { 14, { 16, {
    932  1.1.1.2  christos                     0x31,
    933  1.1.1.2  christos                     0xfc,
    934  1.1.1.2  christos                     0xef,
    935  1.1.1.2  christos                     0xac,
    936  1.1.1.2  christos                     0x66,
    937  1.1.1.2  christos                     0xd7,
    938  1.1.1.2  christos                     0xde,
    939  1.1.1.2  christos                     0x9c,
    940  1.1.1.2  christos                     0x7e,
    941  1.1.1.2  christos                     0xc7,
    942  1.1.1.2  christos                     0x48,
    943  1.1.1.2  christos                     0x5f,
    944  1.1.1.2  christos                     0xe4,
    945  1.1.1.2  christos                     0x49,
    946  1.1.1.2  christos                     0x49,
    947  1.1.1.2  christos                     0x02,
    948  1.1.1.2  christos                 } } },
    949  1.1.1.2  christos     { 15, { 16, {
    950  1.1.1.2  christos                     0x54,
    951  1.1.1.2  christos                     0x93,
    952  1.1.1.2  christos                     0xe9,
    953  1.1.1.2  christos                     0x99,
    954  1.1.1.2  christos                     0x33,
    955  1.1.1.2  christos                     0xb0,
    956  1.1.1.2  christos                     0xa8,
    957  1.1.1.2  christos                     0x11,
    958  1.1.1.2  christos                     0x7e,
    959  1.1.1.2  christos                     0x08,
    960  1.1.1.2  christos                     0xec,
    961  1.1.1.2  christos                     0x0f,
    962  1.1.1.2  christos                     0x97,
    963  1.1.1.2  christos                     0xcf,
    964  1.1.1.2  christos                     0xc3,
    965  1.1.1.2  christos                     0xd9,
    966  1.1.1.2  christos                 } } },
    967  1.1.1.2  christos     { 16, { 16, {
    968  1.1.1.2  christos                     0x6e,
    969  1.1.1.2  christos                     0xe2,
    970  1.1.1.2  christos                     0xa4,
    971  1.1.1.2  christos                     0xca,
    972  1.1.1.2  christos                     0x67,
    973  1.1.1.2  christos                     0xb0,
    974  1.1.1.2  christos                     0x54,
    975  1.1.1.2  christos                     0xbb,
    976  1.1.1.2  christos                     0xfd,
    977  1.1.1.2  christos                     0x33,
    978  1.1.1.2  christos                     0x15,
    979  1.1.1.2  christos                     0xbf,
    980  1.1.1.2  christos                     0x85,
    981  1.1.1.2  christos                     0x23,
    982  1.1.1.2  christos                     0x05,
    983  1.1.1.2  christos                     0x77,
    984  1.1.1.2  christos                 } } },
    985  1.1.1.2  christos     { 17, { 16, {
    986  1.1.1.2  christos                     0x47,
    987  1.1.1.2  christos                     0x3d,
    988  1.1.1.2  christos                     0x06,
    989  1.1.1.2  christos                     0xe8,
    990  1.1.1.2  christos                     0x73,
    991  1.1.1.2  christos                     0x8d,
    992  1.1.1.2  christos                     0xb8,
    993  1.1.1.2  christos                     0x98,
    994  1.1.1.2  christos                     0x54,
    995  1.1.1.2  christos                     0xc0,
    996  1.1.1.2  christos                     0x66,
    997  1.1.1.2  christos                     0xc4,
    998  1.1.1.2  christos                     0x7a,
    999  1.1.1.2  christos                     0xe4,
   1000  1.1.1.2  christos                     0x77,
   1001  1.1.1.2  christos                     0x40,
   1002  1.1.1.2  christos                 } } },
   1003  1.1.1.2  christos     { 18, { 16, {
   1004  1.1.1.2  christos                     0xa4,
   1005  1.1.1.2  christos                     0x26,
   1006  1.1.1.2  christos                     0xe5,
   1007  1.1.1.2  christos                     0xe4,
   1008  1.1.1.2  christos                     0x23,
   1009  1.1.1.2  christos                     0xbf,
   1010  1.1.1.2  christos                     0x48,
   1011  1.1.1.2  christos                     0x85,
   1012  1.1.1.2  christos                     0x29,
   1013  1.1.1.2  christos                     0x4d,
   1014  1.1.1.2  christos                     0xa4,
   1015  1.1.1.2  christos                     0x81,
   1016  1.1.1.2  christos                     0xfe,
   1017  1.1.1.2  christos                     0xae,
   1018  1.1.1.2  christos                     0xf7,
   1019  1.1.1.2  christos                     0x23,
   1020  1.1.1.2  christos                 } } },
   1021  1.1.1.2  christos     { 19, { 16, {
   1022  1.1.1.2  christos                     0x78,
   1023  1.1.1.2  christos                     0x01,
   1024  1.1.1.2  christos                     0x77,
   1025  1.1.1.2  christos                     0x31,
   1026  1.1.1.2  christos                     0xcf,
   1027  1.1.1.2  christos                     0x65,
   1028  1.1.1.2  christos                     0xfa,
   1029  1.1.1.2  christos                     0xb0,
   1030  1.1.1.2  christos                     0x74,
   1031  1.1.1.2  christos                     0xd5,
   1032  1.1.1.2  christos                     0x20,
   1033  1.1.1.2  christos                     0x89,
   1034  1.1.1.2  christos                     0x52,
   1035  1.1.1.2  christos                     0x51,
   1036  1.1.1.2  christos                     0x2e,
   1037  1.1.1.2  christos                     0xb1,
   1038  1.1.1.2  christos                 } } },
   1039  1.1.1.2  christos     { 20, { 16, {
   1040  1.1.1.2  christos                     0x9e,
   1041  1.1.1.2  christos                     0x25,
   1042  1.1.1.2  christos                     0xfc,
   1043  1.1.1.2  christos                     0x83,
   1044  1.1.1.2  christos                     0x3f,
   1045  1.1.1.2  christos                     0x22,
   1046  1.1.1.2  christos                     0x90,
   1047  1.1.1.2  christos                     0x73,
   1048  1.1.1.2  christos                     0x3e,
   1049  1.1.1.2  christos                     0x93,
   1050  1.1.1.2  christos                     0x44,
   1051  1.1.1.2  christos                     0xa5,
   1052  1.1.1.2  christos                     0xe8,
   1053  1.1.1.2  christos                     0x38,
   1054  1.1.1.2  christos                     0x39,
   1055  1.1.1.2  christos                     0xeb,
   1056  1.1.1.2  christos                 } } },
   1057  1.1.1.2  christos     { 21, { 16, {
   1058  1.1.1.2  christos                     0x56,
   1059  1.1.1.2  christos                     0x8e,
   1060  1.1.1.2  christos                     0x49,
   1061  1.1.1.2  christos                     0x5a,
   1062  1.1.1.2  christos                     0xbe,
   1063  1.1.1.2  christos                     0x52,
   1064  1.1.1.2  christos                     0x5a,
   1065  1.1.1.2  christos                     0x21,
   1066  1.1.1.2  christos                     0x8a,
   1067  1.1.1.2  christos                     0x22,
   1068  1.1.1.2  christos                     0x14,
   1069  1.1.1.2  christos                     0xcd,
   1070  1.1.1.2  christos                     0x3e,
   1071  1.1.1.2  christos                     0x07,
   1072  1.1.1.2  christos                     0x1d,
   1073  1.1.1.2  christos                     0x12,
   1074  1.1.1.2  christos                 } } },
   1075  1.1.1.2  christos     { 22, { 16, {
   1076  1.1.1.2  christos                     0x4a,
   1077  1.1.1.2  christos                     0x29,
   1078  1.1.1.2  christos                     0xb5,
   1079  1.1.1.2  christos                     0x45,
   1080  1.1.1.2  christos                     0x52,
   1081  1.1.1.2  christos                     0xd1,
   1082  1.1.1.2  christos                     0x6b,
   1083  1.1.1.2  christos                     0x9a,
   1084  1.1.1.2  christos                     0x46,
   1085  1.1.1.2  christos                     0x9c,
   1086  1.1.1.2  christos                     0x10,
   1087  1.1.1.2  christos                     0x52,
   1088  1.1.1.2  christos                     0x8e,
   1089  1.1.1.2  christos                     0xff,
   1090  1.1.1.2  christos                     0x0a,
   1091  1.1.1.2  christos                     0xae,
   1092  1.1.1.2  christos                 } } },
   1093  1.1.1.2  christos     { 23, { 16, {
   1094  1.1.1.2  christos                     0xc9,
   1095  1.1.1.2  christos                     0xd1,
   1096  1.1.1.2  christos                     0x84,
   1097  1.1.1.2  christos                     0xdd,
   1098  1.1.1.2  christos                     0xd5,
   1099  1.1.1.2  christos                     0xa9,
   1100  1.1.1.2  christos                     0xf5,
   1101  1.1.1.2  christos                     0xe0,
   1102  1.1.1.2  christos                     0xcf,
   1103  1.1.1.2  christos                     0x8c,
   1104  1.1.1.2  christos                     0xe2,
   1105  1.1.1.2  christos                     0x9a,
   1106  1.1.1.2  christos                     0x9a,
   1107  1.1.1.2  christos                     0xbf,
   1108  1.1.1.2  christos                     0x69,
   1109  1.1.1.2  christos                     0x1c,
   1110  1.1.1.2  christos                 } } },
   1111  1.1.1.2  christos     { 24, { 16, {
   1112  1.1.1.2  christos                     0x2d,
   1113  1.1.1.2  christos                     0xb4,
   1114  1.1.1.2  christos                     0x79,
   1115  1.1.1.2  christos                     0xae,
   1116  1.1.1.2  christos                     0x78,
   1117  1.1.1.2  christos                     0xbd,
   1118  1.1.1.2  christos                     0x50,
   1119  1.1.1.2  christos                     0xd8,
   1120  1.1.1.2  christos                     0x88,
   1121  1.1.1.2  christos                     0x2a,
   1122  1.1.1.2  christos                     0x8a,
   1123  1.1.1.2  christos                     0x17,
   1124  1.1.1.2  christos                     0x8a,
   1125  1.1.1.2  christos                     0x61,
   1126  1.1.1.2  christos                     0x32,
   1127  1.1.1.2  christos                     0xad,
   1128  1.1.1.2  christos                 } } },
   1129  1.1.1.2  christos     { 25, { 16, {
   1130  1.1.1.2  christos                     0x8e,
   1131  1.1.1.2  christos                     0xce,
   1132  1.1.1.2  christos                     0x5f,
   1133  1.1.1.2  christos                     0x04,
   1134  1.1.1.2  christos                     0x2d,
   1135  1.1.1.2  christos                     0x5e,
   1136  1.1.1.2  christos                     0x44,
   1137  1.1.1.2  christos                     0x7b,
   1138  1.1.1.2  christos                     0x50,
   1139  1.1.1.2  christos                     0x51,
   1140  1.1.1.2  christos                     0xb9,
   1141  1.1.1.2  christos                     0xea,
   1142  1.1.1.2  christos                     0xcb,
   1143  1.1.1.2  christos                     0x8d,
   1144  1.1.1.2  christos                     0x8f,
   1145  1.1.1.2  christos                     0x6f,
   1146  1.1.1.2  christos                 } } },
   1147  1.1.1.2  christos     { 26, { 16, {
   1148  1.1.1.2  christos                     0x9c,
   1149  1.1.1.2  christos                     0x0b,
   1150  1.1.1.2  christos                     0x53,
   1151  1.1.1.2  christos                     0xb4,
   1152  1.1.1.2  christos                     0xb3,
   1153  1.1.1.2  christos                     0xc3,
   1154  1.1.1.2  christos                     0x07,
   1155  1.1.1.2  christos                     0xe8,
   1156  1.1.1.2  christos                     0x7e,
   1157  1.1.1.2  christos                     0xae,
   1158  1.1.1.2  christos                     0xe0,
   1159  1.1.1.2  christos                     0x86,
   1160  1.1.1.2  christos                     0x78,
   1161  1.1.1.2  christos                     0x14,
   1162  1.1.1.2  christos                     0x1f,
   1163  1.1.1.2  christos                     0x66,
   1164  1.1.1.2  christos                 } } },
   1165  1.1.1.2  christos     { 27, { 16, {
   1166  1.1.1.2  christos                     0xab,
   1167  1.1.1.2  christos                     0xf2,
   1168  1.1.1.2  christos                     0x48,
   1169  1.1.1.2  christos                     0xaf,
   1170  1.1.1.2  christos                     0x69,
   1171  1.1.1.2  christos                     0xa6,
   1172  1.1.1.2  christos                     0xea,
   1173  1.1.1.2  christos                     0xe4,
   1174  1.1.1.2  christos                     0xbf,
   1175  1.1.1.2  christos                     0xd3,
   1176  1.1.1.2  christos                     0xeb,
   1177  1.1.1.2  christos                     0x2f,
   1178  1.1.1.2  christos                     0x12,
   1179  1.1.1.2  christos                     0x9e,
   1180  1.1.1.2  christos                     0xeb,
   1181  1.1.1.2  christos                     0x94,
   1182  1.1.1.2  christos                 } } },
   1183  1.1.1.2  christos     { 28, { 16, {
   1184  1.1.1.2  christos                     0x06,
   1185  1.1.1.2  christos                     0x64,
   1186  1.1.1.2  christos                     0xda,
   1187  1.1.1.2  christos                     0x16,
   1188  1.1.1.2  christos                     0x68,
   1189  1.1.1.2  christos                     0x57,
   1190  1.1.1.2  christos                     0x4b,
   1191  1.1.1.2  christos                     0x88,
   1192  1.1.1.2  christos                     0xb9,
   1193  1.1.1.2  christos                     0x35,
   1194  1.1.1.2  christos                     0xf3,
   1195  1.1.1.2  christos                     0x02,
   1196  1.1.1.2  christos                     0x73,
   1197  1.1.1.2  christos                     0x58,
   1198  1.1.1.2  christos                     0xae,
   1199  1.1.1.2  christos                     0xf4,
   1200  1.1.1.2  christos                 } } },
   1201  1.1.1.2  christos     { 29, { 16, {
   1202  1.1.1.2  christos                     0xaa,
   1203  1.1.1.2  christos                     0x4b,
   1204  1.1.1.2  christos                     0x9d,
   1205  1.1.1.2  christos                     0xc4,
   1206  1.1.1.2  christos                     0xbf,
   1207  1.1.1.2  christos                     0x33,
   1208  1.1.1.2  christos                     0x7d,
   1209  1.1.1.2  christos                     0xe9,
   1210  1.1.1.2  christos                     0x0c,
   1211  1.1.1.2  christos                     0xd4,
   1212  1.1.1.2  christos                     0xfd,
   1213  1.1.1.2  christos                     0x3c,
   1214  1.1.1.2  christos                     0x46,
   1215  1.1.1.2  christos                     0x7c,
   1216  1.1.1.2  christos                     0x6a,
   1217  1.1.1.2  christos                     0xb7,
   1218  1.1.1.2  christos                 } } },
   1219  1.1.1.2  christos     { 30, { 16, {
   1220  1.1.1.2  christos                     0xea,
   1221  1.1.1.2  christos                     0x5c,
   1222  1.1.1.2  christos                     0x7f,
   1223  1.1.1.2  christos                     0x47,
   1224  1.1.1.2  christos                     0x1f,
   1225  1.1.1.2  christos                     0xaf,
   1226  1.1.1.2  christos                     0x6b,
   1227  1.1.1.2  christos                     0xde,
   1228  1.1.1.2  christos                     0x2b,
   1229  1.1.1.2  christos                     0x1a,
   1230  1.1.1.2  christos                     0xd7,
   1231  1.1.1.2  christos                     0xd4,
   1232  1.1.1.2  christos                     0x68,
   1233  1.1.1.2  christos                     0x6d,
   1234  1.1.1.2  christos                     0x22,
   1235  1.1.1.2  christos                     0x87,
   1236  1.1.1.2  christos                 } } },
   1237  1.1.1.2  christos     { 31, { 16, {
   1238  1.1.1.2  christos                     0x29,
   1239  1.1.1.2  christos                     0x39,
   1240  1.1.1.2  christos                     0xb0,
   1241  1.1.1.2  christos                     0x18,
   1242  1.1.1.2  christos                     0x32,
   1243  1.1.1.2  christos                     0x23,
   1244  1.1.1.2  christos                     0xfa,
   1245  1.1.1.2  christos                     0xfc,
   1246  1.1.1.2  christos                     0x17,
   1247  1.1.1.2  christos                     0x23,
   1248  1.1.1.2  christos                     0xde,
   1249  1.1.1.2  christos                     0x4f,
   1250  1.1.1.2  christos                     0x52,
   1251  1.1.1.2  christos                     0xc4,
   1252  1.1.1.2  christos                     0x3d,
   1253  1.1.1.2  christos                     0x35,
   1254  1.1.1.2  christos                 } } },
   1255  1.1.1.2  christos     { 32, { 16, {
   1256  1.1.1.2  christos                     0x7c,
   1257  1.1.1.2  christos                     0x39,
   1258  1.1.1.2  christos                     0x56,
   1259  1.1.1.2  christos                     0xca,
   1260  1.1.1.2  christos                     0x5e,
   1261  1.1.1.2  christos                     0xea,
   1262  1.1.1.2  christos                     0xfc,
   1263  1.1.1.2  christos                     0x3e,
   1264  1.1.1.2  christos                     0x36,
   1265  1.1.1.2  christos                     0x3e,
   1266  1.1.1.2  christos                     0x9d,
   1267  1.1.1.2  christos                     0x55,
   1268  1.1.1.2  christos                     0x65,
   1269  1.1.1.2  christos                     0x46,
   1270  1.1.1.2  christos                     0xeb,
   1271  1.1.1.2  christos                     0x68,
   1272  1.1.1.2  christos                 } } },
   1273  1.1.1.2  christos     { 33, { 16, {
   1274  1.1.1.2  christos                     0x77,
   1275  1.1.1.2  christos                     0xc6,
   1276  1.1.1.2  christos                     0x07,
   1277  1.1.1.2  christos                     0x71,
   1278  1.1.1.2  christos                     0x46,
   1279  1.1.1.2  christos                     0xf0,
   1280  1.1.1.2  christos                     0x1c,
   1281  1.1.1.2  christos                     0x32,
   1282  1.1.1.2  christos                     0xb6,
   1283  1.1.1.2  christos                     0xb6,
   1284  1.1.1.2  christos                     0x9d,
   1285  1.1.1.2  christos                     0x5f,
   1286  1.1.1.2  christos                     0x4e,
   1287  1.1.1.2  christos                     0xa9,
   1288  1.1.1.2  christos                     0xff,
   1289  1.1.1.2  christos                     0xcf,
   1290  1.1.1.2  christos                 } } },
   1291  1.1.1.2  christos     { 34, { 16, {
   1292  1.1.1.2  christos                     0x37,
   1293  1.1.1.2  christos                     0xa6,
   1294  1.1.1.2  christos                     0x98,
   1295  1.1.1.2  christos                     0x6c,
   1296  1.1.1.2  christos                     0xb8,
   1297  1.1.1.2  christos                     0x84,
   1298  1.1.1.2  christos                     0x7e,
   1299  1.1.1.2  christos                     0xdf,
   1300  1.1.1.2  christos                     0x09,
   1301  1.1.1.2  christos                     0x25,
   1302  1.1.1.2  christos                     0xf0,
   1303  1.1.1.2  christos                     0xf1,
   1304  1.1.1.2  christos                     0x30,
   1305  1.1.1.2  christos                     0x9b,
   1306  1.1.1.2  christos                     0x54,
   1307  1.1.1.2  christos                     0xde,
   1308  1.1.1.2  christos                 } } },
   1309  1.1.1.2  christos     { 35, { 16, {
   1310  1.1.1.2  christos                     0xa7,
   1311  1.1.1.2  christos                     0x05,
   1312  1.1.1.2  christos                     0xf0,
   1313  1.1.1.2  christos                     0xe6,
   1314  1.1.1.2  christos                     0x9d,
   1315  1.1.1.2  christos                     0xa9,
   1316  1.1.1.2  christos                     0xa8,
   1317  1.1.1.2  christos                     0xf9,
   1318  1.1.1.2  christos                     0x07,
   1319  1.1.1.2  christos                     0x24,
   1320  1.1.1.2  christos                     0x1a,
   1321  1.1.1.2  christos                     0x2e,
   1322  1.1.1.2  christos                     0x92,
   1323  1.1.1.2  christos                     0x3c,
   1324  1.1.1.2  christos                     0x8c,
   1325  1.1.1.2  christos                     0xc8,
   1326  1.1.1.2  christos                 } } },
   1327  1.1.1.2  christos     { 36, { 16, {
   1328  1.1.1.2  christos                     0x3d,
   1329  1.1.1.2  christos                     0xc4,
   1330  1.1.1.2  christos                     0x7d,
   1331  1.1.1.2  christos                     0x1f,
   1332  1.1.1.2  christos                     0x29,
   1333  1.1.1.2  christos                     0xc4,
   1334  1.1.1.2  christos                     0x48,
   1335  1.1.1.2  christos                     0x46,
   1336  1.1.1.2  christos                     0x1e,
   1337  1.1.1.2  christos                     0x9e,
   1338  1.1.1.2  christos                     0x76,
   1339  1.1.1.2  christos                     0xed,
   1340  1.1.1.2  christos                     0x90,
   1341  1.1.1.2  christos                     0x4f,
   1342  1.1.1.2  christos                     0x67,
   1343  1.1.1.2  christos                     0x11,
   1344  1.1.1.2  christos                 } } },
   1345  1.1.1.2  christos     { 37, { 16, {
   1346  1.1.1.2  christos                     0x0d,
   1347  1.1.1.2  christos                     0x62,
   1348  1.1.1.2  christos                     0xbf,
   1349  1.1.1.2  christos                     0x01,
   1350  1.1.1.2  christos                     0xe6,
   1351  1.1.1.2  christos                     0xfc,
   1352  1.1.1.2  christos                     0x0e,
   1353  1.1.1.2  christos                     0x1a,
   1354  1.1.1.2  christos                     0x0d,
   1355  1.1.1.2  christos                     0x3c,
   1356  1.1.1.2  christos                     0x47,
   1357  1.1.1.2  christos                     0x51,
   1358  1.1.1.2  christos                     0xc5,
   1359  1.1.1.2  christos                     0xd3,
   1360  1.1.1.2  christos                     0x69,
   1361  1.1.1.2  christos                     0x2b,
   1362  1.1.1.2  christos                 } } },
   1363  1.1.1.2  christos     { 38, { 16, {
   1364  1.1.1.2  christos                     0x8c,
   1365  1.1.1.2  christos                     0x03,
   1366  1.1.1.2  christos                     0x46,
   1367  1.1.1.2  christos                     0x8b,
   1368  1.1.1.2  christos                     0xca,
   1369  1.1.1.2  christos                     0x7c,
   1370  1.1.1.2  christos                     0x66,
   1371  1.1.1.2  christos                     0x9e,
   1372  1.1.1.2  christos                     0xe4,
   1373  1.1.1.2  christos                     0xfd,
   1374  1.1.1.2  christos                     0x5e,
   1375  1.1.1.2  christos                     0x08,
   1376  1.1.1.2  christos                     0x4b,
   1377  1.1.1.2  christos                     0xbe,
   1378  1.1.1.2  christos                     0xe7,
   1379  1.1.1.2  christos                     0xb5,
   1380  1.1.1.2  christos                 } } },
   1381  1.1.1.2  christos     { 39, { 16, {
   1382  1.1.1.2  christos                     0x52,
   1383  1.1.1.2  christos                     0x8a,
   1384  1.1.1.2  christos                     0x5b,
   1385  1.1.1.2  christos                     0xb9,
   1386  1.1.1.2  christos                     0x3b,
   1387  1.1.1.2  christos                     0xaf,
   1388  1.1.1.2  christos                     0x2c,
   1389  1.1.1.2  christos                     0x9c,
   1390  1.1.1.2  christos                     0x44,
   1391  1.1.1.2  christos                     0x73,
   1392  1.1.1.2  christos                     0xcc,
   1393  1.1.1.2  christos                     0xe5,
   1394  1.1.1.2  christos                     0xd0,
   1395  1.1.1.2  christos                     0xd2,
   1396  1.1.1.2  christos                     0x2b,
   1397  1.1.1.2  christos                     0xd9,
   1398  1.1.1.2  christos                 } } },
   1399  1.1.1.2  christos     { 40, { 16, {
   1400  1.1.1.2  christos                     0xdf,
   1401  1.1.1.2  christos                     0x6a,
   1402  1.1.1.2  christos                     0x30,
   1403  1.1.1.2  christos                     0x1e,
   1404  1.1.1.2  christos                     0x95,
   1405  1.1.1.2  christos                     0xc9,
   1406  1.1.1.2  christos                     0x5d,
   1407  1.1.1.2  christos                     0xad,
   1408  1.1.1.2  christos                     0x97,
   1409  1.1.1.2  christos                     0xae,
   1410  1.1.1.2  christos                     0x0c,
   1411  1.1.1.2  christos                     0xc8,
   1412  1.1.1.2  christos                     0xc6,
   1413  1.1.1.2  christos                     0x91,
   1414  1.1.1.2  christos                     0x3b,
   1415  1.1.1.2  christos                     0xd8,
   1416  1.1.1.2  christos                 } } },
   1417  1.1.1.2  christos     { 41, { 16, {
   1418  1.1.1.2  christos                     0x80,
   1419  1.1.1.2  christos                     0x11,
   1420  1.1.1.2  christos                     0x89,
   1421  1.1.1.2  christos                     0x90,
   1422  1.1.1.2  christos                     0x2c,
   1423  1.1.1.2  christos                     0x85,
   1424  1.1.1.2  christos                     0x7f,
   1425  1.1.1.2  christos                     0x39,
   1426  1.1.1.2  christos                     0xe7,
   1427  1.1.1.2  christos                     0x35,
   1428  1.1.1.2  christos                     0x91,
   1429  1.1.1.2  christos                     0x28,
   1430  1.1.1.2  christos                     0x5e,
   1431  1.1.1.2  christos                     0x70,
   1432  1.1.1.2  christos                     0xb6,
   1433  1.1.1.2  christos                     0xdb,
   1434  1.1.1.2  christos                 } } },
   1435  1.1.1.2  christos     { 42, { 16, {
   1436  1.1.1.2  christos                     0xe6,
   1437  1.1.1.2  christos                     0x17,
   1438  1.1.1.2  christos                     0x34,
   1439  1.1.1.2  christos                     0x6a,
   1440  1.1.1.2  christos                     0xc9,
   1441  1.1.1.2  christos                     0xc2,
   1442  1.1.1.2  christos                     0x31,
   1443  1.1.1.2  christos                     0xbb,
   1444  1.1.1.2  christos                     0x36,
   1445  1.1.1.2  christos                     0x50,
   1446  1.1.1.2  christos                     0xae,
   1447  1.1.1.2  christos                     0x34,
   1448  1.1.1.2  christos                     0xcc,
   1449  1.1.1.2  christos                     0xca,
   1450  1.1.1.2  christos                     0x0c,
   1451  1.1.1.2  christos                     0x5b,
   1452  1.1.1.2  christos                 } } },
   1453  1.1.1.2  christos     { 43, { 16, {
   1454  1.1.1.2  christos                     0x27,
   1455  1.1.1.2  christos                     0xd9,
   1456  1.1.1.2  christos                     0x34,
   1457  1.1.1.2  christos                     0x37,
   1458  1.1.1.2  christos                     0xef,
   1459  1.1.1.2  christos                     0xb7,
   1460  1.1.1.2  christos                     0x21,
   1461  1.1.1.2  christos                     0xaa,
   1462  1.1.1.2  christos                     0x40,
   1463  1.1.1.2  christos                     0x18,
   1464  1.1.1.2  christos                     0x21,
   1465  1.1.1.2  christos                     0xdc,
   1466  1.1.1.2  christos                     0xec,
   1467  1.1.1.2  christos                     0x5a,
   1468  1.1.1.2  christos                     0xdf,
   1469  1.1.1.2  christos                     0x89,
   1470  1.1.1.2  christos                 } } },
   1471  1.1.1.2  christos     { 44, { 16, {
   1472  1.1.1.2  christos                     0x89,
   1473  1.1.1.2  christos                     0x23,
   1474  1.1.1.2  christos                     0x7d,
   1475  1.1.1.2  christos                     0x9d,
   1476  1.1.1.2  christos                     0xed,
   1477  1.1.1.2  christos                     0x9c,
   1478  1.1.1.2  christos                     0x5e,
   1479  1.1.1.2  christos                     0x78,
   1480  1.1.1.2  christos                     0xd8,
   1481  1.1.1.2  christos                     0xb1,
   1482  1.1.1.2  christos                     0xc9,
   1483  1.1.1.2  christos                     0xb1,
   1484  1.1.1.2  christos                     0x66,
   1485  1.1.1.2  christos                     0xcc,
   1486  1.1.1.2  christos                     0x73,
   1487  1.1.1.2  christos                     0x42,
   1488  1.1.1.2  christos                 } } },
   1489  1.1.1.2  christos     { 45, { 16, {
   1490  1.1.1.2  christos                     0x4a,
   1491  1.1.1.2  christos                     0x6d,
   1492  1.1.1.2  christos                     0x80,
   1493  1.1.1.2  christos                     0x91,
   1494  1.1.1.2  christos                     0xbf,
   1495  1.1.1.2  christos                     0x5e,
   1496  1.1.1.2  christos                     0x7d,
   1497  1.1.1.2  christos                     0x65,
   1498  1.1.1.2  christos                     0x11,
   1499  1.1.1.2  christos                     0x89,
   1500  1.1.1.2  christos                     0xfa,
   1501  1.1.1.2  christos                     0x94,
   1502  1.1.1.2  christos                     0xa2,
   1503  1.1.1.2  christos                     0x50,
   1504  1.1.1.2  christos                     0xb1,
   1505  1.1.1.2  christos                     0x4c,
   1506  1.1.1.2  christos                 } } },
   1507  1.1.1.2  christos     { 46, { 16, {
   1508  1.1.1.2  christos                     0x0e,
   1509  1.1.1.2  christos                     0x33,
   1510  1.1.1.2  christos                     0xf9,
   1511  1.1.1.2  christos                     0x60,
   1512  1.1.1.2  christos                     0x55,
   1513  1.1.1.2  christos                     0xe7,
   1514  1.1.1.2  christos                     0xae,
   1515  1.1.1.2  christos                     0x89,
   1516  1.1.1.2  christos                     0x3f,
   1517  1.1.1.2  christos                     0xfc,
   1518  1.1.1.2  christos                     0x0e,
   1519  1.1.1.2  christos                     0x3d,
   1520  1.1.1.2  christos                     0xcf,
   1521  1.1.1.2  christos                     0x49,
   1522  1.1.1.2  christos                     0x29,
   1523  1.1.1.2  christos                     0x02,
   1524  1.1.1.2  christos                 } } },
   1525  1.1.1.2  christos     { 47, { 16, {
   1526  1.1.1.2  christos                     0xe6,
   1527  1.1.1.2  christos                     0x1c,
   1528  1.1.1.2  christos                     0x43,
   1529  1.1.1.2  christos                     0x2b,
   1530  1.1.1.2  christos                     0x72,
   1531  1.1.1.2  christos                     0x0b,
   1532  1.1.1.2  christos                     0x19,
   1533  1.1.1.2  christos                     0xd1,
   1534  1.1.1.2  christos                     0x8e,
   1535  1.1.1.2  christos                     0xc8,
   1536  1.1.1.2  christos                     0xd8,
   1537  1.1.1.2  christos                     0x4b,
   1538  1.1.1.2  christos                     0xdc,
   1539  1.1.1.2  christos                     0x63,
   1540  1.1.1.2  christos                     0x15,
   1541  1.1.1.2  christos                     0x1b,
   1542  1.1.1.2  christos                 } } },
   1543  1.1.1.2  christos     { 48, { 16, {
   1544  1.1.1.2  christos                     0xf7,
   1545  1.1.1.2  christos                     0xe5,
   1546  1.1.1.2  christos                     0xae,
   1547  1.1.1.2  christos                     0xf5,
   1548  1.1.1.2  christos                     0x49,
   1549  1.1.1.2  christos                     0xf7,
   1550  1.1.1.2  christos                     0x82,
   1551  1.1.1.2  christos                     0xcf,
   1552  1.1.1.2  christos                     0x37,
   1553  1.1.1.2  christos                     0x90,
   1554  1.1.1.2  christos                     0x55,
   1555  1.1.1.2  christos                     0xa6,
   1556  1.1.1.2  christos                     0x08,
   1557  1.1.1.2  christos                     0x26,
   1558  1.1.1.2  christos                     0x9b,
   1559  1.1.1.2  christos                     0x16,
   1560  1.1.1.2  christos                 } } },
   1561  1.1.1.2  christos     { 49, { 16, {
   1562  1.1.1.2  christos                     0x43,
   1563  1.1.1.2  christos                     0x8d,
   1564  1.1.1.2  christos                     0x03,
   1565  1.1.1.2  christos                     0x0f,
   1566  1.1.1.2  christos                     0xd0,
   1567  1.1.1.2  christos                     0xb7,
   1568  1.1.1.2  christos                     0xa5,
   1569  1.1.1.2  christos                     0x4f,
   1570  1.1.1.2  christos                     0xa8,
   1571  1.1.1.2  christos                     0x37,
   1572  1.1.1.2  christos                     0xf2,
   1573  1.1.1.2  christos                     0xad,
   1574  1.1.1.2  christos                     0x20,
   1575  1.1.1.2  christos                     0x1a,
   1576  1.1.1.2  christos                     0x64,
   1577  1.1.1.2  christos                     0x03,
   1578  1.1.1.2  christos                 } } },
   1579  1.1.1.2  christos     { 50, { 16, {
   1580  1.1.1.2  christos                     0xa5,
   1581  1.1.1.2  christos                     0x90,
   1582  1.1.1.2  christos                     0xd3,
   1583  1.1.1.2  christos                     0xee,
   1584  1.1.1.2  christos                     0x4f,
   1585  1.1.1.2  christos                     0xbf,
   1586  1.1.1.2  christos                     0x04,
   1587  1.1.1.2  christos                     0xe3,
   1588  1.1.1.2  christos                     0x24,
   1589  1.1.1.2  christos                     0x7e,
   1590  1.1.1.2  christos                     0x0d,
   1591  1.1.1.2  christos                     0x27,
   1592  1.1.1.2  christos                     0xf2,
   1593  1.1.1.2  christos                     0x86,
   1594  1.1.1.2  christos                     0x42,
   1595  1.1.1.2  christos                     0x3f,
   1596  1.1.1.2  christos                 } } },
   1597  1.1.1.2  christos     { 51, { 16, {
   1598  1.1.1.2  christos                     0x5f,
   1599  1.1.1.2  christos                     0xe2,
   1600  1.1.1.2  christos                     0xc1,
   1601  1.1.1.2  christos                     0xa1,
   1602  1.1.1.2  christos                     0x72,
   1603  1.1.1.2  christos                     0xfe,
   1604  1.1.1.2  christos                     0x93,
   1605  1.1.1.2  christos                     0xc4,
   1606  1.1.1.2  christos                     0xb1,
   1607  1.1.1.2  christos                     0x5c,
   1608  1.1.1.2  christos                     0xd3,
   1609  1.1.1.2  christos                     0x7c,
   1610  1.1.1.2  christos                     0xae,
   1611  1.1.1.2  christos                     0xf9,
   1612  1.1.1.2  christos                     0xf5,
   1613  1.1.1.2  christos                     0x38,
   1614  1.1.1.2  christos                 } } },
   1615  1.1.1.2  christos     { 52, { 16, {
   1616  1.1.1.2  christos                     0x2c,
   1617  1.1.1.2  christos                     0x97,
   1618  1.1.1.2  christos                     0x32,
   1619  1.1.1.2  christos                     0x5c,
   1620  1.1.1.2  christos                     0xbd,
   1621  1.1.1.2  christos                     0x06,
   1622  1.1.1.2  christos                     0xb3,
   1623  1.1.1.2  christos                     0x6e,
   1624  1.1.1.2  christos                     0xb2,
   1625  1.1.1.2  christos                     0x13,
   1626  1.1.1.2  christos                     0x3d,
   1627  1.1.1.2  christos                     0xd0,
   1628  1.1.1.2  christos                     0x8b,
   1629  1.1.1.2  christos                     0x3a,
   1630  1.1.1.2  christos                     0x01,
   1631  1.1.1.2  christos                     0x7c,
   1632  1.1.1.2  christos                 } } },
   1633  1.1.1.2  christos     { 53, { 16, {
   1634  1.1.1.2  christos                     0x92,
   1635  1.1.1.2  christos                     0xc8,
   1636  1.1.1.2  christos                     0x14,
   1637  1.1.1.2  christos                     0x22,
   1638  1.1.1.2  christos                     0x7a,
   1639  1.1.1.2  christos                     0x6b,
   1640  1.1.1.2  christos                     0xca,
   1641  1.1.1.2  christos                     0x94,
   1642  1.1.1.2  christos                     0x9f,
   1643  1.1.1.2  christos                     0xf0,
   1644  1.1.1.2  christos                     0x65,
   1645  1.1.1.2  christos                     0x9f,
   1646  1.1.1.2  christos                     0x00,
   1647  1.1.1.2  christos                     0x2a,
   1648  1.1.1.2  christos                     0xd3,
   1649  1.1.1.2  christos                     0x9e,
   1650  1.1.1.2  christos                 } } },
   1651  1.1.1.2  christos     { 54, { 16, {
   1652  1.1.1.2  christos                     0xdc,
   1653  1.1.1.2  christos                     0xe8,
   1654  1.1.1.2  christos                     0x50,
   1655  1.1.1.2  christos                     0x11,
   1656  1.1.1.2  christos                     0x0b,
   1657  1.1.1.2  christos                     0xd8,
   1658  1.1.1.2  christos                     0x32,
   1659  1.1.1.2  christos                     0x8c,
   1660  1.1.1.2  christos                     0xfb,
   1661  1.1.1.2  christos                     0xd5,
   1662  1.1.1.2  christos                     0x08,
   1663  1.1.1.2  christos                     0x41,
   1664  1.1.1.2  christos                     0xd6,
   1665  1.1.1.2  christos                     0x91,
   1666  1.1.1.2  christos                     0x1d,
   1667  1.1.1.2  christos                     0x87,
   1668  1.1.1.2  christos                 } } },
   1669  1.1.1.2  christos     { 55, { 16, {
   1670  1.1.1.2  christos                     0x67,
   1671  1.1.1.2  christos                     0xf1,
   1672  1.1.1.2  christos                     0x49,
   1673  1.1.1.2  christos                     0x84,
   1674  1.1.1.2  christos                     0xc7,
   1675  1.1.1.2  christos                     0xda,
   1676  1.1.1.2  christos                     0x79,
   1677  1.1.1.2  christos                     0x12,
   1678  1.1.1.2  christos                     0x48,
   1679  1.1.1.2  christos                     0xe3,
   1680  1.1.1.2  christos                     0x2b,
   1681  1.1.1.2  christos                     0xb5,
   1682  1.1.1.2  christos                     0x92,
   1683  1.1.1.2  christos                     0x25,
   1684  1.1.1.2  christos                     0x83,
   1685  1.1.1.2  christos                     0xda,
   1686  1.1.1.2  christos                 } } },
   1687  1.1.1.2  christos     { 56, { 16, {
   1688  1.1.1.2  christos                     0x19,
   1689  1.1.1.2  christos                     0x38,
   1690  1.1.1.2  christos                     0xf2,
   1691  1.1.1.2  christos                     0xcf,
   1692  1.1.1.2  christos                     0x72,
   1693  1.1.1.2  christos                     0xd5,
   1694  1.1.1.2  christos                     0x4e,
   1695  1.1.1.2  christos                     0xe9,
   1696  1.1.1.2  christos                     0x7e,
   1697  1.1.1.2  christos                     0x94,
   1698  1.1.1.2  christos                     0x16,
   1699  1.1.1.2  christos                     0x6f,
   1700  1.1.1.2  christos                     0xa9,
   1701  1.1.1.2  christos                     0x1d,
   1702  1.1.1.2  christos                     0x2a,
   1703  1.1.1.2  christos                     0x36,
   1704  1.1.1.2  christos                 } } },
   1705  1.1.1.2  christos     { 57, { 16, {
   1706  1.1.1.2  christos                     0x74,
   1707  1.1.1.2  christos                     0x48,
   1708  1.1.1.2  christos                     0x1e,
   1709  1.1.1.2  christos                     0x96,
   1710  1.1.1.2  christos                     0x46,
   1711  1.1.1.2  christos                     0xed,
   1712  1.1.1.2  christos                     0x49,
   1713  1.1.1.2  christos                     0xfe,
   1714  1.1.1.2  christos                     0x0f,
   1715  1.1.1.2  christos                     0x62,
   1716  1.1.1.2  christos                     0x24,
   1717  1.1.1.2  christos                     0x30,
   1718  1.1.1.2  christos                     0x16,
   1719  1.1.1.2  christos                     0x04,
   1720  1.1.1.2  christos                     0x69,
   1721  1.1.1.2  christos                     0x8e,
   1722  1.1.1.2  christos                 } } },
   1723  1.1.1.2  christos     { 58, { 16, {
   1724  1.1.1.2  christos                     0x57,
   1725  1.1.1.2  christos                     0xfc,
   1726  1.1.1.2  christos                     0xa5,
   1727  1.1.1.2  christos                     0xde,
   1728  1.1.1.2  christos                     0x98,
   1729  1.1.1.2  christos                     0xa9,
   1730  1.1.1.2  christos                     0xd6,
   1731  1.1.1.2  christos                     0xd8,
   1732  1.1.1.2  christos                     0x00,
   1733  1.1.1.2  christos                     0x64,
   1734  1.1.1.2  christos                     0x38,
   1735  1.1.1.2  christos                     0xd0,
   1736  1.1.1.2  christos                     0x58,
   1737  1.1.1.2  christos                     0x3d,
   1738  1.1.1.2  christos                     0x8a,
   1739  1.1.1.2  christos                     0x1d,
   1740  1.1.1.2  christos                 } } },
   1741  1.1.1.2  christos     { 59, { 16, {
   1742  1.1.1.2  christos                     0x9f,
   1743  1.1.1.2  christos                     0xec,
   1744  1.1.1.2  christos                     0xde,
   1745  1.1.1.2  christos                     0x1c,
   1746  1.1.1.2  christos                     0xef,
   1747  1.1.1.2  christos                     0xdc,
   1748  1.1.1.2  christos                     0x1c,
   1749  1.1.1.2  christos                     0xbe,
   1750  1.1.1.2  christos                     0xd4,
   1751  1.1.1.2  christos                     0x76,
   1752  1.1.1.2  christos                     0x36,
   1753  1.1.1.2  christos                     0x74,
   1754  1.1.1.2  christos                     0xd9,
   1755  1.1.1.2  christos                     0x57,
   1756  1.1.1.2  christos                     0x53,
   1757  1.1.1.2  christos                     0x59,
   1758  1.1.1.2  christos                 } } },
   1759  1.1.1.2  christos     { 60, { 16, {
   1760  1.1.1.2  christos                     0xe3,
   1761  1.1.1.2  christos                     0x04,
   1762  1.1.1.2  christos                     0x0c,
   1763  1.1.1.2  christos                     0x00,
   1764  1.1.1.2  christos                     0xeb,
   1765  1.1.1.2  christos                     0x28,
   1766  1.1.1.2  christos                     0xf1,
   1767  1.1.1.2  christos                     0x53,
   1768  1.1.1.2  christos                     0x66,
   1769  1.1.1.2  christos                     0xca,
   1770  1.1.1.2  christos                     0x73,
   1771  1.1.1.2  christos                     0xcb,
   1772  1.1.1.2  christos                     0xd8,
   1773  1.1.1.2  christos                     0x72,
   1774  1.1.1.2  christos                     0xe7,
   1775  1.1.1.2  christos                     0x40,
   1776  1.1.1.2  christos                 } } },
   1777  1.1.1.2  christos     { 61, { 16, {
   1778  1.1.1.2  christos                     0x76,
   1779  1.1.1.2  christos                     0x97,
   1780  1.1.1.2  christos                     0x00,
   1781  1.1.1.2  christos                     0x9a,
   1782  1.1.1.2  christos                     0x6a,
   1783  1.1.1.2  christos                     0x83,
   1784  1.1.1.2  christos                     0x1d,
   1785  1.1.1.2  christos                     0xfe,
   1786  1.1.1.2  christos                     0xcc,
   1787  1.1.1.2  christos                     0xa9,
   1788  1.1.1.2  christos                     0x1c,
   1789  1.1.1.2  christos                     0x59,
   1790  1.1.1.2  christos                     0x93,
   1791  1.1.1.2  christos                     0x67,
   1792  1.1.1.2  christos                     0x0f,
   1793  1.1.1.2  christos                     0x7a,
   1794  1.1.1.2  christos                 } } },
   1795  1.1.1.2  christos     { 62, { 16, {
   1796  1.1.1.2  christos                     0x58,
   1797  1.1.1.2  christos                     0x53,
   1798  1.1.1.2  christos                     0x54,
   1799  1.1.1.2  christos                     0x23,
   1800  1.1.1.2  christos                     0x21,
   1801  1.1.1.2  christos                     0xf5,
   1802  1.1.1.2  christos                     0x67,
   1803  1.1.1.2  christos                     0xa0,
   1804  1.1.1.2  christos                     0x05,
   1805  1.1.1.2  christos                     0xd5,
   1806  1.1.1.2  christos                     0x47,
   1807  1.1.1.2  christos                     0xa4,
   1808  1.1.1.2  christos                     0xf0,
   1809  1.1.1.2  christos                     0x47,
   1810  1.1.1.2  christos                     0x59,
   1811  1.1.1.2  christos                     0xbd,
   1812  1.1.1.2  christos                 } } },
   1813  1.1.1.2  christos     { 63, { 16, {
   1814  1.1.1.2  christos                     0x51,
   1815  1.1.1.2  christos                     0x50,
   1816  1.1.1.2  christos                     0xd1,
   1817  1.1.1.2  christos                     0x77,
   1818  1.1.1.2  christos                     0x2f,
   1819  1.1.1.2  christos                     0x50,
   1820  1.1.1.2  christos                     0x83,
   1821  1.1.1.2  christos                     0x4a,
   1822  1.1.1.2  christos                     0x50,
   1823  1.1.1.2  christos                     0x3e,
   1824  1.1.1.2  christos                     0x06,
   1825  1.1.1.2  christos                     0x9a,
   1826  1.1.1.2  christos                     0x97,
   1827  1.1.1.2  christos                     0x3f,
   1828  1.1.1.2  christos                     0xbd,
   1829  1.1.1.2  christos                     0x7c,
   1830  1.1.1.2  christos                 } } }
   1831      1.1  christos };
   1832      1.1  christos 
   1833      1.1  christos static int test_siphash(int idx)
   1834      1.1  christos {
   1835  1.1.1.2  christos     SIPHASH siphash = {
   1836  1.1.1.2  christos         0,
   1837  1.1.1.2  christos     };
   1838      1.1  christos     TESTDATA test = tests[idx];
   1839      1.1  christos     unsigned char key[SIPHASH_KEY_SIZE];
   1840      1.1  christos     unsigned char in[64];
   1841      1.1  christos     size_t inlen = test.idx;
   1842      1.1  christos     unsigned char *expected = test.expected.data;
   1843      1.1  christos     size_t expectedlen = test.expected.size;
   1844      1.1  christos     unsigned char out[SIPHASH_MAX_DIGEST_SIZE];
   1845      1.1  christos     size_t i;
   1846      1.1  christos 
   1847  1.1.1.2  christos     if (expectedlen != SIPHASH_MIN_DIGEST_SIZE && expectedlen != SIPHASH_MAX_DIGEST_SIZE) {
   1848      1.1  christos         TEST_info("size %zu vs %d and %d", expectedlen,
   1849  1.1.1.2  christos             SIPHASH_MIN_DIGEST_SIZE, SIPHASH_MAX_DIGEST_SIZE);
   1850      1.1  christos         return 0;
   1851      1.1  christos     }
   1852      1.1  christos 
   1853      1.1  christos     if (!TEST_int_le(inlen, sizeof(in)))
   1854      1.1  christos         return 0;
   1855      1.1  christos 
   1856      1.1  christos     /* key and in data are 00 01 02 ... */
   1857      1.1  christos     for (i = 0; i < sizeof(key); i++)
   1858      1.1  christos         key[i] = (unsigned char)i;
   1859      1.1  christos 
   1860      1.1  christos     for (i = 0; i < inlen; i++)
   1861      1.1  christos         in[i] = (unsigned char)i;
   1862      1.1  christos 
   1863      1.1  christos     if (!TEST_true(SipHash_set_hash_size(&siphash, expectedlen))
   1864      1.1  christos         || !TEST_true(SipHash_Init(&siphash, key, 0, 0)))
   1865      1.1  christos         return 0;
   1866      1.1  christos     SipHash_Update(&siphash, in, inlen);
   1867      1.1  christos     if (!TEST_true(SipHash_Final(&siphash, out, expectedlen))
   1868      1.1  christos         || !TEST_mem_eq(out, expectedlen, expected, expectedlen))
   1869      1.1  christos         return 0;
   1870      1.1  christos 
   1871      1.1  christos     if (inlen > 16) {
   1872      1.1  christos         if (!TEST_true(SipHash_set_hash_size(&siphash, expectedlen))
   1873      1.1  christos             || !TEST_true(SipHash_Init(&siphash, key, 0, 0)))
   1874      1.1  christos             return 0;
   1875      1.1  christos         SipHash_Update(&siphash, in, 1);
   1876  1.1.1.2  christos         SipHash_Update(&siphash, in + 1, inlen - 1);
   1877      1.1  christos         if (!TEST_true(SipHash_Final(&siphash, out, expectedlen)))
   1878      1.1  christos             return 0;
   1879      1.1  christos 
   1880      1.1  christos         if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) {
   1881      1.1  christos             TEST_info("SipHash test #%d/1+(N-1) failed.", idx);
   1882      1.1  christos             return 0;
   1883      1.1  christos         }
   1884      1.1  christos     }
   1885      1.1  christos 
   1886      1.1  christos     if (inlen > 32) {
   1887      1.1  christos         size_t half = inlen / 2;
   1888      1.1  christos 
   1889      1.1  christos         if (!TEST_true(SipHash_set_hash_size(&siphash, expectedlen))
   1890      1.1  christos             || !TEST_true(SipHash_Init(&siphash, key, 0, 0)))
   1891      1.1  christos             return 0;
   1892      1.1  christos         SipHash_Update(&siphash, in, half);
   1893  1.1.1.2  christos         SipHash_Update(&siphash, in + half, inlen - half);
   1894      1.1  christos         if (!TEST_true(SipHash_Final(&siphash, out, expectedlen)))
   1895      1.1  christos             return 0;
   1896      1.1  christos 
   1897      1.1  christos         if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) {
   1898      1.1  christos             TEST_info("SipHash test #%d/2 failed.", idx);
   1899      1.1  christos             return 0;
   1900      1.1  christos         }
   1901      1.1  christos 
   1902      1.1  christos         for (half = 16; half < inlen; half += 16) {
   1903      1.1  christos             if (!TEST_true(SipHash_set_hash_size(&siphash, expectedlen))
   1904      1.1  christos                 || !TEST_true(SipHash_Init(&siphash, key, 0, 0)))
   1905      1.1  christos                 return 0;
   1906      1.1  christos             SipHash_Update(&siphash, in, half);
   1907  1.1.1.2  christos             SipHash_Update(&siphash, in + half, inlen - half);
   1908      1.1  christos             if (!TEST_true(SipHash_Final(&siphash, out, expectedlen)))
   1909      1.1  christos                 return 0;
   1910      1.1  christos 
   1911      1.1  christos             if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) {
   1912      1.1  christos                 TEST_info("SipHash test #%d/%zu+%zu failed.",
   1913  1.1.1.2  christos                     idx, half, inlen - half);
   1914      1.1  christos                 return 0;
   1915      1.1  christos             }
   1916      1.1  christos         }
   1917      1.1  christos     }
   1918      1.1  christos 
   1919      1.1  christos     return 1;
   1920      1.1  christos }
   1921      1.1  christos 
   1922      1.1  christos static int test_siphash_basic(void)
   1923      1.1  christos {
   1924  1.1.1.2  christos     SIPHASH siphash = {
   1925  1.1.1.2  christos         0,
   1926  1.1.1.2  christos     };
   1927  1.1.1.2  christos     static const unsigned char key[SIPHASH_KEY_SIZE] = { 0 };
   1928      1.1  christos     unsigned char output[SIPHASH_MAX_DIGEST_SIZE];
   1929      1.1  christos 
   1930      1.1  christos     /* Use invalid hash size */
   1931      1.1  christos     return TEST_int_eq(SipHash_set_hash_size(&siphash, 4), 0)
   1932  1.1.1.2  christos         && TEST_false(SipHash_Final(&siphash, output, 0))
   1933  1.1.1.2  christos         /* Use hash size = 8 */
   1934  1.1.1.2  christos         && TEST_true(SipHash_set_hash_size(&siphash, 8))
   1935  1.1.1.2  christos         && TEST_false(SipHash_Final(&siphash, output, 8))
   1936  1.1.1.2  christos         && TEST_true(SipHash_Init(&siphash, key, 0, 0))
   1937  1.1.1.2  christos         && TEST_true(SipHash_Final(&siphash, output, 8))
   1938  1.1.1.2  christos         && TEST_int_eq(SipHash_Final(&siphash, output, 16), 0)
   1939  1.1.1.2  christos 
   1940  1.1.1.2  christos         /* Use hash size = 16 */
   1941  1.1.1.2  christos         && TEST_true(SipHash_set_hash_size(&siphash, 16))
   1942  1.1.1.2  christos         && TEST_true(SipHash_Init(&siphash, key, 0, 0))
   1943  1.1.1.2  christos         && TEST_int_eq(SipHash_Final(&siphash, output, 8), 0)
   1944  1.1.1.2  christos         && TEST_true(SipHash_Final(&siphash, output, 16))
   1945  1.1.1.2  christos 
   1946  1.1.1.2  christos         /* Use hash size = 0 (default = 16) */
   1947  1.1.1.2  christos         && TEST_true(SipHash_set_hash_size(&siphash, 0))
   1948  1.1.1.2  christos         && TEST_true(SipHash_Init(&siphash, key, 0, 0))
   1949  1.1.1.2  christos         && TEST_int_eq(SipHash_Final(&siphash, output, 8), 0)
   1950  1.1.1.2  christos         && TEST_true(SipHash_Final(&siphash, output, 16));
   1951      1.1  christos }
   1952      1.1  christos 
   1953      1.1  christos int setup_tests(void)
   1954      1.1  christos {
   1955      1.1  christos     ADD_TEST(test_siphash_basic);
   1956      1.1  christos     ADD_ALL_TESTS(test_siphash, OSSL_NELEM(tests));
   1957      1.1  christos     return 1;
   1958      1.1  christos }
   1959