Eslam Fayad
Published

Psoc6 AI-powered Predictive industrial Machine Maintenance

In this Project I will Develop a system that uses IMU sensor, to predict Machine Maintainance and potential failures

AdvancedProtip418

Things used in this project

Hardware components

PSOC™ 6 AI Evaluation Kit (CY8CKIT-062S2-AI)
Infineon PSOC™ 6 AI Evaluation Kit (CY8CKIT-062S2-AI)
×1

Software apps and online services

ModusToolbox™ Software
Infineon ModusToolbox™ Software
DEEPCRAFT™ Studio
Infineon DEEPCRAFT™ Studio
infineon Imagimob Developer site

Story

Read more

Custom parts and enclosures

Aikit

Sketchfab still processing.

Schematics

predective Maintenance

Code

my trained model(model.c)

C/C++
/*
* ImagiNet Compiler 5.3.2569+c38e822c721f137984639bf6e13e3974e71c734c
* Copyright  2023- Imagimob AB, All Rights Reserved.
* 
* Generated at 04/20/2025 21:29:52 UTC. Any changes will be lost.
* 
* Model ID  2b5eacdb-01b1-4155-a17e-31be66c5b2b5
* 
* Memory    Size                      Efficiency
* Buffers   1536 bytes (RAM)          100 %
* State     22232 bytes (RAM)         100 %
* Readonly  51548 bytes (Flash)       100 %
* 
* Exported functions:
* 
*  @description: Try read data from model.
*  @param data_out Output features. Output float[4].
*  @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
*  int IMAI_dequeue(float *data_out);
* 
*  @description: Try write data to model.
*  @param data_in Input features. Input float[2,3].
*  @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
*  int IMAI_enqueue(const float *data_in);
* 
*  @description: Closes and flushes streams, free any heap allocated memory.
*  void IMAI_finalize(void);
* 
*  @description: Initializes buffers to initial state.
*  @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
*  int IMAI_init(void);
* 
* 
* Disclaimer:
*   The generated code relies on the optimizations done by the C compiler.
*   For example many for-loops of length 1 must be removed by the optimizer.
*   This can only be done if the functions are inlined and simplified.
*   Check disassembly if unsure.
*   tl;dr Compile using gcc with -O3 or -Ofast
*/

#include <stdint.h>
#include <string.h>
#include "mtb_ml_model.h"

#include "model.h"

#ifdef __GNUC__
#define ALIGNED(x) __attribute__((aligned(x)))
#else
#define ALIGNED(x) __declspec(align(x))
#endif
// Working memory
static ALIGNED(16) int8_t _buffer[1536];
static ALIGNED(16) int8_t _state[22232];

// Parameters
static const uint32_t _K4[] = {
    0x0000001c, 0x334c4654, 0x00200014, 0x0018001c, 0x00100014, 0x0000000c, 0x00040008, 0x00000014, 
    0x0000001c, 0x000000a0, 0x000000f8, 0x0000b174, 0x0000b184, 0x0000c8b8, 0x00000003, 0x00000001, 
    0x00000010, 0x000a0000, 0x000c0010, 0x00040008, 0x0000000a, 0x0000000c, 0x0000001c, 0x0000004c, 
    0x0000000f, 0x76726573, 0x5f676e69, 0x61666564, 0x00746c75, 0x00000001, 0x00000004, 0xffffff88, 
    0x00000020, 0x00000004, 0x00000018, 0x766e6f63, 0x6d2d6431, 0x75696465, 0x61622d6d, 0x636e616c, 
    0x322d6465, 0x00000000, 0x00000001, 0x00000004, 0xffff4e66, 0x00000004, 0x00000007, 0x75706e69, 
    0x00315f74, 0x00000002, 0x00000034, 0x00000004, 0xffffffdc, 0x00000023, 0x00000004, 0x00000013, 
    0x564e4f43, 0x49535245, 0x4d5f4e4f, 0x44415445, 0x00415441, 0x000c0008, 0x00040008, 0x00000008, 
    0x00000022, 0x00000004, 0x00000013, 0x5f6e696d, 0x746e7572, 0x5f656d69, 0x73726576, 0x006e6f69, 
    0x00000024, 0x0000b078, 0x0000b070, 0x0000b020, 0x0000af90, 0x0000af00, 0x0000acb0, 0x00007ca0, 
    0x00007c10, 0x00004c00, 0x00004be0, 0x00004bc0, 0x00004ba0, 0x00004b80, 0x00004b64, 0x00003354, 
    0x00000344, 0x00000324, 0x00000310, 0x00000100, 0x000000f8, 0x000000f0, 0x000000e8, 0x000000e0, 
    0x000000d8, 0x000000d0, 0x000000c8, 0x000000c0, 0x000000b8, 0x000000b0, 0x000000a8, 0x000000a0, 
    0x00000098, 0x00000090, 0x00000088, 0x00000068, 0x00000004, 0xffff4f6a, 0x00000004, 0x00000054, 
    0x0000000c, 0x000e0008, 0x00040008, 0x00000008, 0x00000010, 0x00000024, 0x00060000, 0x00040008, 
    0x00000006, 0x00000004, 0x00000000, 0x000a0000, 0x000c0010, 0x00040008, 0x0000000a, 0x00000002, 
    0x00000002, 0x00000004, 0x00000006, 0x35312e32, 0x0000302e, 0xffff4fca, 0x00000004, 0x00000010, 
    0x2e362e31, 0x00000030, 0x00000000, 0x00000000, 0xffff397c, 0xffff3980, 0xffff3984, 0xffff3988, 
    0xffff398c, 0xffff3990, 0xffff3994, 0xffff3998, 0xffff399c, 0xffff39a0, 0xffff39a4, 0xffff39a8, 
    0xffff39ac, 0xffff39b0, 0xffff39b4, 0xffff5022, 0x00000004, 0x00000200, 0xbe3de64f, 0x3ed23d5f, 
    0x3deda1c6, 0xbe6343f6, 0x3e9b7f96, 0x3eeb53d8, 0xbd332a36, 0xbdc92204, 0xbe871e86, 0x3ee20ec9, 
    0x3e0ea839, 0xbe80ed08, 0x3e01e0e2, 0xbd682526, 0x3e698996, 0x3e51576e, 0x3eb182f3, 0xbc5f2d80, 
    0x3c7ab478, 0x3ec73a06, 0x3e183cf4, 0x3efec672, 0x3dac8220, 0xbe60d51f, 0x3e4af6fb, 0x3e8e30b3, 
    0x3d8bbb6b, 0xbe389b6b, 0xbd8df475, 0xbe9e3869, 0x3ebf32ee, 0x3ebcb58a, 0xbcacb7e7, 0xbedfd51c, 
    0xbdddb5ab, 0x3e96a3f9, 0xbe122838, 0xbe473e5a, 0x3e3a40a4, 0x3e45f90f, 0xbf07817e, 0x3e4d8859, 
    0xbe83ecc1, 0x3da27b69, 0x3ddc6136, 0xbe303e85, 0x3df58499, 0xbecd7072, 0xbeb1d108, 0xbe5f0a34, 
    0xbb407475, 0xbe846814, 0x3d8e708c, 0xbe27d7c6, 0x3e1daab0, 0x3e81585a, 0x3e8e61ec, 0xbdc7f2f7, 
    0x3da19139, 0xbce41ee0, 0x3d2e2a19, 0xbdfd336e, 0xbed9e32a, 0xbe8d6f16, 0xbe8d3715, 0xbe49bd71, 
    0x3e156152, 0xbe9af76b, 0xbe5d84d8, 0xbc16e50f, 0xbee46c95, 0xbe1146fd, 0x3e777700, 0xbf31c09d, 
    0xbf2cbb9c, 0x3d9094ad, 0xbf26b293, 0xbf14fd7f, 0x3e01f340, 0xbf06e605, 0x3e26b916, 0xbe4371ec, 
    0x3dd5fedf, 0x3d6c70ac, 0x3c4bc82e, 0xbd6c5662, 0xbf186761, 0xbd55de18, 0xbea94c4b, 0xbe2d1aa6, 
    0xbdfe1d2a, 0xbdd8c7fb, 0x3b89a359, 0xbee4ac9d, 0xbd08e58d, 0xbf14f8b1, 0xbe6e9a83, 0x3f0e8ad7, 
    0x3cc39538, 0x3e0cecf7, 0x3ea8f8c6, 0x3eac96da, 0xbecd3554, 0xbec3b6ba, 0xbdddfdc6, 0x3f0f8f40, 
    0x3e6f6491, 0xbe7e0973, 0x3e61d8ef, 0x3ec8b652, 0x3f0d7552, 0x3ed3483b, 0x3edb7e92, 0xbea656e6, 
    0xbe57deee, 0x3e5313e5, 0x3e8faa21, 0xbe91b7f6, 0xbecbc3e2, 0x3eb3dcdf, 0xbe8ae9dd, 0x3e2136c5, 
    0xbe2dfa4f, 0xbe3e63a8, 0x3ea90bc6, 0xbd143804, 0xbd613f27, 0x3e8a85f0, 0xffff522e, 0x00000004, 
    0x00000004, 0x00000001, 0xffff523e, 0x00000004, 0x00000010, 0x3db73b86, 0xbe1b57f9, 0xbe85b597, 
    0x3e43f709, 0xffff525a, 0x00000004, 0x00003000, 0xbe1017f1, 0x3c14c6a9, 0x3de9b895, 0xbdfec5e5, 
    0x3c9c7432, 0xbb3e11af, 0x3e07c93e, 0x3ddc1446, 0xbe11752e, 0xbd94fa8a, 0x3da6ef90, 0x3d244ede, 
    0x3e63a82a, 0xbe6eec0a, 0x3dacf0ba, 0x3c42062c, 0x3b6349f8, 0xbe159dab, 0xbd1b9ffa, 0x3d29387e, 
    0x3dd492ae, 0x3d0c827f, 0x3e382e39, 0xbd2ff3fd, 0xbdfa0d82, 0xbd3f8fe3, 0x3d6df770, 0xbda4abd5, 
    0x3d1d92cf, 0xbdb2c938, 0xbe54971e, 0x3dcc9b47, 0xbc2d923e, 0x3e91022a, 0x3e17fbca, 0x3d792c53, 
    0xbd8eaa73, 0xbd496104, 0xbe16d760, 0xbe713d83, 0x3cab2c55, 0x3dbebdf5, 0xbe0424f6, 0x3ea1b713, 
    0xbdfd0362, 0xbe4df418, 0xbc8efa7d, 0xbd9eed00, 0xbda428db, 0xbd1410ca, 0x3cc4da6a, 0xbbe09a1e, 
    0xbe4bc7ad, 0xbdead529, 0x3e802929, 0x3dc7178e, 0x3cd7258a, 0xbda8a1ff, 0x3d7a92da, 0x3e03b7db, 
    0x3da2c713, 0xbe032b80, 0xbdf70257, 0x3dfbaf1c, 0x3d9600fb, 0x3e37b36d, 0x3d2de0d8, 0xbe5bbca4, 
    0xbdace4cc, 0xbc34ac34, 0xbd47ebe8, 0x3d65df01, 0xbe12a2a7, 0x3aac7d04, 0xbcd71347, 0x3d81f23d, 
    0x3dcfa005, 0xbe47b9bf, 0xbbb9ea48, 0xbca608c1, 0x3db35805, 0x3d123f4f, 0x3d26f3a7, 0xbe405a88, 
    0xbe3dc4e1, 0x3e1247df, 0x3c069e50, 0x3e10fc69, 0xbda15567, 0xbc87d7e8, 0x3e5a06e3, 0x3da6fe7c, 
    0x3e0a4294, 0x3dba2897, 0xbe908b63, 0xbcf5295b, 0xbe57e5da, 0xbda30834, 0xbde43681, 0xbdcba695, 
    0x3da38a20, 0xbdb815fd, 0xbdf5024f, 0x3da8688b, 0x3e713983, 0x3e603305, 0x3e5ec9c4, 0x3e7e24c6, 
    0x3c695c0c, 0xbd32e95f, 0x3b3c1090, 0xbdf6fc1d, 0xbd493a3f, 0x3cd29565, 0x3e25e755, 0xbd8e57c0, 
    0x3e3f12a1, 0xbe9c0622, 0x3b838be4, 0xbdfb93fa, 0xbcf92667, 0x3e271d98, 0xbdbba2b3, 0xbdb542c3, 
    0xbc52663b, 0x3e0101af, 0xbd9e4f69, 0x3d89c614, 0xbd903628, 0xbe258355, 0x3e7f52c2, 0xbe0cf3bb, 
    0x3e584e11, 0xbe76509f, 0x3e268fe3, 0x3dea8129, 0x3d387685, 0x3e35407b, 0x3e437220, 0x3e7a19a6, 
    0x3e4ec116, 0xbe0c3b5f, 0x3e3d3a5c, 0x3d4e95b8, 0xbe0e9ba2, 0xbd8a45ce, 0xbd8cf292, 0x3de69f19, 
    0x3e6e18eb, 0x3d4e9f08, 0xbe14fb81, 0xbd1762dc, 0xbcc132be, 0x3e843de8, 0x3d29507f, 0xbe99fcea, 
    0xbe7d9128, 0x3d4c386d, 0x3e45687f, 0x3b6d2495, 0xbdfa38e7, 0xbe89ec8a, 0x3c383b17, 0x3d411ffa, 
    0xbc5472e3, 0xbd5e71d4, 0x3a241fd8, 0x3e116d3c, 0x3e6dd775, 0x3e670143, 0x3e12fafd, 0xbcb2566a, 
    0xbdf27760, 0x3d331fdf, 0x3d58fc98, 0xbe1a9928, 0xbcca32c9, 0x3dc2d65d, 0xbdc1890c, 0x3e19bef8, 
    0x3dfb8327, 0xbe7c6b69, 0xbe1310a7, 0x3d9358f9, 0xbdddec94, 0x3e087ec8, 0x3d1f4cf8, 0xbd92b7ea, 
    0xbde8daee, 0xbe180694, 0xbe03b5f9, 0x3d97b0f3, 0xbdd8f9b8, 0x3e8762ab, 0xbdc59aea, 0xbe222506, 
    0xbdfff90d, 0xbd228109, 0xbdb57b57, 0x3d34fea2, 0x3c9341c6, 0x3d8b3246, 0xbe31208f, 0x3ea15ba0, 
    0xbe81f150, 0xbd8b570a, 0x3c6d3dbe, 0xbd7410dc, 0xbc026841, 0xbe5649d1, 0x3d2d4a4d, 0x3d8b7f49, 
    0x3d843840, 0xbd4c5bb8, 0x3d9740ad, 0xbe1363a6, 0x3d56e454, 0xbe046e72, 0x3dea1e12, 0xbdabcad1, 
    0x3e10932f, 0xbdad72c8, 0xbdbc40f2, 0xbd0a9230, 0xbcfe5fa8, 0x3e8a7472, 0xbd5fff2a, 0xbbce8212, 
    0x3d04f853, 0x3d518c01, 0xbdcb044f, 0xbcc32324, 0x3b9d94d7, 0x3d18c8a7, 0xbe03e88d, 0x3e815d4c, 
    0xbe256d16, 0xbccf5477, 0x3d8471ab, 0xbdcafb84, 0xbe2fdd9a, 0xbdb076bb, 0xbd6012f8, 0xbde86f8f, 
    0xbddc2b1c, 0xbd32d97e, 0x3da433b4, 0x3de40643, 0xbe12f716, 0xbdfe3e98, 0x3c8a9e2b, 0xbe00e6eb, 
    0x3dbfbee1, 0xbe48f65f, 0xbbede99b, 0x3d46f3c0, 0xbce88940, 0x3d750577, 0x3dff17ec, 0xbe0598e2, 
    0x3daa883c, 0xba75964c, 0x3e1b8984, 0xbe464485, 0xbdaf272d, 0x3dab40b1, 0x3dd46bd0, 0x3d9421a9, 
    0xbd9295ae, 0x3d14056c, 0xbe11b4ac, 0xba364a02, 0xbe1b6e43, 0x3dd2ed44, 0xbe2b230c, 0xbe234660, 
    0x3d9e43c8, 0x3c7f71dc, 0x3e442fcc, 0xbdb80495, 0xbdef0676, 0xbd1f82f2, 0x3e470878, 0x3cdbe5bc, 
    0xbd6f4dff, 0x3c5f55a0, 0xbe5504e0, 0xbb52be02, 0xbe2e5c49, 0x3d4dbcbc, 0x3d0fe41b, 0x3d4c30be, 
    0x3c836c80, 0x3e207f85, 0xbe4ecece, 0xbdca8abd, 0x3da8f077, 0x3dac6aa1, 0x3e11819b, 0x3dcbebd6, 
    0xbb4acea6, 0xb9c32b04, 0x3c808442, 0xbd27d929, 0x3db5ef56, 0x3de79924, 0xbd0e2a57, 0x3db61602, 
    0x3e2d259e, 0x3d8d6408, 0x3c87f5de, 0x3e0eb292, 0x3c8fdc1e, 0x3df272cd, 0xbe61e72c, 0x3d5c7c60, 
    0x3e4b7649, 0xbdfa8f38, 0x3d5f6b30, 0xbd5e44d5, 0x3d7502d9, 0x3db2ee3e, 0xbdaf4a37, 0xbe9cff43, 
    0x3e4c2cc8, 0xbe1b0b56, 0x3dfac20b, 0xbd9a9485, 0xbd2ae98c, 0xbc0b4071, 0x3e166f00, 0xbd57722b, 
    0xbe8290de, 0xbdeaa247, 0xbe43e040, 0x3bcde5c8, 0xbe66613b, 0x3c3f8d98, 0xbe374849, 0x3e1c30b3, 
    0xbc6388c6, 0x3de2e96b, 0xbde74885, 0xbcbd508e, 0x3c2d5a37, 0x3d8387c0, 0xbec13015, 0xbeb7cbed, 
    0xbe96aa86, 0xbe408a0b, 0xbcbf7c1e, 0x3e60c2a2, 0xbd9ba44f, 0xbc27e46c, 0xbd50dcc6, 0x3ded058f, 
    0xbe38d619, 0x3da4b239, 0x3e1681ae, 0x3e6feacf, 0x3e50ac93, 0xbdc649bc, 0xbaf81860, 0x3ba55b92, 
    0x3e264d1d, 0x3e20ec50, 0x3c836349, 0x3d1080b6, 0x3e5e6dfa, 0x3e50ed23, 0xbe0e09f3, 0x3e0e1138, 
    0x3da42ddd, 0xbdcd7b1d, 0x3e44162a, 0xbc3afcc8, 0xbe83f85d, 0xbd8cc759, 0x3e85abd5, 0x3de2037d, 
    0x3e43f32d, 0x3df90095, 0x3c6946d7, 0x3bd355dc, 0x3d590612, 0x3e022596, 0x3dc3988b, 0x3d9ca1b0, 
    0xbdba1dfd, 0x3e0f62b4, 0xbd0bfa1a, 0x3cc240a5, 0x3d7c00b0, 0x3db6d1d3, 0x3dff03ab, 0xbca11cf9, 
    0xbcd34bd2, 0x3e0a1aad, 0xbe0022b2, 0xbcdf424b, 0xbd90878f, 0xbe344dd1, 0xbe1d4195, 0xbe39b204, 
    0x3d8456eb, 0xbbbee5ff, 0x3dfb8796, 0x3d97c6d4, 0x3db687e5, 0xbcaeb236, 0x3ddb7111, 0xbe1369db, 
    0xbe11da33, 0x3e31d18d, 0xbdb9eae8, 0xbdcc43d6, 0x3e3c35a0, 0xbe1d5440, 0xbe6438a3, 0xbe16728e, 
    0x3e287fe2, 0x3de8c810, 0xbe9485a7, 0xbe1b326f, 0x3c05d002, 0xbcebd748, 0xbdfd8bb1, 0xbc08b822, 
    0xbcbb57a0, 0xbe112ed2, 0xbe210313, 0x3da6053f, 0xbdf052e2, 0x3d9d8346, 0x3e590c8b, 0x3da11cfe, 
    0xbda82b26, 0xbc0505d6, 0x3d776ee6, 0x3e2d410a, 0x3de1dc63, 0xbc6d3db9, 0xbe5b54a6, 0x3de55831, 
    0xbd23915e, 0x3ca2bb2b, 0xbd982617, 0x3cdac8a3, 0xbd89f4bc, 0x3b9f5a4e, 0xbd1ee71b, 0xbd498c4a, 
    0x3cf18825, 0xbd7b139d, 0x3da90c96, 0xbc70201a, 0xbddb93f5, 0x3de19dac, 0xbe38b86d, 0x3e131f8a, 
    0x3dd05dc8, 0xbd267eb3, 0xbd7df1ee, 0xbd9fa193, 0xbd6fccf9, 0xbe4ad55d, 0xbd12b422, 0xbd6ee96f, 
    0x3d5e5ff7, 0x3d982c9b, 0xbdb89bc1, 0x3e05794e, 0x3e17fb14, 0x3dea5f58, 0x3dcf6662, 0x3e18e2d4, 
    0xbc6dfc71, 0x3dbcaf44, 0x3c08b8f8, 0xbd581834, 0x3e0ad72d, 0xbe6d7db2, 0x3ddf8676, 0x3b6a9e1e, 
    0x3e1f8a9e, 0x3dc92886, 0xbdd63110, 0x3e4f4a9e, 0x3e33bac9, 0x3e43b08a, 0xbb958d8e, 0x3db47573, 
    0x3d911678, 0xbdf88336, 0x3e3e1af9, 0x3e48dc7e, 0x3e527c12, 0x3e62bf7e, 0x3e3cc626, 0x3d72b4c1, 
    0x3d0320de, 0xbdba5434, 0xbcd71461, 0x3c78fa4e, 0xbac4d15c, 0x3e9d07e2, 0xbd195584, 0x3e06a750, 
    0x3cbbb1fa, 0x3e2c10d1, 0xbdb169aa, 0xbda56d90, 0x3d9206c5, 0xbe0d346a, 0xbdcd8975, 0x3e1c3af5, 
    0x3e75d554, 0xbdbdb87a, 0x3d03e3c6, 0x3e1e5ea7, 0xbe006766, 0x3e04778a, 0x3dd288ee, 0xbb606f46, 
    0x3d13e074, 0x3e147882, 0xbdace180, 0x3e7f309f, 0x3df7c2c4, 0xbd693eed, 0x3e0d8ed0, 0x3e3e90ad, 
    0x3e6d6fa0, 0x3db578cb, 0xbdd06222, 0x3d9ae561, 0x3e3b217f, 0x3e834a6e, 0x3cd34cf2, 0xbccc190e, 
    0x3d7157d1, 0x3db58e1f, 0x3e4ddecc, 0xbd33db65, 0xbe0fa1c4, 0xbe8eec40, 0x3bcfe63a, 0x3e01af3f, 
    0x3e17fed1, 0xbe1275f9, 0x3e0bf087, 0x3e451ecd, 0x3ded7b2a, 0x3e05c8e9, 0x3d45b0b7, 0x3d39fe84, 
    0x3c931c6e, 0xbdba0330, 0xbdc116bf, 0xbcf0b7f6, 0x3c228652, 0x3ded882f, 0xbd58f7a5, 0x3db37bc0, 
    0x3d9c9dc8, 0xbd846bf8, 0x3d7126cf, 0xbe2356a7, 0x3d0ce15f, 0xb9a5c886, 0xbe38fec6, 0xbe2829db, 
    0x3d8a9bff, 0x3ddb789f, 0x3e8f7065, 0x3cec4f13, 0xbe281ad4, 0xbda98a37, 0xbc4c6026, 0x3e5cf0e9, 
    0x3dfc6cf1, 0x3d03ce7a, 0xbc7288a9, 0xbd919435, 0xbe296ee6, 0xbe5c47a5, 0xbe201fc5, 0x3da0c39b, 
    0x3dbc9082, 0x3dfff0b1, 0x3c91869e, 0xbe3ad86b, 0x3d7a6ea0, 0xbd0fbefa, 0x3e40c78a, 0x3d76861b, 
    0x3d517a6e, 0x3e141967, 0xbafb5a00, 0x3e14e28f, 0xbdebc908, 0x3d89d9b1, 0x3e001e15, 0xbe163d64, 
    0xbd725bb4, 0x3e3ba767, 0xbe568799, 0x3dc0d1fe, 0xbe3aaa79, 0x3ded866e, 0xbbc51636, 0x3e19f168, 
    0x3dba4216, 0x3e0908ee, 0x3e29634d, 0x3d84966c, 0x3df5ed57, 0xbdeeee34, 0xbc24e258, 0x3dbeaf6f, 
    0x3cd7df31, 0xbce2dc62, 0x3e0bea63, 0xbdafab7d, 0x3e660df1, 0xbda3e46c, 0xbceab2e4, 0xbdd17bc0, 
    0xbe312221, 0x3bf4c394, 0x3dca2f54, 0xbe105620, 0x3d1683d1, 0x3c0df08a, 0x3b6a774e, 0x3d995cd8, 
    0xbd46c1b1, 0xbdc27b6c, 0x3e4e8ec6, 0xbd8532c2, 0x3ccd9dc8, 0x3c85ebc9, 0xbe506485, 0xbde098c1, 
    0xbd984867, 0xbcb3b85d, 0x3de100b4, 0xbdbc6b66, 0xbe1d7bb0, 0x3d5e83a4, 0xbca8dd08, 0xbe6e9108, 
    0xbe82b032, 0xbe338678, 0xbe286e74, 0xbd54df0d, 0xbdb46a7b, 0x3d989fdc, 0x3e797962, 0x3e0e5416, 
    0x3dbfb232, 0xbc873e28, 0xbd422349, 0xbd34ef65, 0x3d9374d4, 0xbdafa899, 0xbe294339, 0xbe28d9b4, 
    0xbe5ba14c, 0x3cf4eea4, 0xbe198889, 0x3ddc0562, 0xbe1a5788, 0xbc1940d4, 0xbe11f893, 0xbe014bd6, 
    0x3bf56aa1, 0xbbc43f88, 0x3d8f0840, 0xbcca9666, 0x3daf60ec, 0x3d60bc40, 0x3e05b607, 0x3ca219ac, 
    0xbcd6e084, 0xbe2391c5, 0xbdb6db2a, 0xbd56934f, 0xbe4e3cec, 0xbe6060e3, 0xbd2645f4, 0xbe35c593, 
    0xbd1608a5, 0x3b95a98c, 0x3c4ada9b, 0xb904c2c6, 0xbcaa5ad6, 0xbd696bde, 0xbe674700, 0xbdf6a2a4, 
    0xbdbb0a6b, 0xbdb81275, 0xbd698050, 0x3e1e8d9c, 0x3df1b8ca, 0x3de956a1, 0x3e10001d, 0xbe3a9a86, 
    0xbca5fa4c, 0xbe872450, 0xbd74cda2, 0x3df4b88b, 0x3dc8299b, 0xbddae82c, 0x3d591e0a, 0xbbe7f3b6, 
    0x3df5d2b1, 0xbe5c79c1, 0x3e0bb802, 0xbe074255, 0xbda6fa70, 0xbd7ac8ee, 0xbe794c76, 0xbd483b44, 
    0x3d912504, 0xbdd51f70, 0x3e141f76, 0xbe2c3912, 0xbe5e1e88, 0x3ad5f3b3, 0x3e12c988, 0x3cec4541, 
    0xbe24607f, 0xbc8ec17d, 0x3cdbff01, 0x3d9dbb62, 0xbe18ec4f, 0x3e181958, 0x3ddeb05c, 0xbd4484fe, 
    0xbe4b1e19, 0xbe1914b1, 0xbe76e66b, 0x3da32e91, 0x3e0645ff, 0xbe16bf94, 0xbd8abb75, 0x3cf7072a, 
    0xbd94c580, 0xbcdc2ac1, 0xbdce1816, 0x3d36d219, 0xbe718bb2, 0x3d4f3181, 0xbdd7c882, 0x3cbf1ced, 
    0xbb4b78af, 0x3d2b1589, 0xbe3e5e19, 0xbd0492f5, 0xbe816b69, 0xbd3f4c64, 0x3bef9806, 0x3d02bcbf, 
    0x3e4f1ffa, 0xbe3e0c3f, 0xbe3449ed, 0x3e1de6eb, 0xbe3b9090, 0xbe05c82d, 0xbbde3f27, 0xbe8b04ac, 
    0xbe50c10f, 0xbe2f3542, 0xba8228d4, 0xbdcc8921, 0x3e23c788, 0x3e6a7035, 0xbe2b91a1, 0x3eb7fb1a, 
    0xbd322c1c, 0xbe0726da, 0x3dc7a28c, 0x3db9b3a0, 0xbe8010c2, 0xbe044142, 0xbe2fbc03, 0xbd314f30, 
    0xbd320cab, 0xbdada20b, 0xbc2b95d1, 0xbd99aa3f, 0xbc87b03c, 0x3c6c5c1b, 0xbda48e69, 0xbcd060da, 
    0xbdb0cbf1, 0xbb33c394, 0x3dab9db4, 0x3d9e25f7, 0xbe5393fa, 0x3ddc0f69, 0xbdcfc24c, 0xbc87fce1, 
    0xbe5d0ad0, 0xbe39ada7, 0xbd70e24f, 0xbdb5e13c, 0x3cf19337, 0xbda6e71e, 0xbe0b6941, 0x3e9c7271, 
    0x3dc39f0c, 0x3c0c4a1b, 0x3dc87b2a, 0xbd056861, 0x3daf28c3, 0xbe1a2f87, 0x3cfc7e97, 0x3ce72366, 
    0x3dfff327, 0x3e0875cb, 0x3df199d5, 0xbe2aa4b0, 0xbd8fd605, 0x3d4701ff, 0xbe02fccf, 0xbe7004c4, 
    0xbe1c864a, 0x3db15ea4, 0x3e2f5e5c, 0xbd8eb961, 0xbcb697f7, 0xbdf19eea, 0x3d4f7428, 0x3e3be562, 
    0xbc906d7f, 0xbcd9a815, 0xbd789319, 0x3e292728, 0x3d390c82, 0x3d577460, 0x3da17e0d, 0x3de47af7, 
    0x3e0e3463, 0xbdc1867d, 0x3e4ff5fe, 0xbdb90382, 0x3e20dab3, 0x3cc7379b, 0x3d017d8e, 0x3ce79a96, 
    0x3e06d892, 0xbdf40c9c, 0x3cbe555d, 0xbc0e8095, 0xbd84bc39, 0x3dd62be8, 0xbde9bc4d, 0xbe2c094b, 
    0x3b428303, 0x3c09ab0a, 0x3dc96c1e, 0x3d5777d0, 0xbdc7ae6f, 0x3de44705, 0xbdf9c2b7, 0xbdd9b7d4, 
    0xbc94b3a4, 0xbe70a81c, 0x3d727880, 0x3c904b50, 0x3b38a14a, 0x3e548f0a, 0x3c24ac6c, 0x3ec2b76d, 
    0xbd93bfab, 0x3dddbd3c, 0xbc0d00b6, 0x3e0c9cf1, 0xbc581fdb, 0x3cb7fab8, 0x3e1160dd, 0xbe04c7a0, 
    0x3dfcb9bd, 0x3e2369d8, 0x3e1ac388, 0x3de29620, 0x3de9ac5a, 0xbdd211af, 0x3e627d24, 0x3d2a7753, 
    0x3d0752f0, 0x3e13fa63, 0xbdad847c, 0x3d18a66e, 0xbda66963, 0x3daf8c95, 0x3da410be, 0x3e0cad5f, 
    0x3db6f8c0, 0x3a6cb45c, 0xbb8f90a4, 0x3d6de34e, 0x3c21575a, 0x3d4dc864, 0xbd8dd1c8, 0x3e9aa95c, 
    0xba82c80d, 0xbdfb423e, 0x3d841a35, 0x3de3f444, 0xbe648383, 0x3c3593a3, 0xbda3b7fe, 0x3ce33d71, 
    0x3e55ea58, 0xbe5dd018, 0xbc88e71b, 0x3dc306e2, 0x3cf05fdf, 0x3dd4dd63, 0xbdcadb3e, 0xbe400746, 
    0x3e142f89, 0xbe01eaf4, 0x3e044b0c, 0xbde59c46, 0xbda7bb5f, 0x3e2a2e01, 0xbe29910d, 0xbe5e2592, 
    0xbde91ae1, 0xbda68b6c, 0x3e405340, 0xbd511645, 0xbdeaf0ce, 0xbaa3f768, 0x3ddd4790, 0x3e1d4ab0, 
    0xbd13fee9, 0xbc5f0f7d, 0x3cc4eecb, 0x3de0356f, 0xbe3d69e9, 0xbc9d4687, 0xbbdc770c, 0xbd252b31, 
    0x3db57ee3, 0x3e3d8f88, 0xbd9c1734, 0xbe3138d7, 0xbc210e34, 0xbd48d2fc, 0xbde5c676, 0x3d8837b0, 
    0xbc36201f, 0x3c502f08, 0xbe26b190, 0xbd38eb0a, 0xbdb9b766, 0x39b1d7f2, 0xbd7952d6, 0xbdbfe1a6, 
    0x3e266585, 0x3d7d0077, 0xbcb6c2df, 0xbe33de88, 0xbdbd41a0, 0xbc3a30f7, 0xbdb900e6, 0xbda6c87c, 
    0x3e0de198, 0x3c9d1ccb, 0xbd0528bf, 0x3da8b005, 0x3da525ed, 0xbe4f2df2, 0x3dac2db7, 0xbe1fce2c, 
    0x3d8096b0, 0xbdc60be2, 0xbdedc2bb, 0x3db41038, 0xbcd876c2, 0x3e0d7328, 0xbdf76e84, 0x3d633e66, 
    0xbc158571, 0x3d9f45e6, 0x3e470b34, 0xbc13f73d, 0x3de0fc64, 0xbc9bff8c, 0xbd75e931, 0xbda24e17, 
    0xbdbe30be, 0x3c9ee63d, 0x3da20b87, 0xbe2df04c, 0xbe1b8a42, 0xbe40791b, 0x3e1f056f, 0xbe8b7135, 
    0x3d944cd1, 0xbde36f29, 0xbe05bcf4, 0xbd32ea0c, 0x3dea2377, 0x3d4c9d90, 0xbd7101bf, 0xbd048c76, 
    0xbdf855f8, 0x3e1ad24b, 0xbd1e5a36, 0x3d800648, 0x3cee6406, 0xbdbace7e, 0x3e035698, 0x3ddac6c1, 
    0xbda0a4e2, 0x3e1f78e1, 0x3d939a6a, 0xbd735f91, 0x3b99c6f4, 0x3e227b82, 0xbde73a6d, 0xbd87a925, 
    0xbd23f225, 0x3e0e54d2, 0xbd9050b7, 0x3de11030, 0xbc87b46e, 0xbe81aa71, 0xbda61757, 0xbe59f9b5, 
    0xbcac4f3c, 0x3e0a790d, 0xbd0fe879, 0x3d0e17c3, 0x3d53ee5c, 0xbd51486b, 0x3e25b41d, 0x3e1646b0, 
    0x3cdec736, 0x3e0f54fb, 0x3d767661, 0xbc40c7c0, 0x3dc04680, 0xbdd2bc68, 0xbe32f172, 0x3e114dd4, 
    0x3b92628c, 0x3e531199, 0xbdb59b40, 0xbd4b0c08, 0x3d1403f5, 0xbdba6eb2, 0x3d340e98, 0x3d58bca0, 
    0xbe05e8e2, 0x3dd13952, 0xbd9135db, 0xbde860e2, 0xbe70c498, 0x3e5fd743, 0xbe0c8b67, 0x3e8d42b0, 
    0x3e11212b, 0x3c09aac5, 0xbc4b7ce3, 0x3d8335e4, 0x3e40e060, 0x3d10ad51, 0x3e950fe6, 0xbda24cf9, 
    0x3daba24a, 0xbe647d37, 0xbcf41661, 0x3e90adb8, 0xbd710f75, 0x3e023ae4, 0x3e243729, 0xbdef95d6, 
    0x3d90b239, 0x3e47933f, 0xbde80a5b, 0xbdf816d6, 0xbdeff554, 0x3e3afb25, 0x3e339fd5, 0xbe1334d7, 
    0x3dd3df63, 0x3de92c7c, 0xbd713983, 0xbd924910, 0xbdc54dab, 0x3d3cbb34, 0xbe38a1fc, 0x3e29ebe2, 
    0xbb5b5635, 0x3db19f3d, 0xbdcc637d, 0xbe074f26, 0xbdd2fb47, 0xbe708637, 0x3d058ef5, 0xbe1abf5d, 
    0x3ddd6bc1, 0x3c77d5ce, 0xbd8aa803, 0x3e37a953, 0x3e0a4888, 0x3dae88d3, 0xbdea0918, 0xbe4c68e5, 
    0xbdbc9871, 0xbdc992dc, 0x3b3924b1, 0x3e2c942b, 0xbe462334, 0x3e0dc37a, 0xbd89d937, 0xbe038b6d, 
    0xbe146896, 0xbe87c359, 0x3dfa7bc8, 0xbcb7c74f, 0xbe797288, 0x3e2cc8fe, 0xbc5a8a47, 0x3e091f4b, 
    0xbe315b28, 0xbe2ae85c, 0xbd7f5b9b, 0xbe086f0c, 0x3d3ac5f3, 0xbe3b118f, 0x3cdf7b86, 0xbe59e6d1, 
    0x3da8cdd3, 0xbc98d21f, 0x3dacefbe, 0x3d17eae5, 0xbcbd3944, 0xbe05a937, 0x3da97d0d, 0xbd1033b7, 
    0xbe08b438, 0x3e67d26e, 0xbdee2404, 0x3e0fb113, 0x3d82289d, 0x3e54b33c, 0x3dd24e12, 0xbd8f87c7, 
    0x3df24160, 0xbd57e799, 0xbe59c71e, 0xbd735585, 0xbdb61d76, 0xbd0c97c2, 0x3e1d7a6e, 0xbd2f0631, 
    0xbe16fb4a, 0xbdfb09bb, 0x3d9b1ab7, 0x3e569113, 0xbe2cd9be, 0xbe1d6cf7, 0xbe1fd8ef, 0xbdc97730, 
    0xbd365ba4, 0x3da014fe, 0x3dd24490, 0xbdecb5a3, 0xbd939f73, 0xbbcf4f82, 0xbdc9a5f1, 0xbe79c2d2, 
    0xbdf6da1e, 0xbd28f321, 0x3be03d6a, 0xbde36dcd, 0x3da0e97e, 0xbb7e725e, 0xbe558f06, 0xbde7eb56, 
    0x3e09abd7, 0xbdfdf418, 0xbe0e435e, 0x3d901e95, 0x3db62eed, 0x3e28febb, 0xbcc3e579, 0xbd76a5cd, 
    0xbdfb9cd0, 0x3e29af77, 0xba0c71bd, 0x3e248ca6, 0x3d1c750c, 0xbe12877f, 0x3d1cdbb1, 0x3c7120c4, 
    0xbd8032b9, 0x3dc3c3b2, 0x3dc22801, 0xbe29a54b, 0xbd170eb7, 0x37e23340, 0xbe717df0, 0xbe131e47, 
    0x3e3d788b, 0xbc1f1d9b, 0xbd94ee1c, 0x3d21d9a2, 0xbba102c4, 0x3e1a30fe, 0xbd3f128a, 0x3e12e922, 
    0xbe3e807d, 0xbdd06fe9, 0xbe2b1818, 0xbe213437, 0xbe0e22c4, 0xbde5fab4, 0xbd0e3efc, 0x3d995d41, 
    0x3e3004ff, 0xbe0bf372, 0xbdda2a6c, 0xbd87e7f9, 0x3c46bc81, 0xbddf31d8, 0xbdabfed7, 0xbddecffe, 
    0xbcb5b1bf, 0x3dba533e, 0x3d95ffe0, 0xbe0cd759, 0xbe001e11, 0xbd646112, 0xbc478800, 0xbc146532, 
    0xbdfb3b79, 0xbd37ca89, 0xbe3e0d74, 0xbe0bf614, 0x3bc27a50, 0xbe45d1ac, 0x3d525411, 0x3db8dff2, 
    0xbdbe09ed, 0x3dfa66f9, 0xbd9fb083, 0x3d75d279, 0x3d731b78, 0x3df09cb2, 0x3e62f7ee, 0xbdc41507, 
    0xbe3f2bb6, 0xbe1d3ce3, 0x3e187ce9, 0xbe1876e9, 0x3e316db5, 0x3e679820, 0x3d49fa8c, 0x3e708e11, 
    0xbdec3a1d, 0xbcc90f87, 0x3db14cdc, 0x3e5dbcc6, 0x3c8d19b9, 0x3b785127, 0x3c558721, 0xbd1799a5, 
    0x3dd74f76, 0xbd2845e7, 0x3dafcb42, 0xbe158777, 0xbd0d6513, 0x3d8a4ddf, 0x3d10254e, 0xbd2ed97e, 
    0xbde13c47, 0x3da5cf7d, 0x3d9d92a3, 0xbcb29cba, 0x3b82b59b, 0xbdb04723, 0x3dd437ac, 0xbe831755, 
    0x3dad56ec, 0xbe08a377, 0x3e0da776, 0x3db8f08a, 0xbd8f2a18, 0x3e7ca118, 0xbddda7cc, 0xbd7451cd, 
    0x3d580840, 0xbe5c2400, 0x3dfa92b8, 0xbce181e3, 0x3dd7f38b, 0x3d237e0d, 0xbe5f7c05, 0xbe74bbb9, 
    0xbe2fb474, 0xbe873c8a, 0xbe1c0a20, 0x3e29d6a6, 0x3cf91835, 0x3cc8970e, 0x3dcab984, 0x3cfcafb6, 
    0x3b955f6f, 0xbe5f53a2, 0xbdcd2c1c, 0xbd76042e, 0xbdef4660, 0xbd0db9b6, 0x3e261c27, 0x3d5d1a7a, 
    0x3d040a2c, 0x3d55c98e, 0x3d136a98, 0x3e005d18, 0x3ca8baf8, 0x3d12874d, 0xbd081544, 0x3e1899b4, 
    0xbd96af9c, 0xbe233e2e, 0x3dfeb23f, 0xbde58d05, 0xbd1d0d19, 0x3e4e69bd, 0xbdc241b5, 0xbc851824, 
    0xbe3a4548, 0x3dd2d914, 0x3e884566, 0x3dd5c7fb, 0xbe34dc8b, 0xbe1a4e52, 0xbda06bd6, 0x3e7cf20d, 
    0xbc0a9424, 0x3e37be9d, 0xbd864518, 0xbd17ca83, 0xbe557c34, 0x3e07cde1, 0xbdc91720, 0xbe86ae88, 
    0x3d41cfb6, 0xbda4df77, 0xbe184987, 0xbdced4dc, 0xbcceb414, 0x3d4d1e26, 0xbd3c15cc, 0x3c7ebc0a, 
    0x3df0835b, 0x3dadfd32, 0xbda6c356, 0x3d7ca2c3, 0xbcb787c0, 0x3e1d4de4, 0x3cdf298d, 0xbe035304, 
    0x3d87e649, 0x3dd4d0c6, 0x3e238e74, 0xbde79f6b, 0xbdfdf3f6, 0xbe2bc711, 0x3c4d8334, 0xbcb2bab8, 
    0x3dba33dd, 0xbc7cd0ff, 0xbc83373b, 0xbe3f955d, 0x3d2695f3, 0xbbae03e4, 0x3d1fe58a, 0xbe5c9ff7, 
    0xbe7fae83, 0x3c88cd3d, 0xbde73bee, 0xbe31ef5d, 0x3d8c0e8e, 0x3e27c0a5, 0xbc92daca, 0xbda070e8, 
    0x3e1608ad, 0xbc8ffaea, 0xbe20e4e4, 0x3e2f90b7, 0xbc870058, 0x3e4d75cb, 0x3c976b65, 0xbd5cc31a, 
    0xbdb7b2ff, 0x3e79f2c0, 0x3e236aac, 0x3d27df7f, 0xbdfc2248, 0x3d6954fd, 0xbdb163a2, 0x3dd9419e, 
    0x3e5d8601, 0xba0ce0d8, 0x3e23283d, 0x3ddfe03b, 0xbe36dd9f, 0x3da3216b, 0xbe21ba66, 0xbe54a24b, 
    0xbd1e0bb4, 0xbd1fe2f5, 0xbe21a831, 0xbde4c0b6, 0x3e394bb5, 0x3e334cef, 0x3e65e52d, 0xbd7438be, 
    0x3d9b65fa, 0x3d676479, 0xbe0bac8b, 0xbdf17686, 0xbd979701, 0xbcfe3d55, 0x3dcd91d4, 0x3e00b961, 
    0xbdaacc6f, 0x3d2393de, 0x3e003b5b, 0x3e4e4e3f, 0xbcb370c4, 0x3e2ea5c3, 0xbc9f131c, 0x3d8b07a0, 
    0xbe1d85eb, 0xbe3cb04e, 0x3e289cb8, 0xbd9a764c, 0xbe301032, 0xbdb4a07d, 0xbd8031c8, 0x3dc1d27a, 
    0xbd204ea4, 0x3b8cdb1c, 0x3df37ff2, 0xbe2c614b, 0x3d36aa95, 0xbc2333d4, 0x3e006420, 0x3e44c839, 
    0x3df4f3b8, 0x3e149b03, 0xbd3f229c, 0x3d9b3027, 0xb9a6cf8e, 0xbe0d1b65, 0xbd9c808e, 0x3dc55a2e, 
    0x3e28d3e0, 0xbdfacbcb, 0xbd5b8423, 0xbe46a8e6, 0x3dee8919, 0x3e1f777d, 0x3d9e3c6b, 0x3d31b2cf, 
    0x3d95de80, 0xbe4ba3fd, 0xbe2aa189, 0x3e3ded2e, 0x3c0a7a25, 0x3c8f524f, 0xbd658cc9, 0x3d5cb1f5, 
    0xbe09e4b1, 0x3e179e49, 0xbe2ca7a1, 0x3df761af, 0xbd3d4b75, 0xbd75515f, 0x3cf2c051, 0x3e5eaf9d, 
    0xbdcd53a7, 0x3e2aa8c0, 0x3c60dbf6, 0x3df413b5, 0xbe3d0d74, 0xbd6eb24b, 0x3e441c5d, 0x3d8b4794, 
    0x3e314e13, 0xbe025db1, 0xbd1a941d, 0x3d88bd1d, 0xbe00c1b2, 0x3db0351c, 0x3dade80f, 0xbdac5a6f, 
    0x3d7576f4, 0x3e088caf, 0x3e0da3a4, 0x3d70c88b, 0x3d9152a5, 0xbdd967d7, 0xbe1895b9, 0x3d063ffe, 
    0x3dff4d07, 0xbd9becff, 0x3e3a9793, 0xbda652b7, 0x3b3b15de, 0xbe6ea447, 0xbe506f46, 0x3d0847ba, 
    0xbc201029, 0x3e0b0c8a, 0xbcc9abf2, 0xbd293f20, 0xbdafd349, 0xbe6e64ae, 0x3e30b015, 0xbe4a890d, 
    0x3d879151, 0xbb57c7c4, 0xbd2baf73, 0xbe427ba3, 0xbe112769, 0x3aa38ea8, 0xbe361f2b, 0xbe475a77, 
    0x3d87c037, 0x3c069208, 0xbdc93767, 0xbe2acaab, 0x3e222869, 0x3cafc835, 0xbd32ea61, 0xbda83f05, 
    0x3e5ba457, 0xbdc26a43, 0x3e4c1c65, 0x3dffab4d, 0xbd1f0119, 0x3ca0b6e1, 0xbe55d872, 0xbe1d848e, 
    0x3d2b36cf, 0xbdef8643, 0xbe09fdf7, 0xbdb589c5, 0xbd998978, 0x3d762adf, 0x3d641248, 0xbe2de072, 
    0x3ad16284, 0xbe2d152a, 0x3e52ec91, 0xbcddd927, 0xbdd3a1a4, 0xbdb00d5c, 0x3d924e4a, 0xbe269fd5, 
    0xbe388c02, 0xbdcc6085, 0xbe122df2, 0x3db76dc9, 0xbe2c2422, 0x3e708a51, 0x3e005a3e, 0x3e362a35, 
    0x3d9a0978, 0xbdf53568, 0x3d7e6032, 0xbe0f73ab, 0xb9d67024, 0xbe16599e, 0xbe4d2252, 0xbe75cdda, 
    0x3dd9ec86, 0x3d292082, 0xbdae65b3, 0xbded059b, 0xbe21957a, 0x3db871fb, 0xbdd5a2d7, 0xbcd2553f, 
    0x3b570fb5, 0xbe50e397, 0x3cb476fa, 0xbd553c05, 0xbe3ca674, 0xbd2bddd9, 0x3dc15c48, 0x3e531df4, 
    0xbd3ea45e, 0x3d8bc36e, 0xbd87fc9a, 0x3deaf4a1, 0xbe100ef2, 0x3e42c3c0, 0x3ddf9c5f, 0x3e6f99b2, 
    0x3e4efa2a, 0x3c955259, 0x3cfd9d56, 0x3da70865, 0xbad563ae, 0xbd63d63c, 0xbdf20ed8, 0xbe33c127, 
    0x3e43638a, 0xbd92ba15, 0x3d41ff61, 0x3d20b2d2, 0xbe189123, 0x3e2aec60, 0x3dd9fd63, 0xbe0bd569, 
    0x3e27d804, 0xbe2148bb, 0x3da62dc6, 0x3d44f6fb, 0x3cb2074a, 0x3d59ea64, 0x3e591579, 0xbe47d548, 
    0x3c348c27, 0x3e06cc13, 0x3c8742df, 0xbda60235, 0x3d8b7d13, 0x3e0972b1, 0x3e314e1d, 0x3e4e9a33, 
    0xbd04c832, 0x3e453a39, 0x3d0e878c, 0x3e1dc763, 0xbc253579, 0x3d0b564c, 0xbd7de08e, 0xbde90156, 
    0x3e667c84, 0x3e29da55, 0xbd289622, 0x3d529019, 0x3e4ad2de, 0x3e0b2ed1, 0xbba437eb, 0xbae296c8, 
    0xbe2a262c, 0xbdacec0e, 0x3c5c6786, 0x3ddf1b64, 0x3d84ca84, 0x3dc08a42, 0x3cd8cf12, 0xbd8cff56, 
    0x3e367070, 0xbdf49670, 0xbe12762f, 0x3ceced3f, 0x3e38524a, 0x3e522792, 0xbcf666e3, 0x3e04164b, 
    0xbd429110, 0x3dd04ec8, 0xbc17f85b, 0xba8e27aa, 0x3a0df546, 0x3d23b020, 0x3d0cb567, 0x3e24c20d, 
    0x3e3d9c3b, 0xbe56b2c7, 0x3e379c10, 0x3dac2e5a, 0xbd99c743, 0x3e8c01f3, 0xbe692195, 0x3dd536e7, 
    0xbc09bfde, 0xbcaf80a5, 0xbd8a47d2, 0x3d3a5725, 0xbd3df2e5, 0x3de4c7a2, 0xbd938f7b, 0x3c7d6dc7, 
    0x3d1ba29d, 0xbc715b78, 0x3dd85c0f, 0x3df0cc1d, 0x3dbf8261, 0x3d25a5c0, 0x3c2d8b00, 0x3e2d184f, 
    0x3e1123eb, 0xbb77ca57, 0xbdc28827, 0x3db3ad19, 0xbe6074a5, 0x3ca58094, 0xbe365ba0, 0x3c3495cc, 
    0x3ba15976, 0x3cc8618e, 0xbd8ec56c, 0xbe021b7a, 0x3de7b4b1, 0x3d9a681f, 0xbd36af4a, 0x3da907cd, 
    0xbe0e8724, 0x3e5d0be6, 0x3dfd0a9b, 0xbd9ac8ac, 0x3e0b4817, 0x3e46ad3b, 0xbd826728, 0xbe2956f9, 
    0xbda8f1b9, 0xbe3d35ed, 0x3e93a97d, 0x3d5292df, 0xbe388b65, 0x3e49426d, 0xbdf15667, 0x3df0217c, 
    0x3dee4ea1, 0xbba93612, 0xba7ad4ca, 0x3d26ac81, 0xbdb71237, 0xbe813357, 0xbd43aab0, 0x3d585ad7, 
    0x3e0b6f01, 0xbd8fc6ba, 0x3b5ee916, 0xbe179985, 0xbddb25e6, 0xbd052096, 0xbd72c317, 0xbe5e9bec, 
    0xbc225e84, 0x3e430930, 0xbe057d63, 0x3d96ed2c, 0x3e181b3a, 0x3de9998b, 0xbd6ee72c, 0x3e16041a, 
    0x3cbc0853, 0x3e2bfdb0, 0xbe1d0303, 0xbc82881e, 0x3d90ff68, 0xbdaea008, 0xbd9bc8fb, 0x3eb4e1a2, 
    0x3d79ebd1, 0x3e0f1cb0, 0x3c8ac1df, 0xbd16261a, 0x3e86d81b, 0xbe01731e, 0x3e67d700, 0xbcc0b2be, 
    0x3ced024f, 0xbe462f85, 0x3d64c641, 0x3e257b8a, 0xbe46e93a, 0xbddc5a97, 0x3e75661e, 0x3e0f2f89, 
    0x3e8c7ad4, 0xbd9919bc, 0xbe436360, 0xbdc5660f, 0xbd3f0cfe, 0x3db8e1b8, 0x3d24f5af, 0xbd5aad93, 
    0x3e1da974, 0x3e0f36d4, 0x3de46862, 0x3d63fc62, 0xbdb4270f, 0x3e414b98, 0x3d958c8c, 0x3e67e072, 
    0x3e1298fe, 0x3e0ce74c, 0x3d49c4b1, 0xbd2a90a1, 0xbe83269f, 0xbd3c6179, 0xbc9f2d94, 0xbc85f01d, 
    0x3e36ee03, 0x3e6aa6f8, 0xbdad6de0, 0x3cdf8904, 0x3e08022c, 0xbe300467, 0x3d71f37e, 0xbe3ce8a9, 
    0xbe1cb85d, 0xbd174457, 0xbde08762, 0x3c7d648e, 0xbe32d452, 0xbe20d3bf, 0x3d87a976, 0x3da7b0bb, 
    0xbda10fb5, 0xbdd8924a, 0x3dbc6b98, 0xbd562beb, 0x3de57491, 0x3b8b06d2, 0xbdb49896, 0xbd53519a, 
    0xbe5a99d0, 0x3bc6748c, 0xbe537f2b, 0xbe5e41ed, 0x3ca8087c, 0x3e577e47, 0x3dba07ac, 0x3d4b9ae6, 
    0xbd9426fa, 0xbba4eace, 0x3dac6078, 0x3d91c940, 0xbe2d8874, 0x3e4336f3, 0xbe315cb1, 0xbab44d8f, 
    0x3adf472d, 0xbe44f732, 0xbdc8b0e8, 0xbe1e0ba0, 0xbe032355, 0xbe47f630, 0x3dd29568, 0x3e625508, 
    0x3ba941e3, 0xbe160330, 0x3d97fac6, 0xbd89080d, 0xbe260e21, 0xbd797f66, 0x3e0b8cd1, 0xbe468170, 
    0x3d897f77, 0xbd85f5b8, 0xbce3810a, 0x3d9cd3dd, 0xbe2ecb83, 0xbce8c05b, 0xbe6aaa72, 0x3d2c9b34, 
    0xbd825d45, 0x3e0f819c, 0x3d7ba205, 0xbe2bee27, 0x3d9bcda4, 0x3e497072, 0xbd351154, 0xbdd2e499, 
    0xbe18b7f7, 0x3d86499c, 0x3d968626, 0x3dc9fbdf, 0xbcb321e0, 0x3bc7c6a8, 0xbd8aee01, 0xbd364116, 
    0x3dad408b, 0x3cb6f400, 0x3c5fff5d, 0xbde87d7a, 0x3d9311e1, 0xbd759747, 0xbc3bf93d, 0xbe9ef501, 
    0xbc79d230, 0xbd5c1856, 0x3dc1dc55, 0x3b993fc7, 0x3de37c88, 0x3e485700, 0x3dfa5faf, 0x3d0b8c27, 
    0x3d1a0007, 0x3dd9704e, 0x3dfa9775, 0x3daedcf9, 0xbacbca1d, 0x3e5b3d8f, 0xbdd8b735, 0x3d8d84c9, 
    0xbe64cea7, 0xbd54c8f5, 0x3beccb52, 0x3d938aca, 0xbcde45e6, 0x3a91420d, 0x3b83e0c2, 0xbd92542c, 
    0xbe2eda2a, 0xbe03039a, 0x3dc9c7d2, 0xbe0e1811, 0xbdfe8927, 0xb92d548c, 0xbb31715c, 0x3e0faa94, 
    0xbd70193b, 0xbe677f85, 0xbdfd1803, 0x3d3178ea, 0xbddb0519, 0xbe4316f3, 0x3e0deb7d, 0xbe3b9bd3, 
    0xbe6b7529, 0x3df1c0b8, 0x3dd67cd8, 0xbdf9396a, 0xbbc21037, 0xbe10a92f, 0xbcecfe5f, 0xbda747cc, 
    0xbc0b09cc, 0xbdefc753, 0xbd1f1007, 0x3b95d0bc, 0x3dfea358, 0x3e15bc99, 0xbdc59d6c, 0x3e1db8e0, 
    0x3c488e81, 0xbe5d6c5d, 0xbd9b15ee, 0x3e13e43e, 0xbe5dbe1c, 0xbe1acd02, 0xbe5b1825, 0x3c69ac7a, 
    0x3b58836f, 0xbd6fa34a, 0x3b2eb4ad, 0xbe2d2c91, 0x3e1713c9, 0x3e07f865, 0x3e203229, 0xbd8d88b1, 
    0x3d1247f4, 0xbe295207, 0xbdd95549, 0x3e3f82fc, 0xbc694780, 0xbdae526b, 0x3c8b302c, 0xbdfc4a18, 
    0x3e34559b, 0x3d562c89, 0xbe7ab4fb, 0x3be044e4, 0x3e52573d, 0x3e9142fb, 0x3ccf47e4, 0x3d88fe06, 
    0xbe2aaca6, 0xbc982161, 0x3e275e53, 0xbe54aa07, 0x3decd68b, 0xbcd3b941, 0xbe63ce6c, 0x3e80f3e5, 
    0x3e35f09a, 0xbda9479a, 0xbe349544, 0xbe388d0f, 0x3e093f5d, 0x3dcd9dc8, 0x3e5baa3f, 0xbea06e38, 
    0xbe6baf7a, 0x3df4481e, 0xbdec7842, 0x3e171b84, 0xbdc78157, 0xbe592129, 0x3deb413b, 0xbcee15fb, 
    0x3e3ea358, 0x3d9939bf, 0x3cf120ac, 0x3d064bc6, 0x3e0543e0, 0xbe5a3b7f, 0xbe413349, 0xbd4bbded, 
    0xbe1b668d, 0xbe28e240, 0xbe503480, 0x3cf648b4, 0xbd9d8c79, 0x3dbdbc0a, 0xbd431f43, 0xbd807456, 
    0x3ba13d18, 0xbe0b0fb5, 0x3e4e1495, 0xbdc5b4b6, 0xbdc614b6, 0x3cf23722, 0xbe3fd53c, 0x3e1600cc, 
    0xbd8b4128, 0x3e117ed2, 0xbe1989aa, 0xbe147e86, 0x3da82017, 0x3dd9a634, 0x3db7cf4f, 0x3d62f398, 
    0x3a96b251, 0x3d990919, 0xbe49e530, 0xbe504af9, 0x3e110d2f, 0xbdec48d9, 0xbe0190bb, 0x3e0a2d78, 
    0x3e16a327, 0x3d29a72d, 0x3b180f83, 0x3d56a786, 0xbcd9db49, 0x3c7fbb29, 0xbe39fb69, 0x3e4079a8, 
    0xbe264d68, 0xbdedfff5, 0xbd404268, 0x3e0fafe8, 0xbe9f62bc, 0xbe11b6c1, 0xbe025ab2, 0x3df9d1e0, 
    0xbe101bca, 0x3da41a34, 0x3d77840b, 0xbddc2968, 0xbe2b3709, 0xbd380aaf, 0x3c97520d, 0xbdc980a7, 
    0xbe392dfe, 0xbe406ec9, 0xbdb41c99, 0xbd2603a0, 0xbddbcb0f, 0x3d5a7f18, 0xbd42ada4, 0xbd6f56ea, 
    0x3d9a49be, 0x3ba15d04, 0xbdf2ad93, 0x3d51a7fe, 0x3dd0c1c5, 0x3e1444b0, 0xbc10760c, 0x3dbcd146, 
    0xbe3677fc, 0xbb91013e, 0x3d1e6c8e, 0xbd70013f, 0xbe6e76a9, 0xbd9f6cae, 0xbea10f4f, 0x3d7f4f49, 
    0x3de28087, 0x3d1937dd, 0xbe048f83, 0xbe2542d7, 0xbdc90e39, 0xbd140564, 0xbe5e4736, 0xbe55b181, 
    0xbe5f3b45, 0xbe325c88, 0xbc095b7d, 0x3db80a0c, 0xbde46721, 0x3e5fcfdb, 0xbc83c645, 0xbd6219d5, 
    0x3d990ae7, 0xbd3d76f2, 0xbe0c8fb0, 0xbe366414, 0x3dcdc27a, 0x3c733a73, 0xbdb88708, 0x3e26111d, 
    0xbd82c9b6, 0xbe5cf9df, 0xbc1c575b, 0xbe38b826, 0xbc785d05, 0xbdac8c75, 0x3e0fd447, 0xbe0f312d, 
    0xbdac801a, 0x3e3a5227, 0x39996295, 0xbd541064, 0x3de65896, 0xbd86e70f, 0xba19377d, 0xbdce57f1, 
    0xbddbbeb8, 0xbe2a541b, 0xbe4f0c34, 0x3db4fd68, 0x3e0bd837, 0xbda08625, 0x3c963776, 0xbd786465, 
    0x3d83b1d2, 0x3d44a261, 0x3d878116, 0x3debac07, 0xbd909184, 0xbc026333, 0xbe04b52d, 0x39f7a036, 
    0x3e57e66e, 0xbe4aae3d, 0xbdd84fac, 0xbdcf2c8b, 0x3dc871a1, 0xbe0c17c3, 0x3e1c1084, 0xbdd8d568, 
    0xbe55f56c, 0xbdbc3194, 0x3de62517, 0x3c920e73, 0xbdfc6cb4, 0xbd046dbf, 0x3e4a03a4, 0x3d9912ae, 
    0xbdaea484, 0x3e5d7c1e, 0x3c50f3fb, 0xbd8b9ff0, 0x3dd199a9, 0x3e9c9a63, 0xbe227646, 0xbde512ae, 
    0x3d0a871b, 0x3dd145f7, 0x3d9f1fa3, 0x3d6a2bb4, 0xbcdeff15, 0x3d2ffa2b, 0xbe597c5e, 0x3e0c584b, 
    0x3b9ba15c, 0xbde1f23e, 0xbde550d9, 0xbd691a6b, 0xbde28953, 0xbe1c5cca, 0x3dc86d94, 0xbe85d143, 
    0x3a829ae6, 0xbcf3fe9b, 0xbc943fe6, 0x3e41b864, 0x3e0490a5, 0xbe17b6c6, 0x3ccfc9f9, 0x3a80e5a7, 
    0xbc5c072b, 0x3e27153f, 0x3d282143, 0x3e276cc2, 0x3dd883f3, 0xbdce1855, 0xbdb38b6b, 0x3e1db760, 
    0x3d9bf6e5, 0x3db350bf, 0x3dbfef93, 0xbd8d3320, 0xbdc2c762, 0xbceca03a, 0x3d5d3ebb, 0x3c730180, 
    0x3e456e16, 0xbcc6d992, 0x3e039998, 0x3d489d92, 0x3e27c144, 0x3e73a74a, 0xbd6f3691, 0xbdd538ee, 
    0xbcdb385c, 0x3cb44c14, 0x3c29c7a6, 0x3e22b6e9, 0x3e17909d, 0xbc499d30, 0x3c03c517, 0x3e109ed0, 
    0xbd5f4c26, 0x3d97ee7e, 0x3df123f8, 0xbd2b8c25, 0xbc9ab7b0, 0x3d742ca9, 0xbdeacad8, 0xbe64c43a, 
    0xbd21aac2, 0x3e0066ec, 0x3e0372b5, 0xbdd29bdd, 0x3dd3e9b9, 0x3d8f764c, 0x3e30d104, 0xbd8a4789, 
    0xbddbc75f, 0xbe0007e5, 0x3ddc2bc2, 0xbda28a6e, 0x3cebc124, 0xbde4aad0, 0x3dfadbf9, 0x3d02993d, 
    0x3dae15c8, 0xbdca8402, 0x3dc15615, 0x3d080ab1, 0xbc08e190, 0xbd207099, 0xbe08b27d, 0xbdf26eac, 
    0xbd92a6f9, 0x3e4415e0, 0x3e08f6d7, 0xbe05799b, 0x3dcdb598, 0xbc053829, 0x3d54918d, 0x3dcdac3d, 
    0x3d4ffd20, 0x3e532b38, 0xbd0cf3d3, 0x3e4503d6, 0xbd9b120a, 0xbddfb085, 0xbc69891f, 0xbe16fc29, 
    0xbe1e2231, 0x3e1dfbf4, 0x3d4ec23d, 0x3d59ed82, 0xbe111846, 0x3e3b30d1, 0xbd4e8d3b, 0x3c175562, 
    0xbdb32826, 0xbccd95f3, 0x3dd6db38, 0x3e1f85eb, 0xbe0ec883, 0x3cbc6e83, 0x3d8eff93, 0xbd262678, 
    0xbce794bc, 0x3da80ffc, 0x3d950416, 0x3e00e1e5, 0x3e20ba0a, 0xbe04570e, 0xbbc944e4, 0xbdbb3b8f, 
    0xbd9f07d8, 0x3b4498d5, 0x3d72f9e1, 0xbe39b575, 0xbdd9852e, 0xbd8d3ec3, 0xbc1b5c29, 0x3ba723c3, 
    0x3e02b624, 0xbe2127ed, 0x3e05a752, 0x3d035217, 0x3da7d795, 0x3d805472, 0xbddc244f, 0x3d8b0586, 
    0xbdd302a8, 0xbd19fba6, 0xbdd73c4e, 0x3df22b86, 0xbe18b6f5, 0xbe6db0e1, 0x3e3f4d6b, 0x3e155413, 
    0x3e521e69, 0x3e52377a, 0x3dc46896, 0xbe16217b, 0xbc9b567a, 0x3d0e9539, 0xbdaeea60, 0x3b8e1c44, 
    0xbe03c036, 0x3e149887, 0xbe3ed6a0, 0x3cd7b730, 0xbe435e99, 0xbd884bbd, 0xbe1fb8af, 0x3c285cac, 
    0xbcb52eaa, 0x3cefa91e, 0xbd414700, 0xbe160f9b, 0xbd290e1e, 0xbd48b13a, 0xbdda1959, 0x3dba3a8a, 
    0xbdbb6417, 0xbda6b3ae, 0xbe01885e, 0x3e15ca9a, 0xbd5d9009, 0x3d6c1af5, 0xbdabbb09, 0xbe063958, 
    0x3e0e90de, 0xbd7af0b4, 0xbe3bb527, 0x3db39d96, 0x3d8c1aa7, 0x3d49c864, 0x3d376d3a, 0xbde6c202, 
    0x3e08fe91, 0x3e2f0a99, 0xbd806ee0, 0xbe3230e6, 0xbd62f4ac, 0x3d941955, 0x3e00a2d2, 0xbd16baf1, 
    0xbe0fc4c1, 0xbdc60829, 0x3dac168b, 0xbdc42478, 0x3da2d073, 0xbe2a3a35, 0x3d8a3b5c, 0x3d392cef, 
    0xbe2379ef, 0xbe3699d8, 0xbda4613e, 0xbdaedd77, 0x3d9e8245, 0xbe2b1448, 0xbbc46114, 0x3dc91fe5, 
    0x3d61efb2, 0xbe1cca9a, 0x3d57da32, 0x3db4114b, 0x3e32c661, 0x3dc2c366, 0x3c92a8e2, 0xbe8db25b, 
    0xbd16400d, 0xbd4db591, 0xbdba4904, 0x3de34ada, 0x3dc995cb, 0xbceb8952, 0xbdcd62f7, 0x3ded9512, 
    0xbd9f6d1e, 0xbd3ea85e, 0xbe0d91b7, 0xbd88acdb, 0xbd73c090, 0xbe3caeae, 0x3dd02ae3, 0x3b33545e, 
    0x3e29ee91, 0x3d3699c4, 0x3e22ccdb, 0xbe3bc674, 0xbe4ac761, 0xbe6de37a, 0xbe251271, 0x3ca20522, 
    0x3dc276b9, 0xbdce103e, 0xbe42237b, 0x3c936f37, 0x3e4f987f, 0x3e36725f, 0xbe4a5308, 0xbd978b74, 
    0xbe15c0e8, 0x3dc983ca, 0xbdd5041b, 0x3d9f1b6f, 0xbbb735a4, 0xbd754988, 0x3d2c25d3, 0x3d9ce807, 
    0x3d92b537, 0x3dba2b35, 0x3e1198b1, 0x3c805933, 0xbe19e318, 0x3e0fdd57, 0xbbc5cf27, 0xbd7a5b63, 
    0xbd9837ab, 0x3e32f17f, 0x3de777c9, 0xbd3e79e4, 0xbe3eb240, 0xbca12cda, 0x3d895af6, 0x3e0077a3, 
    0x3e0238f2, 0x3d957fc6, 0xbe3ddf45, 0xbdae1953, 0x3e3b7bab, 0x3e6a0cf0, 0x3b260f3b, 0x3c021d8a, 
    0xbcd04e22, 0xbd695f1a, 0xbe3256f4, 0x3e1552ab, 0xbc4758fc, 0xbb81b5ca, 0x3dbbb676, 0x3e3aa098, 
    0xbc8e5b51, 0x3e0494ef, 0x3d281c29, 0xbe3a4662, 0x3d4d0d73, 0x3dd9830f, 0xbdefac28, 0x3d84b877, 
    0xbd9169a3, 0x3e4b57e2, 0x3e27c310, 0xbdb0fbed, 0xbe39d28d, 0xbdfa8a32, 0x3dd074c3, 0xbcc4307f, 
    0x3d91932a, 0xbcf75e6a, 0x3d9e62f9, 0x3c961fb5, 0xbe0dd642, 0xbe197a61, 0xbd526fa5, 0x3dcafc6c, 
    0x3ddb25eb, 0xbe044802, 0xbe3c0c16, 0x3d9732fa, 0xbdd48e9d, 0x3db0475c, 0x3d1e9483, 0x3e8498fe, 
    0xbe6ac202, 0xbe02230f, 0xbb210b4a, 0x3d8a6ef0, 0x3d8495d7, 0x3e445c21, 0x3e1fd821, 0x3d7814c6, 
    0xbdbfdfc9, 0xbe590864, 0x3d3dd459, 0xbd56122b, 0x3e2613e5, 0x3e12850a, 0xbdd5269c, 0x3e24711f, 
    0x3e3e6710, 0x3daf911e, 0x3b8099e2, 0xbe15bfaf, 0x3d864723, 0xbe4b9f9b, 0x3e3cdd6a, 0xba87530c, 
    0xbdc11b09, 0xbe384cbf, 0xbdf77cd9, 0xbdfc0875, 0x3d36f387, 0x3e2e84e0, 0x3ccb9786, 0x3d751007, 
    0x3dfc48bd, 0x3dd73f8e, 0x3c1127c7, 0x3e07be7c, 0x3dc2760c, 0xbdbe57a1, 0xbdd73763, 0x3dbfe248, 
    0xbe1b0a91, 0x3c1e3c76, 0x3d7cbb08, 0xbd9de142, 0xbd4a1102, 0xbdcf0908, 0x3c467840, 0xbd974841, 
    0xbdb36d82, 0x3c1e6d10, 0xbd394fd4, 0xbca9ef56, 0xbdbe39ba, 0xbdb400f6, 0xbe22d41f, 0xbdaf21f0, 
    0xbdde5744, 0xbe924ac0, 0x3d07b933, 0x3da60b19, 0xbd4c0131, 0xbc8514f0, 0x3d33c1e8, 0x3bfd019d, 
    0xbd96e3f0, 0xbe1c37a1, 0xbc81d1ed, 0x3dede6b9, 0xbe4a60c4, 0xbc2a297e, 0xbe244255, 0xbdf60e8d, 
    0x3e09a63e, 0x3dd443d2, 0x3d8c7201, 0xbe2960f5, 0x3dc68201, 0x3e154766, 0xbd9754ea, 0xbdfc7485, 
    0xbdc58412, 0xbc7558fd, 0x3db87428, 0xbe41df38, 0xbe19b075, 0xbd38d642, 0x3d2a7a1c, 0x3e20e1cd, 
    0x3dc9885d, 0xbb4da9bd, 0xbdae890b, 0xbca588c2, 0xbdc2b4f2, 0x3e1a9e4e, 0x3dabd068, 0x3cfda42d, 
    0x3e66c8f2, 0x3ddb5dbb, 0xbd3459f4, 0xbe16f31c, 0x3e63711f, 0x3d1dde9b, 0x3e80c2cb, 0x3db1b254, 
    0xbe2fa267, 0x3dc39376, 0xbe208465, 0x3ddd7605, 0xbde2020a, 0xbcc8fc8a, 0x3dd6278e, 0x3e08ee87, 
    0x3e103b45, 0x3e14fc93, 0x3ba63764, 0x3e032fb1, 0x3ce933a4, 0x3e553483, 0x3e56a2f3, 0xbe3d35cd, 
    0x3e014bb3, 0xbd9c2029, 0xbd92b3ed, 0x3bd080f4, 0x3ce82b1f, 0xbe3df0c5, 0x3d8bda89, 0x3de01a80, 
    0x3e49b1e6, 0x3dad0134, 0xbe3f669a, 0xbdf3efdd, 0x3d83ea06, 0x3dfae142, 0xbd1f55bc, 0xbe3cb1b4, 
    0xbe23d711, 0xbbed6e6c, 0xbd3a71ea, 0xbd0f4446, 0x3e04ce55, 0x3d28d07a, 0x3e15d83e, 0xbddeb381, 
    0xbd5b6da6, 0x3e4ba585, 0x3c45b287, 0xbda813b6, 0xbd912ec8, 0x3c6c9b67, 0x3e2bc142, 0xbdeaae30, 
    0x3da0ba69, 0x3e3010c2, 0x3dcff63f, 0x3da72489, 0x3dfa309c, 0xbd3e6e65, 0xbe4d47a0, 0x3d85e7b4, 
    0xbd97befd, 0xbe593230, 0xbe467bbc, 0xbe46a425, 0xbc6cd9a7, 0x3e1b3354, 0x3e94175d, 0x3d7bca3e, 
    0x3ce0c383, 0xbd9c6d2f, 0xbe077e0d, 0x3db0b8fa, 0x3b82ee27, 0xbe283373, 0x3e013264, 0x3e3a7b3a, 
    0xbdb63eeb, 0x3d48d8b9, 0xbd6e0afb, 0xbe0e6a3c, 0xbd669a2b, 0x3c8a6757, 0x3da82fe2, 0x3e2f411e, 
    0x3daf1a1f, 0xbdbcbd6f, 0x3db12b50, 0x3e251c6c, 0x3e12fbec, 0x3e3179ff, 0x3d8cf047, 0x3d0e3267, 
    0x3d02d9df, 0x3ccc0628, 0x3d13ba02, 0x3db3da95, 0xbdf5e4b9, 0xbd1600ff, 0xbe111dfe, 0x3d9fab52, 
    0x3de903cb, 0x3d14ecd7, 0xbdabc97e, 0x3e0887fb, 0x3e651af8, 0xbdd45b2e, 0xbd3b724b, 0x3e1e453d, 
    0xbd2a5eea, 0x3dbf2809, 0x3d72d760, 0x3d221b06, 0xbd15f3fb, 0x3dd8d433, 0xbe2298ea, 0xbd78c21b, 
    0xbd20c478, 0x3d875c3f, 0x3ccc34b9, 0x3ca0547b, 0xbe0925a7, 0xbd15092d, 0x3dcc67b1, 0xbe691ced, 
    0x3de5ffb3, 0xbdf57042, 0xbd729b25, 0xbe089366, 0x3e509760, 0xbdffe948, 0x3bb477c0, 0xbd243120, 
    0x3a1e105c, 0x3cf590af, 0x3d9ab51f, 0xbce00c27, 0x3e5732fd, 0x3d56c47e, 0x3e077b2e, 0x3cb0b22f, 
    0x3cf70a44, 0x3e20d30e, 0x3da47a11, 0xbe199fab, 0x3df652d7, 0xbd060b8d, 0x3da5bed7, 0x3d5d7892, 
    0x3dd58cbc, 0x3d1f4deb, 0xbc554afb, 0x3e237e0d, 0xbdaff79d, 0xbbeac35e, 0xbd82f462, 0xbd9b9590, 
    0xbde0fcb1, 0xbc868bc0, 0x3e509948, 0xbe01af3e, 0xbdc827c3, 0x3d4c1e85, 0x3defc626, 0xbd8fbc77, 
    0x3d2207a7, 0xbe29249d, 0xbdc7982b, 0x3d72a674, 0xbdd02854, 0x3c8c6e8d, 0xbdf3b818, 0x3e28303e, 
    0x3d491c2a, 0xbcdaad53, 0x3e496fea, 0xbc2fd665, 0xbdc7efcc, 0xbdd400c6, 0xbdcf11ed, 0x3e68fc48, 
    0x3e539c50, 0x3db57ea8, 0x3c82e5d9, 0xbd873747, 0x3da89e7c, 0x3e480199, 0xbcf6245c, 0xbe206b5a, 
    0x3e67f30a, 0xbe217919, 0x3d496613, 0x3daa18ee, 0x3d602610, 0xbdacd661, 0x3e120260, 0xbe0eb233, 
    0x3bb5b5e1, 0xbc3cb6f5, 0xbe06c9b6, 0x3e47c671, 0x3e813d5d, 0x3caec5e5, 0xbbc9b65a, 0x3dc0fcf6, 
    0x3cf1cc5f, 0xbddac6a6, 0x3e24263d, 0x3e02b1fa, 0xbde976ed, 0xbe04e39b, 0x3ded7c57, 0x3d91fe21, 
    0xbd0a5926, 0xbc647fca, 0x3e63d0a0, 0x3e1f9753, 0xbe2dfbb1, 0xbe296645, 0xbdc3f926, 0xbdbcabf1, 
    0xbd0bda04, 0x3e3cbed0, 0xbdec0bf3, 0xbd48e119, 0x3d15ec66, 0x3de65534, 0x3e2462e1, 0xbd7225f4, 
    0x3ddb022a, 0xbd9c0b93, 0x3e03d3ea, 0xbdf239ab, 0x3cdee3c1, 0x3d37a04b, 0xbd6d8512, 0x3dbb7c17, 
    0x3dca8424, 0x3dccdd35, 0xbca8f0f6, 0xbd2e3c0b, 0xbd166cb6, 0xbe155fec, 0x3e0522ae, 0xbdd7df59, 
    0xbdd16438, 0x3e683b81, 0xbd3f351f, 0x3de348e4, 0xbd59ce2e, 0xbd413ece, 0x3da5b37e, 0xbdf305af, 
    0xbdf14e85, 0xbdcd107c, 0x3dd099d4, 0xbde1ff73, 0x3e119849, 0x3ce6f6f3, 0x3d3dbcc7, 0x3d9180c2, 
    0x3d5212b7, 0xbe328c2a, 0x3dc88eb0, 0x3db8eeca, 0xbcd66cd0, 0xbdd82fa4, 0x3ddaccd0, 0xbd495943, 
    0x39f0dad2, 0x3dd6f360, 0x3d4e22d3, 0x3d62d5ea, 0xbe0c180f, 0xbd8dd76a, 0xbe02c5a8, 0xbe3a32b6, 
    0xbe46689d, 0xbe5a0ce5, 0xbd1b2fed, 0xbd23b814, 0x3e42da95, 0xbd7a7f13, 0x3d746025, 0x3e154a22, 
    0xbc6ed899, 0x3dd6b9cd, 0xbdb45c29, 0xbd212837, 0xbc5e2879, 0x3da44449, 0xbe50dd27, 0xbd0a0f90, 
    0x3e408b9a, 0x3ddbbc96, 0x3df9009a, 0xbdc3e97e, 0xbd1652f3, 0xbe2eac68, 0xbc11649f, 0xbe11c261, 
    0xbbd8dc4c, 0xbda7629d, 0xbe05b50d, 0x3d91cad5, 0xbd15207c, 0xbcaf4882, 0xbdb01fa0, 0x3e0dc968, 
    0xbcf24408, 0xbd8efce8, 0xbdb7b039, 0x3da2a526, 0x3db0af24, 0xbbf00e1e, 0xbd728350, 0x3e4991ff, 
    0xbe52b0a3, 0xbe5370fd, 0xbddb2a7a, 0x3e09f2e4, 0xbe20f126, 0xbd71b44c, 0xbdc15ebd, 0x3db9904f, 
    0xbdc08f3a, 0xbe15c50e, 0x3d496d68, 0xbd7be368, 0xbe60df9a, 0xbc540f6e, 0x3d443e53, 0xbcc42db6, 
    0x3dbd4e8d, 0xbe87e4bb, 0xbe0ed0f7, 0xbe4da913, 0x3df2b5d9, 0xbe1daf9b, 0x3e089fca, 0x3e1425f9, 
    0xbddc48cd, 0xbcc696b5, 0xbe337d69, 0x3e1bf1dc, 0x3db40ac9, 0x3e6a199d, 0x3d3d5291, 0x3dbbd05e, 
    0x3db73309, 0x3db47973, 0x3dc9e618, 0x3e208de0, 0xbe938547, 0xbe29e55a, 0xbe2c2d0d, 0x3d1804e4, 
    0x3e55ba13, 0x3d907798, 0xbe07563f, 0xbd8618c5, 0xbcefb6a1, 0x3d086b60, 0xbe1688af, 0xbe8771c0, 
    0x3d8eb03e, 0xbea9e26a, 0x3db73499, 0x3e699878, 0xbd2714d7, 0xbd2f80b1, 0xbda88ae4, 0xbe838789, 
    0xbd26a899, 0xbe3021d1, 0xbe72af9a, 0x3d05ac3e, 0xbd4fde8d, 0x3e179f8b, 0x3e5753ec, 0x3cc75ff2, 
    0xbe58d8a2, 0x3daf7dee, 0x3c8b7b00, 0x3ddfe26a, 0xbeb03d23, 0x3df74e65, 0xbda43dcc, 0xbd0a41a4, 
    0x3d8f8b96, 0xbe0c55b2, 0xbe06293a, 0xbe4cdcab, 0xbe7f1226, 0x3dd60860, 0xbc117d76, 0x3de1751e, 
    0xbe394bd4, 0x3d2963b7, 0xbd7c965f, 0xbd21840f, 0xbd4fd3c9, 0x3d549874, 0x3d39510f, 0xbe5e9998, 
    0x3ce82dfc, 0x3d887d95, 0xbae693c1, 0xbe001b40, 0x3a1e929d, 0x3df8b7a7, 0x3e33290e, 0xbd93e68f, 
    0xbd00b258, 0x3e0239ce, 0xbdc9f45b, 0xbc8dfbff, 0xbea1a2fc, 0x3c2381a7, 0xbe83046a, 0x3da83937, 
    0xbdb4828a, 0xbc268538, 0xbe356f0f, 0xbe50a2b8, 0x3d598262, 0x3dc88d54, 0x3ddc5d00, 0xbe1635b3, 
    0xbdaf7085, 0x3e01f1fa, 0x3de2d031, 0xbbc29eff, 0xbe375554, 0x3ccd9dbe, 0x3d2ddc89, 0xbc3f3f0b, 
    0x3dbeaccc, 0xbc3b89de, 0x3cff4b66, 0xbc330865, 0xbdbe1c54, 0xbc4e3e34, 0xbe1852e7, 0x3e125510, 
    0x3e2af92a, 0x3d3d6322, 0xbe092184, 0x3e2359e1, 0xbd22b39e, 0xbe3fffb7, 0xbd3e079a, 0x3c06cb7f, 
    0xbe1ebb85, 0xbdacf676, 0xbd812877, 0xbe0b911e, 0xbda2d0c4, 0xbbab423b, 0xbdeaaf8e, 0xbd0b715a, 
    0x3c452df0, 0x3ddfae6a, 0xbcd713f3, 0xbd05784b, 0xffff8266, 0x00000004, 0x00001800, 0x3eab37c3, 
    0xbae9ccf8, 0x3e3e348a, 0xbdb97a27, 0xbc1b79a4, 0xbdcd6699, 0xbda66890, 0xbe9eef7e, 0x3dc74d43, 
    0x3e1b846e, 0x3d68b50a, 0xbe1107d6, 0x3dc4eaa9, 0xbe4c5414, 0x3e0da889, 0x3daf96d8, 0x3e5ff799, 
    0x3cb79a75, 0x3e6d8a51, 0xbd504ff2, 0xbd3fd344, 0xbdd8dc32, 0xbe38e2cd, 0x3e322c4c, 0x3a0c5de8, 
    0x3d81c126, 0xbc91bc2d, 0x3dd0beee, 0x3e08cc1a, 0xbdaeb12b, 0x3e1b0023, 0x3dee1948, 0x3dc56a9d, 
    0x3e7afeb9, 0xbdb8372f, 0x3c078708, 0x3e08f892, 0xbdaf0522, 0xbdbbaf50, 0x3e8f68fb, 0x3e5869ee, 
    0x3d154046, 0xbe18ffa1, 0x3c6f4d5b, 0xbe19a84f, 0xbd7def70, 0xbd8a9b42, 0x3da51856, 0xbde11236, 
    0x3d1357ab, 0x3e35376c, 0xbdba8414, 0x3dced6a3, 0xbcef2a46, 0xbdc618f7, 0xbe154b86, 0x3dced96a, 
    0xbdd6196d, 0x3d30f281, 0x3c99858f, 0xbe4b90e4, 0x3db732b6, 0x3d6938f6, 0xbe025554, 0xbdb49735, 
    0x3d21f68d, 0xbe1237e1, 0x3e253c6b, 0xbe06f689, 0x3e041160, 0x3d266555, 0xbe2eda93, 0xbc0f6293, 
    0xbe0b2142, 0xbe514b42, 0xbd9689b0, 0xbdd3a303, 0xbe8a4ebe, 0xbe27ca6f, 0xbe0f37a5, 0xbc6dec3f, 
    0x3c6ab1b5, 0x3d8bf6cb, 0x3e2f4650, 0x3e1d212d, 0x3dc515ec, 0xbe131514, 0xbce700f3, 0x3da8359d, 
    0x3e615463, 0xbe25c683, 0x3d1c9615, 0x389ac418, 0xbe93ebdf, 0xbd9a0d0d, 0xbc33892f, 0x3e8e80c4, 
    0x3db80702, 0xbddb9d4c, 0xbb3a2869, 0xbe11ff94, 0xbe26dca0, 0xbdb9da65, 0x3e5a3f9d, 0xbd9f3f35, 
    0x3e2835f6, 0x3cd4c1ec, 0xbdfb71f6, 0x3e35826a, 0xbccdf141, 0xbd0c3ae1, 0xbe53c111, 0x3d585bbc, 
    0xbe5c0d6b, 0x3d30a5c0, 0x3c08b51f, 0x3e1aa655, 0x3e66a999, 0xbe49f369, 0xbe47eff5, 0xbdfc1c29, 
    0xbdf2cbbe, 0x3d9cb0c0, 0xbc2763ae, 0xbd548ac6, 0xbdc9f054, 0x3d7d9848, 0x3e318645, 0xbdfa3d28, 
    0xbdf27ece, 0x3d259544, 0xbc2b0bd4, 0x3e3b68bf, 0xbd7d8e4f, 0xbdec6aea, 0x3ebe293c, 0x3d1a0490, 
    0xbdf22b9a, 0x3e28d38d, 0x3d8593a6, 0x3dc4f439, 0x3e96961a, 0xbd816b7e, 0x3e5fda09, 0x3e160878, 
    0x3e86ad29, 0x3e261c2e, 0xbe25e116, 0x3d0b8be0, 0x3daa2f8a, 0xbc112c0d, 0xbf0d2e9c, 0xbc907967, 
    0x3dad72e5, 0x3c4c91ed, 0x3d9737cb, 0xb97f9980, 0xbe20243d, 0x3e173c40, 0xbdf1c3bd, 0x3e495f17, 
    0x3e21ca91, 0x3d811c87, 0xbc68eb0a, 0xbd03e2b7, 0x3d9b8a5b, 0xbe2df8e1, 0xbea98e3d, 0x3e365032, 
    0xbc02e762, 0x3d1c311f, 0x3e4dcdab, 0xbe0893d9, 0xbe2c6892, 0x3d120261, 0xbd07ba59, 0x3e065edb, 
    0x3e401b47, 0xbda9a2b6, 0x3e167654, 0x3e4855f8, 0x3d6743d0, 0xbd1f422a, 0x3e9357f8, 0xbd2f760d, 
    0x3c777b1a, 0xbde8bd71, 0xbe40a3fd, 0xbd3c2855, 0x3d7e7e2b, 0xbdac1b80, 0x3de1b204, 0x3e2d515b, 
    0xbd90b458, 0xbe3bd033, 0x3de44b4e, 0xbe4759c6, 0x3de50399, 0xbe153082, 0x3eb089a6, 0x3df11076, 
    0xbe0d71f9, 0x3d3a09d7, 0xbe39ebc8, 0x3d0f19dc, 0x3e351007, 0x3d09384e, 0xbe2a8614, 0x3e393fa8, 
    0x3e098110, 0xbe2576a0, 0x3ce3613b, 0x3e23e07b, 0x3d511896, 0x3e2265a2, 0xbe137fb5, 0xbe73c04d, 
    0xbdcdde3f, 0xbcc62b8c, 0x3df52cba, 0xbd706f7e, 0xbdbc440d, 0xbe0ee76b, 0xbcba66f7, 0x3dba4c5d, 
    0x3d7c9278, 0xbe2aecec, 0x3db9441e, 0x3de8a5d9, 0x3e04a406, 0x3c6b3d69, 0xbe1eef15, 0xbe30c313, 
    0xbd75df3a, 0xbe097fb4, 0xbdaa1da9, 0xbc1f7adf, 0x3e2b7779, 0x3dd729ee, 0xbe0ef2ea, 0xbd67131c, 
    0xbe187900, 0xbc88f6ff, 0xbdc45116, 0x3e36078c, 0x3d8528dd, 0x3e09d580, 0xbe811406, 0x3da9308d, 
    0xbd10a651, 0xbd009950, 0x3dfe7d07, 0x3daba124, 0xbe00eb06, 0xbdde5e70, 0x3e1cd031, 0xbdfab8cf, 
    0x3dd3d7c1, 0x3d90e228, 0xbd612834, 0xbe36751f, 0x3cba6c01, 0xbddde9e6, 0x3ecd3c17, 0xbdf67be1, 
    0x3d9285b6, 0xbc8fa410, 0xbd0aec8a, 0xbe3e0e2f, 0xbd6ee913, 0x3bd91650, 0x3e00a8f1, 0x3e0656e6, 
    0x3d7f8788, 0x3d687e6a, 0x3d8bccf8, 0x3dff5b25, 0xbd654335, 0xbdc0732e, 0xbe0d002a, 0x3d11b09e, 
    0xbdd2ff55, 0xbc956eb9, 0x3e4a8ef0, 0xbdf54874, 0x3d32030f, 0x3e0a6e55, 0x3d742eb7, 0xbe50e25f, 
    0xbc1cafd9, 0x3e646516, 0xbda828ac, 0x3e16f516, 0x3bcfa60c, 0x3e484315, 0x3e9bf211, 0xbd6e792e, 
    0xbd8c6a0f, 0xbda04274, 0xbe7d326e, 0x3e0e30d8, 0x3eba3df5, 0x3c38cb97, 0x3e58d5ff, 0xbdbb14d0, 
    0x3d498835, 0xbc67a241, 0xbe055f06, 0x3e4aaefb, 0xbe585f75, 0x3cd26e23, 0x3e14bff8, 0xbc199437, 
    0x3dd6972d, 0xbdd6da62, 0x3c8c7ee8, 0xbe5d6811, 0xbd31542f, 0x3e86735c, 0x3e0692cd, 0x3e551bb5, 
    0xbe0daccf, 0x3d7bd3f3, 0x3c230c23, 0xbdfba275, 0xbe309b66, 0xbc9819ad, 0xbf04cd72, 0x3d3dad1f, 
    0x3e5c5e1c, 0xbd59ad94, 0x3db84279, 0xbdfe983e, 0x3abc5702, 0x3d0dad1d, 0xbe41b80d, 0xbe72ff42, 
    0xbe5d0c98, 0x3da5a834, 0xbe5cd476, 0x3e333c97, 0x3dc2f65a, 0x3e0c4435, 0xbdf85d56, 0x3e097a72, 
    0x3d978b16, 0xbe2319be, 0x3df4b806, 0xbd47af90, 0x3d7360b8, 0x3d84d54d, 0xbdb10c4b, 0xbdb551dc, 
    0x3d982082, 0xbe6c516b, 0x3d8523d8, 0x3ab959d1, 0x3e3f2950, 0xbd30d00f, 0xbe63e114, 0xbd1d55d9, 
    0xbe63211c, 0x3deb8261, 0xbe231d12, 0x3e4e7bed, 0xbda4f248, 0xbdd89d0c, 0x3c9d5b20, 0xbe492751, 
    0xbc1d3d2e, 0xbdb21219, 0x3d74968c, 0x3dc1bc1a, 0xbe1fbb4e, 0x3e3ac51e, 0xbd0c17a6, 0x3e238485, 
    0xbdd07927, 0xbbb054a6, 0xbc917b9b, 0x3d8b7acf, 0xbe116f2b, 0xbe2142f3, 0x3d74251f, 0x3e1111ec, 
    0xbe25d988, 0x3e3ab4e9, 0x3e348ca0, 0xbd081364, 0x3e174ad2, 0x3dfc4cef, 0x3e993b84, 0xbde628d7, 
    0x3e4b843d, 0xbdeb5b2f, 0x3e0475c2, 0xbe3449e3, 0x3e8d733a, 0x3ddd8011, 0x3cb43905, 0x3df600e0, 
    0x3e2a2912, 0xbd98e24b, 0x3e008fd7, 0x3d740d88, 0xbe192ca5, 0x3aabff8c, 0x3de1a31a, 0x3ce91a06, 
    0xbdff5b09, 0x3e245f13, 0x3df51617, 0x3ce92875, 0x3dc19a15, 0x3deddaf1, 0x3e2e4c3b, 0xbd0b4177, 
    0xbe332952, 0x3e4bd5d6, 0x3b25c0a8, 0x3d3dd90c, 0x3d828bfe, 0xbd040dc8, 0xbe507865, 0xbe353ec9, 
    0x3e6597db, 0xbe1e0feb, 0xbd4d93f4, 0xbcac9970, 0x3e3781a0, 0xbca63979, 0x3da2edc4, 0xbd08aa63, 
    0xbe0768a4, 0x3d44a961, 0x3e4615b2, 0x3e1f5988, 0x3dc7f6b7, 0x3dfa617a, 0xbe2ca319, 0x3d18f5d2, 
    0x3e687c49, 0x3dd045c1, 0xbd832610, 0xbd81dcb5, 0xbe2131f7, 0xbdb4c319, 0xbe42a593, 0xbe23c859, 
    0x3e007fb3, 0xbe1993fe, 0x3df1726f, 0xbdce5b5c, 0x3d05d7b7, 0xbe2eb98f, 0xbeb381b4, 0x3be315de, 
    0x3e71a014, 0x3e31a751, 0x3da4c63d, 0x3d1de8de, 0xbd956b51, 0xbdb800a1, 0xbd6986b0, 0x3da5bd0b, 
    0x3d01e39c, 0x3da23642, 0x3e0eb021, 0x3d9af3a7, 0x3e88c322, 0xbde1bc5f, 0xbccd8daf, 0x3d30e282, 
    0x3e370cb3, 0x3e2a69d9, 0xbd831b46, 0x3e52be27, 0xbdecc07c, 0x3e4e1803, 0x3d9e1d7f, 0xbea8c44b, 
    0x3c0cc920, 0x3d3b8fed, 0x3dfa92c9, 0x3da7ac91, 0xbe1b7496, 0xbdf97681, 0x3eb532e5, 0x3ccc77ae, 
    0x3e165cd5, 0xbe7da953, 0xbe1b7a8e, 0xbe6671f7, 0x3d85542e, 0xbe0bd55f, 0x3e0ac06b, 0x3d2d2cb3, 
    0xbdad578f, 0xbe591217, 0x3dbc2265, 0x3e037810, 0x3c4ea7e6, 0x3e2a2bfa, 0x3e4c59c2, 0x3dbb57e0, 
    0x3e2896a0, 0x3d25496b, 0xbe8644b8, 0xbdbfd772, 0x3e77bfe0, 0xbd4db54e, 0xbdcc232b, 0xbe6b2560, 
    0x3d2c0835, 0xbe4f5f4e, 0xbe8c22bb, 0x3ce3bafa, 0x3d54b447, 0xbe55fe4c, 0x3cffc1bc, 0x3abc0a75, 
    0xbe345ae7, 0xbbe736a4, 0x3cab8add, 0xbe498f8f, 0xbe0c67d3, 0xbe0ed52d, 0xbe38c138, 0xbc861976, 
    0xbdd92c90, 0x3da9e617, 0x3d9b1f6c, 0xbe08df8d, 0xbddb7f19, 0xbe2516ad, 0xbd8e8fe5, 0x3de09163, 
    0x3dbc316f, 0x3da359d8, 0xbe6b5454, 0xbde0d8fd, 0xbe4bcce7, 0xbc5a8e15, 0x3da5a6b1, 0x3dfb75a4, 
    0xbe0f0205, 0xbd7b166c, 0x3df08c62, 0xbe1e8de1, 0xbe3a9924, 0x3e49b7d1, 0xbdf08add, 0x3e719f19, 
    0xbd8c06f9, 0x3dd8948d, 0x3d877f9b, 0xbd8942d6, 0x3c81aa2c, 0xbe1876ec, 0x3c953b70, 0xbd5ca8c4, 
    0x3db0dea0, 0x3df1eaf7, 0xbdbbf1df, 0x3df2f0cc, 0xbc883011, 0x3e3b7c2d, 0x3cc71b2d, 0xbc43b289, 
    0x3d9edd84, 0x3e0ad278, 0x3d551e43, 0x3d475f3e, 0x3c744acd, 0xbd8ae5ea, 0x3e427f62, 0x3e0ec047, 
    0xbdd58e4d, 0x3e105c49, 0x3c2c0878, 0xbe15613a, 0x3e600e49, 0xbdc425dd, 0xbc22b459, 0x3ced3de5, 
    0xbe43b025, 0x3e2e25e1, 0x3d728c17, 0xbdb585d9, 0x3e03dc3b, 0xbdf77976, 0x3e1a44b1, 0x3e33bb55, 
    0x3e46a968, 0x3e38bb96, 0x3d8c05f6, 0xbe0fdcdb, 0x3d0ef6d9, 0xbced4e40, 0xbe8e0090, 0xbcb38bc9, 
    0x3e245371, 0xbe021036, 0xbc27e8ae, 0x3da93a84, 0xbcfd09d4, 0xbd6edfbe, 0xbe5774b9, 0x3dcdb2c9, 
    0x3db9155a, 0x3c569dc5, 0xbda9bef2, 0xbd652e27, 0x3d45192f, 0x3c4be26d, 0xbdd49d79, 0x3d3403bc, 
    0xbd0673e6, 0xbd9324ac, 0xbe298bcd, 0x3e067bbf, 0x3e02f7c3, 0x3ca4f75f, 0x3e3e6d49, 0x3d2fc696, 
    0xbd94695e, 0xbc651150, 0x3cf567e6, 0xbd901142, 0x3ceaac14, 0x3c6d6bd0, 0x3ede215f, 0xbe4b908c, 
    0x3da82239, 0xbe1a50c0, 0xbe66790c, 0x3e13e196, 0xbe1e6d68, 0xbc746357, 0xbdf1b2d7, 0x3dffe668, 
    0x3e23c9ca, 0x3c804485, 0xbde775e8, 0x3e2b87be, 0xbe8c3411, 0xbdd4031b, 0xbdef476a, 0x3d1321eb, 
    0x3d822f6f, 0xbe13a58d, 0xbc8ad575, 0x3e284474, 0x3d75dd4c, 0x3e18ca43, 0x3e1fbdb1, 0x3dd556d2, 
    0x3c917d0f, 0x3e051c3e, 0xbcf23161, 0x3e1ab684, 0xbdbc45fb, 0xbd32bab3, 0xbed20194, 0x3dde6729, 
    0x3dc0ea38, 0xbe088776, 0x3e1ffb76, 0xbe2c3adc, 0xbe87813f, 0xbe548676, 0x3dfa0d44, 0x3e364ef1, 
    0xbe127145, 0x3dc0e61a, 0xbd1bf856, 0xbd006f9d, 0xbe33d28a, 0x3df4d423, 0xbe640a0a, 0x3d895c07, 
    0xbe128311, 0xbd3bee63, 0xbdeb137e, 0xbaa36b9f, 0xbdf8d3cb, 0x3e1c1c8f, 0xbd233ca7, 0xbe0227ec, 
    0xbd940854, 0xbd5161c4, 0xbe128ea9, 0xbdf7eff6, 0x3e47e045, 0x3daef687, 0xbe36e164, 0x3e05e9ea, 
    0xbde67d0e, 0x3de5cdc1, 0xbe0b6186, 0x3df2ac07, 0xbe5364cc, 0x3dba1be6, 0x3df64541, 0xbe21bdfc, 
    0x3d0d3ed5, 0x3d7a4757, 0xbd538029, 0x3e1a5abe, 0xbddfa6be, 0xbe31d7a5, 0x3c93aa07, 0xbe501a5d, 
    0x3e1e3d41, 0xbdf0439b, 0x3e210b26, 0x3e16805e, 0xbdc88be4, 0x3e1b98af, 0x3d03544f, 0x3dbda408, 
    0xbdf2fa01, 0x3d0a9530, 0xbd80af54, 0xbd0ce43d, 0x3e1e05dc, 0xbdc89e14, 0xbe72504c, 0x3dd4b38f, 
    0xbcb45f50, 0x3cc13477, 0x3e32d4b1, 0x3e50491f, 0x3d9770ed, 0x3dfde4d0, 0x3df7a0fe, 0x3eabc46c, 
    0x3e2853a4, 0x3e0014ae, 0x3e35753f, 0xbe11cdd5, 0x3e6a1721, 0xbdbfdacc, 0xbde3d74a, 0x3cb4a3bd, 
    0x3e391b3c, 0xbd8f0e7e, 0xbca89cca, 0x3e3c5fb4, 0x3e5cbb02, 0x3d8752b9, 0xbce7072c, 0xbdf51b3e, 
    0x3e27e6aa, 0x3d3e5520, 0xbb06f5d6, 0xbdcb1146, 0xbdfc29df, 0x3d807459, 0x3e381336, 0x3cd73612, 
    0x3e1a1b86, 0xbe1c2e0f, 0x3d9d6cb2, 0x3da6f19d, 0x3c426e94, 0x3d7f617d, 0xbd7675c3, 0xbdfddc80, 
    0x3d659033, 0x3d91521c, 0xbe472f2d, 0xbe27fe61, 0xbe2ad90b, 0xbd3664dc, 0x3ea2616b, 0x3d389bff, 
    0x3e1b2c5d, 0x3e5ff9d9, 0xbdccb6b7, 0x3d87199c, 0x3b14a90f, 0xbca8848a, 0x3e1dad28, 0x3e4d7d30, 
    0x3e0623ee, 0x3e33c6e0, 0xbe2872ea, 0xbe1ca108, 0xbc2dbc92, 0xbe29b920, 0xbe8eb9e3, 0xbe6256c9, 
    0x3c08cf82, 0x3dc421e3, 0xbdc411ee, 0x3e8bddff, 0x3d7393e0, 0x3dcf0806, 0xbdde84a2, 0xbe315163, 
    0x3d2fe434, 0x3e372232, 0x3dbfc082, 0xbb14d2b2, 0x3d84d21c, 0xbe418555, 0x3e0742c7, 0xbdc40584, 
    0xbe0b620f, 0xbdff7ed3, 0xbc294f54, 0x3d427549, 0x3d0a1bbe, 0x3bbef416, 0xbdd255a9, 0x3e24e214, 
    0xbb150cc3, 0xbda049d9, 0xbe3ae40b, 0xbe2d6071, 0xbccc4f03, 0x3e3a188a, 0xbd45a3e8, 0x3e025538, 
    0x3dcd6982, 0x3caea134, 0xbe5ac36d, 0xbcfe41cb, 0x3e30cdd1, 0x3dae6bae, 0x3e389084, 0x3c9b5728, 
    0xbe2ffa30, 0xbcffa947, 0xbc9a1008, 0xbe6cb76b, 0xbdd0b94b, 0xbde5c0b6, 0xbeb39477, 0x3e1d7d28, 
    0x3d33763e, 0x3d70564a, 0x3d4f97dc, 0x3e83f083, 0xbd930bf8, 0x3e062c0f, 0xbdcd0197, 0x3e359855, 
    0x3e01c20d, 0xbd1de4bf, 0x3d343efc, 0x3e16dd79, 0xbc004170, 0x3dcc865a, 0x3e2c4757, 0xbe0b627e, 
    0x3bfc3abb, 0xbe56babb, 0x3dd1357d, 0xbdbeb2a2, 0x3e3e9418, 0x3da67deb, 0xbe5c586b, 0x3e31ae84, 
    0x3d144326, 0x3e37eb87, 0x3e2c2f66, 0xbd02e19d, 0xbe25499f, 0x3e768cd1, 0xbd99469d, 0xbe313f6a, 
    0xbdf2331d, 0x3d73dc5c, 0xbdec3928, 0xbd8ffe6b, 0xbd2dbcc1, 0xbd9c2c65, 0x3e3190b5, 0x3e81fdf4, 
    0x3df253b3, 0x3dabbfd3, 0x3daeeb97, 0x3d831269, 0xbc413516, 0x3e4a8e29, 0xbe480d99, 0xbda0464c, 
    0x3e16f443, 0x3c865878, 0x3dc52982, 0xbc9f2b10, 0xbe37328d, 0xbd2dab0a, 0x3e2ca8e6, 0x3db32010, 
    0x3d53f4d8, 0xbd3d3890, 0xbe10f807, 0xbd95426e, 0x3cab7fc4, 0xbcabb27a, 0xbe4d19a3, 0xbe139049, 
    0x3e0a05c9, 0xbdff2497, 0x3e1164a5, 0x3c5bf028, 0xbdc2efe8, 0x3e2b0126, 0x3cddcb0f, 0xbd41aae6, 
    0xbb72d276, 0x3d28b6b8, 0xbe0b17b8, 0xbcab8d09, 0x3c984c1b, 0x3e04cff3, 0xbee502bd, 0xbd6b3993, 
    0x3decc7ae, 0x3d6d90f3, 0x3e6abf82, 0xbde7566b, 0xbd46e78a, 0x3ca37c49, 0xbd7a7d12, 0xbe49aa09, 
    0xbdff1f72, 0xbdf05c00, 0xbd8488da, 0x3d8b9989, 0xbd8932ae, 0xbe0ff570, 0x3bf66a06, 0x3e269655, 
    0x3c483d2d, 0xbd65148e, 0xbd31a325, 0xbcec1477, 0xbe7b091a, 0x3cb75976, 0x3e28341b, 0xbdfef535, 
    0xbdef3212, 0x3e6b35eb, 0xbd83bf8b, 0x3e08358c, 0x3e083a37, 0x3ddedf2a, 0x3ed336d1, 0xbdf37cf3, 
    0x3dcc3be1, 0xbdc734d3, 0xbe43c36e, 0x3e405f71, 0x3cafaa0e, 0x3d4fe19c, 0x3e0ab711, 0x3b93eec4, 
    0xbd02749c, 0x3e24c1e8, 0xbe17f767, 0xbd0d6054, 0x3e0f1285, 0xbe350c64, 0xbe4551b7, 0xbb3b79dd, 
    0xbdfe36a5, 0x3c8273bd, 0x3d30b499, 0x3cf93594, 0x3e411993, 0x3d689ced, 0xbdd15118, 0x3c804b31, 
    0xbe632743, 0x3e234bd5, 0x3c863c28, 0xba917ab4, 0x3e8858f2, 0xbb7489bc, 0xbe304fbc, 0x3e1efdad, 
    0xbdeab293, 0x3d8b1224, 0xbe187336, 0x3e4f7fcf, 0x3df65dd0, 0x3e2c14a6, 0x3e02336e, 0x3e93bc8d, 
    0xbd6f09fe, 0x3d928881, 0x3db12589, 0xbe0653ec, 0x3e81befb, 0x3e47f4a5, 0xbc3884b7, 0x3d6efc5d, 
    0x3e18f989, 0xbdc2d1d1, 0x3d4cc441, 0xbc3533fe, 0x3db2d78f, 0x3de2efbc, 0xbe33fe76, 0x3e067dab, 
    0xbdaa62a4, 0xbd283e3a, 0x3d169d88, 0x3d77233e, 0xbd76ac4c, 0xbc71e518, 0xbe88ee70, 0xbe0fe74c, 
    0x3c01784b, 0xbd1a83e6, 0x3d4fddca, 0xbe69c9ea, 0x3cbe5d5d, 0xbe3be9e0, 0xbe0d5da5, 0x3e32a02c, 
    0xbd3decd4, 0xbcee0c7e, 0x3d8ca7dc, 0x3ddf0489, 0x3e20a8a6, 0x3ba5bf49, 0x3dc89f12, 0x3e3c78f4, 
    0x3c08c004, 0x3d37445f, 0xbe313aa4, 0x3c233e78, 0xbe3c97b0, 0xbdeac12f, 0xbd70bc2c, 0xbe5f8bd6, 
    0x3ce2b353, 0xbdb8c922, 0xbd6501e2, 0x3e37a89d, 0xbb03d772, 0xbd970e48, 0x3df7e0c4, 0x3e31e432, 
    0xbda74f50, 0xbc9aa405, 0xbe43ffbd, 0xbe0b2c20, 0xbe06a0c2, 0x3c6dabec, 0x3e64933b, 0xbe61cbba, 
    0xbe02e330, 0xbd3fd005, 0xbde8cca2, 0x3caab9f9, 0x3dc8f28f, 0x3da333b8, 0x3ec60e44, 0xbb49b808, 
    0xbdc91a59, 0xbe3cb6c7, 0xbcf6ccef, 0xbe83cb28, 0x3e529428, 0x3e20eb8c, 0x3e1e9e69, 0xbd8e7500, 
    0x3e46f149, 0x3c09b16f, 0xbe3511cd, 0x3d5654bb, 0xbd9d2c10, 0xbd6111ce, 0xbed9762e, 0xbc3cd1b5, 
    0xbbdf49a9, 0xbe200fe2, 0x3d5522b9, 0x3e179535, 0x3d2ad71c, 0xbe06b8a6, 0xbd0b488c, 0x3e88e186, 
    0x3d96c8b6, 0x3d651e76, 0xbde4f95c, 0x3c90a95f, 0xbe48b6be, 0x3b650bfc, 0x3db37b9c, 0x3d81c255, 
    0xbc47dc50, 0x3dcec53a, 0x3e9cd9e6, 0x3e177427, 0xbd88d58b, 0x3e2782f8, 0x3d6a9b10, 0x3f03cd70, 
    0xbd1418bf, 0xbddc9dc6, 0xbe3c39cf, 0x3cc1aa88, 0x3d047a74, 0xbe7c1c37, 0xbf18e5a1, 0x3c31a887, 
    0x3e399d67, 0xbcb2bbd1, 0x3e38240e, 0xbd9f0885, 0x3dcb2c8e, 0x3df2ba70, 0xbe9780a1, 0xbeecc566, 
    0xbdd00b22, 0xbd1fcb82, 0x3e769cf6, 0xbe8eade6, 0x3e63d392, 0x3bb28a32, 0x3db9fad1, 0xbe6ebdeb, 
    0xbe4f6362, 0x3de1f154, 0xbdfde311, 0x3c3725a0, 0xbe8b80dc, 0x3d271c72, 0x3dc07a36, 0xbe48ca62, 
    0x3bc0aae0, 0x3d13dc6e, 0x3b165797, 0xbce1f4ca, 0x3e2a8789, 0x3e3f7ba4, 0x3f1d3463, 0x3df9e44d, 
    0x3bc4d58d, 0xbdf077fc, 0x3d9acac6, 0x3e049528, 0x3deb162a, 0x3e110771, 0x3eb2a5d1, 0x3d8ee738, 
    0xbe5fbafb, 0xbc3da66e, 0xbddab75f, 0x3e0441d8, 0xbe0d435f, 0x3c439fe3, 0x3db5293e, 0xbe439032, 
    0x3d2c97af, 0x3d13a48d, 0xbdc79686, 0x3e3a6bac, 0xbe381a51, 0x3c9f501e, 0x3ca6d526, 0x3d025d1b, 
    0x3d43d91e, 0x3e615afa, 0xbe0bd5fa, 0xbd9ae80a, 0xbe04e84e, 0x3e39b5eb, 0xbdf551c3, 0x3df8184c, 
    0x3db8362c, 0x3e2f5101, 0xbd26b791, 0x3e97296e, 0xbdcc609a, 0x3e206a74, 0x3e262650, 0x3e3f230e, 
    0x3dd09b38, 0x3e4150fe, 0x3d569a01, 0x3c7d2bc0, 0xbd448299, 0xbd85037d, 0x3d135c88, 0x39ffb84b, 
    0x3d87b448, 0x3cedbd7a, 0x3d9c03ba, 0xbd2fd75f, 0xbd1aeed1, 0xbd6ba781, 0xbe22b702, 0x3e69406f, 
    0x3d1b3fcd, 0x3e87ba1e, 0xbbf38330, 0x3d88f599, 0x3e39dfca, 0x3dac76b4, 0xbdbcea0d, 0x3dbf4d48, 
    0x3d91fa88, 0x3e4698c6, 0xbc69b408, 0x3dae19e8, 0x3db32402, 0x3d49d5f4, 0xbd233c53, 0x3d9316d7, 
    0x3e33b0d6, 0x3d9b6843, 0x3dc93d22, 0xbd25a725, 0xbdc4cf3c, 0x3d6f7a0a, 0xbe9d8314, 0xbdcd06d6, 
    0x3dff4d00, 0x3dbb78c6, 0x3d968378, 0xbe3ba3bd, 0xbe22d180, 0xbdf312b6, 0xbe17fe64, 0x3e0b78c6, 
    0xbd0bf757, 0xbde27ffa, 0x3d789584, 0xbdb5ceac, 0x3d25a90a, 0x3e6f520f, 0xbc69e0ce, 0x3d11dfb1, 
    0x3db17020, 0x3dfdfc59, 0x3e0d7fbf, 0xbe038106, 0xbe00c062, 0x3e196ecf, 0x3de3c0ac, 0x3dc022b9, 
    0x3b94454f, 0x3cf536ba, 0x3d208343, 0x3e70c0c8, 0xbcc3cbf8, 0x3de8c8f8, 0xbdd35e9c, 0x3c75039c, 
    0x3e153751, 0xbe074ac1, 0xbe2b56a6, 0x3d7712b7, 0xbdce636e, 0x3d4ebdd0, 0x3e3c2887, 0x3d2ce548, 
    0xbdf5cb45, 0x3da6bf81, 0x3dceb280, 0x3c8fd093, 0xbdc25427, 0x3dec7758, 0xbe6bb97f, 0x3e3cd81d, 
    0xbc7e35b6, 0xbc70b173, 0x3db2eab0, 0x3ce20d14, 0xbe5932a5, 0xbe232a91, 0x3caba97f, 0x3e01e0e7, 
    0x3dc5a85c, 0x3cd1cef0, 0xbe090714, 0xbc341e5e, 0xbdc1dbcd, 0x3ca72da5, 0xbe0cb275, 0x3e21b823, 
    0xbe2bd1d4, 0xbe31fb49, 0x3cf90356, 0x3e76a780, 0xbe36e207, 0x3de0c7d0, 0xbc4e4dd5, 0xbe472860, 
    0xbd06a6c0, 0xbd344f21, 0xbd291388, 0xbcd14712, 0xbe4690ec, 0x3b463fba, 0x3e2b52b6, 0xbd947aec, 
    0x3e2bd4eb, 0xbd96774e, 0x3d89edcd, 0xbe256a20, 0x3dc21326, 0xbe2805da, 0x3d8dd163, 0xbeaad76c, 
    0x3c8164b2, 0x3d997b54, 0x3d48897e, 0x3e384ec3, 0xbd425ce4, 0xbcecd0a1, 0x3dee62c9, 0xbe6b8c4c, 
    0x3e0abf18, 0xbe08d28e, 0xbcc7e1fe, 0xbe694825, 0x3d6698a4, 0x3c9fbeae, 0x3d37e307, 0x3e5597af, 
    0xbd9e669f, 0x3e337245, 0xbd10d145, 0x3e35ca65, 0xbe126383, 0xbda20f6c, 0xbe36f9a4, 0x3da31597, 
    0xbdaec0d3, 0x3d7321bc, 0xbe39a1b5, 0xbddd5874, 0x3e8929ee, 0xbd81a11f, 0xbdfaf657, 0xbead682f, 
    0x3e254b55, 0xbccbb8e5, 0x3d96f9e6, 0x3e732736, 0xbe16c9f7, 0x3e156f83, 0x3ecb53ca, 0xbbbff583, 
    0x3e4ba7f3, 0xbcbcd749, 0x3b76ff24, 0xbe9c1861, 0xbd57a5f5, 0xbc51e75a, 0x3cb8f453, 0xbe2a74de, 
    0x3e3061a7, 0xbe26d132, 0xbe203b39, 0x3dabf1c0, 0xbd56a606, 0x3e10270c, 0x3d81190f, 0x3dc93d8f, 
    0xbd81ec67, 0xbe0b06ed, 0xbdd33233, 0xbdf9c6fa, 0xbe1e7a3c, 0x3c880a44, 0xbe4bcf0a, 0x3e702a1a, 
    0xbcc978a3, 0xbd04d65e, 0x3cde964a, 0x3c182c62, 0xbe51cea2, 0xbd6b599e, 0xbdf121ca, 0x3c93282f, 
    0x3e8aa468, 0xbe01acf8, 0x3e5f310a, 0xbd294ca6, 0xbea750ec, 0xbcb91e15, 0xbd033f1c, 0xbdff6a75, 
    0xbe432ce0, 0x3c1c93b2, 0xbe30892b, 0x3d8fcf17, 0x3dadbd3b, 0x3d8adad9, 0x3c0273e8, 0x3de86b2f, 
    0xbe5b76a0, 0x3de960fb, 0xbe31184c, 0xbe130853, 0x3cef8827, 0xbcac5449, 0x3ddf14f3, 0x3e5dbffd, 
    0xbdfdadd7, 0xbded3582, 0x3e12897b, 0x3e3ad3d2, 0xbd2b051b, 0xbd0d7779, 0xbe08f1b3, 0xbd2e96f2, 
    0xbd57afc4, 0x3d5bc180, 0x3d412389, 0xbd47fd14, 0xbe7ed21b, 0x3e1e1d12, 0x3ceb7375, 0xbe14bdb5, 
    0xbd1cef0e, 0x3d34cc7f, 0x3c1baa4b, 0x3db07bc2, 0x3b177182, 0xbde2e488, 0xbe44c8f6, 0xbdc2b35f, 
    0x3c502d9d, 0xbe37fe6a, 0xbc6df3f1, 0xbdd78cab, 0xbd801ffd, 0x3c00de54, 0xbe3f67a1, 0x3e3ee946, 
    0xbe1faf9b, 0x3dfe5974, 0xbe1429ec, 0x3db036e2, 0xbdacf1bc, 0xbdfe853d, 0x3e182176, 0xbe0d7e2e, 
    0xbdd8c703, 0xbd3dd253, 0x3d0200bb, 0xbded03c1, 0x3c9528b9, 0x3dada1d7, 0x3e093b13, 0xbe4d614c, 
    0x3e258b20, 0x3dcbe07c, 0x3dd19468, 0x3e362c92, 0xbe2ffa76, 0xbd351240, 0x3cb97a77, 0xbe2970b9, 
    0xbe4a5353, 0xbe45cac8, 0x3c82da10, 0x3e4dd38b, 0xbe074673, 0xbe16e305, 0x3d89e704, 0xbc954dd1, 
    0xbd26fe9f, 0xb97b8b38, 0xbe448ea5, 0xbde271f9, 0xbe860902, 0x3d106fe2, 0x3ebdb227, 0xbe816236, 
    0x3e1da5f3, 0x3dfb2dbc, 0xbe5709bc, 0xbe03f4ec, 0xbd8a84ba, 0xbdb06f30, 0xbdbada31, 0xbe838140, 
    0xbd8b70e5, 0xbe3069dd, 0x3e1cf00f, 0x3e3e1bc9, 0xbe0718c9, 0xbd8cfb27, 0xbcb2bab5, 0x3dcd83dd, 
    0xbda422b0, 0xbdbf4c94, 0xbd9eb6d1, 0x3c854a6f, 0x3e069d79, 0x3d2a2d91, 0xbcaa444f, 0xbc765a7e, 
    0xbdd11475, 0x3e1f5468, 0xbe201f05, 0x3db62e05, 0xbe1ac381, 0xbdd1d948, 0x3eab271d, 0x3d6367a3, 
    0x3e2e9d31, 0xbdf7d6cf, 0x3de77dc7, 0xbdcc77f5, 0x3db3e1ec, 0x3e26082f, 0x3da3c3db, 0xbd404b34, 
    0x3d3bcdc8, 0xbe34e3a5, 0xbe394a66, 0x3d4c905a, 0x3d5a8dbf, 0xbcdaeb53, 0xbd9ff196, 0x3e039c3b, 
    0xbe029d87, 0xbe37bf4d, 0x3cd90d62, 0x3d426376, 0xbc31eb80, 0xbde44a7d, 0x3d1d5ec5, 0xffff9a72, 
    0x00000004, 0x0000000c, 0x00000001, 0x00000010, 0x00000020, 0xffff9a8a, 0x00000004, 0x00000010, 
    0x00000001, 0x00000020, 0x00000001, 0x00000020, 0xffff9aa6, 0x00000004, 0x00000010, 0x00000001, 
    0x00000001, 0x00000020, 0x00000020, 0xffff9ac2, 0x00000004, 0x00000010, 0x00000001, 0x00000040, 
    0x00000001, 0x00000020, 0xffff9ade, 0x00000004, 0x00000010, 0x00000001, 0x00000001, 0x00000080, 
    0x00000003, 0xffff9afa, 0x00000004, 0x00003000, 0xbced2582, 0x3d27a0a6, 0x39935fa8, 0xbcac1348, 
    0x3bd241f8, 0x3caddf0f, 0xbb312332, 0x3b024e41, 0xbca44b66, 0xbcf015f7, 0xbc3d74e9, 0xbcae67a2, 
    0xbc9ccc2b, 0xbca91a2f, 0x3ccee5bd, 0x3ce73cb0, 0xbd28ea85, 0x3d78d960, 0x3d0f9026, 0xbc9d64d6, 
    0x3ca63e2d, 0xbd46d9ff, 0xbcfa8be3, 0xbcbf0c13, 0x3b3627b7, 0xbc018cca, 0xbcc81bf6, 0xbd12a630, 
    0xbbd1cf5d, 0x3d3d0b8c, 0xbcfd67d4, 0x3d0b6c39, 0xbbf0321e, 0x3d878c2b, 0x3be7774d, 0x3d5723f1, 
    0x3c410306, 0x3d029bdb, 0x3cd9c92c, 0x3d1d9cfd, 0xbcd1fc0e, 0x3d328f75, 0xbd49ff8b, 0x3b4acd66, 
    0x3ab344eb, 0x3cbdf86b, 0x3cdc3ac1, 0xbd746a93, 0x3c8a7841, 0xbb6ff48e, 0xbcae78df, 0x3cc4450f, 
    0x3d1dd379, 0xbd4b2bf9, 0x3d1f740e, 0xbd15dcd8, 0xbc190e31, 0x3ca0c0ec, 0xb8f0b61e, 0xbc99dd33, 
    0x3bdab40f, 0xbc9f867c, 0xbd2aa495, 0xbce5a0c0, 0xbb7f4f14, 0x3d16dbfe, 0x3cd23dec, 0x3cd4477c, 
    0xbceda2ee, 0x3c3b034b, 0xbd08d0b3, 0xbaa07360, 0x3d6c9a8a, 0x3d2bb239, 0x3d25ea2c, 0xbbd09380, 
    0x3b6dba31, 0xbd699595, 0x3dac7e8f, 0xbd47b845, 0x3d1e0ba5, 0x3ce3fb04, 0x3cdb205b, 0x3cf020a5, 
    0xbb96dee3, 0x3c21671a, 0xbcbcbc24, 0x3c3aa6ac, 0xbd64eefe, 0xbcd3fc5c, 0xbd1fd468, 0x3d985fcb, 
    0x3d59d5ba, 0x3d8a8ada, 0xbc3efa49, 0x3d5a0b00, 0x3db19e56, 0xbd3c0c24, 0x3ca7cfca, 0xbd98a2aa, 
    0x3c5e6e37, 0xbdc6a07b, 0x3d2c2de4, 0x3c20fd02, 0xbc4c8d7d, 0x3c3c2212, 0x3d23631d, 0x3c14f30e, 
    0x3d081841, 0xbdb9cd9f, 0xbd6319ab, 0x3d440d93, 0xba3e161f, 0xbd28e9e9, 0x3ca72cd9, 0x3b47d9be, 
    0x3ca4597d, 0xbd0d7fe7, 0x3c3a4042, 0x3c4a879d, 0x3daafafb, 0xbd0a793c, 0xbd6a5f57, 0x3cd64745, 
    0xbcc913d2, 0xbcf6f842, 0x3ce7767c, 0x3d25a267, 0x3c464b32, 0x3ce87216, 0x3d89beed, 0x3d0cd8fe, 
    0x3ccd8284, 0xbcb8d9f2, 0xbd3715fb, 0x3d824428, 0x3b886361, 0xbd54c7b4, 0xbb19aafa, 0xba2d64de, 
    0xbbd29e22, 0x3d0b5cbf, 0x3d3a7a0e, 0x3d50638a, 0xbd251a0c, 0xbd8b9433, 0xbc654bc1, 0x3bada765, 
    0x3d7bf9ae, 0x3c46a1cb, 0x3d801f68, 0x3d453ba2, 0x3cde221d, 0x3ccda54e, 0xbac6d465, 0xbcf4b9d0, 
    0x3ce7241a, 0xbca05580, 0xbc088a06, 0xbd5d03b4, 0x3cc7f827, 0xbc18e52a, 0x3d4599c5, 0x3c6c72c2, 
    0x3c4fa84d, 0xbd6c0fde, 0xbbfb7c3c, 0xbce46cb7, 0x3c6e4b2e, 0x3c407522, 0xbc90ec9a, 0x3d190f24, 
    0x3d0f255a, 0xbd5f7b67, 0xbc37c34f, 0x3c1277ea, 0xbc3a213a, 0xbcabd5ca, 0xbd055a7a, 0xbd174ba1, 
    0x3da0eb16, 0xbc8e4409, 0xbc84fdf4, 0xbd515828, 0xbc2c72ce, 0x3d29314c, 0xbb9fb1e7, 0x3d020bf4, 
    0xbaa929c5, 0xbcdfba7b, 0xbd8ae290, 0x3c9b9bba, 0x3d1cf4b5, 0xbd037dfa, 0x3cb56ed2, 0xbd4a2ca9, 
    0x3ccda85c, 0x3c6c4461, 0x3d271fa6, 0xbc63e905, 0xbd98ed97, 0x3cdb13a1, 0x3cda9407, 0xbcdccca7, 
    0x3cf9baf9, 0xbcc86831, 0x3d2e4ff1, 0x3c8ce132, 0xbd604e3e, 0x3ca70ed0, 0x3badd431, 0xbc2a7c5a, 
    0xbd118973, 0x3b856d5b, 0x3bafb7d9, 0x3c35afa9, 0x3c466f10, 0xbce8c330, 0xbd469c1f, 0x3d5d0a5e, 
    0x3d696323, 0xbb3b2b01, 0x3b46bff6, 0x3b4785da, 0x3cbb9495, 0xbd4f40db, 0x3d2f3228, 0x3c8de6b8, 
    0x3ccde22c, 0x3be08dc3, 0x3d2a4de3, 0x39d4b4f1, 0xbd9fb761, 0x3bcb15a0, 0x3d42fd2c, 0x3d30fc15, 
    0x3d0979ed, 0x3bca6e01, 0x3d56bb55, 0x3cc6f3d8, 0xbd7333fa, 0xbd25c5b3, 0x3c4eb200, 0x3cea7e73, 
    0x3cb1a035, 0x3c78590b, 0xbb616cf1, 0x3cadcb56, 0x3d33e40a, 0x3d102632, 0xbd1f13ac, 0xbc7068e6, 
    0x3c6eb16e, 0xbce64f96, 0xbcbd9ea1, 0xbc74fcb8, 0x3bafdafe, 0xbc28a5b7, 0xbd06f607, 0xbca85aad, 
    0xbb6121e2, 0xbd0152fe, 0x3b5c164d, 0xbd2addc3, 0xbd1366bb, 0xbce05e5b, 0x3d0dc767, 0x3b22f33f, 
    0x3ce43bdd, 0xbd611c82, 0xbc078ddc, 0x3cf8727f, 0xbc84e316, 0x3b03e96f, 0xbbc6fc45, 0x3ccb8c38, 
    0x3ce7651a, 0xbc71180f, 0x3b86f57a, 0xbd015c82, 0xbba4d1cd, 0x3d3bdfe4, 0x3bf1f7f7, 0x3d5e3837, 
    0x3d430c89, 0xbcf8767f, 0xbd2b9fb8, 0x3ca9155b, 0xbd0feb20, 0x3c132fe0, 0xbd0235a9, 0x3c48f035, 
    0x3d070e91, 0x3d57e8b9, 0xbb9f6fe8, 0xba6140eb, 0xbb08e4be, 0xbc932996, 0xbd2bc348, 0xbc7875b7, 
    0xbd1a7f0f, 0x3d4340b7, 0x3d0780f4, 0xbc499136, 0x3d42ab49, 0x3c092def, 0xbc26aec9, 0xbc9ee036, 
    0xbca2c0b3, 0x3c5952a7, 0xbcdebd46, 0xbcdc28e0, 0x3ce718e9, 0xbcc2621d, 0x3d20c6b8, 0xbcc2335d, 
    0x3c230e6b, 0x39d0dc0b, 0x3c971053, 0xbc398cee, 0x3cc613a4, 0x3d337b0b, 0xbce6efc4, 0x3cf89c27, 
    0xbc46c4f8, 0x3c924802, 0x3ce41b0c, 0x3a956d5f, 0x3d3aa93e, 0x39a3d8c9, 0xbb930434, 0x3d246821, 
    0xbc3e4f97, 0xbbb2e4ea, 0x3d3d0ffd, 0xbc1a8210, 0x3d1b9e2c, 0xbcb28860, 0xbd262e9b, 0x3d2beb47, 
    0xbceee827, 0xbcd130d1, 0xbc453481, 0xbbc29607, 0xbd45fbf0, 0xbd3e9650, 0x3cc6bc43, 0x3bca5561, 
    0xbb17b629, 0x3bc43ada, 0xbc88a2c9, 0x3cb53c7f, 0x3cc40108, 0x3d42ccfb, 0x3c0c4d53, 0xbcb4f6e4, 
    0x3c893a58, 0x3c9ad74b, 0x3be14f5f, 0x3cddf19e, 0x3b006016, 0xbbf7b9df, 0x3c8fdb79, 0x3cb5dc56, 
    0xbc173e90, 0xbc8a41a5, 0x3c3b1a8c, 0xbd04f8fe, 0xbbaa0f61, 0x3cb0a9f7, 0xbbc39dbf, 0x3cde6467, 
    0x3ca33902, 0x38a0f682, 0xbca54aec, 0xbc852026, 0xbd00b09f, 0xbc46108c, 0xbc210325, 0x3d1956d7, 
    0x3caa730b, 0x3bbd2ae1, 0xbca0bfc2, 0xbc543900, 0x3cf9d738, 0xbcab6972, 0x3d1df681, 0xbd009cc3, 
    0x3d366313, 0xbd844ddd, 0x3aab75f6, 0x3cd83241, 0x3c8e62cf, 0x3c50a95a, 0xbcc079c4, 0x3d08242e, 
    0x3c9eee25, 0xbb6b1bce, 0xbc79d4fb, 0x3cdeb635, 0xbc9f388a, 0xbc00e5da, 0x3d02cc47, 0xbd1a0a5b, 
    0x3ca0b3b7, 0x3d0dc653, 0x3ce15926, 0xbc3926fa, 0x3cf366eb, 0xbb892dac, 0xbb527d08, 0x3d0171cb, 
    0xbcff4d30, 0x3cd7999b, 0xbc17db27, 0xbb8faf11, 0xbcb0a525, 0xbc5a7a71, 0x3d5b8182, 0x3d05de43, 
    0xbd019a6d, 0xbd74d22c, 0x3c049b4f, 0x3c89d6dd, 0xbd48a1b5, 0x3ccca340, 0x3c459905, 0x3d448c6f, 
    0xbd0740f4, 0xbd15521c, 0xbcce8997, 0x3d40209a, 0xbcbbb39a, 0xbc5a296c, 0xbcf5ccd2, 0xbd0afbd3, 
    0x3d17a17c, 0x3d0710cd, 0x3d5d8746, 0x3cddf19f, 0x3d4ef0a1, 0x3d6a3665, 0xbcb991ff, 0x3d2e2d1b, 
    0x3a32bec0, 0xbd251fd4, 0x3d5088c5, 0x3c4d832a, 0x3be5d5e1, 0xbd0e648e, 0x3c924d73, 0xbcfd95f1, 
    0x3aa3994b, 0xbdafd3b4, 0x3caaae05, 0xbcb757f0, 0xbcd0889d, 0x3cfed5d9, 0xbc2e88ba, 0x3c348e1d, 
    0xbcf9c70c, 0xbd31c39a, 0xbcbfd693, 0xbd168a62, 0xbd4335fa, 0xbd3850d3, 0xbd6e4128, 0x3d66d37d, 
    0x3d9486a8, 0xbc7f06d2, 0x3cfadb98, 0xbcbaad80, 0xbce180df, 0xbbdb93c9, 0xbc0e8b51, 0x3d734a20, 
    0xbd058fb8, 0xbc6b525a, 0xbd419824, 0x3ca443f9, 0xbc93ed89, 0xbd015921, 0x3d1ba113, 0xbd2fbd28, 
    0xb8f39f99, 0xbc08162d, 0xbb84bebd, 0x3d3cb554, 0x3cb56b24, 0x3bd4343d, 0x3d145c21, 0x3ca4b7b2, 
    0xbc7974d4, 0x3ce52742, 0x3d10b436, 0xbc2c5b8e, 0xbbab4eee, 0xbd47fbfe, 0xbda18eda, 0x3cd0d32d, 
    0xbd9582ed, 0x3db00b68, 0xba8bbed0, 0x3d293039, 0xbb8dd23f, 0xbd178971, 0x3d65a3d8, 0x3d0dad2f, 
    0xbcb4a491, 0xbd338131, 0xbc833fb2, 0xbbfa6777, 0xbd8abe23, 0xbd1b56d5, 0xbd343807, 0x3db86f53, 
    0xbd92c9e0, 0xbb8358f3, 0xbad4f677, 0x3d0f3c89, 0x3bbdf6fc, 0xbd2d4757, 0xbc52b4dd, 0xbd38216a, 
    0x3dbb3797, 0x3d0066ef, 0xbd95e10d, 0x3da03708, 0xbceedfdd, 0x3cff5035, 0xbd9a3f20, 0xbd163605, 
    0xbb9ed579, 0xbc963502, 0xbd3377ff, 0xbccb7da5, 0x3d12c1e5, 0x3d5c75f4, 0xbd31cba2, 0x3cd4ee5a, 
    0x3c341e17, 0xbd8b8332, 0xbb163971, 0x3d8ac66e, 0xbda622f5, 0x3d3bd0c8, 0x3b2dbeec, 0xbc6e5aaa, 
    0xbd753eb5, 0x3bd5792c, 0x3d51c5c8, 0xbbba3a06, 0xbb9a88b8, 0xbd050c6a, 0xbc2a300d, 0xbcabdc64, 
    0x3dcfcb53, 0xbba314e6, 0xbd167ab0, 0x3d896f57, 0xbd92c022, 0xbc904eb8, 0x3cec98a6, 0x3d87d38f, 
    0xbd76cb87, 0xbc1df28e, 0xbd83916d, 0xbd4f54db, 0xbd5d3571, 0x3d5a7b83, 0x3dbb1dcb, 0xbd72efce, 
    0xbd36bca0, 0xbd55fb5e, 0x3d33a97f, 0xbccab65f, 0xbd00688b, 0x3ce15acb, 0xbd632695, 0xbd4f2cc1, 
    0xbd0de3ff, 0xbcb57ac3, 0x3d6ea5a9, 0x3c94f698, 0x3c226232, 0xbdd793d6, 0x3d205735, 0xbd64d6b8, 
    0x3d299b79, 0xbdc257d4, 0x3d22606e, 0x3ca68734, 0xbc9e8825, 0x3c65d529, 0x3b55dca7, 0xbd48f35f, 
    0xbccbbdde, 0xbd6c395c, 0x3d8d6745, 0x3c64be5f, 0x3c959d7e, 0xbd05658f, 0x3cfb4e16, 0x3d77eb82, 
    0x3d246fba, 0xbc006ba9, 0xbd29b978, 0x3b1a92fb, 0xbd0cf4e1, 0xbc920bf6, 0x3c77e063, 0xbdb724d1, 
    0x3d217270, 0x3c763b49, 0x3cd150b6, 0xbc6a4d97, 0x3d0b3ccb, 0x3c6a6754, 0xba836aca, 0x3d1b8750, 
    0xbd67e20a, 0x3ce0196c, 0xbcd80072, 0xbc0a4bb3, 0xbcd82a9c, 0xbd1f5675, 0x3d8d7ded, 0xbcd37682, 
    0x3d412a2e, 0xbcaa5218, 0x3cadcace, 0xbc409f7a, 0x3d8038eb, 0xbd8fa2f3, 0xbcbe5bb7, 0xbd82ae64, 
    0xbd482597, 0x3cab41e4, 0x3d8b70cf, 0xbd55306f, 0x3d7d8839, 0x3d842a8b, 0xbc6dc3f4, 0x3d73dc62, 
    0xbcc25e97, 0x3d512f19, 0xbcc70f33, 0xbd2378d9, 0xbd3de81c, 0x3d58e3e1, 0x3c446845, 0x3dba3248, 
    0x3ab5010d, 0xbc348dd5, 0x3cad5f48, 0x3c25613a, 0xbc2e0049, 0xbd0bd896, 0xbd723713, 0x3d88cfc6, 
    0xbd20529a, 0x3d3f4847, 0xbd1eb053, 0xbd565859, 0x3d72ef4f, 0xbc3734f3, 0x3b0d523e, 0x3da0ff69, 
    0xbd88281e, 0xbd1bbd27, 0xbc848a8a, 0x3c8c7c59, 0xbcd83a1e, 0xbd3aa0fe, 0x3b950c61, 0xbd9969d6, 
    0x3ac73d1c, 0x3d38e77b, 0xbbebe1a0, 0xbd3c745c, 0xbd449ad9, 0xbcffbbe5, 0xbcce5baf, 0xbc97ba6c, 
    0xbd53980d, 0xbce72e35, 0xbc986436, 0x3c37c0b3, 0xbd2292a1, 0xbc847722, 0x3c8f6def, 0x3cf350a2, 
    0x3d8bd96d, 0x3d675b1e, 0x3d582016, 0xbd7f5e0b, 0x3d2f8b69, 0xbc8ce507, 0xbb219b57, 0xbc22e555, 
    0x3d25f1f3, 0xbd890e6a, 0xbc23d7ce, 0x3c06b891, 0xbc56e6b2, 0xbc139b64, 0x3cd93e63, 0xbc068597, 
    0xba52346f, 0x3cb4fccc, 0x3d44fc0c, 0xbda802f2, 0xbd73e207, 0xbc7b8d45, 0xbd467a7f, 0x3d75b33d, 
    0x3c54c9f7, 0x3cf49ea3, 0x3d21f760, 0xbbb8d0eb, 0xbd28d67a, 0xbd190b53, 0xbd495522, 0x3c7dbced, 
    0xbd05f343, 0x3d32e64d, 0xbd582be1, 0xbcaf0559, 0xbcbcaf60, 0xbda10caf, 0x3d8d08dc, 0xbbf55ce1, 
    0xbd600f23, 0x3d3511c4, 0xbd7b2ec3, 0xbd277c19, 0x3ca37080, 0xbc088cc2, 0xbd426bc7, 0xbbf346b8, 
    0xbc9828aa, 0xbd1cf048, 0x3c696689, 0x3d4c9582, 0x3d0643c2, 0xbbf9f224, 0x3c0d27b0, 0xbcb2ccf0, 
    0x3cc59e3f, 0xbb9f657c, 0x3ccb6b76, 0xbca20821, 0x3c48dbb8, 0xbbada024, 0xbd163272, 0xba10fb26, 
    0x3bcdb96b, 0xbd00c276, 0x3cd80144, 0x3b4a512a, 0xb9a9a3ab, 0xbd5dd155, 0x3cc6dd41, 0x3d236319, 
    0x3d5fcfea, 0x3d9fcf40, 0xbd1d52f0, 0xbd6759e0, 0x3cb5de38, 0x3d19d081, 0x3b60e7db, 0xbbc5dfa0, 
    0xbc9ce876, 0xbd8b79e2, 0x3d6d95c0, 0x3ca8903d, 0xbb817b79, 0x3d7ce4f1, 0xbcfbd897, 0xbcba2f8e, 
    0xbc0f0845, 0x3ca6a822, 0x3b973337, 0x3c843f3e, 0x3d63fb71, 0xbcf76dc6, 0x3a8c0f30, 0xbd0e94db, 
    0x3d598818, 0x3d9e89ea, 0xbbaa7db2, 0x3c5ac6a3, 0x3d2f8a45, 0x3c3c25e7, 0xbc1712d5, 0xbc2c81f7, 
    0xbd77aac8, 0xbd8d7165, 0xbc57338e, 0x3c2f3e6a, 0x3c4ced1e, 0xbb2c77c9, 0x3d4c24a4, 0xbd535deb, 
    0x3d6f47a1, 0xbd0d7569, 0x3ca0dceb, 0x3bb91ec7, 0x3cad19bd, 0x3d3dc98a, 0xbc69701e, 0xbcba83ae, 
    0x3d4e4120, 0x3aebf07a, 0x3d37edce, 0x3d2b5cd9, 0xbcf20ec8, 0x3cd48039, 0x3c489c4c, 0xbb841de6, 
    0x3ca6c3cb, 0x3db1210b, 0xbafe2653, 0xbd395188, 0x3d4dfbe1, 0x3d279797, 0xbace8058, 0x3d30772d, 
    0x3bbbdf1f, 0x3c18db9e, 0xbca52f0e, 0x3c81ec0f, 0xbc1513b2, 0xbd2dbaf1, 0x3d516706, 0x3cd69648, 
    0x3d155ce9, 0x3cedadce, 0xbcabab8c, 0xbc6325c3, 0xbd03f8ab, 0x3a6ba0cf, 0x3bd88e4f, 0xbcaaee47, 
    0x3d693d2c, 0xbd758b04, 0xbd18d88a, 0x3d858fe8, 0x3c609521, 0x3ce3dd97, 0xbbf512ec, 0xbd873591, 
    0xbd0ed043, 0x3d8ddb82, 0x3c41e3da, 0x3c2e2671, 0x3cdd0398, 0x3d06d712, 0xbc3a4fc0, 0x3d51ac80, 
    0x3c4d6ea3, 0x3ccd5e85, 0x3d8a43da, 0xbc8e97cf, 0xbc7fc206, 0xbd1a0afb, 0xbd1fc0a0, 0xbc6be768, 
    0x3d09ccde, 0xbd706b9c, 0xbdb32edf, 0x3d11c59d, 0xbbd376e2, 0xbbbcadfc, 0x3cb87756, 0x3d2857ab, 
    0x3d728e1b, 0x3cb3bf62, 0xbcf6d75b, 0xbd151d3e, 0x3d823308, 0x3d2586b9, 0xbc10d2f7, 0x3d4b37d7, 
    0xbcfd9ebc, 0xbcb1670e, 0x3d801c52, 0x3c32d173, 0xbd31d6de, 0xbd9a9e32, 0x3da39d07, 0xbd892e15, 
    0xbd8a7154, 0xbb6703d7, 0xbbe4ad43, 0x3d8cea3e, 0xbc4470ac, 0x3d6b8dd6, 0x3d585e9b, 0xbdea9957, 
    0xbd86b5a6, 0x3932598a, 0xbc59b2ac, 0x3dbd9e85, 0x3c06bf50, 0xbb02327e, 0x3cd409b8, 0x3bbcdca9, 
    0x3d818610, 0xbca5a28e, 0x3d7bb430, 0xbc5cf9dd, 0x3c9ca0f4, 0xbb306928, 0x3da1850e, 0x3d0aa421, 
    0xbcb4f3d8, 0x3cb143e4, 0xbbaf2aa9, 0xbdd96e3b, 0xbcf4cb94, 0x3c839412, 0x3cab6f6b, 0x3d8758f1, 
    0x3d7ecc8a, 0x3cfc9afd, 0xbd89c9bd, 0x3cd527db, 0xbd075d7e, 0x3cea66eb, 0x3d6ac083, 0xbd5c0f4d, 
    0x3d431447, 0xbdc6b3a2, 0x3d0a5d0f, 0x3d70c989, 0x3d04e256, 0xbc37883b, 0x3da0f20f, 0x3daeb51e, 
    0xbbac6c11, 0xbccf6715, 0xbd50ae09, 0xbde2de95, 0x3d52daab, 0xbc7b4cb7, 0xbd946a4f, 0x3c311a03, 
    0x3d502ac5, 0x3c86e861, 0x3d9fa482, 0xbd58b0fd, 0x3c34e1ca, 0x39eb1058, 0x3d4d0da9, 0xbd4d064b, 
    0xbcd5b9f7, 0xbd2ca998, 0x3d8351df, 0x3de7beaa, 0x3d6bf8ae, 0x3d47038f, 0x3d7266bc, 0x3a9d3e2a, 
    0xbd27b8e5, 0x3c0a6d0a, 0x3d039597, 0x3d999355, 0x3d11dbb2, 0x3d7a5b40, 0xbc6d4063, 0x3d4d99b6, 
    0xbce5eaed, 0xbd767b3c, 0x3d540fcf, 0xbb712073, 0x3d8ce691, 0xbd333595, 0xbbff6f96, 0xbb65f9eb, 
    0x3b9ccfcc, 0x3d52cac3, 0x3c9670da, 0x3c44f0ea, 0x3cc72eda, 0x3d457d21, 0x3d1bfa40, 0xbd376722, 
    0xbcf09c7b, 0xbc5d9070, 0x3d24815f, 0x3da7e63b, 0xbd1adc85, 0xbbc10c06, 0x3d683fc7, 0x3d81d3c7, 
    0x3c584ee1, 0xbc337a9b, 0xbda9f08d, 0x3d49c22c, 0x3a1c1c8d, 0x3d1d327a, 0xbbefa00d, 0x3cf3d0e0, 
    0x3d46cd93, 0x3c581edf, 0x3a434bd7, 0x3d525a49, 0x3db69479, 0xbcf64212, 0x3c384ed1, 0x3c7d7c4d, 
    0x3d596cfb, 0xbc6eb2e0, 0xbc569e32, 0xbd874357, 0x3d199a45, 0xbcf20560, 0x3c81ff5f, 0xbbf46c4f, 
    0xba950fb1, 0xbd0af65c, 0x3cb95bc8, 0x3d96639c, 0xbd068626, 0x3c0784ba, 0x3b883dc6, 0xbad46cf0, 
    0xbd4c98e3, 0xbbbbacf2, 0x3db8f9ce, 0x3dc44650, 0x3d37f73c, 0xbc449629, 0x3c1f5013, 0x3d73b08b, 
    0x3b6c4e8e, 0x3bea9d98, 0xbc3b15e4, 0xbd374098, 0x3c950f8c, 0xbcfa0e98, 0x3c95e35c, 0xbd3be397, 
    0xbc986c66, 0x3cc9861c, 0x3cb56a7b, 0xbd178518, 0x3d00e87d, 0x3d101358, 0xbbec6c27, 0x3ce65b5e, 
    0x3cf4ab79, 0xbca99c2f, 0x3d58d16e, 0x3cc47929, 0xbc87b89e, 0x3d47c1f6, 0x3cad64f0, 0x3d1d3164, 
    0x3c73ce55, 0x3cbafa8d, 0x3d0e3ea4, 0xbd4e014c, 0x3d782771, 0x3c9f3595, 0xbd326f59, 0x3c9742fe, 
    0xbd466d91, 0xbb2eb2e7, 0x398e04c6, 0x3b86c178, 0x3c7af191, 0x3cd06405, 0xbc52c21b, 0x3c8d526a, 
    0x3d04998c, 0xbd168804, 0xbbe3bd3a, 0x3cf553a1, 0xbd13f0f2, 0xbd9bb1c1, 0xbd1d99f1, 0xbccf01f9, 
    0x3c4d7a37, 0x3cc25e0e, 0x3ad3f146, 0x3d3eaf50, 0x3c9eeed0, 0x3ccc593b, 0x3a9a56ce, 0x3c343825, 
    0x3b8f9672, 0x3d50db7f, 0x3d347f83, 0xbb66cc27, 0x3d6b6df6, 0xbd1bd2d0, 0x3c8fd85c, 0xbb0c1d73, 
    0xbc5d433f, 0xb9bd2331, 0xbcb590d2, 0x3bb42168, 0x3d4541be, 0x3cc74f21, 0x3c9b3fab, 0xbc063915, 
    0x3c83642e, 0xbd23be19, 0xbc87e291, 0x3d2cc712, 0xbd4cdd4e, 0xbcb42847, 0x3bf1b2da, 0x3d5d4635, 
    0xbc3a2f42, 0x3d743316, 0x3b7de230, 0xbd2f3e07, 0x3c1ae4c7, 0x3d2575bc, 0x3d0ca5d0, 0xbd3e2cc5, 
    0xbbc58003, 0xbcb32608, 0x3afdb7b7, 0x3d307326, 0xbb83cff1, 0x3b867c62, 0x3d03ec39, 0xba79b392, 
    0xbc9d7362, 0xbcafe413, 0x3d3bcbb8, 0xbd17d7e5, 0x36a5e4db, 0x3caf5f85, 0x3d698e69, 0x3c3c75f2, 
    0x3c996111, 0xbd4a8a62, 0x3c90ed2d, 0xbc1afd80, 0xbc878117, 0xbd385816, 0x3c1aa655, 0x3c884a5a, 
    0x3c058a63, 0x3d4d74a4, 0x3c9166db, 0x3b93ed52, 0x3cfee650, 0x39ffd276, 0xbd915496, 0x3d6a3fee, 
    0xbc0f8785, 0x3d4e2571, 0x3bc31c2b, 0x3d5ba8d7, 0x3dbfa3ac, 0xbd16901f, 0xbd8e4a97, 0x3bdb3e64, 
    0x3ccf8813, 0x3d771677, 0x3d3a207f, 0x3d39ea68, 0xbc0bdf89, 0xbdd6bbd2, 0xbd8e569f, 0x3db92c0a, 
    0xbd15459b, 0xbda927b8, 0x3d22c9fe, 0xbda90452, 0xbbd2f0d9, 0x3ce379d2, 0x3d1e6392, 0xbd9a54a5, 
    0xbd9ca0c2, 0xbda37e57, 0xbce656c2, 0xbb7f7d3a, 0xbd5ac0e1, 0x3d598402, 0xbd08bc12, 0xbd8d91a1, 
    0xbcdd9eea, 0x3be57187, 0x3d9b9397, 0xbcfc1c81, 0x3d86c035, 0x3d898ffd, 0xbd16f703, 0xbdaef6c1, 
    0xbd006f3b, 0x3d1376d6, 0xbd6065a8, 0x3d1f75bc, 0xbcc236d3, 0x3d513c57, 0xbda817f0, 0x3dd37437, 
    0xbd65dd5e, 0x3d8de293, 0xbbacfcf3, 0xbd3cacd2, 0xbd940576, 0xbdcf783e, 0x3e0d4bf3, 0x3d458151, 
    0x3d86d0eb, 0x3da509de, 0xbd2885a2, 0xbd61a3e0, 0xbd25a555, 0xbcbab488, 0xbdab63a2, 0xbd1b3a8f, 
    0x3c1fb95e, 0x3cefb08c, 0xbe1cc85c, 0xbd0f4c64, 0x3ce2f18f, 0xbdd89eda, 0xbb968688, 0xbd32354f, 
    0x3d6e80c5, 0x3d20ce59, 0x3da64af4, 0xbc46c9f2, 0x3dbbe9f9, 0x3d36cc8e, 0xbcc31069, 0x3d720353, 
    0x3d918f55, 0x3d81b5c7, 0xbd5aa192, 0x3aa4f89d, 0xbcd3f6bf, 0xbcce59af, 0x3dd07cec, 0x3d84bb6f, 
    0x3c31f07f, 0x3c071a8f, 0x3d6fb9cc, 0x3d5b5792, 0xbd70b717, 0x3c8e5254, 0x3cd7cbf1, 0x3d57681d, 
    0xbd313cda, 0x3d1de731, 0xbd48ccc8, 0x3c34da50, 0x3c2f06f7, 0xbb8842ef, 0x3d0888f2, 0xbc30435a, 
    0x3d24882b, 0xbb92056d, 0x3d2092c3, 0xbca30dba, 0x3cfc883b, 0x3cab8faa, 0xbca6049a, 0xbc7ae00e, 
    0xba14c1da, 0x3bcfbd7b, 0xbd30747b, 0xbcbbea94, 0xbd093ded, 0x3c8d5575, 0xbd31f65c, 0xbc0bae7b, 
    0x3cba5de2, 0xbb61452c, 0x3cf16719, 0x3d2e409d, 0xbc7b8296, 0x3d239e8d, 0xbd3da3ae, 0xbab65b24, 
    0xbc87b247, 0x3cda35ba, 0x3c2bb366, 0x3ccb60ca, 0xbd36ff6c, 0xbd344075, 0x3d168b03, 0xbc48e39e, 
    0x3d2b0e7b, 0xbcb52434, 0xbd252fe3, 0xbc8e0846, 0xbc65ee88, 0xbca56453, 0xbce2825b, 0x3d32f463, 
    0xbd3ad454, 0x3badba76, 0xbc5f8229, 0xbd0767b4, 0xbb6bb6c8, 0x3cd65091, 0xbc910b1a, 0xbc778045, 
    0x3c874843, 0x3bd8a62b, 0x3ce08497, 0x3d00ace4, 0xbc8d3953, 0x3cbdc99d, 0x3a90de19, 0x3d178e88, 
    0x3cd99cd7, 0xbd04d1a9, 0xbd26374a, 0x3ccc6a64, 0xbcf4b078, 0xbc3ac1a0, 0xbb89f173, 0xbd439e88, 
    0xbcc99056, 0x3ca84097, 0xbba4e912, 0xbc91de8a, 0x3cf36a3f, 0x3d29264a, 0xbd2c7206, 0x3ba65cc2, 
    0xbd72c06b, 0x3cc5b25e, 0xbc686e50, 0x3d3ea120, 0xbc80ace6, 0xbd2f1262, 0xbcc103c5, 0xbd20e608, 
    0x3cfe499e, 0xbb4c7ee7, 0x3d280bd1, 0x3d80d622, 0x3e00a8ee, 0xbc334e70, 0x3dc54be9, 0x3d0ee3ab, 
    0x3d9d6aed, 0x3cfda788, 0x3d2deb16, 0x3d16ebe7, 0xbc091a32, 0x3c39556d, 0x3cc12873, 0x3d69e242, 
    0x3ca845fa, 0xbdc54bc1, 0xbc974d67, 0x3d739b2b, 0xbba93ccb, 0xbc9c73fc, 0x3db5fb13, 0xbcfe32db, 
    0xbc982b37, 0xbada9d30, 0x3d7bcd56, 0xbd75393e, 0xbd228c1f, 0x3d456606, 0x3c5de4ce, 0x3d35d456, 
    0x3d631c8e, 0xbd7db03e, 0x3d6c7c1f, 0x3d54c791, 0x3d9b329e, 0x3ca452cc, 0x3d6edef9, 0x3cf05e87, 
    0x3c9780b6, 0x3c82665f, 0x3cf888f7, 0xbabcde0d, 0xbd26eb8d, 0x3d17a2f4, 0x3cf8ee52, 0x3d7edfd9, 
    0x3dbf5f4f, 0xbd4e4cff, 0xbc0ffe16, 0x3d0d24dd, 0xbb9da95d, 0x3d34eadc, 0x3dc598e8, 0x3c53af18, 
    0x3d7cb71f, 0x3c74ab8b, 0x3d17564a, 0x3c9dabb8, 0x3be0a38e, 0x3d9b3309, 0xba87420a, 0xbc9aadc4, 
    0x3d64762e, 0x3cde03a4, 0x3d545333, 0xbd6e0cd3, 0x3dc4ded8, 0xbbf13efe, 0x3c8bfaad, 0xbd8d9831, 
    0xbc964022, 0xbc681708, 0x3c96d8c0, 0x3cefda83, 0x3d7ba883, 0x3d3b7dd8, 0x3c14f66c, 0x3d97ada1, 
    0x3d6e9dc3, 0x3c5667b4, 0xbdba6bf3, 0x3c357b4f, 0x3cd5195d, 0x3d88d47c, 0x3d3f8cd2, 0xbd27d352, 
    0x3c624d6f, 0x3c221c03, 0x3d830365, 0xbc8ea00f, 0x3d0fbd97, 0x3d784d91, 0xbd2c3cc7, 0x3d5c4bfd, 
    0x3d15045b, 0x3cff16ab, 0xbc108817, 0xbcff52e8, 0x3caf6f20, 0xbcebaf4c, 0xbb09049e, 0x3d86f7a9, 
    0x3d43176f, 0xbd9d1e0d, 0xbcad86da, 0xbd7e30f1, 0xbd82e779, 0xbd65a225, 0xbc5a4a95, 0x3d158d74, 
    0x3da1f13a, 0x3d28be81, 0xbd713ad0, 0x3d562d89, 0xbc9f8b99, 0x3ca60b5b, 0x3d5637e6, 0xbc36ec4c, 
    0xbcdf5422, 0x3c74731a, 0xbd8079a5, 0xbd1c8a8a, 0x3ca97634, 0x3d173cd0, 0xbd4804db, 0xbd5fee9c, 
    0xbc995906, 0x3c190829, 0x3dcb2052, 0xbb0b133f, 0x3d15d2c0, 0x3c8ebfa7, 0xbcba03b4, 0xbda5e13d, 
    0xbd85cc61, 0xbd527290, 0xbc952c89, 0x3d4c8ca3, 0x3bffefc1, 0x3cbf8340, 0x3c11b455, 0xbd85a7ec, 
    0xbd501508, 0xbd673c39, 0xbd0c264d, 0x3d8b540c, 0xbd598dd4, 0xbd53b9bd, 0x3d671045, 0x3c819ccb, 
    0xbba0590c, 0x3d7d8509, 0x3d3d002e, 0xbcb19f20, 0xbd0d115b, 0x3afeda62, 0x3d95993b, 0xbd63b2a6, 
    0x3d14d4fa, 0x3d164999, 0xbced5061, 0xbc91cd86, 0x3baceb55, 0xbc1edae7, 0xb9f81cbf, 0x3d5a3036, 
    0x3c579157, 0xbd62cafa, 0x3d8046f2, 0x3d2b2b21, 0xbcea1f03, 0xbd41cf82, 0xbd4eb471, 0xbd9980cc, 
    0x3bee2334, 0xbd79f426, 0xbdc9b527, 0x3daa245e, 0xbd16227f, 0xbc9be38f, 0xbcd3da20, 0xbdbd9bc5, 
    0xbc1c104f, 0x3c2cdf46, 0xbce53658, 0xbd857b12, 0xbcd06a24, 0x3d07a2f9, 0xba665de9, 0x3d396b16, 
    0xbd8dc8c7, 0xbd794a82, 0x3d39db37, 0x3d555dc1, 0x3c8cd934, 0xbbd9aeb1, 0xbb8442db, 0xbc322294, 
    0x3c1a7eac, 0xbd9810c3, 0xbd2e058f, 0x3bd45d56, 0xbd481c76, 0xbd5aa654, 0xbd786e0a, 0xbc042ade, 
    0xbd37e639, 0x3ca10572, 0xbcbee6c5, 0xbbbd35f3, 0x3b139c9c, 0xbcfc8b94, 0x3d4afe37, 0xbd7a1a97, 
    0x3c2f306c, 0x3d7958f8, 0xbd6ea79e, 0xbc94c1f3, 0x3d98edd2, 0x3d14ea61, 0xbd92da91, 0xbd330d01, 
    0x3c8ffb64, 0xbd6fdd85, 0x3de4a680, 0xbd048e34, 0xbc14f423, 0xbd24daf8, 0x3d256b34, 0x3dd51020, 
    0x3b5901c9, 0xbd22c49b, 0xbdbf1997, 0x3ca8d7c2, 0xbc82a963, 0xbd380ecb, 0x3ca01b1e, 0xbbf4e08e, 
    0x3d8d38d9, 0xbd7e8ea4, 0x3d450894, 0x3daeca69, 0x3c397c6d, 0x3d21d445, 0x3b927e41, 0x3cfb7049, 
    0xbd00d873, 0xbc9d6982, 0xbcf04b5c, 0xbcaf7c66, 0xbd21b834, 0x3abb5196, 0xbd739497, 0xb707c648, 
    0xbcc296b4, 0xbb9f05a3, 0x3c9fb380, 0xbcd53c60, 0xba86a8be, 0x3d550704, 0x3d359755, 0xbcc20a58, 
    0xbdd4fb0f, 0x3cbcfc9e, 0x3cce56fc, 0x3da32abd, 0x39ead3d9, 0xbcb837a7, 0xbd08a0b1, 0xbda3aa76, 
    0xbd51d826, 0x3c015baa, 0xbd8e17e3, 0x3d5a9df3, 0xbd42f146, 0xbdabc946, 0xbd26a404, 0x3d5dc67f, 
    0x3d7c4718, 0x3c801e13, 0xbd1cada5, 0x3c849102, 0xbd0eef17, 0x3da18abf, 0x3d393775, 0xbccf29e6, 
    0xbd80e441, 0x3ca70ae6, 0x3dac3f2f, 0xbdcb1018, 0xbca94d69, 0x3c8f39aa, 0xbcc2ac5f, 0x3d5cae2b, 
    0xbd2d74d1, 0x3cedcc45, 0x3b46e7e5, 0x3b1c8ff0, 0x3be116ba, 0x3b3df1c6, 0xbcc35419, 0xbccc3c2b, 
    0xbcba2b1f, 0x3c945205, 0xbd1d8707, 0xbc347d7b, 0xbccb191e, 0x3d4dd2c9, 0xbcdb554d, 0x3d1c8ad6, 
    0x3baf301a, 0x399c5b34, 0x3a33ec0b, 0xbd1350d4, 0xbc3816d5, 0xbcb222be, 0x3d35660f, 0x3d120258, 
    0x3c40f955, 0x3cf4979a, 0x3d3b46ed, 0x3d2d8f2b, 0xbcfddbe7, 0x3ca5bcf9, 0x3b09a9cf, 0xbc20f45e, 
    0x3c6cc785, 0x3c7b3e6f, 0x3bef12d7, 0x3ca63d92, 0x3ce41e85, 0xbd161fd6, 0x3c7a4ab7, 0xbccf51b3, 
    0xbc4894a9, 0xbd41b284, 0x3d1d376c, 0xbb9038fa, 0x3cc603e6, 0x3c3e1753, 0x3b82715f, 0x3ce7095f, 
    0xbcf37251, 0xbcd2a139, 0xbcfbad13, 0x3cb6d0e9, 0xbcc37684, 0xbd00d6a6, 0x3c87f9f8, 0x3d1351d5, 
    0x3c8733ef, 0xbd0085d7, 0xbc4de68d, 0x3ad7ed2c, 0xbca9486e, 0x3cf9e9d5, 0xbd4acb8a, 0x3d4fbe84, 
    0xba9e7046, 0x3bdda189, 0x3ba8a9b9, 0x3c832294, 0xbcccdd07, 0xbbc8defc, 0x3c2728e0, 0x3adeb24d, 
    0xbcd35b81, 0x3ceb28af, 0x3c08d036, 0x3ce9d2ab, 0x3d052bac, 0x3d3a9aff, 0xbd4850fa, 0x3d085205, 
    0xbd1c02f8, 0xbcc29d11, 0xbd5b2df6, 0x3ca6b2dd, 0xbcf50f4d, 0xbc5b2aee, 0x3bce6381, 0xbc93fc61, 
    0x3c1a0a9e, 0x3c831cf7, 0xbc841209, 0x3d16df40, 0xbbcc0228, 0x3d228d4e, 0xbd3d52d1, 0x3dab4a1c, 
    0x3d050860, 0x3d1f2ee3, 0xbb07693d, 0xbc1086f3, 0xbc4d6840, 0x3d140cb1, 0xbd0557e4, 0xbd575c45, 
    0xbd4b1b3b, 0x3a64e280, 0xbcb11000, 0x3d17f0b7, 0xbb6f4ad0, 0xbd2c8d39, 0x3d59e402, 0xbb017742, 
    0xbd2bff48, 0xbd82cd1f, 0x3c9431b5, 0xbd64ba09, 0xbd5b0d6e, 0x3c2279fe, 0x3cea7516, 0x3d774ed7, 
    0x3d881c55, 0xbd08a166, 0xbc959b52, 0x3b98c89b, 0xbc643a51, 0x3d387284, 0x3cd8197e, 0x3cd8dd42, 
    0x3d24d3ce, 0x3d0a6f48, 0xbd3ca045, 0xbd1a2ccb, 0xbbb27187, 0x3ba4d624, 0xbd5d58c7, 0xbcf52511, 
    0xbd27c95c, 0x3c8297d2, 0xbd031183, 0x3bde1b12, 0xbd0e7e67, 0x3d60d4e4, 0x3d810626, 0x3ce3c04c, 
    0xbcdcc505, 0xbd453a32, 0x3a57b57b, 0xbd214db1, 0xbd08f466, 0xbca0d4ee, 0xbd60b865, 0x3d2bf646, 
    0x3d0fbe1a, 0xbaf698d2, 0xbc9d01aa, 0x3d0c8aa1, 0x3cc8d69c, 0x3be41959, 0x3d242a24, 0x3c1a1263, 
    0xbcb625c8, 0xbc9b5b1a, 0x3c44349d, 0x3cc5260e, 0xbd2e0088, 0x3c90d228, 0xbcb659d9, 0x3d090e50, 
    0xbbf3378b, 0xbc384a18, 0xbc270648, 0x3c0f8823, 0xbd4e6cf3, 0x3d373d9c, 0xbd0d303a, 0xbd2dace7, 
    0x3ca927b2, 0xbd41b5c4, 0xbcad02ae, 0xbd6120bc, 0x3c164ec8, 0x3d8bf70b, 0x3c884340, 0x3dcfde21, 
    0x3c19e2ef, 0x3c68db82, 0xbd538552, 0xbb4759ba, 0x3c4d8119, 0x3d1f6f38, 0xbcf938cc, 0x3d694a55, 
    0x3c09fd3d, 0x3b9c584c, 0xbd3e7fa7, 0x3d276f42, 0x3d1a8abd, 0xbcd03677, 0xbccdf31a, 0xbc388770, 
    0xbc57b522, 0x3cec2d76, 0x3c2980dc, 0x3cba75b8, 0xbc122472, 0x3c8b0276, 0xbce45e1f, 0x3ce7ad71, 
    0xbd110ad9, 0x3d3bed0c, 0xbc6edfb7, 0x3cb3de2a, 0x3ceed21c, 0x3b1f2c78, 0x3bfbed9a, 0xbae49a72, 
    0x3ced6ef6, 0xbce5f751, 0x3d006886, 0x3c96814f, 0xbc9a801d, 0x3ce2359e, 0x3d10966a, 0x3c57da16, 
    0xbc8fcd4b, 0xbbe0e323, 0xbbd20791, 0x3d5e58d6, 0xbc52edbc, 0x3b17fc81, 0xbb822850, 0xbd41dc58, 
    0x3ce3caf5, 0xbc0faaa8, 0xbc9943fa, 0xbd0ce869, 0xbc80d353, 0xb9f93177, 0xbca8129e, 0x3bc0dae3, 
    0xbd1d5735, 0xbc8097ec, 0xbcb734a6, 0xbd2da46d, 0x3cd47ee4, 0x3cc70bbc, 0x3b1e9820, 0xbc936b89, 
    0xbcf5a6b3, 0xbcb1b581, 0x3cc687f2, 0x3c08a94d, 0xbca3c3f4, 0x3c0f37d6, 0x3acac9d9, 0x3d428cc1, 
    0x3cbfb9ff, 0xbcddeded, 0x3a91894c, 0x3d3cc5ea, 0xbc9ecfc4, 0xbc0ed9e7, 0x3ce398b4, 0xbd20a80b, 
    0x3d1a9027, 0x3c9cee7d, 0xbc1b1478, 0x3ca30508, 0x3d147189, 0xbc58e8a3, 0xbcc92c8f, 0x3c8a04c1, 
    0xbcc3f6bf, 0x3d44bd04, 0xbd36e2a8, 0xbd1c56f1, 0xbc1867b2, 0xbcb12bdb, 0x3cfae72d, 0xbd1e9d89, 
    0x3c81c732, 0xbc3d364c, 0x3d854063, 0x3caa932b, 0xbd318cfa, 0x3d645ec7, 0xbd0a5943, 0x3d467352, 
    0xbbc84368, 0xbd0d4b43, 0x3c6ab529, 0x3d6d4fb5, 0xbcde1b75, 0xbcda3d2a, 0xbc9c0fcf, 0xbd5cf40b, 
    0xbc916ebf, 0x3c9f2ec6, 0x3d43a550, 0xbcda908d, 0xbc5aa1d1, 0xbc8ad51b, 0xbbd9f45b, 0xbc585820, 
    0xbd5d4c70, 0x3d1f7a56, 0xbd712dbe, 0xbd1a5d46, 0x3cb02599, 0x3bb7596c, 0x3d64774b, 0x3d2dd1c1, 
    0xbbe5a79d, 0xbcb46ce5, 0x3d061e9e, 0x3d5da336, 0xbc7ed625, 0x3a5606f6, 0xbd1046ad, 0xbb8988dd, 
    0xbcde4f22, 0x3cf65017, 0xbce218d2, 0x3d4b6569, 0xbd38ab5f, 0xbc3b918c, 0xbc270c43, 0x3cd2ba62, 
    0x3d05e9e7, 0x3d118148, 0x3d5cb9b5, 0x3ca93e2e, 0xbcad9c3c, 0xbcd32ad1, 0x3badc5e7, 0x3cbef64f, 
    0xbb551a0d, 0x3c72d1fb, 0xbce9cc98, 0xbcc28a15, 0xbc898369, 0xbd07b264, 0xbc9474d1, 0x3d297222, 
    0xbd06b965, 0x3cb81d0a, 0x3d2c1239, 0x3d487cf6, 0x3cb152cd, 0xbb15e4f0, 0x3c93843f, 0x3d87d08c, 
    0x3d0501d4, 0x3c2f17ea, 0xbbb39a9e, 0xbcb992eb, 0x3d0021fc, 0xbc717c02, 0xbd499be1, 0xbd40d6c3, 
    0x3c216193, 0xbcce6cc6, 0x3c9e50bd, 0x3c0c8ed7, 0xbc3c0e9a, 0x3ccc794c, 0xbc892d0e, 0xbc000232, 
    0xbd1c5a7d, 0x3aea9df3, 0x3b5b442f, 0x3c672976, 0xbc576569, 0x3b9066b4, 0x3d464e9c, 0xbd0efffb, 
    0xbd159583, 0x3c902309, 0x3c1ce9a1, 0x3d29f931, 0xbb1e69d1, 0xbd754948, 0xbcdd293f, 0xbd694002, 
    0x3d15c916, 0xbc9db074, 0xbb4ee5ad, 0xbd391d32, 0xbd61f5b5, 0x3bb922dc, 0x3c6ab2ad, 0xbd53f7a1, 
    0xbc3c6c22, 0xbcf0f84d, 0xbc7896d3, 0xbbfd8979, 0xbd174ce0, 0x3ca64a9c, 0x3d410d20, 0x3b55ae1d, 
    0x3cc5dca0, 0xbd052b69, 0x3ce2ce15, 0x3cdcdee1, 0xbd1237fe, 0x3bb71392, 0xbd01c868, 0xbd05c16a, 
    0xbc1fed13, 0xbbbbd81d, 0xbcf14fdf, 0xbcb126de, 0x3b0c6acf, 0xbd19dcbc, 0xbce0fcea, 0x3c06b51c, 
    0xbc983670, 0x3d1ae883, 0xbc076c17, 0xbce2ad6b, 0xbca6a8e2, 0xbc86daad, 0x3c786860, 0xbcf47c9f, 
    0xbb936348, 0xb9f844d2, 0xbcc3a23c, 0xbc8f8143, 0xbd76181c, 0xbc578576, 0xbd7e961d, 0x3cd8c132, 
    0xbc660556, 0xbd298864, 0xbc8d9c41, 0x3cb38e78, 0x3cc2b227, 0x3d311f13, 0xbbe209ed, 0x3ca29fe0, 
    0x3b9d8229, 0xbcf6d00b, 0xbd253009, 0xbd2a5221, 0x3c4b5982, 0xbd8491bf, 0xbc621769, 0x3b8c6545, 
    0xbcc5b322, 0xbcf23e74, 0xbc1de42f, 0xbc06f5a8, 0xbcfd28c5, 0xbc13cb02, 0x3d045a51, 0x3c6d6326, 
    0xbb7d0187, 0x3c88a6ef, 0x3c4b8413, 0x3d2d3b93, 0xbd07aed0, 0x3d1f275a, 0x3c998b02, 0xbd3442ac, 
    0x3ba39735, 0x3c07f8c1, 0xbc9a2696, 0x3cf2b6ac, 0xbca9e08d, 0xbc6bbca3, 0xbc2e8c04, 0xbca0ad44, 
    0xbc9ca943, 0x3d3751e2, 0xbd0ca548, 0xbd714cd0, 0xbd2bc9bc, 0x3cb3f57e, 0xbc92ac58, 0x3d02e84c, 
    0x3cf143fd, 0x3c375edf, 0xbc13417b, 0xbcbc95e8, 0x3cca97d0, 0xbd871533, 0x3a32553a, 0x3cb73845, 
    0xbc8d3755, 0x3d60a24c, 0x3cf0ccf9, 0xbd45fe35, 0xbd4215a8, 0x3c0f7f88, 0xbd913641, 0x3c4a3391, 
    0x3d4235ca, 0xbd7f14a3, 0x3d49710e, 0x3d14ddb7, 0xbd01ff42, 0x3b66452f, 0xbd2c954a, 0x3d1a089b, 
    0x3d5b0d4c, 0x3da131e5, 0xbd98fd28, 0x3c13369e, 0xbbdb8f1f, 0xbcd80684, 0xbd8dfb7a, 0xbd821c75, 
    0x3d030ba2, 0xbd89ee63, 0xbc921ca5, 0xbbe5cd33, 0x3d428d61, 0xbd0d14ab, 0x3cc42e5a, 0xbd8dbe6d, 
    0x3cf43625, 0xbda4e1bb, 0x3d6e803f, 0xbbc05fbb, 0x3d90525a, 0xbce6dcf6, 0x3da3cc18, 0xbdc11c87, 
    0x3c59dc51, 0xbb73572d, 0x3c91fbc1, 0xbd0009a8, 0x3c948a62, 0x3d7dcda4, 0xbd25f961, 0x3d3eabe8, 
    0x3c25f285, 0x3b05b6fe, 0x3d7cd0cd, 0xbca5257e, 0xbcdfb566, 0xbd64d07e, 0xbbc31e3c, 0x3cbf1996, 
    0xbd028b1d, 0xbd0514d3, 0x3cb43859, 0xbd40943e, 0xbd8c1e14, 0x3c386e4f, 0xbc613027, 0x3d086a56, 
    0xbd79e35d, 0x3c6320e4, 0x3d8f75dc, 0x3d3ee0bd, 0xbce659e9, 0xbd809050, 0x3c9d95c6, 0x3d1fca08, 
    0xbc36b1da, 0x3b401d3d, 0xbd213bf5, 0x3d38504f, 0x3d5dc5bd, 0xbc4a4930, 0x3d83f4b4, 0x3d8c3e7d, 
    0xbd450a00, 0x3c2a8524, 0xbdb29f0c, 0xbbe69690, 0x3d3dd4c2, 0xbc6a5397, 0x3be62811, 0xbca8f1e1, 
    0xbccfec55, 0x3c7813b3, 0x3cfbf20c, 0xbb3713ae, 0x3d35c0c1, 0x3b460aa9, 0x3c27e870, 0xbc150071, 
    0x3d54ee90, 0x3c55ea8a, 0xbd074392, 0x3bef7681, 0x3bb8ca1d, 0xbd177d6a, 0xbcb86a1d, 0xbcf44904, 
    0x3d32134a, 0x3c8e3cee, 0x3bcb442d, 0x3b1d75a8, 0xbc1f0ec3, 0x3d613fda, 0x3c8c19c6, 0xbd113948, 
    0xbcc3851d, 0xbc985465, 0x3d17104c, 0xbbbae322, 0xbc481f1b, 0xbd000c07, 0x3c449b15, 0x3cabd1b8, 
    0xbd20530f, 0xbd0ffcd7, 0xbcb6cf5b, 0xb98db48d, 0x3d52ecc9, 0x3d36f55b, 0xbca5b87f, 0x3b946e57, 
    0xbc140acb, 0x3cc25580, 0xbcd5ed80, 0x3d4632bd, 0x3c186001, 0x3bc07f34, 0x3d4fac04, 0xbc819abc, 
    0x3c9ad5f8, 0x3d38e2e1, 0x3c6e9728, 0x3c99e1bf, 0x3c1a199a, 0x3ccde419, 0xbc8ec803, 0xbd388d26, 
    0xbd0a4ccd, 0xbce85f86, 0x3d56213b, 0xbd0e1e87, 0xbcf3474b, 0xbc87722d, 0xbb48a4a4, 0x38c1fe91, 
    0xbcc81c42, 0xbcd7e977, 0xbd01d720, 0xbc222717, 0x3d4e392f, 0x3cf20fae, 0xbd1e2424, 0xbd2ee942, 
    0x3c9abe9f, 0xbce5562e, 0xbd825870, 0xbb9c8721, 0xbc981bac, 0xbc956860, 0x3d497eff, 0xbd0b4861, 
    0x3c5e3734, 0xbcb2b782, 0xbc2e3f9e, 0xbc0a073b, 0x3bd37c0a, 0x3cf92706, 0xbc30f4e3, 0xbd4af0e0, 
    0xbcbb5db1, 0xbd0d8c22, 0x3d128b72, 0xbcffdcec, 0xbc252194, 0xbd015db5, 0xbc803619, 0xbd840da9, 
    0xbd3fd211, 0x3d1c6712, 0x3d5cde5c, 0x3bcc0a65, 0xbcbebe65, 0xbd005eae, 0x3cc2d459, 0xbd2e3cf8, 
    0xbcab1f16, 0xbd714f53, 0xbd1ebcf3, 0x3d509d80, 0x3cb1adb5, 0xbd83930e, 0x3d501a0c, 0xbd0d4a4f, 
    0xbccb9e2a, 0xbce9e876, 0xbc72bd53, 0x3a96db31, 0xbd126ef5, 0xbd0e43b2, 0xbd59ab65, 0xbc85b8c9, 
    0x3ca9a870, 0xbcfdb359, 0x3d308def, 0x3b394ee7, 0x3d4592af, 0xbd7f867d, 0xbc5da1aa, 0x3cbb3401, 
    0x3cd54780, 0xbc912659, 0x3c787817, 0xbd6abaeb, 0xbd64a26b, 0x3ccfa892, 0x3d1879b4, 0x3d65e227, 
    0xbd42b477, 0x3d8ea3d9, 0x3b2f8ba1, 0x3ca2b27e, 0xbb53d571, 0x3b8be6da, 0xbd30d030, 0xbd07ae06, 
    0xbce37e0a, 0x3cc63125, 0x3cff2834, 0x3bdd8047, 0x3c22f22f, 0xbd140b84, 0xbc8e5ad0, 0x3d75b65f, 
    0xbb53823d, 0xbcba490f, 0xbd9b68ee, 0xbc291dd2, 0x3d4b75a6, 0xbc977ae4, 0xbd66beb8, 0x3d4a7c15, 
    0xbd241224, 0xbc78b703, 0xb988bf83, 0x3d941b91, 0xbc308597, 0xbd91efb4, 0x3d7b58bf, 0x3c9b2cd6, 
    0xbce74a3b, 0xbd68a2de, 0x3cd645bb, 0xbc90e4b1, 0x3d5af43e, 0xbd776f92, 0xbda4e8a0, 0x3c44a5cb, 
    0x3c112dd0, 0xbd72d9bc, 0x3b1468b6, 0x3ba7ee3d, 0xbcfad358, 0xbc7c1408, 0xbd9bb0e6, 0x3d8b7bb0, 
    0x3d7bded7, 0x3dab106d, 0xbcee6acd, 0xbb769e77, 0x3d3cc70e, 0xbda5f428, 0xbbecfe9b, 0xbb5162e8, 
    0xbc4eab9a, 0xbd751a33, 0x3d5f3418, 0x3d29dd9e, 0xbc10868e, 0xbd185058, 0x3c7d25c5, 0x3be80422, 
    0x3d6b9c4f, 0x3d1d94b5, 0x3d51f274, 0xbd1da268, 0x3d1d6340, 0xbc5ee4df, 0x3d0430b4, 0xbbedb1d8, 
    0x3c40e40a, 0x3d5e0b61, 0x3cff7346, 0xbd731946, 0xbc0517f5, 0x3c68b292, 0xbc903094, 0xbd54a305, 
    0xbd9f6fcc, 0x3aab5ad9, 0x3d2924e4, 0x3d2d92fb, 0x3c3ea65a, 0xbc0e80c7, 0xbd31b724, 0x3b3b9e92, 
    0x3c96aef7, 0xbdaeca9d, 0xbd915f86, 0x3b353b46, 0x3c298d1f, 0xbdcbd74b, 0xbc04958e, 0xbcc1ced6, 
    0xbd6a43b0, 0x3cf4ce43, 0x3d856451, 0xbcbb663f, 0x3d99afe1, 0xbd3e5224, 0xbd87e296, 0x3d6da07e, 
    0xbc4e74d9, 0x3d55c0ab, 0xbd825188, 0x3d1cc30a, 0x3da54d5b, 0x3d112deb, 0xbd42532e, 0x3a3e10fc, 
    0xbd5c9c52, 0xbb6a740f, 0x3d32507e, 0xbc1f0e8c, 0x3d820c11, 0x3ceb0260, 0x3ba2bed7, 0xbd526e30, 
    0x3d56526c, 0xbd4c39b8, 0x3d94dfb3, 0xbd2b2bd3, 0xbce6f088, 0x3d692135, 0xbb3c5261, 0x3d3f9928, 
    0x3c9c3bb5, 0x3b33014a, 0x3ccb2e52, 0xbd10c45e, 0xbda0f0fb, 0x3d2b1f86, 0xbcb0cdab, 0xbbb0194d, 
    0x3d857075, 0x3d2699d8, 0x3d569659, 0xbd241a98, 0xbcecf16e, 0xbc6c1473, 0x3cd74a37, 0x3d055e88, 
    0xbb91da51, 0x3c7f6c39, 0xbd4b12e8, 0x3ca1771d, 0x3cc89de5, 0x3c5f0411, 0x3c841212, 0xbd73bc03, 
    0xbc32dd8f, 0x3d57e7df, 0x3d5cdf3a, 0x3ce0715d, 0x3cbd3513, 0xbcb59c47, 0xbca475fe, 0x3b0248df, 
    0xbd70e3c2, 0x3cfbf735, 0xbcb9dc1d, 0x3d225bd8, 0xbb1bae53, 0x3d753bfa, 0x3d0b14d5, 0xbc039b1c, 
    0xbd36c1c2, 0x3d2c8e3e, 0x3d7273eb, 0xb9801919, 0xbd10bfd2, 0x3d2b8e9a, 0x3cd962eb, 0x3d0c6627, 
    0x3c9b1b07, 0x3d1d87b2, 0x3d002fc0, 0xbcd60c0a, 0x3cb6bed8, 0x3d84222a, 0xbcebd4e1, 0x3d2fe2e5, 
    0xbce54992, 0xbc46f1bf, 0xbbb35c4b, 0x3c0dde62, 0x3b8d1a9a, 0xbca42988, 0x3c92b8cf, 0x3c11220a, 
    0xbda976a6, 0xbc49150e, 0x3d77b479, 0xbbce38c0, 0xbd2d660d, 0xbd6b57f6, 0xbd80d23b, 0xbc78f37a, 
    0xbabc9bb5, 0xbd6986c1, 0x3befd839, 0xbd1ed91f, 0xbd10732c, 0xbd39776f, 0xbd8b17d5, 0x3d1fc7de, 
    0xbc0a5775, 0x3cf50205, 0xbdcc3272, 0x3d18063c, 0x3d5e34c5, 0xbd44f1ce, 0xbbcd5443, 0xbd5427b3, 
    0x3cff6326, 0xbcfd23d2, 0xbd5e7bb9, 0x3cbc9341, 0xbcab0eb5, 0x3d0f872f, 0x3ca7cb95, 0x3c30406e, 
    0xbba9d1ec, 0xbc8a795d, 0x3d1cfceb, 0x3c12f66f, 0xbd643270, 0xbcb0d2d7, 0x3d87b372, 0xbd27ed5d, 
    0xbc9ab3fa, 0xbd501f4e, 0xbbbdcc39, 0x3bf664cf, 0xbcc36f40, 0x3be01772, 0xbda3f487, 0xbccb197c, 
...

This file has been truncated, please download it to see its full contents.

my trained model( model.h

C/C++
/*
* ImagiNet Compiler 5.3.2569+c38e822c721f137984639bf6e13e3974e71c734c
* Copyright  2023- Imagimob AB, All Rights Reserved.
* 
* Generated at 04/20/2025 21:29:52 UTC. Any changes will be lost.
* 
* Model ID  2b5eacdb-01b1-4155-a17e-31be66c5b2b5
* 
* Memory    Size                      Efficiency
* Buffers   1536 bytes (RAM)          100 %
* State     22232 bytes (RAM)         100 %
* Readonly  51548 bytes (Flash)       100 %
* 
* Exported functions:
* 
*  @description: Try read data from model.
*  @param data_out Output features. Output float[4].
*  @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
*  int IMAI_dequeue(float *data_out);
* 
*  @description: Try write data to model.
*  @param data_in Input features. Input float[2,3].
*  @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
*  int IMAI_enqueue(const float *data_in);
* 
*  @description: Closes and flushes streams, free any heap allocated memory.
*  void IMAI_finalize(void);
* 
*  @description: Initializes buffers to initial state.
*  @return IPWIN_RET_SUCCESS (0) or IPWIN_RET_NODATA (-1), IPWIN_RET_ERROR (-2), IPWIN_RET_STREAMEND (-3)
*  int IMAI_init(void);
* 
* 
* Disclaimer:
*   The generated code relies on the optimizations done by the C compiler.
*   For example many for-loops of length 1 must be removed by the optimizer.
*   This can only be done if the functions are inlined and simplified.
*   Check disassembly if unsure.
*   tl;dr Compile using gcc with -O3 or -Ofast
*/

#include <stdint.h>
#define IMAI_API_QUEUE

typedef int8_t q7_t;         // 8-bit fractional data type in Q1.7 format.
typedef int16_t q15_t;       // 16-bit fractional data type in Q1.15 format.
typedef int32_t q31_t;       // 32-bit fractional data type in Q1.31 format.
typedef int64_t q63_t;       // 64-bit fractional data type in Q1.63 format.

// Model GUID (16 bytes)
#define IMAI_MODEL_ID {0xdb, 0xac, 0x5e, 0x2b, 0xb1, 0x01, 0x55, 0x41, 0xa1, 0x7e, 0x31, 0xbe, 0x66, 0xc5, 0xb2, 0xb5}

// First nibble is bit encoding, second nibble is number of bytes
#define IMAGINET_TYPES_NONE	(0x0)
#define IMAGINET_TYPES_FLOAT32	(0x14)
#define IMAGINET_TYPES_FLOAT64	(0x18)
#define IMAGINET_TYPES_INT8	(0x21)
#define IMAGINET_TYPES_INT16	(0x22)
#define IMAGINET_TYPES_INT32	(0x24)
#define IMAGINET_TYPES_INT64	(0x28)
#define IMAGINET_TYPES_Q7	(0x31)
#define IMAGINET_TYPES_Q15	(0x32)
#define IMAGINET_TYPES_Q31	(0x34)
#define IMAGINET_TYPES_BOOL	(0x41)
#define IMAGINET_TYPES_STRING	(0x54)
#define IMAGINET_TYPES_D8	(0x61)
#define IMAGINET_TYPES_D16	(0x62)
#define IMAGINET_TYPES_D32	(0x64)
#define IMAGINET_TYPES_UINT8	(0x71)
#define IMAGINET_TYPES_UINT16	(0x72)
#define IMAGINET_TYPES_UINT32	(0x74)
#define IMAGINET_TYPES_UINT64	(0x78)

// data_out [4] (16 bytes)
#define IMAI_DATA_OUT_RANK (1)
#define IMAI_DATA_OUT_SHAPE (((int[]){4})
#define IMAI_DATA_OUT_COUNT (4)
#define IMAI_DATA_OUT_TYPE float
#define IMAI_DATA_OUT_TYPE_ID IMAGINET_TYPES_FLOAT32
#define IMAI_DATA_OUT_SHIFT 0
#define IMAI_DATA_OUT_OFFSET 0
#define IMAI_DATA_OUT_SCALE 1
#define IMAI_DATA_OUT_SYMBOLS {"unlabelled", "Need Maintenance", "Severe Failure", "Normal"}

// data_in [2,3] (24 bytes)
#define IMAI_DATA_IN_RANK (2)
#define IMAI_DATA_IN_SHAPE (((int[]){3, 2})
#define IMAI_DATA_IN_COUNT (6)
#define IMAI_DATA_IN_TYPE float
#define IMAI_DATA_IN_TYPE_ID IMAGINET_TYPES_FLOAT32
#define IMAI_DATA_IN_SHIFT 0
#define IMAI_DATA_IN_OFFSET 0
#define IMAI_DATA_IN_SCALE 1
#define IMAI_DATA_IN_SYMBOLS { }

#define IMAI_KEY_MAX (7)

// Return codes
#define IMAI_RET_SUCCESS 0
#define IMAI_RET_NODATA -1
#define IMAI_RET_ERROR -2
#define IMAI_RET_STREAMEND -3

#define IPWIN_RET_SUCCESS 0
#define IPWIN_RET_NODATA -1
#define IPWIN_RET_ERROR -2
#define IPWIN_RET_STREAMEND -3

// Exported methods
int IMAI_dequeue(float *restrict data_out);
int IMAI_enqueue(const float *restrict data_in);
void IMAI_finalize(void);
int IMAI_init(void);


#ifdef IMAI_REFLECTION

typedef enum {
    IMAI_PARAM_UNDEFINED = 0,
    IMAI_PARAM_INPUT = 1,
    IMAI_PARAM_OUTPUT = 2,
    IMAI_PARAM_REFERENCE = 3,
    IMAI_PARAM_HANDLE = 7,
} IMAI_param_attrib;

typedef char *label_text_t;

typedef struct {
    char* name;
    int size;
    label_text_t *labels;
} IMAI_shape_dim;

typedef struct {
    char* name;
    IMAI_param_attrib attrib;
    int32_t rank;
    IMAI_shape_dim *shape;
    int32_t count;
    int32_t type_id;
    float frequency;
    int shift;
    float scale;
    long offset;
} IMAI_param_def;

typedef enum {
    IMAI_FUNC_ATTRIB_NONE = 0,
    IMAI_FUNC_ATTRIB_CAN_FAIL = 1,
    IMAI_FUNC_ATTRIB_PUBLIC = 2,
    IMAI_FUNC_ATTRIB_INIT = 4,
    IMAI_FUNC_ATTRIB_DESTRUCTOR = 8,
} IMAI_func_attrib;

typedef struct {
    char* name;
    char* description;
    void* fn_ptr;
    IMAI_func_attrib attrib;
    int32_t param_count;
    IMAI_param_def *param_list;
} IMAI_func_def;

typedef struct {
    uint32_t size;
    uint32_t peak_usage;
} IMAI_mem_usage;

typedef enum {
    IMAI_API_TYPE_UNDEFINED = 0,
    IMAI_API_TYPE_FUNCTION = 1,
    IMAI_API_TYPE_QUEUE = 2,
    IMAI_API_TYPE_QUEUE_TIME = 3,
    IMAI_API_TYPE_USER_DEFINED = 4,
} IMAI_api_type;

typedef struct {
    uint32_t api_ver;
    uint8_t id[16];
    IMAI_api_type api_type;
    char* prefix;
    IMAI_mem_usage buffer_mem;
    IMAI_mem_usage static_mem;
    IMAI_mem_usage readonly_mem;
    int32_t func_count;
    IMAI_func_def *func_list;
} IMAI_api_def;

IMAI_api_def *IMAI_api(void);
#endif /* IMAI_REFLECTION */

Main.c

C/C++
/******************************************************************************
* File Name:   main.c
*
* Description: This is the main file for mtb-example-ml-deepcraft-deploy-motion 
* Code Example.
*
* Related Document: See README.md
*
*
*******************************************************************************
* Copyright 2024-2025, Cypress Semiconductor Corporation (an Infineon company) or
* an affiliate of Cypress Semiconductor Corporation.  All rights reserved.
*
* This software, including source code, documentation and related
* materials ("Software") is owned by Cypress Semiconductor Corporation
* or one of its affiliates ("Cypress") and is protected by and subject to
* worldwide patent protection (United States and foreign),
* United States copyright laws and international treaty provisions.
* Therefore, you may use this Software only as provided in the license
* agreement accompanying the software package from which you
* obtained this Software ("EULA").
* If no EULA applies, Cypress hereby grants you a personal, non-exclusive,
* non-transferable license to copy, modify, and compile the Software
* source code solely for use in connection with Cypress's
* integrated circuit products.  Any reproduction, modification, translation,
* compilation, or representation of this Software except as specified
* above is prohibited without the express written permission of Cypress.
*
* Disclaimer: THIS SOFTWARE IS PROVIDED AS-IS, WITH NO WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, NONINFRINGEMENT, IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress
* reserves the right to make changes to the Software without notice. Cypress
* does not assume any liability arising out of the application or use of the
* Software or any product or circuit described in the Software. Cypress does
* not authorize its products for use in any products where a malfunction or
* failure of the Cypress product may reasonably be expected to result in
* significant property damage, injury or death ("High Risk Product"). By
* including Cypress's product in a High Risk Product, the manufacturer
* of such system or application assumes all risk of such use and in doing
* so agrees to indemnify Cypress against all liability.
*******************************************************************************/

#include <float.h>
#include <stdbool.h>
#include "cyhal.h"
#include "cybsp.h"
#include "bmi270.h"
#include "cy_retarget_io.h"

/* Model to use */
#include <models/model.h>

/*******************************************************************************
* Macros
*******************************************************************************/
#define BMI270_ADDRESS (BMI2_I2C_PRIM_ADDR)

/* X, Y and Z axes */
#define AXIS_COUNT            (3)

/* Total number of sensors - Accelerometer & Gyroscope */
#define SENSOR_COUNT          (2)

/* Earth's gravity in m/s^2 */
#define GRAVITY_EARTH         (9.80665f)

/* Accelerometer range in G. Must be one of 2, 4, 8, 16 */
#define IMU_ACCEL_RANGE_G     (8)

/* Gyro range in degrees per second. Must be one of 125, 250, 500, 1000, 2000 */
#define IMU_GYRO_RANGE_DPS    (500)

/* IMU Sample frequency (Hz), must be one of 25, 50, 100, 200, 400 */
#define IMU_FREQ              (50)

/* I2C Config */
#define _I2C_TIMEOUT_MS            (10U)
#define _READ_WRITE_LEN            (46U)
#define _SOFT_RESET_DELAY_US       (300)

/*******************************************************************************
* Function Prototypes
*******************************************************************************/
static void init_board(void);
static void halt_error(int code);
static void imu_init(struct bmi2_dev* imu);
static float imu_lsb_to_mps2(int16_t val, float g_range, uint8_t bit_width);
static float imu_lsb_to_dps(int16_t val, float dps, uint8_t bit_width);
static bool imu_read(struct bmi2_dev* imu, float* dest);
static BMI2_INTF_RETURN_TYPE _bmi2_i2c_read(
        uint8_t reg_addr,
        uint8_t* reg_data,
        uint32_t len,
        void* intf_ptr);
static BMI2_INTF_RETURN_TYPE _bmi2_i2c_write(
        uint8_t reg_addr,
        const uint8_t* reg_data,
        uint32_t len,
        void* intf_ptr);
static void _bmi2_delay_us(uint32_t us, void* intf_ptr);


/*******************************************************************************
* Function Name: main
********************************************************************************
* Summary:
* This is the main function for CM4 CPU. It initializes BSP, IMU and the ML model.
* It reads data from IMU sensor continuously, processes it within the model and 
* displays the output.
*
* Parameters:
*  void
*
* Return:
*  int
*

*******************************************************************************/
int main(void)
{
    float data_buffer[SENSOR_COUNT * AXIS_COUNT];
    float label_scores[IMAI_DATA_OUT_COUNT];
    char *label_text[] = IMAI_DATA_OUT_SYMBOLS;
    struct bmi2_dev imu = {0};
    cy_rslt_t result;
    int16_t best_label;
    float max_score;

    /* Basic board setup */
    init_board();

    /* ANSI ESC sequence for clear screen */
    printf("\x1b[2J\x1b[;H\x1b[?25l");

    /* Initialize model */
    result = IMAI_init();
    halt_error(result);

    /* Initialize IMU sampling */
    imu_init(&imu);

    /* Initialize the User LED */
           result = cyhal_gpio_init(CYBSP_USER_LED1, CYHAL_GPIO_DIR_OUTPUT,
                                    CYHAL_GPIO_DRIVE_STRONG, CYBSP_LED_STATE_ON);
           /* GPIO init failed. Stop program execution */
               if (result != CY_RSLT_SUCCESS)
               {
                   CY_ASSERT(0);
               }
               result = cyhal_gpio_init(CYBSP_USER_LED2, CYHAL_GPIO_DIR_OUTPUT,
                                                   CYHAL_GPIO_DRIVE_STRONG, CYBSP_LED_STATE_ON);
    for (;;)
    {
        /* Move cursor home */
        printf("\033[H");
        printf("Predictive Machine Maintenance\r\n\n");
        //cyhal_gpio_write(CYBSP_USER_LED,CYBSP_LED_STATE_OFF);
        /* Read sensor data */
        memset(data_buffer, 0,  sizeof(data_buffer));
        if(!imu_read(&imu, data_buffer))
        {
            continue;
        }
        /* Give sensor data to model */
        result = IMAI_enqueue(data_buffer);
        halt_error(result);

        /* Check if there is any model output */
        best_label = 0;
        max_score = -1000.0f;
        switch(IMAI_dequeue(label_scores))
        {
            case IMAI_RET_SUCCESS:      /* We have data, display it */
                for(int i = 0; i < IMAI_DATA_OUT_COUNT; i++)
                {
                    printf("label: %-10s: score: %f\r\n", label_text[i], label_scores[i]);
                    if (label_scores[i] > max_score)
                    {
                        max_score = label_scores[i];
                        best_label = i;
                    }
                }
                printf("\r\n");
                printf("Output: %-30s\r\n", label_text[best_label]);
                printf("\r\n");
                printf("best lable: %d\r\n", best_label);
                if(best_label >0 )
                        {
                		cyhal_gpio_write(CYBSP_USER_LED2,CYBSP_LED_STATE_OFF); //Turn RED LED ON WHEN ANOMALLY Detected
                        }
                else {cyhal_gpio_write(CYBSP_USER_LED2,CYBSP_LED_STATE_ON);}

                break;
            case IMAI_RET_NODATA:   /* No new output, continue with sampling */
                break;
            case IMAI_RET_ERROR:    /* Abort on error */
                halt_error(IMAI_RET_ERROR);
                break;
        }
    }
}


/*******************************************************************************
* Function Name: init_board
********************************************************************************
* Summary:
*    This function is a one-time setup for the board that initializes the device 
*    and board peripherals
*
* Parameters:
*    void
*
* Return:
*    void
*
*
*******************************************************************************/
static void init_board(void)
{
    cy_rslt_t result;
    /* Clear watchdog timer so that it doesn't trigger a reset */
    #if defined (CY_DEVICE_SECURE)
        cyhal_wdt_t wdt_obj;
        result = cyhal_wdt_init(&wdt_obj, cyhal_wdt_get_max_timeout_ms());
        CY_ASSERT(CY_RSLT_SUCCESS == result);
        cyhal_wdt_free(&wdt_obj);
    #endif

    /* Initialize the device and board peripherals */
    result = cybsp_init();
    halt_error(result);

    /* Enable global interrupts */
    __enable_irq();

    /* Initialize retarget-io to use the debug UART port */
    result = cy_retarget_io_init_fc(
            CYBSP_DEBUG_UART_TX,
            CYBSP_DEBUG_UART_RX,
            CYBSP_DEBUG_UART_CTS,
            CYBSP_DEBUG_UART_RTS,
            CY_RETARGET_IO_BAUDRATE);
    halt_error(result);
}


/*******************************************************************************
* Function Name: halt_error
********************************************************************************
* Summary:
*    This function halts the execution using an infinite loop. If the given
*    parameter is 0 (for success) this function does nothing.    
*
* Parameters:
*    code          Return code from the calling function 
*                  
* Return:
*    void
*
*
*******************************************************************************/
static void halt_error(int code)
{
    if(code != 0) /* Universal success code */
    {
        for(;;) /* Infinite loop to halt the execution */
        {
        }
    }
}


/*******************************************************************************
* Function Name: imu_init
********************************************************************************
* Summary:
*    A function used to initialize and configure the BMI270 IMU sensor.
*
* Parameters:
*  imu          Pointer to the bmi2_dev structure.
*
* Return:
*     void
*
*
*******************************************************************************/
static void imu_init(struct bmi2_dev* imu)
{
    cy_rslt_t result;
    static cyhal_i2c_t i2c;
    struct bmi2_sens_config config[SENSOR_COUNT];
    uint8_t sens_list[SENSOR_COUNT] = { BMI2_ACCEL, BMI2_GYRO };

    /* I2C config structure */
    cyhal_i2c_cfg_t i2c_config =
    {
         .is_slave = false,
         .address = 0,
         .frequencyhal_hz = 400000
    };

    /* Initialize I2C */
    result = cyhal_i2c_init(&i2c, CYBSP_I2C_SDA, CYBSP_I2C_SCL, NULL);
    halt_error(result);

    /* Configure the I2C */
    result = cyhal_i2c_configure(&i2c, &i2c_config);
    halt_error(result);

    /* Initializes the bmi270 IMU */
    imu->intf = BMI2_I2C_INTF;
    imu->read = _bmi2_i2c_read;
    imu->write = _bmi2_i2c_write;
    imu->delay_us = _bmi2_delay_us;
    imu->intf_ptr = &i2c;
    imu->read_write_len = _READ_WRITE_LEN;
    imu->config_file_ptr = NULL;
    result = bmi270_init(imu);
    halt_error(result);

    /* Get sensor configuration */
    config[0].type = BMI2_ACCEL;
    config[1].type = BMI2_GYRO;
    result = bmi2_get_sensor_config(config, SENSOR_COUNT, imu);
    halt_error(result);

    /* Update the IMU configuration */
    config[0].type = BMI2_ACCEL;
    config[1].type = BMI2_GYRO;

    switch(IMU_FREQ) 
    {
        case 25:
            config[0].cfg.acc.odr = BMI2_ACC_ODR_25HZ;
            config[1].cfg.gyr.odr = BMI2_GYR_ODR_25HZ;
            break;
        case 50:
            config[0].cfg.acc.odr = BMI2_ACC_ODR_50HZ;
            config[1].cfg.gyr.odr = BMI2_GYR_ODR_50HZ;
            break;
        case 100:
            config[0].cfg.acc.odr = BMI2_ACC_ODR_100HZ;
            config[1].cfg.gyr.odr = BMI2_GYR_ODR_100HZ;
            break;
        case 200:
            config[0].cfg.acc.odr = BMI2_ACC_ODR_200HZ;
            config[1].cfg.gyr.odr = BMI2_GYR_ODR_200HZ;
            break;
        case 400:
            config[0].cfg.acc.odr = BMI2_ACC_ODR_400HZ;
            config[1].cfg.gyr.odr = BMI2_GYR_ODR_400HZ;
            break;
        case 800:
            config[0].cfg.acc.odr = BMI2_ACC_ODR_800HZ;
            config[1].cfg.gyr.odr = BMI2_GYR_ODR_800HZ;
            break;
        default:
            halt_error(-1);
            return;
    }

    switch(IMU_ACCEL_RANGE_G) 
    {
        case 2: 
            config[0].cfg.acc.range = BMI2_ACC_RANGE_2G;
            break;
        case 4: 
            config[0].cfg.acc.range = BMI2_ACC_RANGE_4G;
            break;
        case 8: 
            config[0].cfg.acc.range = BMI2_ACC_RANGE_8G;
            break;
        case 16: 
            config[0].cfg.acc.range = BMI2_ACC_RANGE_16G;
            break;
        default: 
            halt_error(-1);
            return;
    }

    switch(IMU_GYRO_RANGE_DPS) 
    {
        case 125: 
            config[1].cfg.gyr.range = BMI2_GYR_RANGE_125;
            break;
        case 250: 
            config[1].cfg.gyr.range = BMI2_GYR_RANGE_250;
            break;
        case 500: 
            config[1].cfg.gyr.range = BMI2_GYR_RANGE_500;
            break;
        case 1000: 
            config[1].cfg.gyr.range = BMI2_GYR_RANGE_1000;
            break;
        case 2000: 
            config[1].cfg.gyr.range = BMI2_GYR_RANGE_2000;
            break;
        default: 
            halt_error(-1);
            return;
    }

    /* The bandwidth parameter is used to configure the number of sensor samples that are averaged.
     * If it is set to 2, then 2^(bandwidth parameter) samples are averaged, resulting in 4
     * averaged samples.
     * Note1 : For more information, refer to the datasheet.
     * Note2 : A higher number of averaged samples will result in a lower noise level of the signal,
     * but this has an adverse effect on the power consumed.
     */
    config[0].cfg.acc.bwp = BMI2_ACC_OSR4_AVG1;

    /* Enable the filter performance mode where averaging of samples
     * will be done based on above set bandwidth and ODR.
     * There are two modes
     *  0 -> Ultra low power mode
     *  1 -> High performance mode (Default)
     * For more info refer to the datasheet.
     */
    config[0].cfg.acc.filter_perf = BMI2_PERF_OPT_MODE;

    /* Gyroscope Bandwidth parameters. By default the gyro bandwidth is in normal mode. */
    config[1].cfg.gyr.bwp = BMI2_GYR_NORMAL_MODE;

    /* Enable/Disable the noise performance mode for precision yaw rate sensing
     * There are two modes
     *  0 -> Ultra low power mode (Default)
     *  1 -> High performance mode
     */
    config[1].cfg.gyr.noise_perf = BMI2_POWER_OPT_MODE;

    /* Enable/Disable the filter performance mode where averaging of samples
     * will be done based on above set bandwidth and ODR.
     * There are two modes
     *  0 -> Ultra low power mode
     *  1 -> High performance mode (Default)
     */
    config[1].cfg.gyr.filter_perf = BMI2_PERF_OPT_MODE;

    /* Apply the configuration */
    result = bmi2_set_sensor_config(config, SENSOR_COUNT, imu);
    halt_error(result);

    /* Enable the sensors */
    result = bmi2_sensor_enable(sens_list, SENSOR_COUNT, imu);
    halt_error(result);
}

/*******************************************************************************
* Function Name: imu_lsb_to_mps2
********************************************************************************
* Summary:
*    This function is used to convert lsb to meter per second squared for 16-bit accelerometer.
*
* Parameters:
*  val          The raw 16-bit integer value from the accelerometer.
*  g_range      The range of the accelerometer in g (e.g. 2g, 4g, 8g, etc.).
*  bit_width    The bit width of the accelerometer's ADC (e.g. 16-bit).
*
* Return:
*     float
*
*
*******************************************************************************/
static float imu_lsb_to_mps2(int16_t val, float g_range, uint8_t bit_width)
{
    double power = 2;

    float half_scale = (float)((pow((double)power, (double)bit_width) / 2.0f));

    return (GRAVITY_EARTH * val * g_range) / half_scale;
}


/*******************************************************************************
* Function Name: imu_lsb_to_dps
********************************************************************************
* Summary:
*    A function used to convert lsb to degree per second for 16-bit gyro.
*
* Parameters:
*  val          The raw 16-bit integer value from the gyro.
*  dps          The full scale range of the gyro in degrees per second.
*  bit_width    The bit width of the gyro's ADC (e.g. 16-bit).
*
* Return:
*     float
*
*
*******************************************************************************/
static float imu_lsb_to_dps(int16_t val, float dps, uint8_t bit_width)
{
    double power = 2;

    float half_scale = (float)((pow((double)power, (double)bit_width) / 2.0f));

    return (dps / (half_scale)) * (val);
}


/*******************************************************************************
* Function Name: imu_read
********************************************************************************
* Summary:
*    This function is used to read the current BMI270 data and convert it.
*
* Parameters:
*  imu          A pointer to the bmi2_dev structure.
*  dest         A pointer to a float array to store the scaled sensor data.
*
* Return:
*     bool
*
*
*******************************************************************************/
static bool imu_read(struct bmi2_dev* imu, float* dest)
{
    int8_t result;
    struct bmi2_sens_data data = { { 0 } };

    result = bmi2_get_sensor_data(&data, imu);

    if(result != BMI2_OK)
    {
        return false;
    }

    if(!(data.status & BMI2_DRDY_ACC) || !(data.status & BMI2_DRDY_GYR))
    {
        return false;
    }

    *dest++ = imu_lsb_to_mps2(data.acc.x, IMU_ACCEL_RANGE_G, imu->resolution);
    *dest++ = imu_lsb_to_mps2(data.acc.y, IMU_ACCEL_RANGE_G, imu->resolution);
    *dest++ = imu_lsb_to_mps2(data.acc.z, IMU_ACCEL_RANGE_G, imu->resolution);
    *dest++ = imu_lsb_to_dps(data.gyr.x, IMU_GYRO_RANGE_DPS, imu->resolution);
    *dest++ = imu_lsb_to_dps(data.gyr.y, IMU_GYRO_RANGE_DPS, imu->resolution);
    *dest++ = imu_lsb_to_dps(data.gyr.z, IMU_GYRO_RANGE_DPS, imu->resolution);

    return true;
}


/*****************************************************************************
* Function name: _bmi2_i2c_read
*****************************************************************************
* Summary:
*   This function handles I2C read operations
*
* Parameters:
*  reg_addr    8-bit register address of the sensor
*  reg_data    Data from the specified address
*  len         Length of the reg_data array
*  intf_ptr    Void pointer that can enable the linking of descriptors for
*              interface related callbacks
*
* Return:
*  int8_t     Status of execution
*
*****************************************************************************/
static BMI2_INTF_RETURN_TYPE _bmi2_i2c_read(
        uint8_t reg_addr,
        uint8_t* reg_data,
        uint32_t len,
        void* intf_ptr)
{
    cyhal_i2c_t *i2c = (cyhal_i2c_t*)intf_ptr;

    return (BMI2_INTF_RETURN_TYPE)cyhal_i2c_master_mem_read(
        i2c,
        BMI270_ADDRESS,
        reg_addr,
        1,
        reg_data,
        (uint16_t)len,
        _I2C_TIMEOUT_MS);
}


/*****************************************************************************
* Function name: _bmi2_i2c_write
*****************************************************************************
* Summary:
*   This function handles I2C write operations.
*
* Parameters:
*  reg_addr    8-bit register address of the sensor
*  reg_data    Data from the specified address
*  len         Length of the reg_data array
*  intf_ptr    Void pointer that can enable the linking of descriptors for
*              interface related callbacks
*
* Return:
*  int8_t     Status of execution
*
*****************************************************************************/
static BMI2_INTF_RETURN_TYPE _bmi2_i2c_write(
        uint8_t reg_addr,
        const uint8_t* reg_data,
        uint32_t len,
        void* intf_ptr)
{
    cyhal_i2c_t *i2c = (cyhal_i2c_t*)intf_ptr;

    return (BMI2_INTF_RETURN_TYPE)cyhal_i2c_master_mem_write(
        i2c,
        BMI270_ADDRESS,
        reg_addr,
        1,
        reg_data,
        (uint16_t)len,
        _I2C_TIMEOUT_MS);
}


/*****************************************************************************
* Function name: _bmi2_delay_us
*****************************************************************************
* Summary:
*   This function introduces specified delay
*
* Parameters:
*  us           The time period in microseconds
*  intf_ptr     Void pointer that can enable the linking of descriptors for
*               interface related callbacks
*
* Return:
*  void
*
*****************************************************************************/
static void _bmi2_delay_us(uint32_t us, void* intf_ptr)
{
    (void)(intf_ptr);

    cyhal_system_delay_us(us);
}

predective Maintenance ModusToolbox Project and DEEPCraft studio project

Credits

Eslam Fayad
9 projects • 13 followers
R&D Passionate about learning Programming concepts and possess the ability to handle work pressure and customer issues professionally.

Comments