14b672db6ee89c9846451bbab23cf18e93c4260b2hding/* 24b672db6ee89c9846451bbab23cf18e93c4260b2hding * Copyright (c) 2007-2011 Intel Corporation. All Rights Reserved. 34b672db6ee89c9846451bbab23cf18e93c4260b2hding * 44b672db6ee89c9846451bbab23cf18e93c4260b2hding * Permission is hereby granted, free of charge, to any person obtaining a 54b672db6ee89c9846451bbab23cf18e93c4260b2hding * copy of this software and associated documentation files (the 64b672db6ee89c9846451bbab23cf18e93c4260b2hding * "Software"), to deal in the Software without restriction, including 74b672db6ee89c9846451bbab23cf18e93c4260b2hding * without limitation the rights to use, copy, modify, merge, publish, 84b672db6ee89c9846451bbab23cf18e93c4260b2hding * distribute, sub license, and/or sell copies of the Software, and to 94b672db6ee89c9846451bbab23cf18e93c4260b2hding * permit persons to whom the Software is furnished to do so, subject to 104b672db6ee89c9846451bbab23cf18e93c4260b2hding * the following conditions: 114b672db6ee89c9846451bbab23cf18e93c4260b2hding * 124b672db6ee89c9846451bbab23cf18e93c4260b2hding * The above copyright notice and this permission notice (including the 134b672db6ee89c9846451bbab23cf18e93c4260b2hding * next paragraph) shall be included in all copies or substantial portions 144b672db6ee89c9846451bbab23cf18e93c4260b2hding * of the Software. 154b672db6ee89c9846451bbab23cf18e93c4260b2hding * 164b672db6ee89c9846451bbab23cf18e93c4260b2hding * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 174b672db6ee89c9846451bbab23cf18e93c4260b2hding * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 184b672db6ee89c9846451bbab23cf18e93c4260b2hding * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 194b672db6ee89c9846451bbab23cf18e93c4260b2hding * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR 204b672db6ee89c9846451bbab23cf18e93c4260b2hding * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 214b672db6ee89c9846451bbab23cf18e93c4260b2hding * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 224b672db6ee89c9846451bbab23cf18e93c4260b2hding * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 234b672db6ee89c9846451bbab23cf18e93c4260b2hding */ 244b672db6ee89c9846451bbab23cf18e93c4260b2hding 254b672db6ee89c9846451bbab23cf18e93c4260b2hding/* 264b672db6ee89c9846451bbab23cf18e93c4260b2hding * it is a real program to show how VAAPI transcode work, 274b672db6ee89c9846451bbab23cf18e93c4260b2hding * It will decode a simple mpeg2 clip(320x240) and scale it to 1280x960, 284b672db6ee89c9846451bbab23cf18e93c4260b2hding * then it will encode it to a 264 file(test.264). 294b672db6ee89c9846451bbab23cf18e93c4260b2hding * 304b672db6ee89c9846451bbab23cf18e93c4260b2hding * ./mpeg2transcode : only do decode 314b672db6ee89c9846451bbab23cf18e93c4260b2hding * ./mpeg2transcode <any parameter >: decode+vpp+encode 324b672db6ee89c9846451bbab23cf18e93c4260b2hding * 334b672db6ee89c9846451bbab23cf18e93c4260b2hding */ 344b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <stdio.h> 354b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <string.h> 364b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <stdlib.h> 374b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <getopt.h> 384b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <unistd.h> 394b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <sys/types.h> 404b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <sys/stat.h> 414b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <fcntl.h> 424b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <assert.h> 434b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <va/va.h> 444b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <va/va_enc_h264.h> 454b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <va/va_vpp.h> 464b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <va/va_compat.h> 474b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <pthread.h> 484b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <time.h> 494b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <sys/time.h> 504b672db6ee89c9846451bbab23cf18e93c4260b2hding 514b672db6ee89c9846451bbab23cf18e93c4260b2hding#ifdef ANDROID 524b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <va/va_android.h> 534b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <binder/IPCThreadState.h> 544b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <binder/ProcessState.h> 554b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <binder/IServiceManager.h> 564b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <utils/Log.h> 574b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <surfaceflinger/ISurfaceComposer.h> 584b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <surfaceflinger/Surface.h> 594b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <surfaceflinger/ISurface.h> 604b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <surfaceflinger/SurfaceComposerClient.h> 614b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <binder/MemoryHeapBase.h> 624b672db6ee89c9846451bbab23cf18e93c4260b2hding#define Display unsigned int 634b672db6ee89c9846451bbab23cf18e93c4260b2hding 644b672db6ee89c9846451bbab23cf18e93c4260b2hdingusing namespace android; 654b672db6ee89c9846451bbab23cf18e93c4260b2hdingsp<SurfaceComposerClient> client; 664b672db6ee89c9846451bbab23cf18e93c4260b2hdingsp<Surface> android_surface; 674b672db6ee89c9846451bbab23cf18e93c4260b2hdingsp<ISurface> android_isurface; 684b672db6ee89c9846451bbab23cf18e93c4260b2hdingsp<SurfaceControl> surface_ctrl; 694b672db6ee89c9846451bbab23cf18e93c4260b2hding#include "../android_winsys.cpp" 704b672db6ee89c9846451bbab23cf18e93c4260b2hding#else 714b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <va/va_x11.h> 724b672db6ee89c9846451bbab23cf18e93c4260b2hding#include <X11/Xlib.h> 734b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 744b672db6ee89c9846451bbab23cf18e93c4260b2hding 754b672db6ee89c9846451bbab23cf18e93c4260b2hding#define CHECK_VASTATUS(va_status,func) \ 764b672db6ee89c9846451bbab23cf18e93c4260b2hdingif (va_status != VA_STATUS_SUCCESS) { \ 774b672db6ee89c9846451bbab23cf18e93c4260b2hding fprintf(stderr,"%s:%s (%d) failed,exit\n", __func__, func, __LINE__); \ 784b672db6ee89c9846451bbab23cf18e93c4260b2hding exit(1); \ 794b672db6ee89c9846451bbab23cf18e93c4260b2hding} 804b672db6ee89c9846451bbab23cf18e93c4260b2hding 814b672db6ee89c9846451bbab23cf18e93c4260b2hding/* Data dump of a 320x240 MPEG-2 video clip (mpeg2.m2v), it has a single frame */ 824b672db6ee89c9846451bbab23cf18e93c4260b2hding#define MPEG2_CLIP_DATA_SIZE 19311 834b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic unsigned char mpeg2_clip[MPEG2_CLIP_DATA_SIZE] = { 844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x00, 0x01, 0xb3, 0x14, 0x00, 0xf0, 0x12, 0x07, 0x53, 0x23, 0x80, 854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x00, 0x01, 0xb5, 0x14, 0x8a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0xb5, 0x2b, 0x02, 0x02, 0x02, 0x05, 0x02, 0x07, 0x80, 0x00, 0x00, 874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0xb8, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0f, 884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xff, 0xf8, 0x00, 0x00, 0x01, 0xb5, 0x8f, 0xff, 0xf7, 0x5d, 0x80, 0x00, 894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x01, 0x01, 0x43, 0xf8, 0x90, 0x03, 0xee, 0x36, 0xd4, 0x92, 0x85, 904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x86, 0x37, 0x48, 0x01, 0xb3, 0xf7, 0x9a, 0x1d, 0x5c, 0x38, 0xb1, 0x95, 914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb9, 0x42, 0x43, 0xb2, 0xc2, 0x51, 0x24, 0x31, 0xb2, 0xed, 0x20, 0x73, 924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd9, 0x08, 0xcc, 0x5b, 0xe2, 0x39, 0xbc, 0xdb, 0x12, 0xb7, 0x8c, 0x31, 934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbf, 0x6c, 0x00, 0xc3, 0xeb, 0xc3, 0xd0, 0x6c, 0x3e, 0x16, 0xde, 0xa8, 944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x89, 0xf3, 0xc1, 0x17, 0xda, 0x5a, 0x4f, 0xca, 0xb0, 0x6b, 0x7c, 0x07, 954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbb, 0x6c, 0x95, 0x8f, 0x74, 0x35, 0xaa, 0x45, 0x65, 0xb4, 0x35, 0xbf, 964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd4, 0x22, 0xab, 0xfe, 0x80, 0x07, 0x7c, 0xed, 0x7a, 0x97, 0x2b, 0xaf, 974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2f, 0x72, 0x64, 0x81, 0x86, 0x0f, 0x6f, 0x9a, 0x7b, 0x02, 0x10, 0x07, 984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x76, 0x2f, 0x01, 0x30, 0x01, 0x2d, 0x21, 0x37, 0x89, 0xbc, 0x74, 0x00, 994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf4, 0xc3, 0x6b, 0xa4, 0x1f, 0x65, 0xa7, 0xb6, 0xff, 0x6d, 0x9f, 0x6f, 1004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x77, 0xa8, 0x5b, 0xa7, 0x95, 0x90, 0x2e, 0x2b, 0x71, 0xec, 0x35, 1014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf4, 0x96, 0x92, 0x33, 0xa9, 0x92, 0x48, 0xdf, 0xcf, 0x50, 0x39, 0x13, 1024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd1, 0xbd, 0x25, 0x4f, 0xbe, 0x5b, 0x10, 0x25, 0x6e, 0x14, 0xdc, 0x5e, 1034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe0, 0x7b, 0x7a, 0x3d, 0x04, 0x2f, 0xf2, 0xb8, 0x84, 0x38, 0xdd, 0x16, 1044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x94, 0xdb, 0x46, 0xfd, 0xdf, 0x3a, 0x00, 0x7a, 0xf9, 0x49, 0x45, 0xb7, 1054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x52, 0xe9, 0x03, 0x9a, 0x4a, 0x40, 0xf8, 0x14, 0xdc, 0xa7, 0x4d, 0xf7, 1064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbc, 0x25, 0x04, 0xa0, 0x04, 0x2a, 0x81, 0x6d, 0xda, 0x36, 0x67, 0x1b, 1074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb8, 0x48, 0x96, 0xb7, 0x49, 0xea, 0xd9, 0x1c, 0x8d, 0xf8, 0xfb, 0x80, 1084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0x50, 0x9c, 0x13, 0x43, 0xae, 0x94, 0x07, 0x36, 0xff, 0x8b, 0x00, 1094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1c, 0x8a, 0x35, 0x00, 0x20, 0x49, 0x40, 0xdb, 0x74, 0x05, 0x82, 0x10, 1104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x03, 0xcd, 0x28, 0x29, 0x06, 0x56, 0xf1, 0x2f, 0xc0, 0x03, 0xd1, 0x22, 1114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x26, 0xd0, 0x08, 0x0a, 0x03, 0x4d, 0x27, 0x37, 0x5d, 0x2f, 0x36, 0xb7, 1124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe9, 0xef, 0x7a, 0x00, 0xd0, 0x83, 0xe5, 0x14, 0x65, 0x8a, 0x62, 0xd9, 1134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe2, 0x31, 0xb8, 0x3e, 0xef, 0x15, 0xbd, 0xdc, 0xb8, 0xf4, 0xa3, 0x4a, 1144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb9, 0x36, 0x1c, 0xde, 0xe7, 0x41, 0x08, 0x01, 0xb8, 0x79, 0xe0, 0x11, 1154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4a, 0xbe, 0x07, 0xca, 0xdf, 0x2d, 0xea, 0x5d, 0x11, 0x99, 0xb0, 0x2c, 1164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3a, 0x6e, 0x41, 0xaa, 0x5b, 0x23, 0xf2, 0xb5, 0x5a, 0x41, 0xcd, 0xd8, 1174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x42, 0xad, 0xf7, 0x78, 0xc8, 0x2d, 0xdc, 0x51, 0x70, 0x72, 0xcc, 0xd8, 1184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb4, 0x75, 0x85, 0x43, 0x94, 0x25, 0xbd, 0x5e, 0xf9, 0x3c, 0x49, 0xbc, 1194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe5, 0xa3, 0x2b, 0xb8, 0x49, 0x0a, 0x26, 0xd2, 0xa7, 0xea, 0x8d, 0xfd, 1204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb1, 0xf7, 0xdd, 0x22, 0x8b, 0xef, 0xce, 0x5a, 0x51, 0x66, 0x64, 0x33, 1214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8a, 0x85, 0x53, 0xc0, 0x7b, 0x51, 0x22, 0x34, 0xe8, 0xd7, 0xd0, 0x09, 1224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8f, 0x5a, 0x53, 0xb8, 0x54, 0x1b, 0x4b, 0x2c, 0xbb, 0xaa, 0x18, 0xd5, 1234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x69, 0x6d, 0xd2, 0xfa, 0xba, 0x5b, 0x7c, 0x67, 0xc9, 0x37, 0x51, 0x02, 1244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x37, 0x8a, 0x6a, 0xec, 0x2b, 0x03, 0x94, 0xe4, 0x1e, 0xad, 0xce, 0x96, 1254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x95, 0x84, 0x34, 0x5a, 0x38, 0x63, 0x58, 0x90, 0x44, 0x0e, 0xa1, 0x35, 1264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf4, 0xa0, 0xf3, 0xe1, 0x55, 0x0a, 0x46, 0x12, 0x5b, 0x93, 0x2c, 0x0c, 1274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x95, 0x51, 0x62, 0x94, 0x34, 0x34, 0x2d, 0xaa, 0x36, 0x8d, 0xf3, 0xbb, 1284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0e, 0xe3, 0x37, 0x54, 0x02, 0x32, 0x83, 0x29, 0xd0, 0xea, 0xce, 0x7e, 1294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x95, 0x3c, 0x26, 0x9a, 0xd0, 0xcb, 0x9c, 0xba, 0xa8, 0x49, 0x8e, 0x2d, 1304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x68, 0x4d, 0x65, 0xa9, 0xaa, 0x05, 0xb2, 0x8c, 0x37, 0xe9, 0x5e, 0xfc, 1314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x7a, 0xe7, 0x4e, 0x1e, 0xa3, 0xe5, 0x9b, 0xb9, 0x42, 0x52, 0xc3, 1324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe3, 0x3f, 0x3f, 0x39, 0x86, 0x59, 0xb8, 0x80, 0x2a, 0xa9, 0x65, 0x3d, 1334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa9, 0xd4, 0xfb, 0xf4, 0xf9, 0x65, 0x1e, 0xa9, 0x62, 0x6c, 0x18, 0x30, 1344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf8, 0xdb, 0x5f, 0xb7, 0x8e, 0xde, 0xe7, 0x1b, 0xe2, 0x84, 0xc0, 0x86, 1354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe3, 0x71, 0x37, 0x0a, 0x0b, 0x29, 0xbc, 0xe4, 0x33, 0x31, 0xbd, 0x1c, 1364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf3, 0x40, 0x1e, 0xee, 0x3b, 0x4c, 0x5f, 0xd0, 0x21, 0x00, 0x36, 0x96, 1374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3c, 0x7b, 0x76, 0xbd, 0xe9, 0xb5, 0xfd, 0x74, 0x81, 0xb6, 0xba, 0xdc, 1384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x25, 0x14, 0xde, 0x6f, 0xda, 0x80, 0x1f, 0xa4, 0xf3, 0x08, 0x0b, 0x38, 1394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x68, 0x6b, 0x75, 0x48, 0xdc, 0x52, 0x27, 0x1e, 0xf6, 0xa8, 0x0a, 0xaf, 1404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x91, 0xb9, 0x68, 0x48, 0x67, 0x8b, 0x70, 0xf7, 0xc7, 0x96, 0x3a, 0x5f, 1414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x59, 0x22, 0x59, 0xe2, 0xdc, 0xd7, 0x0c, 0xb9, 0x40, 0x07, 0xad, 0xf0, 1424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7e, 0x82, 0x74, 0x8c, 0x01, 0x6a, 0xe9, 0x63, 0x75, 0xcf, 0x59, 0x43, 1434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa1, 0x92, 0x04, 0x37, 0x86, 0xe2, 0xa5, 0x74, 0x50, 0x90, 0x1c, 0x43, 1444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3c, 0x6d, 0xf0, 0x18, 0xdb, 0xf6, 0xce, 0x24, 0x28, 0x29, 0xb9, 0xb4, 1454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xac, 0xc0, 0x29, 0xbd, 0x2d, 0xab, 0xb6, 0xa3, 0x6a, 0xdf, 0xa6, 0x8e, 1464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x73, 0xc5, 0xbb, 0x99, 0x90, 0x04, 0x66, 0x17, 0xea, 0xa7, 0xb7, 0xa5, 1474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe4, 0xa7, 0x6e, 0x69, 0x41, 0xbf, 0x9a, 0x60, 0xf3, 0xe0, 0xc6, 0x41, 1484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x74, 0x02, 0xbe, 0x38, 0x7e, 0x50, 0x4a, 0xff, 0xd9, 0x2d, 0x0d, 0x29, 1494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7c, 0x1b, 0xaa, 0x27, 0x5c, 0x00, 0xdb, 0xfa, 0x20, 0x5b, 0xe2, 0x52, 1504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe5, 0x8f, 0x11, 0xa6, 0xd8, 0x58, 0x6a, 0x52, 0x15, 0x6d, 0x0b, 0xb5, 1514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0xb6, 0x4d, 0xf0, 0x35, 0xb3, 0x76, 0xfa, 0xfe, 0x4b, 0xd0, 0x08, 1524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x31, 0xb4, 0x40, 0x1a, 0xab, 0x62, 0x80, 0x84, 0x01, 0x35, 0xe0, 0x9b, 1534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xff, 0xb2, 0x12, 0x19, 0x53, 0x94, 0x96, 0xd2, 0xdd, 0xbb, 0x0a, 0x66, 1544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0x1a, 0x36, 0x21, 0x40, 0x85, 0xff, 0x1b, 0x8f, 0x9e, 0xa6, 0x2a, 1554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0x75, 0xe3, 0x09, 0x0d, 0xb4, 0x18, 0xd4, 0xdd, 0xaf, 0x0e, 0x70, 1564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0x4a, 0x56, 0xe5, 0x11, 0x4f, 0x95, 0x28, 0x0a, 0xa8, 0xc6, 0xf4, 1574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x77, 0xf3, 0x79, 0x52, 0x4b, 0x4a, 0x5a, 0xb7, 0x3e, 0x7e, 0x6d, 0x24, 1584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x23, 0x44, 0x2d, 0x5b, 0xc2, 0x2d, 0x76, 0x6d, 0xa4, 0x3a, 0xdd, 0x61, 1594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x30, 0x00, 0xfe, 0x61, 0x26, 0x46, 0xfa, 0x10, 0x03, 0xf2, 0x2e, 0x00, 1604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x16, 0xfd, 0xb1, 0xfe, 0xdb, 0x32, 0x95, 0xa5, 0x08, 0xaf, 0x9c, 0xc1, 1614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc5, 0x28, 0x6b, 0x7a, 0x80, 0x02, 0xd1, 0x16, 0xfb, 0xbc, 0x56, 0xe0, 1624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5e, 0x8f, 0x75, 0x0d, 0x81, 0xac, 0x13, 0x21, 0xa4, 0x8a, 0x48, 0x63, 1634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x62, 0x42, 0xe3, 0x7e, 0xc1, 0xe0, 0x0f, 0xf9, 0x00, 0x72, 0x28, 0x4d, 1644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x14, 0xfb, 0x92, 0x1d, 0x8e, 0xb6, 0xa6, 0x58, 0x5d, 0xf4, 0xac, 0x7e, 1654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0x15, 0x80, 0x19, 0x7b, 0x3d, 0xf3, 0x65, 0xc2, 0xa7, 0x2e, 0xc3, 1664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xee, 0xc5, 0x28, 0xe6, 0x4f, 0xf8, 0xbf, 0x6f, 0x97, 0x0b, 0xe3, 0xae, 1674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf5, 0x4a, 0x2f, 0x69, 0x61, 0x63, 0x5b, 0xb6, 0x46, 0x00, 0x63, 0x74, 1684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4a, 0xdc, 0xd7, 0xe5, 0x4c, 0x42, 0xdb, 0x1d, 0xe3, 0x7b, 0xa4, 0xd7, 1694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8d, 0x28, 0x32, 0x35, 0x99, 0x75, 0x4b, 0x78, 0x64, 0x0c, 0x8d, 0xfc, 1704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa0, 0x00, 0x9c, 0x59, 0x10, 0x89, 0x79, 0x77, 0xc8, 0xa7, 0x95, 0x0d, 1714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc7, 0x96, 0x51, 0x87, 0xc5, 0xad, 0x84, 0x01, 0x1b, 0xaf, 0xdc, 0x40, 1724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa1, 0x79, 0xce, 0x52, 0xe5, 0x93, 0x1e, 0x56, 0x55, 0x01, 0xec, 0xf5, 1734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0xd0, 0xa4, 0x6f, 0xe8, 0x01, 0xef, 0xc4, 0xde, 0x49, 0xef, 0x5b, 1744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x36, 0x6c, 0x3a, 0xa5, 0x2e, 0x56, 0xee, 0xdd, 0x98, 0x62, 0x5a, 0x15, 1754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb4, 0xb4, 0x6e, 0xfd, 0x44, 0x21, 0x96, 0x31, 0xba, 0x1f, 0x62, 0x20, 1764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0f, 0x98, 0x00, 0x00, 0x01, 0x02, 0x43, 0xf8, 0x37, 0x13, 0x05, 0xdd, 1774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0xa9, 0x4b, 0x6c, 0xa2, 0xbc, 0xc5, 0x6e, 0x6c, 0x21, 0x12, 0x23, 1784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x77, 0x3e, 0x68, 0x05, 0xa2, 0xdf, 0x8e, 0xcf, 0x02, 0xe1, 0x60, 0x73, 1794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x79, 0x09, 0x08, 0x0e, 0x74, 0x25, 0x49, 0x1b, 0xcc, 0x42, 0xca, 0x21, 1804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0x90, 0xdf, 0x40, 0x10, 0xff, 0xe7, 0x1d, 0x2e, 0x92, 0x59, 0x94, 1814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0x94, 0xbf, 0x16, 0xe7, 0xdc, 0x34, 0xb6, 0xd7, 0xb0, 0xd9, 0x2d, 1824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x50, 0x81, 0xc5, 0x35, 0x0f, 0x6a, 0x6f, 0xd4, 0xea, 0xfd, 0x5e, 0xa0, 1834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x03, 0x0a, 0xad, 0xc9, 0xee, 0x5f, 0x8e, 0x78, 0xb2, 0xc0, 0xc0, 0xe2, 1844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbd, 0x4a, 0x46, 0xd5, 0xed, 0x27, 0x2e, 0xe1, 0xea, 0x13, 0x76, 0xd1, 1854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc1, 0x65, 0x90, 0x99, 0xb6, 0x00, 0x1a, 0x24, 0x9e, 0x12, 0x87, 0xc8, 1864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x14, 0x96, 0x10, 0xda, 0x60, 0x74, 0xd0, 0x2d, 0x85, 0x30, 0xaa, 0xdf, 1874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x15, 0xff, 0x9c, 0x02, 0xaa, 0x36, 0xdb, 0x2d, 0xdb, 0x9b, 0xa0, 0x10, 1884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc4, 0x94, 0x87, 0x1b, 0x3e, 0x02, 0x17, 0xfc, 0x6b, 0x88, 0x70, 0xf4, 1894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x21, 0x37, 0x7c, 0x5c, 0x9c, 0xba, 0xda, 0xac, 0x13, 0x59, 0x1f, 0x1b, 1904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xca, 0x2b, 0x30, 0x5e, 0xe3, 0xa2, 0x78, 0xd0, 0xe2, 0x43, 0x7b, 0x87, 1914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x53, 0x70, 0xbc, 0xa1, 0xb0, 0xf8, 0x12, 0xde, 0x44, 0x01, 0xf8, 0xaa, 1924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x94, 0xf9, 0x43, 0x71, 0x51, 0xb4, 0x3f, 0x20, 0x9e, 0x6c, 0x49, 0x03, 1934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x75, 0x76, 0x86, 0x42, 0x96, 0x95, 0x2b, 0x5a, 0x07, 0xb6, 0xfc, 0x97, 1944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8d, 0xfa, 0x7f, 0xa3, 0xcd, 0x91, 0xe6, 0x78, 0xc2, 0xc2, 0x5b, 0x77, 1954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7b, 0x48, 0xf6, 0x3d, 0x03, 0x21, 0xbd, 0x62, 0x58, 0x16, 0xb1, 0xbc, 1964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdc, 0xe7, 0xce, 0x77, 0x2b, 0xf4, 0x05, 0x7d, 0x29, 0x30, 0x69, 0xf2, 1974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x37, 0x55, 0xd8, 0x00, 0x73, 0x3b, 0x89, 0x02, 0xad, 0x2c, 0x84, 0x3d, 1984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb0, 0x43, 0x25, 0x6c, 0x2c, 0x4a, 0xab, 0xe8, 0xde, 0x7d, 0xe3, 0x40, 1994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1d, 0x3f, 0xb7, 0x89, 0x90, 0x35, 0x1d, 0x76, 0xa8, 0xd2, 0x6c, 0x2d, 2004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x28, 0x5b, 0x78, 0xb7, 0xf3, 0x7e, 0x57, 0xcc, 0x22, 0x49, 0xdd, 0x2a, 2014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa0, 0xd2, 0x83, 0x29, 0x6d, 0xf6, 0x3d, 0xbe, 0x73, 0x1c, 0x80, 0x10, 2024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x45, 0x25, 0xa9, 0x5e, 0xad, 0xe0, 0xc5, 0xf2, 0x00, 0x70, 0x27, 0x84, 2034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd8, 0xa7, 0xee, 0xee, 0x59, 0x9b, 0x83, 0x40, 0x79, 0x22, 0xb5, 0x38, 2044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0c, 0xc5, 0x6e, 0x8c, 0xa0, 0x16, 0x87, 0x90, 0xa3, 0x6f, 0xed, 0x2f, 2054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0f, 0xf3, 0x59, 0x20, 0x13, 0x0f, 0x2d, 0x4e, 0x0a, 0x30, 0x39, 0x84, 2064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd3, 0x69, 0x8b, 0x92, 0x04, 0x17, 0x8e, 0x81, 0x1b, 0x15, 0x6e, 0x8e, 2074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x29, 0xb8, 0x9c, 0x39, 0x53, 0x12, 0x5a, 0x51, 0x65, 0x42, 0xa4, 0x2b, 2084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd2, 0x9c, 0xdb, 0x38, 0x9e, 0x7a, 0x8b, 0x42, 0x4b, 0x2c, 0x30, 0xe4, 2094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6e, 0x88, 0x53, 0x7a, 0x27, 0xc6, 0xf0, 0xe8, 0x21, 0x00, 0x45, 0x28, 2104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0xb5, 0x46, 0x1e, 0x7b, 0x64, 0x32, 0x6c, 0x9e, 0x31, 0x15, 0x15, 2114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0xe1, 0x68, 0x52, 0x80, 0x8a, 0xd1, 0xcd, 0xa2, 0x6d, 0xe6, 0x3f, 2124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x65, 0xaa, 0x33, 0x0a, 0xc9, 0x12, 0x05, 0xa8, 0xd0, 0x86, 0x6c, 0x37, 2134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc6, 0xd8, 0x85, 0x94, 0x07, 0x36, 0x7e, 0xad, 0xeb, 0x92, 0x45, 0x2d, 2144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0x69, 0x99, 0xb8, 0x50, 0x16, 0xdc, 0x30, 0x43, 0x00, 0x77, 0x3a, 2154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0x0c, 0x59, 0x1c, 0xd9, 0xcf, 0xc6, 0xd6, 0xf4, 0x11, 0xb0, 0x00, 2164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf4, 0x5e, 0x15, 0xe2, 0x91, 0x07, 0xb7, 0xad, 0xc9, 0x99, 0xed, 0x53, 2174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x03, 0x22, 0xea, 0xcb, 0x40, 0x44, 0x3c, 0x73, 0x78, 0x31, 0x91, 0xbd, 2184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x75, 0x04, 0x2f, 0xf7, 0xde, 0xc9, 0x20, 0x73, 0x61, 0x69, 0xcd, 0x82, 2194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x90, 0x7c, 0x90, 0x86, 0xdd, 0x32, 0x25, 0x75, 0xd9, 0x03, 0x10, 0xec, 2204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0xc0, 0x73, 0x74, 0x76, 0x65, 0xce, 0x6c, 0xd0, 0x83, 0x65, 0x90, 2214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x34, 0x7b, 0x70, 0xdc, 0x1d, 0xe6, 0x70, 0x46, 0x4c, 0xe0, 0xaf, 0x1a, 2224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdd, 0xcd, 0x04, 0x20, 0x08, 0xda, 0x62, 0x04, 0xaa, 0xcf, 0x45, 0x52, 2234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4b, 0x68, 0x37, 0x21, 0x21, 0xb6, 0xda, 0x01, 0x52, 0xe1, 0x0a, 0x96, 2244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdf, 0x21, 0x7c, 0x8f, 0xf5, 0x8d, 0x6f, 0x60, 0x85, 0xfe, 0x0e, 0x11, 2254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x08, 0x66, 0xd2, 0x11, 0x4b, 0x58, 0x6c, 0xa9, 0x55, 0xbd, 0x08, 0xb9, 2264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x48, 0xbd, 0xd3, 0x82, 0x90, 0xc8, 0x07, 0xb6, 0x81, 0xad, 0xe7, 0x37, 2274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0xa5, 0x18, 0x07, 0x36, 0x5e, 0x4a, 0x76, 0x72, 0x42, 0xbe, 0x44, 2284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0xd6, 0x8a, 0x8c, 0xbc, 0xda, 0xf7, 0x3a, 0xe6, 0x50, 0xbc, 0xa9, 2294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0x74, 0xa4, 0xb6, 0x89, 0xf8, 0xad, 0x03, 0x5b, 0xa3, 0x98, 0x96, 2304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x69, 0x25, 0x5a, 0xc2, 0x3a, 0x8a, 0xc3, 0x70, 0xa1, 0xf1, 0x1e, 0x9b, 2314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x21, 0xc1, 0x95, 0xae, 0xae, 0x27, 0x79, 0x4b, 0x09, 0x11, 0xba, 0xe4, 2324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6c, 0x00, 0xb3, 0xaf, 0x32, 0x6d, 0x1c, 0x41, 0xf3, 0x96, 0x58, 0x01, 2334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfb, 0x73, 0x3a, 0xc4, 0x90, 0x96, 0x48, 0x60, 0xf9, 0x63, 0x7e, 0x28, 2344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8b, 0x28, 0x9e, 0xa6, 0x1b, 0x03, 0x15, 0x64, 0x41, 0xad, 0xec, 0xbe, 2354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5d, 0xaf, 0x15, 0x9a, 0xfc, 0x81, 0xb7, 0x0e, 0xa9, 0xea, 0xd9, 0xba, 2364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcb, 0x61, 0xa5, 0xd0, 0xc5, 0x1c, 0xde, 0x87, 0xcf, 0x8f, 0xed, 0x11, 2374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x98, 0x2f, 0x29, 0x69, 0x70, 0x02, 0xb7, 0xe4, 0x85, 0xcf, 0x05, 0xa3, 2384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1a, 0xf2, 0x17, 0x11, 0x93, 0x7d, 0xb0, 0x06, 0x7b, 0x99, 0xa4, 0x7e, 2394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa9, 0x03, 0x99, 0x2a, 0x79, 0xc7, 0x3f, 0x52, 0xde, 0x29, 0x94, 0xa5, 2404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8a, 0x4b, 0x8d, 0xe3, 0xdf, 0xf9, 0x6f, 0xba, 0x80, 0x3d, 0x15, 0xfe, 2414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x7d, 0x9e, 0xfc, 0x7b, 0x91, 0x93, 0x62, 0xe9, 0x3f, 0x9c, 0xcf, 2424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x27, 0x07, 0xdb, 0x46, 0x16, 0x5a, 0xc6, 0xe2, 0x8b, 0xfb, 0xe8, 0x02, 2434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x37, 0x88, 0x77, 0xc4, 0x1c, 0x95, 0x64, 0xaf, 0xde, 0x6c, 0xf2, 0x85, 2444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x41, 0xc5, 0xb2, 0xb6, 0x57, 0xcb, 0x28, 0xf4, 0x89, 0x19, 0xd1, 0x96, 2454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x50, 0xa6, 0xfc, 0xf7, 0xfc, 0x53, 0xfd, 0xc8, 0xf9, 0x9c, 0x3e, 0x06, 2464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x27, 0x39, 0x78, 0xd4, 0x01, 0x5c, 0xa8, 0xa7, 0x0e, 0x6f, 0xd4, 0x42, 2474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x0b, 0xfc, 0xfe, 0x04, 0xb8, 0x84, 0xf9, 0x6c, 0xf0, 0x2c, 0xa6, 2484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc9, 0xfd, 0xdb, 0xfe, 0xfa, 0x72, 0xb6, 0x84, 0x38, 0xd4, 0x7f, 0xa8, 2494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xea, 0xda, 0x44, 0xe0, 0x01, 0x9f, 0xb8, 0xbd, 0x72, 0x86, 0x99, 0x52, 2504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x42, 0x14, 0x6e, 0xbd, 0x86, 0xee, 0x12, 0xe4, 0x6e, 0xbd, 0x86, 0xee, 2514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x12, 0xe4, 0x6e, 0x90, 0x07, 0xbe, 0xfd, 0xf3, 0xcc, 0x86, 0x3e, 0xd4, 2524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0x01, 0x87, 0x64, 0x5f, 0x16, 0xe9, 0x09, 0xef, 0x9d, 0x7d, 0xb6, 2534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbf, 0x68, 0xd5, 0x6d, 0x6d, 0xe0, 0x80, 0x14, 0x68, 0x20, 0x80, 0xaf, 2544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xde, 0x73, 0xce, 0x50, 0xc9, 0xc4, 0x3b, 0x68, 0xcf, 0x46, 0xdd, 0x4b, 2554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3d, 0xb5, 0x54, 0xdb, 0x1b, 0xe7, 0x00, 0x3d, 0xfa, 0x40, 0x07, 0x8f, 2564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc7, 0x11, 0xf1, 0x5e, 0x55, 0x5a, 0xe7, 0x47, 0x47, 0xe4, 0x9e, 0x6a, 2574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x88, 0x10, 0xdf, 0x17, 0x11, 0xf1, 0x84, 0x6b, 0xd0, 0x05, 0x84, 0xe9, 2584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3f, 0x44, 0xe9, 0x62, 0x5c, 0x1a, 0xdf, 0x4e, 0x00, 0x78, 0x00, 0xbb, 2594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb1, 0x3d, 0x63, 0x9f, 0xc6, 0x3e, 0x9a, 0xb2, 0xed, 0x19, 0xb1, 0xb1, 2604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x39, 0x00, 0x71, 0xf2, 0x00, 0xe0, 0x01, 0x97, 0x4e, 0xce, 0xf9, 2614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcd, 0xc8, 0x31, 0xf6, 0xea, 0x24, 0x31, 0xa0, 0xe8, 0xdc, 0xd4, 0xac, 2624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2e, 0xc6, 0x00, 0x00, 0x01, 0x03, 0x43, 0xf9, 0x6d, 0x84, 0xef, 0x3a, 2634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x09, 0x80, 0x07, 0x34, 0x90, 0xde, 0x07, 0x7f, 0x39, 0x63, 0x7b, 0xb7, 2644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1b, 0xc6, 0xf3, 0x32, 0xc0, 0x8d, 0xe0, 0xbb, 0x14, 0x2a, 0x56, 0xf2, 2654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x02, 0xdc, 0x4f, 0xe5, 0xf3, 0x3c, 0x7c, 0xdc, 0x5a, 0x1c, 0x7a, 0x37, 2664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x04, 0xa6, 0x48, 0xad, 0xe3, 0xa1, 0x6d, 0xd7, 0x6d, 0x55, 0x38, 0x32, 2674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x35, 0x87, 0xed, 0x02, 0x9b, 0x47, 0x21, 0xeb, 0x93, 0xd6, 0x56, 0xae, 2684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x97, 0x24, 0x9b, 0xe2, 0x35, 0xb3, 0x83, 0x99, 0x46, 0xdd, 0xf0, 0x00, 2694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xec, 0x80, 0x58, 0x51, 0xb0, 0x0a, 0x56, 0x5f, 0x6b, 0x05, 0x70, 0x2b, 2704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x22, 0x00, 0x8f, 0x82, 0xc9, 0x76, 0xd2, 0x5b, 0x50, 0xe8, 0x64, 0x8b, 2714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x42, 0x5b, 0x15, 0x0e, 0xad, 0x9c, 0x39, 0xae, 0x0d, 0x6d, 0xf1, 0x73, 2724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x12, 0xdf, 0x4b, 0x0e, 0x09, 0x6f, 0x46, 0xec, 0x00, 0x3d, 0x8f, 0xe0, 2734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa0, 0xb5, 0x59, 0xe0, 0xde, 0x6e, 0xfe, 0x4d, 0x00, 0x18, 0x37, 0xd0, 2744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7b, 0x04, 0x2f, 0xf0, 0x7f, 0xb9, 0x94, 0x00, 0x68, 0x9e, 0xa9, 0x1b, 2754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0x1c, 0xc0, 0x3d, 0x90, 0xd6, 0xec, 0x10, 0x9c, 0xe9, 0x44, 0x35, 2764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6e, 0x57, 0xb3, 0xed, 0xe7, 0x5d, 0xb1, 0xc0, 0x3d, 0x0e, 0xbd, 0x59, 2774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0x85, 0xaf, 0x83, 0x72, 0xb7, 0x1d, 0x9d, 0xbb, 0xcb, 0x8a, 0x1a, 2784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6c, 0x3f, 0x10, 0xf1, 0x8a, 0xb5, 0xae, 0x15, 0x8f, 0x17, 0xcf, 0x2f, 2794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2c, 0x31, 0x66, 0x15, 0x1b, 0x48, 0x54, 0x29, 0xb7, 0x71, 0x75, 0xbe, 2804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbb, 0x9f, 0xbd, 0x8a, 0x99, 0x29, 0xc3, 0x9f, 0x90, 0xaa, 0x36, 0x9d, 2814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x47, 0xb7, 0xb2, 0xe7, 0x1d, 0xf3, 0x1d, 0x90, 0xf3, 0xcd, 0xe6, 0x5b, 2824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x43, 0x46, 0x0d, 0x6f, 0x9a, 0x13, 0x76, 0x90, 0xed, 0xa1, 0xf6, 0xb7, 2834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0x70, 0x21, 0x7f, 0xbb, 0xb9, 0x88, 0x01, 0x0b, 0x73, 0x6a, 0x24, 2844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5a, 0xd3, 0x96, 0xe4, 0x02, 0x9b, 0xf4, 0xda, 0xe9, 0xb6, 0x94, 0x12, 2854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x73, 0x57, 0xef, 0xaf, 0x77, 0x16, 0xf1, 0x14, 0x70, 0x6b, 0x71, 0x30, 2864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x53, 0x88, 0x97, 0xb7, 0x76, 0x60, 0x23, 0xff, 0xea, 0xbe, 0x18, 0xea, 2874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x12, 0x10, 0xda, 0x7d, 0xb8, 0xc7, 0xce, 0x73, 0xb4, 0x87, 0x16, 0x1d, 2884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb2, 0xaa, 0x90, 0xda, 0x5e, 0xe5, 0xd1, 0xad, 0x8e, 0x8e, 0xb7, 0xd5, 2894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0x60, 0x03, 0x39, 0x82, 0x34, 0xce, 0xe4, 0x83, 0x9f, 0x46, 0x0f, 2904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x35, 0x7f, 0x2f, 0x97, 0x21, 0x45, 0x5f, 0x35, 0x81, 0xd6, 0x40, 2914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xea, 0x58, 0x69, 0x0d, 0xbd, 0xe0, 0x03, 0xae, 0x60, 0xb8, 0x6f, 0x0f, 2924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0xdf, 0x2a, 0x5e, 0x6a, 0x87, 0x1a, 0x65, 0x3c, 0xe6, 0xe6, 0xff, 2934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf2, 0x00, 0x38, 0xf6, 0xc1, 0x5d, 0x85, 0xd8, 0xfb, 0xa8, 0xe2, 0xd6, 2944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0x84, 0x1e, 0x18, 0xdb, 0xe4, 0x34, 0xbc, 0x6e, 0xb7, 0x42, 0x7e, 2954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcb, 0x9e, 0x0d, 0xf8, 0xc9, 0x22, 0x65, 0x94, 0x2e, 0xd4, 0x58, 0xa7, 2964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0d, 0x6b, 0xcd, 0x84, 0x67, 0xc7, 0xd9, 0x42, 0x0b, 0x2b, 0xd4, 0x63, 2974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0x72, 0x48, 0x89, 0x28, 0xd4, 0x76, 0xbe, 0x2d, 0x94, 0xaa, 0x7a, 2984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8c, 0x6c, 0xb5, 0x05, 0x5c, 0x84, 0xa2, 0x90, 0x29, 0xb7, 0x6f, 0x4e, 2994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0d, 0x6c, 0x4a, 0x6c, 0xc0, 0x29, 0xb9, 0x20, 0x13, 0x69, 0x22, 0x48, 3004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdd, 0x42, 0x6e, 0xd8, 0x57, 0x8b, 0x74, 0x7f, 0xe6, 0x09, 0x23, 0x4e, 3014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1c, 0xfb, 0x03, 0x3b, 0xf3, 0xb1, 0xc8, 0x4d, 0x1a, 0xd9, 0x4b, 0xe5, 3024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0x46, 0xe1, 0x80, 0x84, 0x00, 0xc0, 0x7b, 0x7e, 0x78, 0x5e, 0x51, 3034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7c, 0x45, 0x8d, 0xec, 0x3d, 0xf0, 0xcd, 0x7d, 0x28, 0x02, 0x35, 0x88, 3044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdb, 0x3b, 0x7d, 0x13, 0x36, 0xf7, 0x02, 0x43, 0xf3, 0x35, 0x27, 0x85, 3054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x6e, 0x45, 0x80, 0x07, 0x0f, 0xe6, 0x96, 0x13, 0x82, 0x7c, 0xec, 3064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0x82, 0xc0, 0xe6, 0xe4, 0xea, 0xf9, 0x73, 0x94, 0x00, 0x67, 0x00, 3074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa6, 0xc9, 0xda, 0x41, 0x7f, 0x06, 0x7a, 0xeb, 0x7f, 0x34, 0xf7, 0x94, 3084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5f, 0x1c, 0x3c, 0x13, 0x3f, 0xe8, 0xa8, 0xde, 0xaf, 0xeb, 0x97, 0xfd, 3094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd6, 0xed, 0xb4, 0x21, 0x6c, 0x24, 0xb7, 0x43, 0xee, 0xe9, 0x7b, 0xcc, 3104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb4, 0x26, 0x79, 0xcb, 0x65, 0xf4, 0x1c, 0xd4, 0x80, 0x3a, 0xde, 0x54, 3114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0c, 0x20, 0xe7, 0xc3, 0xae, 0xe4, 0xa0, 0x53, 0x73, 0x3b, 0x0c, 0x74, 3124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9c, 0xca, 0x17, 0x6b, 0x57, 0x09, 0xf0, 0xe9, 0xe7, 0x3c, 0x6d, 0x6f, 3134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x88, 0x26, 0x82, 0x17, 0xfc, 0x6e, 0x4f, 0x04, 0xa5, 0x56, 0xe9, 0x1b, 3144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x37, 0x6c, 0xc6, 0xbc, 0x88, 0xfe, 0xc4, 0x4d, 0x7a, 0xc9, 0x50, 0x3a, 3154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc9, 0x29, 0x9b, 0x14, 0x28, 0x60, 0x4b, 0x75, 0x3f, 0xbd, 0x3f, 0x9f, 3164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x39, 0xe6, 0x1b, 0x8a, 0xa7, 0x4b, 0x10, 0x65, 0x52, 0x82, 0xe0, 0xd6, 3174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf4, 0x26, 0x51, 0x78, 0x1d, 0x5b, 0x95, 0x0d, 0x53, 0x2b, 0x7e, 0x2f, 3184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0xf9, 0x9d, 0x47, 0xf6, 0x58, 0xe9, 0x30, 0xe2, 0xc3, 0xe1, 0x6d, 3194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdc, 0x50, 0x03, 0xdb, 0xcc, 0x94, 0x00, 0x5d, 0xe0, 0x07, 0xb6, 0x2f, 3204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x97, 0xef, 0xc6, 0x3a, 0xc2, 0xc0, 0x99, 0xe7, 0x65, 0x89, 0x1b, 0x4e, 3214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x59, 0x1f, 0xe7, 0xae, 0xc0, 0x1e, 0x61, 0x92, 0x5f, 0x55, 0xaa, 0x51, 3224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcc, 0xf6, 0x4e, 0x32, 0x56, 0x76, 0x99, 0x2b, 0x6e, 0xe8, 0x5c, 0xc9, 3234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe2, 0xa8, 0x78, 0x4b, 0x76, 0x85, 0xf3, 0x34, 0x5c, 0x52, 0x8e, 0xa5, 3244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xed, 0x4a, 0x87, 0x9e, 0x3e, 0x90, 0x9b, 0xcf, 0xec, 0x57, 0x4b, 0x60, 3254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5a, 0xc9, 0x69, 0x0c, 0x63, 0x7a, 0x01, 0x26, 0x88, 0xb9, 0x32, 0x82, 3264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x48, 0x02, 0x1b, 0x2c, 0xbe, 0x95, 0xb9, 0x2f, 0xe1, 0x4b, 0x6c, 0x4e, 3274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x03, 0xdb, 0xc7, 0xce, 0xcf, 0x67, 0xf1, 0x1f, 0x83, 0xca, 0xb6, 0x20, 3284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x06, 0xcd, 0xb8, 0xd9, 0xcb, 0x94, 0xb0, 0xa1, 0x88, 0xdc, 0xf9, 0x2c, 3294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4a, 0xb6, 0x85, 0x14, 0x42, 0x6c, 0xbb, 0x0d, 0x48, 0xd6, 0x51, 0x8f, 3304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x21, 0x4a, 0xd4, 0x74, 0x6f, 0xdf, 0x89, 0x76, 0xf2, 0xe7, 0xcd, 0x32, 3314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc4, 0x4b, 0x52, 0xca, 0x5c, 0x08, 0x2c, 0x6b, 0x76, 0x88, 0xa4, 0x41, 3324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x62, 0xed, 0x96, 0x71, 0xb0, 0xa4, 0x37, 0x2d, 0x91, 0x60, 0x69, 0x6d, 3334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xee, 0x00, 0x18, 0x6f, 0x20, 0x0d, 0x48, 0xff, 0xd7, 0x2c, 0xb5, 0x4b, 3344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x27, 0xf3, 0x91, 0xf3, 0x6a, 0x20, 0x04, 0xc5, 0x95, 0x10, 0x36, 0x0f, 3354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x4c, 0x00, 0xc0, 0x57, 0x3e, 0xc0, 0x16, 0xcd, 0xba, 0x30, 0xcc, 3364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x28, 0xed, 0xa7, 0xcf, 0x35, 0x94, 0xe0, 0xb6, 0x39, 0xdc, 0xb1, 0x25, 3374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x09, 0x42, 0xd1, 0x8d, 0x7c, 0x87, 0x20, 0x53, 0x7b, 0xc0, 0x1b, 0x5d, 3384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x7f, 0xc3, 0xdf, 0xc6, 0xa1, 0x68, 0x61, 0x3c, 0xdb, 0x65, 0xf1, 3394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2d, 0xbd, 0xc3, 0x7c, 0x6c, 0x01, 0xa0, 0x9e, 0xd3, 0x9d, 0xd9, 0xd8, 3404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xeb, 0x73, 0x5f, 0x76, 0xdd, 0x41, 0xe1, 0x6d, 0xcf, 0x00, 0x64, 0x44, 3414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xea, 0x6c, 0x36, 0xdb, 0x40, 0x95, 0x2e, 0x9b, 0x42, 0x5b, 0x32, 0x36, 3424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0x8b, 0x9b, 0x8e, 0xb4, 0x78, 0x6d, 0x87, 0x1e, 0xda, 0x08, 0xb3, 3434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x75, 0x64, 0x6f, 0xeb, 0x3f, 0xcf, 0x7e, 0x85, 0x77, 0x8f, 0xcd, 0x55, 3444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x87, 0x48, 0x75, 0x4a, 0x48, 0x6e, 0x00, 0xb0, 0x06, 0xe0, 0x07, 0xdc, 3454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd2, 0x33, 0xa7, 0x38, 0x54, 0x92, 0x1b, 0xa9, 0x5c, 0xa5, 0x64, 0x31, 3464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0x37, 0x88, 0x00, 0x36, 0x20, 0x88, 0xa5, 0x8b, 0x90, 0xfc, 0xe2, 3474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcb, 0x24, 0x55, 0x01, 0xec, 0x6e, 0x37, 0xcf, 0xcf, 0xf0, 0x55, 0x99, 3484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf1, 0xe7, 0x4f, 0x77, 0x7b, 0x22, 0xc1, 0xab, 0x4f, 0x83, 0x23, 0x3f, 3494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8e, 0x37, 0x5c, 0x81, 0xf0, 0xea, 0x95, 0x0b, 0xad, 0x5c, 0x65, 0x41, 3504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xad, 0xc0, 0x02, 0xe1, 0x53, 0xfc, 0x2a, 0x6b, 0xe8, 0x6d, 0xd7, 0x86, 3514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa1, 0x4d, 0xdc, 0x23, 0x00, 0x3c, 0xe8, 0x01, 0xb8, 0x03, 0x8f, 0x3e, 3524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfd, 0xf9, 0xda, 0x51, 0xb3, 0x99, 0xce, 0xd8, 0x71, 0x43, 0x46, 0x64, 3534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x82, 0x11, 0x25, 0x11, 0xb9, 0x74, 0x0f, 0x1d, 0x46, 0x37, 0xb1, 3544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x68, 0x44, 0xa0, 0x0e, 0xc4, 0x60, 0x9f, 0x9e, 0xcc, 0x5b, 0x35, 3554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xff, 0x9d, 0xd4, 0x37, 0x00, 0xc2, 0x7e, 0x14, 0x38, 0xa3, 0xe8, 0x5b, 3564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0xe4, 0x41, 0xb2, 0x46, 0x84, 0x8f, 0x49, 0x11, 0x80, 0x00, 0x00, 3574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x04, 0x43, 0xf9, 0x8e, 0xd8, 0xe7, 0x69, 0x90, 0x2f, 0x79, 0x44, 3584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6c, 0xf5, 0xf4, 0x47, 0x79, 0x4e, 0x1e, 0xb2, 0x59, 0x54, 0x21, 0x18, 3594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3d, 0xd3, 0x49, 0x98, 0x1a, 0x07, 0x35, 0x22, 0x72, 0x71, 0xd1, 0x70, 3604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe2, 0xd5, 0x75, 0x0a, 0x50, 0xd6, 0xf3, 0x52, 0xc6, 0xf1, 0xd1, 0xbc, 3614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0xa0, 0x16, 0x17, 0xea, 0x39, 0xb4, 0x7c, 0xd3, 0x0d, 0x92, 0x8f, 3624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0x27, 0x8b, 0x58, 0x28, 0x9f, 0xbc, 0xcd, 0xba, 0x52, 0x87, 0x5c, 3634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x52, 0xdb, 0x41, 0x13, 0xb9, 0xcc, 0x42, 0x74, 0xa3, 0xeb, 0x86, 0x6d, 3644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x55, 0x3a, 0xd6, 0x71, 0xf2, 0x2a, 0x33, 0xa3, 0x9b, 0xf2, 0xde, 0xee, 3654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd7, 0x3e, 0x15, 0x95, 0x81, 0x1f, 0x8d, 0xe4, 0x44, 0xba, 0x14, 0x7c, 3664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb2, 0xb7, 0xb1, 0x10, 0xab, 0x32, 0xdf, 0x09, 0x15, 0x5b, 0xb3, 0xda, 3674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfd, 0x79, 0x12, 0xb9, 0x28, 0x45, 0x92, 0x42, 0x13, 0x72, 0xcb, 0x16, 3684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x12, 0x58, 0x54, 0x46, 0xfc, 0x88, 0x03, 0xf4, 0xb4, 0x9f, 0x54, 0x05, 3694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x51, 0x7c, 0x9d, 0xe2, 0xa8, 0x58, 0x59, 0x6c, 0xa2, 0x93, 0xda, 0x1b, 3704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa8, 0x13, 0xb2, 0xc5, 0x6f, 0x47, 0x25, 0x15, 0xce, 0x5c, 0xa0, 0x94, 3714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x19, 0x6d, 0x04, 0xbf, 0xfd, 0x56, 0xf1, 0xd0, 0x0c, 0x15, 0x6f, 3724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa3, 0x77, 0x0f, 0x56, 0xd0, 0xe6, 0xe8, 0xb3, 0xcf, 0xac, 0xd4, 0xf5, 3734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x29, 0xba, 0x1b, 0xf8, 0x39, 0xb0, 0xcc, 0x9f, 0x3a, 0xe9, 0xa4, 0x26, 3744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xee, 0xbf, 0x3f, 0x09, 0x08, 0x6d, 0x34, 0xb9, 0x5a, 0x1b, 0xe4, 0xb7, 3754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x53, 0xd8, 0x10, 0xbf, 0xdf, 0x98, 0x4b, 0xd8, 0xb3, 0xc5, 0xa8, 0xef, 3764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3c, 0xae, 0xc5, 0x08, 0x59, 0x49, 0x32, 0x8c, 0x6e, 0x74, 0x2e, 0xd2, 3774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4b, 0x21, 0xac, 0x37, 0xf5, 0x69, 0xf9, 0x52, 0x5c, 0x88, 0x4b, 0x6c, 3784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4f, 0xa0, 0x16, 0xf3, 0xe7, 0x68, 0x04, 0x1b, 0x8b, 0xe2, 0x91, 0x09, 3794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0c, 0xb9, 0x00, 0x0d, 0xf0, 0x5c, 0x04, 0xcf, 0xfd, 0x5a, 0x49, 0x67, 3804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe1, 0x31, 0xfc, 0x19, 0xb4, 0x30, 0xd7, 0x1b, 0x3d, 0x14, 0xef, 0x14, 3814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xac, 0xc6, 0x23, 0x41, 0xe0, 0x73, 0x7e, 0x53, 0x78, 0xdf, 0xb7, 0x3f, 3824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1c, 0x73, 0x20, 0x6a, 0xe6, 0x72, 0x60, 0xe2, 0x62, 0xa5, 0xf5, 0x6d, 3834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbf, 0x6c, 0x84, 0x7f, 0xad, 0x4e, 0x2c, 0x80, 0x4e, 0xf3, 0x32, 0xe6, 3844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0xe9, 0x49, 0x06, 0xb6, 0x69, 0xc6, 0x4f, 0x8e, 0x04, 0x3d, 0xf3, 3854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x29, 0x36, 0x5e, 0x73, 0x7c, 0xcc, 0x96, 0x2a, 0x15, 0x51, 0x67, 0x85, 3864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8d, 0x89, 0xfa, 0x7c, 0x84, 0x39, 0x80, 0x5b, 0x3b, 0x52, 0x54, 0x6f, 3874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x57, 0x69, 0xb9, 0xb6, 0x37, 0xf4, 0x70, 0x07, 0x22, 0xe7, 0xc7, 0xdb, 3884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x78, 0x7b, 0xc2, 0x73, 0x2c, 0xb1, 0x17, 0xf1, 0x1b, 0xe7, 0x3f, 0x7e, 3894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0xfc, 0x47, 0x9e, 0x41, 0x17, 0x28, 0xed, 0x3a, 0xc6, 0xf7, 0xbf, 3904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe7, 0x82, 0x0f, 0xf6, 0x4a, 0x2e, 0x00, 0x41, 0xba, 0xb7, 0x28, 0x5b, 3914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7b, 0xad, 0xda, 0x4e, 0xb7, 0x25, 0x0c, 0xb5, 0x0a, 0x6e, 0x5c, 0x8b, 3924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb2, 0xc6, 0xe1, 0xe3, 0x10, 0x5c, 0xb2, 0x04, 0x2b, 0x7f, 0x9e, 0x2d, 3934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf3, 0xf3, 0x03, 0x87, 0x86, 0x96, 0xdd, 0x61, 0x38, 0xed, 0x77, 0xcc, 3944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x35, 0x60, 0xfb, 0x64, 0xa6, 0x0d, 0x1f, 0x69, 0x6d, 0x39, 0xb4, 0x01, 3954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb0, 0x9f, 0xf7, 0x2f, 0xd0, 0x9d, 0x7f, 0x0a, 0xeb, 0x69, 0xe0, 0x4c, 3964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa8, 0xdd, 0x27, 0x15, 0x9d, 0xed, 0x0b, 0x57, 0xea, 0x96, 0x03, 0x26, 3974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd2, 0x2b, 0xa2, 0x90, 0xf6, 0x36, 0xf0, 0x0c, 0x4b, 0x00, 0x06, 0x72, 3984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0xa6, 0x02, 0x17, 0xf8, 0x91, 0x63, 0xa4, 0x80, 0x3d, 0x37, 0xdf, 3994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x78, 0x33, 0x21, 0xe4, 0xd5, 0x2a, 0x20, 0x4b, 0x7d, 0x7b, 0xe6, 0x02, 4004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0f, 0xf5, 0x80, 0x2c, 0xfe, 0x66, 0x89, 0xe2, 0x69, 0x59, 0x9b, 0xef, 4014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xed, 0xe7, 0x27, 0x91, 0xf6, 0x93, 0xf6, 0x54, 0xa0, 0x11, 0x4b, 0x5b, 4024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe5, 0x30, 0x10, 0xbf, 0xea, 0xbe, 0xd8, 0x37, 0xf5, 0x62, 0x6d, 0xbe, 4034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0d, 0xd8, 0xfa, 0x7f, 0xb8, 0x00, 0x77, 0xef, 0x9e, 0x69, 0x47, 0xa3, 4044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb8, 0xf3, 0xc8, 0x32, 0x87, 0xe9, 0x52, 0x2b, 0x73, 0xce, 0x6e, 0x26, 4054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x45, 0x08, 0x2d, 0xb8, 0xf2, 0xa2, 0x23, 0x7e, 0xbf, 0x1f, 0x9b, 0x73, 4064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x53, 0x60, 0x4c, 0x29, 0x46, 0x52, 0xdb, 0xa4, 0x00, 0xa4, 0x8b, 0x9f, 4074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7e, 0x05, 0x88, 0x9a, 0xe9, 0x46, 0x51, 0x5f, 0x4f, 0x73, 0x37, 0xcc, 4084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0xfa, 0x85, 0xa9, 0xe3, 0x9b, 0xe7, 0x22, 0xe0, 0x01, 0xf6, 0x8a, 4094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8f, 0xd0, 0x9b, 0x78, 0xc4, 0x2c, 0x04, 0x68, 0x53, 0x7b, 0x5a, 0xa4, 4104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x52, 0x0e, 0x4d, 0x30, 0x05, 0x7c, 0xae, 0x9e, 0x1d, 0x60, 0xd0, 0xb6, 4114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf2, 0x72, 0x82, 0x17, 0xfd, 0x57, 0x5c, 0x81, 0xb7, 0x4c, 0x29, 0xb0, 4124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x85, 0xec, 0x2b, 0xc6, 0x46, 0xf3, 0x80, 0x14, 0xf0, 0xf0, 0x07, 0x3f, 4134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0x7d, 0xb1, 0xd0, 0x27, 0x7a, 0x7e, 0x2b, 0xa5, 0x2e, 0x15, 0x29, 4144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd5, 0xb2, 0xfc, 0x3e, 0x00, 0x3a, 0xf7, 0xbb, 0x64, 0x41, 0xdd, 0x3a, 4154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2e, 0x21, 0xc7, 0x16, 0xaa, 0x17, 0x55, 0xbe, 0xac, 0x00, 0xab, 0xa7, 4164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7c, 0x80, 0x57, 0xbd, 0xbf, 0x68, 0x11, 0xf9, 0xd0, 0xfc, 0x29, 0x00, 4174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8a, 0x34, 0x92, 0xdf, 0x37, 0x00, 0x75, 0xed, 0xee, 0x00, 0xfb, 0xdb, 4184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x33, 0xa8, 0x47, 0xed, 0xf6, 0x2e, 0x87, 0x1d, 0x31, 0xce, 0x88, 0x54, 4194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x29, 0xbd, 0x47, 0x3e, 0x0b, 0x15, 0x33, 0x4c, 0x09, 0x2e, 0xa5, 0xbe, 4204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2d, 0xbe, 0x6a, 0xc2, 0xd0, 0x25, 0xbf, 0x9b, 0x57, 0x66, 0xf0, 0x63, 4214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb2, 0x05, 0x0f, 0x0b, 0x6d, 0x2f, 0x2e, 0xd0, 0x29, 0xb6, 0x88, 0xdd, 4224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xeb, 0x80, 0x09, 0xec, 0x2c, 0x07, 0xb6, 0x4f, 0x16, 0x8e, 0x12, 0x08, 4234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3f, 0xd8, 0x00, 0xfb, 0x39, 0x4a, 0x3d, 0x60, 0x8e, 0x64, 0xd7, 0x14, 4244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb0, 0xed, 0x2e, 0x5b, 0x43, 0x28, 0xe6, 0xdc, 0xc5, 0x80, 0x53, 0x4c, 4254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x94, 0xb4, 0x6f, 0x29, 0x1b, 0x9b, 0x7e, 0xa4, 0xe3, 0x32, 0xd4, 0x8b, 4264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x78, 0x8f, 0x4e, 0x4d, 0x01, 0xc2, 0x98, 0x6a, 0x0d, 0x2c, 0xf0, 0xc5, 4274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x68, 0x22, 0xf6, 0x23, 0xe9, 0x05, 0x5e, 0xf2, 0x8e, 0xab, 0xd6, 4284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0x2c, 0x0f, 0x85, 0x4b, 0x0a, 0x94, 0x28, 0x7b, 0x69, 0x00, 0x5e, 4294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4f, 0x00, 0x6a, 0x00, 0xe3, 0xdb, 0xb1, 0x79, 0xb4, 0x73, 0x85, 0x93, 4304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd7, 0x8e, 0x7b, 0x3f, 0x2a, 0x6c, 0x40, 0x1c, 0x51, 0x8d, 0xfa, 0x34, 4314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x0f, 0xdf, 0x5f, 0x44, 0x89, 0xcc, 0x90, 0xbb, 0x43, 0xde, 0xf2, 4324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc7, 0xdf, 0x5a, 0xd4, 0x2c, 0xae, 0x34, 0xbf, 0x06, 0xd9, 0xe5, 0xbb, 4334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4b, 0x6f, 0xf2, 0x77, 0x29, 0xc4, 0x85, 0xb6, 0x7e, 0xe2, 0xd8, 0x8d, 4344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfa, 0xc8, 0x00, 0x9c, 0x01, 0xc8, 0xbd, 0xd8, 0x1d, 0x1d, 0x90, 0x98, 4354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x12, 0xd9, 0x40, 0x08, 0x7f, 0xfa, 0x46, 0x11, 0x49, 0xe2, 0x64, 0x2a, 4364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x79, 0x98, 0xb4, 0xab, 0x4a, 0x8d, 0x98, 0x9e, 0x25, 0xb4, 0xf6, 0x5d, 4374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0x55, 0x3d, 0xbf, 0x9b, 0x80, 0x3b, 0xf8, 0x70, 0x02, 0xf2, 0x30, 4384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x03, 0xbb, 0xde, 0xad, 0xa5, 0x66, 0x80, 0x1e, 0x4e, 0x26, 0xbb, 0x50, 4394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0x7e, 0xd4, 0x48, 0x58, 0x4b, 0x79, 0xa2, 0x27, 0x0f, 0xf7, 0xeb, 4404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x48, 0xfd, 0x5a, 0x32, 0xc4, 0xeb, 0x72, 0x2c, 0x38, 0xed, 0xb5, 0x61, 4414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0a, 0x37, 0xe9, 0x7f, 0x9d, 0xbf, 0x5f, 0xef, 0xb8, 0xbd, 0xf5, 0xed, 4424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf6, 0xc8, 0x15, 0x87, 0x48, 0x14, 0xdf, 0x9f, 0x80, 0x1e, 0xf5, 0xa0, 4434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x05, 0x14, 0x8d, 0xec, 0x2c, 0xe2, 0xe3, 0xed, 0xc1, 0x0e, 0x79, 0x47, 4444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x13, 0x0b, 0xa9, 0xe0, 0x5a, 0xb4, 0x8b, 0xa4, 0xe3, 0x4e, 0x0a, 0x4b, 4454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x63, 0x3e, 0x7f, 0x0a, 0x4a, 0xa7, 0x37, 0xcd, 0xfb, 0xb9, 0xc2, 0xdd, 4464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc6, 0xeb, 0xec, 0x1b, 0x92, 0x59, 0xfb, 0x39, 0xbe, 0x96, 0x00, 0xfc, 4474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5e, 0x09, 0xf7, 0x13, 0x38, 0xe8, 0x6a, 0x68, 0x05, 0x44, 0xcc, 0x7d, 4484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x5e, 0xd2, 0x8e, 0x1a, 0xad, 0xf3, 0x5f, 0xee, 0x7b, 0x7d, 0x44, 4494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5d, 0x15, 0x62, 0x25, 0x9b, 0xa1, 0x86, 0x14, 0x6f, 0x89, 0x41, 0x25, 4504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x56, 0xfb, 0x57, 0xf0, 0x8b, 0x84, 0x5f, 0xbf, 0x7b, 0xc6, 0x8c, 0x47, 4514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x64, 0x87, 0x3a, 0x21, 0x54, 0x7d, 0x3d, 0xb8, 0x7b, 0x78, 0x05, 0xa4, 4524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc9, 0xa1, 0x91, 0x1a, 0x1f, 0xa4, 0xfa, 0x52, 0xb7, 0xe4, 0x88, 0x00, 4534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x15, 0x0a, 0x16, 0x96, 0xac, 0x55, 0x7d, 0x7e, 0x99, 0x86, 0xd2, 0xce, 4544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb0, 0x6d, 0x09, 0x6f, 0x19, 0xe7, 0x3d, 0xac, 0x8e, 0x7e, 0xd5, 0x36, 4554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9f, 0x86, 0xd5, 0x0b, 0x6f, 0x60, 0x00, 0xe8, 0x8b, 0x08, 0xc8, 0xfd, 4564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x99, 0xa5, 0x96, 0xeb, 0x26, 0x45, 0x0b, 0xaa, 0x73, 0x7c, 0x9f, 0xda, 4574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0x06, 0xdf, 0x42, 0x27, 0x62, 0xc0, 0x45, 0xe6, 0xfb, 0x56, 0x0c, 4584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x26, 0x4b, 0x0a, 0x2d, 0xa7, 0x93, 0x27, 0x42, 0x16, 0x0f, 0x53, 0x69, 4594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0x69, 0xc5, 0xb7, 0x3d, 0xb2, 0x4c, 0x58, 0xdf, 0x24, 0x01, 0xf9, 4604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3b, 0xa1, 0x04, 0x6e, 0xc4, 0xfc, 0x6a, 0x5b, 0x3c, 0xe3, 0xb7, 0x83, 4614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x43, 0xe0, 0x65, 0xb0, 0xab, 0x65, 0x46, 0xfd, 0x38, 0x00, 0x8c, 0x8a, 4624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x08, 0x3f, 0xcc, 0x00, 0xfc, 0x8e, 0xf0, 0x0b, 0x34, 0x11, 0xc0, 0x13, 4634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8f, 0x20, 0x31, 0x0a, 0x53, 0xb4, 0x7e, 0x9f, 0xe8, 0xde, 0x0f, 0xfb, 4644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcd, 0x00, 0x4a, 0x47, 0xd7, 0x79, 0x41, 0xf8, 0x01, 0x66, 0x49, 0x6e, 4654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd3, 0xc0, 0x72, 0x19, 0x09, 0x2d, 0xef, 0xdd, 0x1d, 0x04, 0xbe, 0x19, 4664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0x2b, 0xc7, 0x07, 0x6a, 0x0e, 0x45, 0x43, 0x9b, 0xd6, 0xe3, 0x6f, 4674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x39, 0x15, 0x60, 0xca, 0x6c, 0xab, 0x47, 0x37, 0x6c, 0xa6, 0xd6, 0x00, 4684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x01, 0x05, 0x43, 0xf9, 0x7d, 0x74, 0xbc, 0x58, 0xed, 0x01, 0x5e, 4694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0x82, 0x99, 0x05, 0xde, 0x29, 0x32, 0x84, 0xea, 0x9f, 0x46, 0x37, 4704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0x3e, 0x5b, 0x4c, 0xb6, 0x0e, 0x68, 0x2b, 0xdd, 0xc6, 0x95, 0x92, 4714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc5, 0x4d, 0xf0, 0x6e, 0x02, 0x9b, 0xc7, 0xc5, 0xd3, 0xa3, 0x7c, 0xf1, 4724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6e, 0xbb, 0x25, 0x90, 0x22, 0x69, 0xb2, 0x21, 0x46, 0xb3, 0x0b, 0xe7, 4734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9a, 0xfd, 0x76, 0x5a, 0xa6, 0xcf, 0x38, 0x8e, 0x9b, 0xa7, 0x19, 0x50, 4744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc8, 0xdd, 0x93, 0x43, 0x9e, 0x1e, 0xed, 0xb1, 0x66, 0x07, 0x2a, 0xa5, 4754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6d, 0xbb, 0x45, 0xba, 0x7d, 0x44, 0xce, 0x3b, 0xd2, 0xe5, 0x9d, 0x47, 4764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd7, 0x75, 0x77, 0x89, 0x15, 0x0f, 0x02, 0x75, 0xb9, 0x4d, 0x27, 0x45, 4774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3d, 0xb7, 0x2e, 0xa8, 0x1c, 0xdf, 0x96, 0xda, 0x6d, 0x88, 0xde, 0xcd, 4784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdc, 0x80, 0x1f, 0xf2, 0xfc, 0x92, 0x41, 0xf5, 0xf1, 0x02, 0xe0, 0xda, 4794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x84, 0x36, 0xf2, 0xdc, 0x97, 0xc7, 0x04, 0x8b, 0x1b, 0x03, 0x9d, 0x05, 4804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7b, 0xf4, 0x6d, 0x9e, 0x18, 0x85, 0xb4, 0x5a, 0x38, 0x86, 0xdc, 0xd4, 4814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa9, 0x1b, 0xeb, 0x67, 0x37, 0xfd, 0xd6, 0x3b, 0xb7, 0xe4, 0x2c, 0xcc, 4824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd7, 0x98, 0x8f, 0xb2, 0x15, 0x0b, 0x44, 0x54, 0x6f, 0x1a, 0x08, 0x60, 4834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0d, 0x55, 0xbb, 0x02, 0x2a, 0xe5, 0xf2, 0xf4, 0x36, 0xd4, 0x6e, 0x56, 4844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0x1d, 0x29, 0x2f, 0x25, 0x6f, 0x42, 0x50, 0xea, 0xa4, 0x36, 0xd8, 4854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7b, 0x7b, 0xc4, 0x82, 0x17, 0xfa, 0xd7, 0xe4, 0x40, 0xb4, 0x46, 0xb4, 4864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8d, 0xd6, 0xf5, 0xa6, 0xbe, 0xd1, 0x85, 0x41, 0xed, 0xe8, 0x2a, 0xe5, 4874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe7, 0x49, 0x76, 0xda, 0xde, 0x66, 0x54, 0x73, 0xac, 0xbe, 0x3a, 0x89, 4884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe2, 0x39, 0xae, 0x87, 0x69, 0xed, 0x27, 0x37, 0xb4, 0x45, 0x00, 0x3e, 4894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x84, 0x5e, 0x57, 0x01, 0x20, 0x00, 0xf9, 0x99, 0x38, 0x9e, 0x0a, 0x5c, 4904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x21, 0x37, 0x9b, 0x81, 0xcd, 0xdb, 0xe9, 0xf3, 0xfd, 0xc7, 0x1e, 0x72, 4914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x51, 0xb2, 0x58, 0xdc, 0x22, 0x63, 0x72, 0x8d, 0xac, 0xce, 0x6f, 0xd2, 4924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x11, 0xb8, 0x04, 0x1f, 0xed, 0xc1, 0x1d, 0xca, 0x13, 0xe7, 0xbb, 0x56, 4934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0c, 0x19, 0x31, 0xaf, 0xc5, 0x00, 0x74, 0xf2, 0x31, 0x88, 0x1b, 0x37, 4944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbf, 0x3b, 0x76, 0x1e, 0x03, 0x88, 0x52, 0xa3, 0x72, 0xf9, 0x40, 0x07, 4954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3b, 0xf1, 0x99, 0x60, 0x4c, 0x32, 0xdb, 0x28, 0x4a, 0xa9, 0x2e, 0x35, 4964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9c, 0x60, 0x20, 0x80, 0x9f, 0x5e, 0xd2, 0xcf, 0x1e, 0x05, 0xc5, 0xf0, 4974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbc, 0x92, 0x1b, 0x53, 0xdb, 0xaa, 0xad, 0x45, 0x21, 0xab, 0x7b, 0xf7, 4984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x99, 0xcf, 0x1b, 0x0c, 0xca, 0x39, 0x3d, 0xb5, 0xd3, 0x28, 0xca, 0x76, 4994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd2, 0xe9, 0x66, 0x36, 0x57, 0x99, 0xf1, 0xcd, 0xbe, 0x55, 0x3f, 0x69, 5004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x66, 0xc1, 0xaa, 0x3e, 0x01, 0xcd, 0xe8, 0xfa, 0x7e, 0x80, 0x33, 0xc2, 5014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7c, 0xf3, 0x0a, 0xe1, 0xd6, 0x63, 0xa8, 0x0a, 0xe4, 0xb6, 0x94, 0x10, 5024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x18, 0xd9, 0x79, 0xdb, 0xf4, 0xa2, 0x75, 0xf4, 0x2a, 0x7c, 0x9b, 0x84, 5034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x38, 0x8a, 0xda, 0x35, 0xe7, 0xe4, 0xca, 0x4a, 0x6f, 0x85, 0xd0, 0x21, 5044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7f, 0xd3, 0xd7, 0x77, 0xc2, 0x18, 0xb7, 0xc2, 0xd6, 0xfa, 0xef, 0xd2, 5054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcf, 0xf8, 0x8d, 0x45, 0x01, 0x14, 0xb2, 0xc8, 0x34, 0x63, 0x7c, 0x75, 5064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x17, 0x72, 0x12, 0xa2, 0x92, 0x0e, 0x6e, 0x8d, 0x90, 0x5f, 0x3a, 0xed, 5074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x30, 0x2a, 0x3e, 0x36, 0x1a, 0x1d, 0x1b, 0x7e, 0x40, 0xc7, 0x56, 0xfa, 5084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x46, 0xee, 0xd8, 0x08, 0x20, 0x27, 0x40, 0x1c, 0x79, 0x4a, 0x17, 0xd6, 5094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3e, 0xda, 0x17, 0x36, 0x55, 0xa1, 0x4d, 0xec, 0x85, 0xcd, 0xf7, 0x17, 5104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbc, 0x10, 0x2d, 0x2f, 0x6d, 0x0f, 0xc7, 0x9a, 0xf1, 0x87, 0x06, 0x50, 5114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x96, 0xf0, 0xfd, 0x02, 0x10, 0x06, 0x8a, 0xe8, 0x41, 0x0b, 0x63, 0xf7, 5124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3c, 0x26, 0xd6, 0xf7, 0x3f, 0xcd, 0x84, 0x7d, 0x12, 0x84, 0x3b, 0x57, 5134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc4, 0x7f, 0xab, 0x71, 0x4c, 0x00, 0xab, 0x76, 0x5f, 0x57, 0xa5, 0xcf, 5144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x16, 0xe4, 0xb8, 0x40, 0xd7, 0x80, 0x0c, 0x6a, 0xb7, 0xe7, 0xb5, 0xd5, 5154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd7, 0x8e, 0x28, 0xc4, 0x57, 0xc9, 0x4e, 0xb4, 0xba, 0x5d, 0x6f, 0xa0, 5164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe6, 0x0b, 0xff, 0x8a, 0x17, 0x79, 0xf2, 0x59, 0x2c, 0x37, 0x3a, 0xe6, 5174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0x18, 0x7c, 0x2e, 0x01, 0xed, 0xe5, 0xba, 0xe4, 0x00, 0xe3, 0xa1, 5184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7d, 0x3e, 0xd8, 0x3c, 0xed, 0xb2, 0x85, 0x18, 0x5b, 0x7a, 0x3c, 0x73, 5194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc1, 0x03, 0xf3, 0x39, 0xe2, 0xd9, 0x88, 0x71, 0x3b, 0xbe, 0x3c, 0xe9, 5204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0xc0, 0xe2, 0xe0, 0x14, 0xd9, 0x77, 0x41, 0x08, 0x01, 0xab, 0xe2, 5214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x10, 0x9b, 0x91, 0xe0, 0x67, 0x89, 0x72, 0xb7, 0xe4, 0x7e, 0x3a, 0x00, 5224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb3, 0x5d, 0x85, 0xd9, 0x6c, 0x52, 0x8b, 0xbe, 0xb0, 0x08, 0x6e, 0x98, 5234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x03, 0xed, 0x78, 0x03, 0xf1, 0x66, 0x3b, 0x8c, 0x83, 0x97, 0x30, 0x9a, 5244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5a, 0x40, 0xe9, 0x6c, 0x3e, 0x86, 0xb7, 0xe9, 0x10, 0x40, 0xfd, 0x40, 5254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0x3d, 0xf0, 0x00, 0xf3, 0x8f, 0x61, 0x5a, 0xec, 0x85, 0xf2, 0xff, 5264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x24, 0x29, 0xc6, 0x87, 0x7e, 0x83, 0x24, 0x6d, 0x60, 0x04, 0xa0, 0x0e, 5274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7d, 0xfa, 0x17, 0xb8, 0xf9, 0xe5, 0x92, 0x4c, 0x97, 0xcd, 0xf9, 0x13, 5284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6d, 0x32, 0x1c, 0xdd, 0x9f, 0x27, 0xad, 0x50, 0xb6, 0xea, 0x16, 0x7c, 5294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb5, 0x5b, 0xfc, 0xda, 0x00, 0xf3, 0xe3, 0xbe, 0x39, 0xf2, 0xe1, 0xef, 5304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe4, 0xb5, 0xcc, 0x78, 0x01, 0xf3, 0x88, 0x3b, 0xe5, 0x09, 0xf2, 0x42, 5314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xac, 0x4b, 0x54, 0x7d, 0xad, 0xd4, 0xe2, 0xec, 0x15, 0xb8, 0x64, 0x08, 5324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb9, 0xb4, 0xf1, 0x9e, 0x10, 0x2d, 0xbe, 0xb6, 0x00, 0x8f, 0xa8, 0x00, 5334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc0, 0x01, 0x16, 0xef, 0x3c, 0xf2, 0x85, 0xf9, 0x63, 0xc4, 0x8b, 0x72, 5344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x53, 0x43, 0xcb, 0x5c, 0x52, 0x4b, 0x6e, 0x04, 0x0f, 0xd3, 0x00, 0xb3, 5354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x28, 0xbe, 0xdf, 0x75, 0xf2, 0x1d, 0x15, 0x6c, 0x8d, 0xbb, 0xe5, 0xba, 5364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0xd6, 0x42, 0x98, 0xee, 0x79, 0x6c, 0xb6, 0x37, 0xf8, 0xdd, 0xd8, 5374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x26, 0x5a, 0x09, 0x80, 0x06, 0xe9, 0x67, 0xab, 0x7d, 0x14, 0x10, 5384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3f, 0x38, 0x8c, 0x08, 0x3f, 0xae, 0x00, 0xf3, 0x04, 0x08, 0x23, 0xf0, 5394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x84, 0xd3, 0x3e, 0x5f, 0xb2, 0x10, 0x38, 0x42, 0x7d, 0x85, 0x86, 0xb8, 5404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6b, 0x7e, 0xaa, 0x00, 0x27, 0x00, 0x7e, 0x2c, 0x01, 0xc8, 0x03, 0xb7, 5414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x82, 0x10, 0x03, 0x3f, 0x6a, 0x4c, 0xeb, 0xae, 0xa9, 0x50, 0xcb, 0x4d, 5424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xda, 0x81, 0x2d, 0xed, 0xb0, 0x3a, 0xd5, 0x6e, 0x9d, 0x2e, 0xb6, 0xda, 5434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5d, 0xa8, 0xde, 0x62, 0x28, 0x9e, 0x48, 0xbf, 0x71, 0x62, 0xc4, 0xf7, 5444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa0, 0x3d, 0xde, 0x5e, 0xfb, 0x74, 0x74, 0x85, 0x0e, 0x92, 0x23, 0x74, 5454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdb, 0x2e, 0x16, 0xc7, 0x22, 0x36, 0xcd, 0xab, 0x61, 0xd3, 0xcb, 0x69, 5464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x21, 0xa7, 0x54, 0x83, 0xd5, 0x95, 0xb1, 0xe0, 0x21, 0x00, 0x35, 0xd6, 5474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc0, 0xe8, 0x00, 0x6f, 0x65, 0x9e, 0xb9, 0x24, 0x66, 0xc3, 0x70, 0x53, 5484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa8, 0x03, 0x0f, 0x7f, 0xaf, 0x5b, 0x1c, 0x5c, 0x57, 0xd2, 0x03, 0xec, 5494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x93, 0x24, 0x2e, 0xa8, 0xe3, 0x83, 0x1b, 0xe6, 0xe6, 0x91, 0x1e, 0x44, 5504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfb, 0x80, 0x5a, 0xf1, 0x24, 0xd7, 0x16, 0xfa, 0xf9, 0x03, 0x89, 0x96, 5514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x19, 0xb3, 0x03, 0x0a, 0x19, 0x1b, 0xed, 0x0a, 0x1d, 0x69, 0x21, 0xbf, 5524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x18, 0xbd, 0xc0, 0x06, 0x8f, 0xf8, 0x7c, 0xa1, 0xab, 0x3e, 0x28, 0xa4, 5534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x04, 0xb0, 0x03, 0x31, 0x47, 0x8e, 0x6f, 0x2e, 0x50, 0x03, 0xea, 0x92, 5544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x78, 0xd2, 0xc9, 0x4d, 0xc9, 0x00, 0xc6, 0xa3, 0x7e, 0x9b, 0xfe, 0x2b, 5554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3b, 0xeb, 0x8b, 0xbd, 0xc1, 0xd7, 0x31, 0xcf, 0xd8, 0x62, 0x15, 0x2a, 5564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1c, 0x7b, 0x75, 0xb2, 0x76, 0x45, 0x17, 0xed, 0xbf, 0xee, 0x2e, 0x96, 5574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x99, 0x8f, 0xd2, 0xe2, 0x42, 0xc7, 0x0d, 0x6e, 0x01, 0x13, 0x1c, 0x00, 5584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa4, 0x4f, 0xb7, 0x6e, 0xd8, 0x38, 0x02, 0x9d, 0xe1, 0x66, 0xd3, 0xd5, 5594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x20, 0xd6, 0xfa, 0x8c, 0x17, 0x80, 0x0f, 0x38, 0x9f, 0x8c, 0xa9, 0x15, 5604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4d, 0xc9, 0x25, 0x1a, 0x31, 0x54, 0xa6, 0xf3, 0x9e, 0x9c, 0xcd, 0x58, 5614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa3, 0x91, 0x51, 0x28, 0x5b, 0x72, 0xd2, 0xe5, 0x95, 0xbc, 0x00, 0x0e, 5624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7e, 0xef, 0x23, 0x47, 0xe3, 0xf5, 0xce, 0x2a, 0x13, 0xc3, 0xd5, 0x14, 5634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x04, 0x45, 0x29, 0x29, 0xbe, 0x72, 0x00, 0xf7, 0x0d, 0x17, 0xed, 0xc7, 5644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7c, 0x00, 0xaa, 0x4e, 0x35, 0xea, 0xf2, 0xc7, 0x42, 0xa9, 0x47, 0x9e, 5654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xde, 0xf3, 0x3a, 0x7f, 0x3b, 0xcb, 0xd3, 0x06, 0x5c, 0x26, 0x96, 0xa3, 5664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0b, 0x43, 0xda, 0xae, 0xa7, 0xbf, 0x31, 0x34, 0xc4, 0x1b, 0x38, 0xbc, 5674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x42, 0xae, 0xd0, 0xc5, 0x6e, 0xbd, 0xbb, 0xb2, 0xe1, 0xb4, 0x34, 0xc4, 5684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x56, 0xa5, 0xa8, 0x8a, 0xdf, 0x40, 0x8d, 0x39, 0xfe, 0xf1, 0xcc, 0x94, 5694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x68, 0x79, 0x99, 0xdd, 0x8e, 0x8a, 0x5a, 0xab, 0xa8, 0xd5, 0x29, 0xb9, 5704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc0, 0x0e, 0x05, 0x80, 0x19, 0x73, 0x3a, 0x31, 0x00, 0x25, 0x8f, 0xda, 5714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4c, 0x94, 0x38, 0xed, 0xf5, 0x6e, 0x48, 0x8e, 0x9f, 0xf1, 0xcb, 0xb7, 5724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xad, 0xb4, 0x05, 0x7c, 0xc2, 0x60, 0xdf, 0x06, 0xf9, 0x71, 0xa0, 0x02, 5734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6d, 0x15, 0xaf, 0xb2, 0x0c, 0x86, 0xf1, 0xb2, 0xdf, 0x46, 0xc7, 0xb7, 5744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9a, 0x2c, 0xcb, 0xe9, 0x30, 0xa8, 0xa0, 0x53, 0x25, 0x31, 0xf5, 0x51, 5754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0x00, 0x00, 0x01, 0x06, 0x43, 0xf8, 0xce, 0x95, 0xb6, 0x28, 0x43, 5764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6a, 0xca, 0xf1, 0x3b, 0x30, 0xc4, 0x1c, 0x79, 0x7e, 0x81, 0x8d, 0x9b, 5774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0x9f, 0x09, 0x81, 0x4d, 0xd8, 0x13, 0x08, 0x2e, 0x3f, 0xc5, 0x5b, 5784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc6, 0x45, 0x6f, 0x08, 0x73, 0x68, 0x2b, 0x2b, 0xa4, 0xcc, 0xf1, 0xa3, 5794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x47, 0x35, 0x3d, 0x3a, 0x3b, 0xad, 0x4b, 0x24, 0x1b, 0x55, 0xb6, 0x5d, 5804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0xb2, 0xda, 0xb0, 0x31, 0x25, 0x2d, 0xb9, 0xe4, 0xdc, 0x6c, 0x49, 5814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0x44, 0x65, 0x92, 0x45, 0xad, 0xf7, 0xb4, 0x10, 0xbf, 0xc8, 0x67, 5824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa3, 0x07, 0xf6, 0x40, 0x10, 0x23, 0x97, 0x58, 0x1b, 0x23, 0xbc, 0xd6, 5834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc0, 0x08, 0xd1, 0xba, 0xcf, 0x04, 0x2f, 0xf1, 0x36, 0x12, 0x9b, 0xc0, 5844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7b, 0x60, 0x21, 0x80, 0x53, 0xa0, 0x5a, 0x3b, 0x32, 0x97, 0xe1, 0x4b, 5854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6e, 0x95, 0x58, 0x50, 0x00, 0xd5, 0xac, 0xf6, 0xf6, 0x91, 0x64, 0x23, 5864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x76, 0x9b, 0x9e, 0x2a, 0x8a, 0xd5, 0xa8, 0x01, 0xee, 0x3b, 0x24, 0xf5, 5874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa7, 0x85, 0x37, 0xab, 0xea, 0xdc, 0x76, 0xba, 0xa8, 0x4c, 0xaa, 0x93, 5884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc4, 0x63, 0x78, 0xc4, 0xbb, 0xce, 0x52, 0x87, 0x52, 0xa4, 0x54, 0x09, 5894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6d, 0x00, 0x4a, 0xe5, 0xf5, 0x46, 0xb1, 0xad, 0xfa, 0xd8, 0x1c, 0x68, 5904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x16, 0xde, 0x33, 0x01, 0x08, 0x02, 0xbb, 0x76, 0x6a, 0xf8, 0xe4, 0x01, 5914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf3, 0x7a, 0x23, 0x29, 0x3b, 0x81, 0x66, 0xba, 0x86, 0xce, 0x5c, 0x74, 5924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3c, 0xf0, 0xc6, 0xf9, 0xe7, 0x40, 0x84, 0x00, 0xce, 0x10, 0x58, 0x5e, 5934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcd, 0xc5, 0xa3, 0x8b, 0x4a, 0x31, 0x87, 0x01, 0x8c, 0x9b, 0x48, 0x4d, 5944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0xc6, 0xfa, 0xc7, 0x48, 0xd5, 0xd2, 0xa4, 0x6d, 0x52, 0x99, 0x24, 5954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0xa8, 0x8d, 0xd7, 0x12, 0xe7, 0xff, 0x5c, 0xee, 0x2e, 0x69, 0xf7, 5964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc9, 0x7c, 0xff, 0x63, 0x0a, 0x1e, 0xc9, 0x93, 0x75, 0x22, 0x7c, 0xd7, 5974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1e, 0x80, 0x12, 0x4b, 0xbc, 0xdd, 0xa7, 0x7e, 0x8e, 0x28, 0xf3, 0xca, 5984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6c, 0xef, 0xbe, 0x77, 0x99, 0x28, 0x51, 0x93, 0x64, 0x90, 0x05, 0x45, 5994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x97, 0x02, 0x9b, 0xb0, 0x4e, 0x00, 0x34, 0x73, 0xfc, 0x94, 0xe5, 0xa8, 6004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe0, 0x17, 0xb5, 0x0e, 0x5b, 0x2b, 0xec, 0xa7, 0x9d, 0x31, 0xdd, 0x87, 6014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0xc7, 0xea, 0x7a, 0xb6, 0xa7, 0xab, 0x7a, 0x64, 0xd3, 0x63, 0x79, 6024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x72, 0x80, 0x1b, 0xde, 0x72, 0xcc, 0x87, 0xad, 0xcd, 0xe5, 0x66, 0x05, 6034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdc, 0x90, 0x86, 0xde, 0x9d, 0xdb, 0x7d, 0x85, 0x09, 0x36, 0x4a, 0x04, 6044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdc, 0xe7, 0x79, 0x76, 0xda, 0x79, 0xfa, 0xf2, 0xe7, 0xa2, 0xb7, 0x0b, 6054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8b, 0x7e, 0xbb, 0x5d, 0xda, 0x2c, 0xa6, 0xe4, 0x20, 0x3d, 0xe5, 0x24, 6064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2e, 0xaa, 0x01, 0x07, 0x8c, 0x69, 0xa8, 0x2f, 0x45, 0x53, 0x29, 0xd4, 6074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3a, 0x8a, 0x7b, 0xc8, 0x45, 0x07, 0xd0, 0xa2, 0x9b, 0x43, 0x9a, 0x69, 6084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x73, 0x1b, 0xaa, 0x55, 0x8a, 0x80, 0x11, 0x28, 0x0b, 0x9b, 0x4c, 0x03, 6094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2f, 0x88, 0x9e, 0x38, 0x57, 0x83, 0x63, 0xdf, 0xca, 0xc2, 0x5d, 0x95, 6104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0xbc, 0x82, 0x10, 0x05, 0x3e, 0x44, 0x00, 0x87, 0x2e, 0x7a, 0x29, 6114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x71, 0xa1, 0xbb, 0x9b, 0xc9, 0xd8, 0x7d, 0xc7, 0xe5, 0x08, 0xbe, 0x52, 6124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xca, 0xdc, 0xc8, 0xbf, 0x4b, 0xef, 0x89, 0x06, 0xd2, 0xa7, 0x2b, 0x14, 6134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x24, 0xa8, 0xde, 0xc7, 0x6c, 0x8e, 0x15, 0x24, 0x2c, 0x27, 0x05, 0x80, 6144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0c, 0x4e, 0x6c, 0x1d, 0xed, 0xe7, 0x8f, 0x3c, 0x81, 0x0b, 0xc4, 0xb4, 6154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0a, 0x56, 0x4d, 0x34, 0x3a, 0x56, 0xfc, 0x87, 0xe3, 0xdd, 0x4c, 0xe6, 6164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0xf3, 0x0d, 0xb8, 0x90, 0xb2, 0x91, 0x5b, 0xef, 0x8e, 0x78, 0xa0, 6174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0xfd, 0x31, 0x60, 0x0f, 0x3b, 0xd7, 0x28, 0x0f, 0x77, 0x97, 0x72, 6184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x36, 0x96, 0x57, 0x92, 0xb7, 0xc6, 0x5d, 0xef, 0x99, 0xaf, 0x7f, 0x0f, 6194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2c, 0xbc, 0xfc, 0x29, 0xdb, 0x49, 0xa5, 0xb5, 0x5e, 0xd9, 0x9f, 0xf2, 6204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x38, 0x8e, 0x39, 0xb2, 0x06, 0x3b, 0x9e, 0x66, 0x68, 0xe0, 0xd1, 0xa1, 6214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2c, 0x17, 0xb5, 0xbc, 0xb1, 0xb2, 0x37, 0xfd, 0x08, 0xfb, 0x71, 0xdb, 6224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf7, 0xe0, 0x5c, 0xb1, 0x01, 0x14, 0x01, 0x39, 0x2e, 0x59, 0x65, 0xf1, 6234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x66, 0xff, 0x60, 0xb7, 0x67, 0xc7, 0xbd, 0xcc, 0x4a, 0x08, 0x80, 0x09, 6244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0x24, 0xb5, 0x42, 0x46, 0xb7, 0xce, 0x00, 0x09, 0xb6, 0x80, 0x2d, 6254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x75, 0xef, 0xaf, 0xa1, 0x86, 0x88, 0x73, 0xec, 0x4a, 0x14, 0x3a, 6264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x84, 0x37, 0xd0, 0xfd, 0xb2, 0xf6, 0xee, 0x6c, 0x4a, 0x02, 0xad, 0x2b, 6274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x14, 0x20, 0x73, 0x74, 0x94, 0x03, 0x46, 0xec, 0x0c, 0x6f, 0xd4, 0xdd, 6284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x27, 0xda, 0x6b, 0x3e, 0x53, 0x35, 0xb0, 0xe0, 0x05, 0x36, 0xb5, 0xd2, 6294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x93, 0xa5, 0x24, 0xb5, 0xc6, 0x51, 0xbb, 0x9d, 0x5b, 0x0e, 0x01, 0x89, 6304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x09, 0x2d, 0x44, 0x86, 0x56, 0xa7, 0x0a, 0x67, 0x19, 0x37, 0xbc, 0x9a, 6314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd7, 0x4a, 0x5b, 0x62, 0x9f, 0x9c, 0x6d, 0x54, 0x3a, 0x56, 0x6c, 0xdb, 6324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe2, 0xf0, 0x08, 0x40, 0x13, 0x15, 0xab, 0x00, 0x9f, 0x61, 0x25, 0xb3, 6334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0xe0, 0x9c, 0x84, 0xb6, 0xdc, 0xab, 0x76, 0x40, 0xa5, 0xcb, 0xb2, 6344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x10, 0x9a, 0x20, 0x75, 0xb0, 0x94, 0xc1, 0xd6, 0xb7, 0xdb, 0x77, 0xe6, 6354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x21, 0x2d, 0xbe, 0x20, 0x00, 0xaf, 0x8a, 0x00, 0x4d, 0x04, 0x7d, 0x39, 6364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9b, 0x0e, 0xaa, 0xf7, 0x3a, 0xf9, 0x58, 0x30, 0x3a, 0x6d, 0x54, 0x29, 6374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0x99, 0xf0, 0xf7, 0x7b, 0xb8, 0xde, 0x70, 0xa2, 0x8b, 0x2e, 0x85, 6384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x37, 0x75, 0xcf, 0xa4, 0x0d, 0xd7, 0x4a, 0x19, 0x6c, 0x8b, 0x15, 0xb8, 6394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xee, 0xa7, 0xb7, 0x20, 0x03, 0xe6, 0xc2, 0xd4, 0xe2, 0xd6, 0xff, 0x23, 6404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x73, 0x2a, 0x9f, 0xe0, 0xb1, 0xbe, 0x90, 0x2b, 0x8d, 0xe7, 0xad, 0xdd, 6414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcd, 0xa0, 0x2a, 0xda, 0xb1, 0x02, 0x0a, 0xa7, 0x04, 0x2d, 0x6f, 0xa4, 6424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0x21, 0xfb, 0x80, 0x58, 0x29, 0xce, 0xaf, 0xc8, 0x54, 0x36, 0xad, 6434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1a, 0xdb, 0x88, 0xbf, 0x5d, 0x12, 0x00, 0xf7, 0x67, 0x31, 0x3f, 0x59, 6444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x32, 0x01, 0x03, 0x6b, 0x72, 0x89, 0x70, 0x05, 0xbc, 0xc4, 0xf5, 0x87, 6454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0x3c, 0xcf, 0x3d, 0x84, 0xb8, 0xdf, 0x24, 0x01, 0xcf, 0x1b, 0xf5, 6464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xeb, 0x70, 0x8d, 0xe7, 0x40, 0x05, 0x35, 0x2c, 0xaf, 0x74, 0x3a, 0x24, 6474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb4, 0x7b, 0x79, 0x72, 0x2f, 0x00, 0x06, 0x9f, 0x51, 0x46, 0xe3, 0xa5, 6484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x28, 0x39, 0x1d, 0x6b, 0xed, 0x52, 0xcf, 0x48, 0x5c, 0x6f, 0x42, 0x00, 6494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfa, 0x8a, 0xfe, 0x77, 0x66, 0x73, 0x65, 0x96, 0x13, 0x24, 0xab, 0x4b, 6504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1f, 0x03, 0x0f, 0x6f, 0x2a, 0x08, 0x00, 0x5b, 0xf5, 0xe3, 0x91, 0x35, 6514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfd, 0x7b, 0x29, 0xd2, 0xe5, 0xda, 0x04, 0x15, 0x9b, 0x2c, 0x0c, 0x28, 6524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x63, 0x77, 0x5a, 0x95, 0x6b, 0x69, 0xb4, 0x38, 0xda, 0x4b, 0x6f, 0x18, 6534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x03, 0x97, 0x67, 0xc8, 0x97, 0x71, 0xc7, 0xb2, 0x1c, 0x5c, 0x73, 0x89, 6544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa8, 0x34, 0xb6, 0xf9, 0x29, 0x1f, 0x8e, 0x40, 0x1d, 0x5f, 0xa3, 0xed, 6554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0xae, 0x5d, 0x9c, 0x3b, 0x26, 0xc8, 0x7c, 0x3c, 0xc2, 0xdb, 0xe8, 6564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0x05, 0x9e, 0xfd, 0x88, 0xfe, 0x40, 0x0a, 0xf3, 0xe2, 0x55, 0xe2, 6574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x93, 0xb8, 0xe2, 0x07, 0xbd, 0xf3, 0x4c, 0x45, 0xa1, 0x0d, 0xe7, 0x6f, 6584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x45, 0x4e, 0x84, 0x6c, 0x15, 0xaf, 0x7e, 0x57, 0x64, 0x44, 0xd8, 0xf9, 6594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa5, 0x6e, 0x5f, 0x52, 0xdb, 0x93, 0x97, 0x5f, 0x28, 0x96, 0xc1, 0x95, 6604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x62, 0x2b, 0x48, 0xb8, 0x1c, 0x55, 0x60, 0x00, 0x00, 0x01, 0x07, 0x43, 6614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0xef, 0xbc, 0xbd, 0xf1, 0x2e, 0xf8, 0x28, 0xda, 0x7b, 0x6b, 0xe9, 6624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf8, 0x44, 0xed, 0xfc, 0xf3, 0xe1, 0x2d, 0x92, 0x40, 0xa6, 0xf6, 0xa0, 6634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0f, 0xc5, 0x69, 0x17, 0xdb, 0x08, 0xe2, 0x62, 0x0d, 0x41, 0x5b, 0xd5, 6644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x93, 0x9b, 0x03, 0xaf, 0xe7, 0x16, 0x20, 0x4b, 0x5c, 0x08, 0x1f, 0x9e, 6654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x44, 0xe0, 0x01, 0x87, 0xff, 0xdf, 0xe2, 0x0a, 0xdb, 0x0a, 0xf3, 0xdb, 6664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc6, 0xba, 0xcd, 0x87, 0x00, 0x4f, 0xc0, 0x49, 0x54, 0xa0, 0xc6, 0xf2, 6674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xec, 0xb9, 0x6b, 0x78, 0xef, 0x94, 0x3e, 0x56, 0xfe, 0x39, 0x92, 0x3b, 6684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x12, 0x4f, 0x09, 0x1b, 0x66, 0x82, 0x17, 0xfc, 0xcd, 0x6c, 0xfc, 0xca, 6694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x55, 0xb0, 0x25, 0xbd, 0x28, 0x98, 0x4f, 0x17, 0xb4, 0xb0, 0xa7, 0xbb, 6704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x10, 0x30, 0xf5, 0xb2, 0xdf, 0x4a, 0xdc, 0x96, 0x1b, 0x91, 0xb0, 0xd8, 6714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb1, 0xbb, 0xc4, 0x69, 0x3f, 0xe7, 0x93, 0x00, 0x06, 0x90, 0xb4, 0x08, 6724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x99, 0x4f, 0xd4, 0x21, 0x15, 0x00, 0xa8, 0xdf, 0x53, 0x13, 0x6b, 6734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf2, 0xcc, 0x50, 0x11, 0x66, 0x2a, 0x8d, 0x3e, 0xc0, 0x29, 0xbe, 0x64, 6744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf2, 0xab, 0xa9, 0x2a, 0xc6, 0xde, 0xc2, 0xca, 0x21, 0xab, 0x69, 0x43, 6754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xeb, 0x7e, 0xc0, 0x52, 0x91, 0xf6, 0xe9, 0x9a, 0x03, 0xca, 0x61, 0x55, 6764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbd, 0x30, 0x9d, 0x04, 0x1f, 0xeb, 0x22, 0x0a, 0xa0, 0x15, 0x8e, 0x88, 6774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x64, 0x35, 0x40, 0x21, 0x30, 0xb0, 0xb2, 0x9b, 0xc2, 0xcf, 0xc9, 0xab, 6784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe1, 0x36, 0xb7, 0xd3, 0xa3, 0x9e, 0x00, 0xff, 0xb7, 0xc3, 0xc3, 0x2c, 6794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x77, 0x2e, 0x31, 0x22, 0x9c, 0x66, 0x9f, 0xe2, 0xb2, 0x36, 0xce, 0x2b, 6804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6c, 0x80, 0x03, 0x36, 0xb3, 0x9b, 0xbc, 0x8e, 0x47, 0xe9, 0xc0, 0x0f, 6814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0x1a, 0x64, 0xf6, 0x75, 0xa1, 0xe7, 0xf0, 0x2e, 0x5e, 0xf3, 0x4e, 6824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x54, 0xb1, 0x56, 0xa1, 0x47, 0x14, 0xad, 0xf1, 0xaf, 0xfb, 0xf8, 0x14, 6834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0x13, 0x75, 0x28, 0x09, 0x40, 0x0f, 0xbc, 0xaf, 0x39, 0x07, 0x15, 6844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x12, 0x4d, 0xa3, 0xcb, 0x18, 0xde, 0xfb, 0xe0, 0xc1, 0x5e, 0xd9, 0xd3, 6854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf6, 0x86, 0x43, 0x70, 0xf1, 0x84, 0xc2, 0x9b, 0xca, 0xce, 0x5e, 0x00, 6864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0x50, 0x8e, 0x44, 0xbf, 0x27, 0xea, 0x4a, 0x2f, 0xcf, 0xbc, 0x83, 6874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0x71, 0xc6, 0xc8, 0x64, 0xa0, 0x2a, 0x88, 0x5b, 0x72, 0x24, 0xb8, 6884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe5, 0xf5, 0x91, 0xaa, 0x07, 0xc8, 0xdf, 0x8e, 0xe3, 0x2b, 0x85, 0xbe, 6894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdc, 0x1e, 0x92, 0x6c, 0x83, 0x42, 0x80, 0xb6, 0xe8, 0x80, 0x34, 0xf8, 6904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9d, 0xf2, 0xf5, 0xf3, 0x79, 0x6a, 0x6d, 0x2e, 0xad, 0x03, 0x9b, 0x97, 6914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0x7b, 0x3b, 0xaf, 0x30, 0x08, 0x67, 0x7e, 0x7b, 0x02, 0xe1, 0xb2, 6924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd9, 0xe1, 0x1b, 0x36, 0x6c, 0xc9, 0x69, 0x41, 0x76, 0x92, 0x9b, 0xbe, 6934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd6, 0xde, 0xd4, 0x8d, 0xfb, 0x2e, 0x1c, 0x00, 0x6e, 0x2b, 0xcb, 0xac, 6944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x41, 0xa9, 0xb1, 0xd6, 0xca, 0x36, 0xd2, 0xcf, 0x2d, 0x91, 0x2c, 0xd7, 6954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa9, 0x61, 0x13, 0x99, 0x7d, 0x43, 0x1b, 0x86, 0x46, 0x80, 0x16, 0xf7, 6964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x75, 0x02, 0x2b, 0xf6, 0x44, 0x1f, 0x5b, 0xd4, 0x13, 0x45, 0x3e, 0xdc, 6974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x09, 0xb8, 0xaa, 0x10, 0x74, 0x89, 0x59, 0xb7, 0x58, 0x04, 0xea, 0xda, 6984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x77, 0x63, 0xf3, 0x26, 0xe8, 0x64, 0x27, 0xb9, 0xda, 0x50, 0xd3, 0xb6, 6994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0xe0, 0x50, 0xd6, 0xeb, 0x79, 0x80, 0x1d, 0x80, 0x59, 0x2d, 0x1a, 7004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x51, 0x3e, 0x7c, 0x73, 0x74, 0x34, 0x3a, 0xba, 0xd4, 0xb0, 0x21, 0xb9, 7014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x50, 0xcf, 0x7b, 0xb5, 0x7c, 0x33, 0x6e, 0x6c, 0x01, 0x10, 0xdb, 0x60, 7024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x51, 0x8c, 0xee, 0xd2, 0x7c, 0xfb, 0x97, 0x00, 0x45, 0xe6, 0xe5, 0x38, 7034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x08, 0x54, 0x0e, 0x2c, 0x09, 0x6b, 0x6d, 0x87, 0x36, 0xd4, 0xbb, 0x57, 7044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd6, 0x52, 0x9b, 0xaa, 0xe5, 0xe1, 0xc2, 0xf7, 0x02, 0xcc, 0xdd, 0x4b, 7054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x02, 0xcc, 0x1a, 0xdc, 0xf1, 0x33, 0x78, 0xdc, 0xcc, 0x41, 0xcf, 0x8f, 7064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf2, 0xb0, 0xbf, 0x16, 0x5e, 0x26, 0x10, 0x66, 0x3f, 0x03, 0x0f, 0xb5, 7074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4b, 0x2a, 0x9e, 0x31, 0xa5, 0xba, 0x1b, 0x7e, 0xb1, 0x61, 0x9a, 0x16, 7084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x08, 0x5f, 0xf0, 0xbb, 0x84, 0x34, 0x29, 0xb5, 0xd9, 0x05, 0xd7, 0x62, 7094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x06, 0xa1, 0x3a, 0xe4, 0x21, 0x2e, 0x36, 0x7e, 0xd1, 0xdc, 0x73, 0xc7, 7104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3a, 0x80, 0x4d, 0xc5, 0x26, 0x69, 0xf4, 0xf3, 0xa5, 0x95, 0xb7, 0xe5, 7114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbb, 0xc5, 0x72, 0x51, 0xa5, 0xc4, 0xee, 0xb8, 0x02, 0x23, 0x1e, 0x70, 7124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5c, 0x66, 0xd0, 0xdf, 0x89, 0x16, 0x68, 0xaa, 0x21, 0x22, 0x84, 0x8a, 7134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb8, 0x6a, 0x8f, 0x0c, 0x6a, 0xce, 0xd3, 0x0f, 0x1a, 0xb2, 0x2d, 0x6f, 7144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0x2b, 0x34, 0x01, 0xe0, 0xb8, 0xe7, 0xb8, 0x22, 0xed, 0x76, 0xc2, 7154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd4, 0x72, 0xcb, 0x03, 0x1b, 0xc5, 0x7c, 0x75, 0xce, 0xf4, 0x7e, 0xd0, 7164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa2, 0xca, 0xa5, 0xc2, 0xa8, 0xe8, 0xca, 0xb7, 0x9b, 0x43, 0xae, 0x12, 7174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1b, 0xfa, 0xe7, 0xfb, 0xb0, 0x41, 0xfc, 0xf2, 0x38, 0x03, 0xec, 0xe3, 7184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6c, 0x1d, 0x2b, 0xf8, 0xaf, 0x2d, 0x42, 0x30, 0x94, 0xdf, 0xb3, 0x9d, 7194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xaa, 0xaa, 0xdf, 0xcf, 0x3d, 0x9b, 0xdb, 0xec, 0x8a, 0x02, 0x2d, 0x38, 7204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7b, 0x7e, 0xb4, 0x00, 0x6d, 0x01, 0x07, 0xf6, 0x3f, 0x84, 0x77, 0xe0, 7214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x25, 0x00, 0x25, 0xec, 0xd9, 0x00, 0x47, 0x06, 0xb5, 0x40, 0xf6, 0xa8, 7224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1e, 0xdf, 0xd9, 0x78, 0x03, 0x2d, 0xa1, 0xc5, 0x56, 0xe4, 0xe0, 0x19, 7234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc4, 0x66, 0xe0, 0x0c, 0x5a, 0xdb, 0xb6, 0xed, 0xea, 0xe2, 0x99, 0x1b, 7244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x99, 0xc7, 0xe1, 0xb9, 0x62, 0x2c, 0x96, 0x49, 0xb6, 0x0d, 0x8b, 0x1b, 7254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8f, 0xf6, 0xd0, 0x03, 0xcf, 0x77, 0xe4, 0x99, 0x4f, 0x9b, 0x2c, 0x59, 7264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb2, 0xc0, 0xa6, 0x50, 0xaa, 0xd1, 0x2a, 0x37, 0xeb, 0x05, 0x02, 0x17, 7274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfb, 0xa6, 0xcf, 0x41, 0xad, 0xea, 0x25, 0x36, 0x54, 0x6f, 0xce, 0xdf, 7284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcf, 0x69, 0xae, 0x14, 0xe5, 0xc5, 0x39, 0xe2, 0xe0, 0xb7, 0x38, 0xd2, 7294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbf, 0x15, 0x2c, 0xda, 0x75, 0xb0, 0x69, 0x71, 0xbe, 0xde, 0x20, 0x10, 7304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0x2f, 0xdd, 0xf3, 0xd6, 0x22, 0xb6, 0x3c, 0x5f, 0x37, 0x16, 0x42, 7314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x65, 0x29, 0xb8, 0x5b, 0x78, 0x09, 0x97, 0xa0, 0x4d, 0x00, 0x34, 0x6d, 7324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbd, 0xc4, 0x14, 0x2f, 0x41, 0x30, 0x01, 0x26, 0x94, 0xde, 0x2c, 0x8d, 7334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0x05, 0x62, 0x3d, 0x95, 0xda, 0x1b, 0x39, 0xe3, 0x69, 0x70, 0xe3, 7344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8b, 0x29, 0xbd, 0x58, 0x80, 0x0a, 0x75, 0xcf, 0x2c, 0x26, 0x6b, 0x96, 7354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x90, 0x95, 0xa7, 0x8d, 0x97, 0x87, 0xca, 0x00, 0x34, 0x2f, 0xd1, 0x2b, 7364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x10, 0x99, 0x54, 0x84, 0xdf, 0x3c, 0x01, 0xb8, 0x9c, 0xf2, 0xae, 0x97, 7374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1d, 0x16, 0xd7, 0xcc, 0x40, 0x1c, 0xc5, 0xba, 0x70, 0xf6, 0xf3, 0x7c, 7384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7f, 0x2d, 0xf9, 0xf8, 0x13, 0x7d, 0xa5, 0x01, 0xe3, 0xf1, 0xe8, 0x56, 7394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x54, 0x45, 0x5c, 0x2d, 0x1a, 0xcf, 0x8d, 0x22, 0x00, 0x3a, 0xfb, 0xe5, 7404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x15, 0xd8, 0xbc, 0x2a, 0xcb, 0xaf, 0x4b, 0x32, 0xf0, 0xf8, 0x6c, 0x83, 7414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0x1a, 0xde, 0x4c, 0x10, 0x00, 0xb0, 0x48, 0x01, 0xb0, 0x05, 0xb7, 7424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdf, 0x38, 0xd8, 0xb5, 0x09, 0xd8, 0x4d, 0xba, 0x93, 0x15, 0x5b, 0xe7, 7434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf3, 0xd9, 0xfc, 0x98, 0x6d, 0x90, 0x71, 0xc3, 0x4e, 0x18, 0x1a, 0x48, 7444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6c, 0x77, 0x2d, 0x8a, 0xad, 0xfb, 0x80, 0x07, 0x4b, 0xc7, 0x66, 0xf0, 7454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfc, 0x0c, 0xb3, 0x1e, 0x51, 0x44, 0x8a, 0xde, 0x64, 0x00, 0xb3, 0xdf, 7464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8f, 0x61, 0x78, 0x6f, 0x1d, 0xe4, 0x2d, 0x2c, 0xd8, 0x53, 0xcc, 0x0e, 7474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb5, 0xbe, 0x32, 0xff, 0x69, 0x40, 0x1e, 0x57, 0x3b, 0x1d, 0x4a, 0xbb, 7484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x26, 0xe3, 0xcf, 0xee, 0x87, 0xe2, 0x4a, 0x74, 0x30, 0xe4, 0x6e, 0x50, 7494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x9f, 0x8c, 0x7a, 0x0a, 0xe9, 0xc3, 0x00, 0x2d, 0x7c, 0xc9, 0x6d, 7504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfc, 0x5b, 0x2d, 0x92, 0x51, 0xaa, 0x53, 0x7d, 0x01, 0x93, 0x55, 0x20, 7514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1b, 0x6e, 0xae, 0x64, 0xa4, 0xc8, 0xdf, 0xa6, 0xe0, 0x8b, 0xf6, 0x23, 7524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7d, 0x3d, 0xba, 0xf6, 0x78, 0xbf, 0x25, 0xf2, 0xdd, 0xa8, 0xbb, 0xa3, 7534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x64, 0x5a, 0x52, 0xa4, 0x29, 0xa8, 0xfb, 0x00, 0x3b, 0x7e, 0x76, 0x41, 7544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xef, 0xd9, 0xcf, 0x92, 0xcf, 0x37, 0x87, 0x2f, 0x94, 0x87, 0x59, 0x14, 7554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x62, 0xb7, 0x91, 0x82, 0x7e, 0xae, 0xc3, 0x7e, 0x66, 0x4c, 0x2f, 0x05, 7564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3a, 0x19, 0x34, 0xad, 0xa6, 0x94, 0x70, 0xc6, 0xf5, 0x60, 0x09, 0x67, 7574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x42, 0xdf, 0xb1, 0xdf, 0x3a, 0xa1, 0xd4, 0x6d, 0x44, 0x90, 0xba, 0x3c, 7584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x73, 0x59, 0x6d, 0xd0, 0x13, 0x5b, 0xec, 0xfb, 0x08, 0xe9, 0xd9, 0xdd, 7594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x10, 0x00, 0xf4, 0x5e, 0x5b, 0x2e, 0x3f, 0x45, 0xc0, 0x45, 0x00, 0x6d, 7604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb4, 0xd2, 0x6a, 0x9e, 0x50, 0xf6, 0xf2, 0x1f, 0x40, 0x07, 0xe2, 0xfa, 7614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4c, 0x00, 0x3e, 0x14, 0xe9, 0x25, 0x9e, 0xce, 0xc2, 0x91, 0xd0, 0x37, 7624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd6, 0x8f, 0x6e, 0x6f, 0xf5, 0xf9, 0xcf, 0x0e, 0xf3, 0x88, 0x04, 0x3b, 7634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9c, 0xd2, 0x61, 0xb1, 0x52, 0x98, 0xa5, 0x29, 0xfe, 0x8d, 0xb8, 0x00, 7644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0xe7, 0x0b, 0xda, 0x65, 0x45, 0xb8, 0x1d, 0x0d, 0x54, 0x55, 0x21, 7654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2b, 0x38, 0xc3, 0x00, 0x00, 0x00, 0x01, 0x08, 0x43, 0xf3, 0xc0, 0x0f, 7664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbd, 0x85, 0x00, 0x3b, 0xfb, 0x8a, 0xeb, 0x9e, 0x5c, 0x74, 0x97, 0xca, 7674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4d, 0xd3, 0x21, 0x32, 0x45, 0x52, 0xbd, 0x20, 0xe6, 0xfb, 0x10, 0x20, 7684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x6b, 0xaf, 0xd7, 0xa9, 0xcf, 0xd1, 0xd7, 0x6f, 0xee, 0x72, 0x65, 7694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdc, 0x86, 0x87, 0x4a, 0xa5, 0x15, 0xe2, 0xdf, 0x0a, 0x7d, 0xf3, 0xb2, 7704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x44, 0x1c, 0x51, 0x48, 0xde, 0x82, 0x6d, 0x7c, 0x6e, 0x51, 0xf5, 0xbc, 7714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa2, 0xa5, 0x2d, 0xbe, 0x71, 0x1e, 0xdf, 0x61, 0x7d, 0x2a, 0xc3, 0xe6, 7724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xaf, 0x56, 0x13, 0xd6, 0x1d, 0xf9, 0x88, 0x77, 0x8c, 0x6d, 0x54, 0x0c, 7734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x20, 0x26, 0xff, 0xdd, 0x80, 0x02, 0xd2, 0x43, 0x6a, 0xd5, 0x73, 0xb5, 7744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xef, 0x50, 0xa9, 0x13, 0x50, 0x23, 0x56, 0x95, 0x42, 0x47, 0x35, 0xdf, 7754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x34, 0x50, 0x03, 0x7f, 0xb7, 0xd8, 0x4b, 0x9e, 0xa3, 0x2a, 0x89, 0xc0, 7764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0x55, 0xbb, 0x4a, 0x0b, 0x2d, 0xb9, 0x6d, 0x5b, 0x2b, 0x03, 0x29, 7774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x24, 0x0e, 0x6f, 0xd2, 0x80, 0x3b, 0x50, 0x05, 0x7f, 0xcf, 0x8d, 0xc3, 7784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x87, 0x76, 0xfd, 0x93, 0x89, 0x60, 0x23, 0xff, 0xed, 0xfd, 0x46, 0xf8, 7794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0xb3, 0x40, 0x1e, 0x09, 0xf8, 0xb4, 0x2e, 0x68, 0x8d, 0x14, 0xfb, 7804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x28, 0x01, 0x75, 0xc4, 0x86, 0xfd, 0xa9, 0xbd, 0xf9, 0x80, 0x3b, 7814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xef, 0x9b, 0x68, 0xeb, 0x7b, 0x73, 0xf7, 0x38, 0x48, 0x5a, 0x07, 0x5b, 7824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0e, 0x38, 0x75, 0x6f, 0xca, 0x42, 0xaf, 0x3f, 0xce, 0xbf, 0xef, 0xb6, 7834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x86, 0x71, 0x2d, 0x11, 0xed, 0x31, 0xc3, 0x49, 0xae, 0xe1, 0x57, 0x42, 7844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x54, 0x63, 0x68, 0x4c, 0x90, 0x0b, 0x62, 0xd2, 0xdb, 0xf1, 0x6e, 0xa4, 7854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfb, 0x25, 0x8d, 0xf7, 0xd7, 0x72, 0xf7, 0x38, 0x01, 0xef, 0x74, 0x5b, 7864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb0, 0x65, 0xe0, 0x57, 0xcf, 0x7d, 0xee, 0x45, 0x3c, 0x08, 0x40, 0x08, 7874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x13, 0x1b, 0xe4, 0xc0, 0x0f, 0xd4, 0x01, 0x18, 0x03, 0xef, 0xa7, 0x28, 7884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x17, 0x5f, 0x6f, 0x19, 0x07, 0x1f, 0x29, 0x70, 0x2a, 0xa3, 0x7e, 0x94, 7894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x5b, 0x98, 0x23, 0x9e, 0x70, 0x50, 0x9e, 0x60, 0xc0, 0xfe, 0x37, 7904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x62, 0x43, 0xec, 0x2c, 0x30, 0x2d, 0xbc, 0x1e, 0x85, 0x51, 0x06, 0x3f, 7914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x98, 0xa1, 0x97, 0xf4, 0xad, 0x89, 0x86, 0x1f, 0xea, 0x31, 0xbf, 0xcf, 7924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0x0f, 0xe6, 0x70, 0xfd, 0xb2, 0x51, 0xf4, 0xdb, 0x64, 0x8d, 0xc9, 7934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf7, 0xec, 0x00, 0xf1, 0xd6, 0xed, 0x81, 0xb1, 0x68, 0xc8, 0xdd, 0xe1, 7944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x58, 0x00, 0x65, 0xe6, 0xf2, 0xf2, 0x9e, 0x4c, 0x96, 0xac, 0xf0, 0x6f, 7954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9f, 0x09, 0x9d, 0x09, 0xf8, 0x5a, 0x90, 0x25, 0xda, 0x1d, 0x29, 0xf0, 7964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6b, 0x75, 0x82, 0x1f, 0xfd, 0x4d, 0x84, 0x2a, 0xc2, 0x1a, 0xad, 0xe1, 7974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0x2f, 0xb8, 0xf4, 0x0a, 0xd7, 0x64, 0x56, 0x5e, 0x6d, 0xcc, 0x7f, 7984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x25, 0x86, 0xcb, 0x76, 0x44, 0x90, 0x2a, 0x01, 0xed, 0xde, 0x7e, 0xa0, 7994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0xdf, 0x4a, 0x38, 0x29, 0x98, 0x4d, 0x37, 0xad, 0x76, 0xcf, 0x16, 8004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xeb, 0x90, 0xb2, 0x9b, 0x5c, 0x1a, 0xdf, 0x8e, 0xe5, 0x5c, 0x6d, 0xa8, 8014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x14, 0xb2, 0x7a, 0xd2, 0xdb, 0xd6, 0xc7, 0xcf, 0x9a, 0x92, 0xd0, 0xbd, 8024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x76, 0xec, 0xd0, 0xa8, 0xb5, 0x4a, 0x0c, 0xaa, 0xd8, 0xbb, 0x80, 0x16, 8034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x53, 0x37, 0x65, 0x0b, 0xa3, 0x42, 0xda, 0x02, 0x1f, 0xfd, 0x66, 0x3e, 8044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x50, 0xab, 0x72, 0x12, 0x49, 0x05, 0xb6, 0xf9, 0xf9, 0x8d, 0xd7, 0x00, 8054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x29, 0x6f, 0x4c, 0xd2, 0x78, 0xb1, 0x49, 0x02, 0x56, 0xbf, 0x0a, 0xb0, 8064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x24, 0x63, 0x59, 0xde, 0xcf, 0x2b, 0x2b, 0xd4, 0x00, 0x53, 0x04, 0x41, 8074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0xb6, 0x82, 0x3f, 0xfe, 0x64, 0xa0, 0x51, 0xed, 0x97, 0x6d, 0xcd, 8084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdd, 0x93, 0x46, 0x95, 0x9c, 0x19, 0x36, 0x8d, 0xa5, 0x9a, 0x51, 0x61, 8094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2d, 0xd8, 0xee, 0x00, 0x1e, 0xbb, 0xaa, 0xf7, 0x0f, 0xae, 0x97, 0x33, 8104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5e, 0xf0, 0xc3, 0xd6, 0x15, 0x09, 0x2d, 0xd0, 0xdd, 0xc3, 0x9b, 0xaf, 8114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xac, 0xa4, 0x5c, 0xba, 0x96, 0x45, 0x59, 0xba, 0x31, 0xba, 0x1c, 0xbe, 8124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x9e, 0xdc, 0x00, 0x85, 0xdb, 0x0d, 0x42, 0x8e, 0x09, 0x6a, 0x74, 8134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9f, 0xf2, 0xfc, 0xe5, 0xd6, 0x86, 0xa7, 0x46, 0x50, 0xf0, 0x11, 0x9e, 8144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0x0a, 0xaf, 0xfb, 0xf5, 0x24, 0x09, 0x8f, 0xb2, 0x10, 0xe8, 0xca, 8154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0xda, 0x9e, 0xd8, 0xc4, 0xf9, 0xef, 0xa4, 0x08, 0x5d, 0x29, 0x14, 8164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2a, 0x36, 0xfb, 0x40, 0x2b, 0x17, 0xc7, 0x21, 0xe1, 0x16, 0x64, 0x73, 8174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe0, 0x5e, 0xfe, 0xa0, 0x59, 0x4d, 0x57, 0x69, 0xf6, 0x13, 0x9c, 0x72, 8184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x81, 0x69, 0x13, 0x40, 0xea, 0xd4, 0x67, 0x37, 0xdb, 0x1e, 0xed, 0xd0, 8194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4a, 0xff, 0x9c, 0xca, 0x58, 0x40, 0xef, 0x05, 0x6b, 0x64, 0xde, 0x8a, 8204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbc, 0xc7, 0xd9, 0x14, 0x08, 0xdb, 0x9e, 0xf2, 0x4a, 0x30, 0x07, 0x33, 8214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x88, 0x96, 0x85, 0x37, 0x87, 0xc8, 0x68, 0x8f, 0x6c, 0x7e, 0x84, 0xdb, 8224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x68, 0x7a, 0x04, 0x23, 0x7d, 0x02, 0x82, 0x10, 0x03, 0x89, 0xf6, 0xc9, 8234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x94, 0x12, 0x3f, 0xf7, 0x1d, 0x39, 0x77, 0x8e, 0x19, 0xb2, 0x90, 0xdb, 8244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe6, 0x8f, 0x90, 0x57, 0xd7, 0xae, 0x65, 0x0a, 0xc1, 0x56, 0x1a, 0xa7, 8254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9f, 0x06, 0xc0, 0xb6, 0x88, 0x53, 0x71, 0xd0, 0x30, 0x53, 0x7e, 0xe9, 8264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe9, 0xd1, 0x1c, 0x5e, 0x3b, 0xc7, 0x83, 0x16, 0xdf, 0x46, 0xf7, 0x9f, 8274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc8, 0x08, 0x3f, 0x95, 0xcf, 0xf8, 0x4a, 0x50, 0x49, 0xff, 0xde, 0x2c, 8284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0x96, 0x00, 0x65, 0x12, 0x5b, 0xe0, 0x62, 0xac, 0x77, 0x9e, 0xdc, 8294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x83, 0x12, 0x4a, 0x54, 0xf0, 0x6f, 0xb7, 0x7b, 0xc0, 0x41, 0xfc, 0x40, 8304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x16, 0x20, 0x04, 0x37, 0x99, 0x28, 0x59, 0x8b, 0x69, 0x29, 0xad, 8314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0x24, 0xb6, 0x14, 0xba, 0xdf, 0xec, 0x25, 0x41, 0xbe, 0x8a, 0xde, 8324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x30, 0x01, 0xf3, 0xc1, 0x04, 0x06, 0x40, 0x1f, 0xfc, 0x8a, 0x77, 0x8d, 8334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe1, 0xf5, 0x60, 0x08, 0xaa, 0x07, 0xc0, 0xa6, 0xf5, 0x90, 0xaa, 0x00, 8344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2e, 0x6f, 0xcb, 0xe0, 0x0f, 0x90, 0x10, 0x00, 0xeb, 0x8e, 0x3e, 0xba, 8354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x09, 0x7f, 0xf7, 0x49, 0xce, 0xa3, 0x0e, 0xb4, 0x9b, 0xe3, 0x0e, 0x6d, 8364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0xad, 0xbc, 0x29, 0x5b, 0xf0, 0x00, 0x0c, 0x3d, 0xba, 0x7f, 0xdb, 8374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8c, 0xf8, 0xce, 0x20, 0xfd, 0xe7, 0x7c, 0xa6, 0x2d, 0x0d, 0x39, 0xac, 8384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xff, 0x0a, 0xe1, 0xfd, 0x57, 0xd7, 0xe4, 0x91, 0x77, 0x5f, 0xb9, 0x61, 8394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0xda, 0x87, 0xa0, 0xe0, 0x96, 0xe0, 0x89, 0xf2, 0xe4, 0xd8, 0xb5, 8404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x95, 0x1c, 0xad, 0xab, 0xce, 0x80, 0x3b, 0x00, 0x32, 0xc1, 0x5b, 8414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2c, 0x04, 0x6f, 0xfa, 0x7f, 0x91, 0x98, 0x34, 0x9a, 0x6d, 0x89, 0x02, 8424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdb, 0xcf, 0x44, 0x76, 0xda, 0x42, 0x46, 0xe5, 0xb0, 0x39, 0x5b, 0xfd, 8434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1f, 0xf7, 0xea, 0x82, 0x07, 0xe7, 0xf1, 0x08, 0x9e, 0xd7, 0x06, 0x79, 8444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x79, 0xce, 0x57, 0xbc, 0x1c, 0x1d, 0x83, 0x2d, 0x6e, 0xf8, 0x03, 0x2e, 8454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x78, 0x00, 0x4d, 0xce, 0x6f, 0x9d, 0x0c, 0x80, 0x3d, 0x0b, 0x0c, 0x87, 8464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0x8d, 0x04, 0x00, 0x2a, 0x73, 0xc0, 0x1b, 0x39, 0xef, 0xf9, 0x17, 8474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x69, 0x6b, 0x99, 0xca, 0xd3, 0x62, 0xd3, 0x6c, 0x50, 0x96, 0xf9, 0xd8, 8484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xae, 0x35, 0xdf, 0x13, 0x20, 0x8b, 0x85, 0xa6, 0x4c, 0x45, 0x8b, 0x36, 8494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xae, 0x97, 0x7c, 0x5b, 0x67, 0xd8, 0x6b, 0xf7, 0x69, 0x08, 0xa6, 0xea, 8504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe4, 0xbb, 0xb6, 0xd0, 0x29, 0xbf, 0xa5, 0x80, 0x17, 0x7d, 0x4d, 0xf7, 8514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbb, 0xf3, 0xc3, 0xb9, 0x8a, 0x86, 0xa0, 0xc9, 0x85, 0x17, 0x10, 0xf3, 8524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0x15, 0xbc, 0x68, 0x03, 0x22, 0x37, 0x5d, 0x7b, 0x0a, 0x70, 0x05, 8534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0xd6, 0x93, 0x79, 0x78, 0xdd, 0x32, 0x40, 0xf1, 0xc5, 0x2b, 0x64, 8544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x71, 0xf6, 0xe6, 0x7b, 0xc5, 0x78, 0x9d, 0xb0, 0x9b, 0x77, 0x6a, 8554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdd, 0x58, 0x92, 0x14, 0x10, 0x34, 0xb6, 0xe6, 0x00, 0x36, 0x23, 0x70, 8564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x66, 0x2d, 0xef, 0x6f, 0xed, 0xdc, 0x21, 0xd9, 0x0f, 0xa5, 0x86, 0xb2, 8574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7e, 0xd7, 0xf3, 0xbb, 0xb7, 0xc5, 0xb7, 0x7d, 0x37, 0x6d, 0xad, 0xf5, 8584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0x00, 0x39, 0xde, 0x65, 0xdd, 0xe7, 0x30, 0x10, 0xc0, 0x18, 0x50, 8594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa7, 0x18, 0x92, 0xe6, 0xed, 0x1a, 0xef, 0xd5, 0x8d, 0x90, 0x01, 0xe7, 8604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x64, 0x77, 0x89, 0xc5, 0xf6, 0x32, 0xd0, 0xff, 0x67, 0x47, 0x48, 0x90, 8614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x83, 0x4d, 0xd8, 0x4b, 0xad, 0xe6, 0xc5, 0x3a, 0x74, 0x22, 0x4e, 0x84, 8624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x70, 0x34, 0xd9, 0xc6, 0x7e, 0xf6, 0xd3, 0x82, 0x9a, 0xe7, 0xed, 0x79, 8634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8f, 0x5e, 0x72, 0xa2, 0xb8, 0xcd, 0x28, 0x98, 0x1c, 0x3a, 0x94, 0x06, 8644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdb, 0x48, 0xda, 0xd6, 0xfb, 0xa4, 0x4e, 0x05, 0x70, 0x46, 0xda, 0xef, 8654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7a, 0xfc, 0x53, 0x04, 0xf2, 0xf9, 0x0e, 0x98, 0x52, 0x87, 0xc8, 0x3e, 8664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd6, 0x6f, 0x60, 0x07, 0xa4, 0x71, 0x3d, 0xe6, 0xbf, 0x8c, 0x53, 0x03, 8674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xac, 0xb1, 0x46, 0x14, 0x54, 0x1d, 0x06, 0xb7, 0x20, 0x00, 0xf7, 0xa7, 8684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x77, 0xb1, 0xd3, 0x99, 0x8a, 0x82, 0xf4, 0x80, 0xbe, 0x72, 0xca, 0x38, 8694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa3, 0xe1, 0xde, 0xad, 0x97, 0xd9, 0xe2, 0xfd, 0xf9, 0x90, 0xc9, 0x46, 8704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa9, 0xb5, 0x10, 0xc8, 0x04, 0x1e, 0xa3, 0x98, 0xf1, 0x66, 0xdf, 0xa3, 8714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x58, 0xef, 0x97, 0x59, 0xcf, 0xd7, 0xdd, 0xfb, 0x4e, 0x99, 0x6a, 8724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0xe3, 0x0f, 0x38, 0x61, 0x4d, 0xc0, 0xae, 0xeb, 0x32, 0xb8, 0x43, 8734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa1, 0x45, 0x16, 0x91, 0x0b, 0x0a, 0x6c, 0xde, 0xcb, 0x4c, 0x20, 0x4c, 8744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x39, 0x74, 0xa8, 0x56, 0x8e, 0xf0, 0x02, 0xdb, 0xa7, 0xf1, 0x9c, 0xc7, 8754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x50, 0x0b, 0x7b, 0xda, 0x74, 0x2e, 0xa2, 0xc7, 0x43, 0xd9, 0xc6, 0x6d, 8764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0xf3, 0x74, 0xcc, 0x36, 0x62, 0x8d, 0xa6, 0x1e, 0x8a, 0x58, 0x6b, 8774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x27, 0x79, 0x5f, 0x83, 0x69, 0xe1, 0x65, 0x56, 0xee, 0x7c, 0xba, 0x8b, 8784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd9, 0x72, 0x00, 0x45, 0x98, 0x61, 0x67, 0x31, 0x7d, 0xe0, 0x57, 0xbd, 8794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x58, 0x13, 0xb0, 0xeb, 0x3d, 0x51, 0x15, 0x86, 0x55, 0x80, 0x00, 0x00, 8804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x09, 0x43, 0xf1, 0xf9, 0x49, 0xf9, 0x85, 0x04, 0xad, 0x6e, 0xaf, 8814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x32, 0x6e, 0x16, 0xdf, 0x2a, 0x77, 0x52, 0x11, 0xf8, 0xb7, 0x60, 0xe5, 8824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x32, 0xc8, 0x58, 0xc2, 0xca, 0x4a, 0xa1, 0x2d, 0xf6, 0xba, 0x47, 0x22, 8834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x2d, 0x00, 0x7d, 0xbb, 0xbc, 0xdd, 0x4b, 0x49, 0xdd, 0x88, 0xe6, 8844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0x2e, 0x07, 0xc3, 0xa5, 0x1a, 0x8d, 0xe5, 0xb8, 0xa6, 0xf3, 0x55, 8854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0xc0, 0xf7, 0x49, 0xde, 0xf0, 0x42, 0x36, 0x4b, 0xe0, 0xb6, 0x2b, 8864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x73, 0xf4, 0x51, 0x1c, 0x01, 0xe7, 0xdb, 0x9a, 0x13, 0x7b, 0xf9, 8874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x15, 0x1c, 0x4f, 0x04, 0x80, 0x03, 0xdd, 0x2f, 0x8a, 0x15, 0x0e, 0xa7, 8884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0xa8, 0x16, 0x45, 0xf6, 0xfa, 0x11, 0x4d, 0xf8, 0x82, 0xcc, 0x36, 8894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe6, 0xbf, 0x2f, 0x95, 0x55, 0x86, 0x7e, 0xad, 0x3d, 0x4b, 0x90, 0x21, 8904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0x22, 0x7b, 0xa0, 0x0f, 0xbe, 0x9f, 0x77, 0x73, 0xc5, 0x8f, 0x7f, 8914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2f, 0x7d, 0x9b, 0x1f, 0xb1, 0xfa, 0xfd, 0x44, 0x43, 0xca, 0x8e, 0x0b, 8924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x56, 0xe7, 0x75, 0xf2, 0xa3, 0x02, 0xab, 0x2d, 0x44, 0x6f, 0xd8, 0x73, 8934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xae, 0x23, 0x7f, 0x04, 0xee, 0x3e, 0x00, 0x0a, 0x5d, 0xcf, 0x4b, 0x38, 8944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc9, 0x03, 0xc0, 0x4b, 0x0a, 0x43, 0x0a, 0xad, 0xf0, 0x40, 0x03, 0xb8, 8954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe7, 0xf9, 0xfb, 0x58, 0x7a, 0x6d, 0xd9, 0x9b, 0x57, 0x07, 0x15, 0x8a, 8964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6d, 0x0a, 0x46, 0xfd, 0x0f, 0xf4, 0x16, 0x00, 0x6b, 0xc7, 0xff, 0xb1, 8974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x51, 0xf2, 0x9f, 0x78, 0xcd, 0x00, 0xb7, 0x6e, 0x53, 0xa9, 0x34, 0x3e, 8984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9b, 0x0e, 0x1b, 0x1b, 0xf2, 0x63, 0xe4, 0x11, 0x82, 0xa4, 0x80, 0x94, 8994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x66, 0x52, 0x51, 0x25, 0x9e, 0x16, 0xab, 0x3d, 0x23, 0x48, 0x0e, 9004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x35, 0xbf, 0xae, 0x08, 0xfa, 0xb8, 0x10, 0x3f, 0x2c, 0x4e, 0x8b, 0xe3, 9014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbb, 0x40, 0x8e, 0x3e, 0x38, 0xeb, 0x88, 0xf9, 0xb0, 0xf0, 0xf7, 0xed, 9024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xab, 0x14, 0x32, 0x14, 0xdf, 0x50, 0xf9, 0xf8, 0xc0, 0x02, 0x8e, 0x1c, 9034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0xb0, 0x11, 0xff, 0xee, 0xdb, 0x69, 0x60, 0x3c, 0x58, 0x52, 0x12, 9044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0xf2, 0xfe, 0x80, 0x53, 0x5b, 0xf4, 0x38, 0x03, 0xc7, 0xc0, 0x04, 9054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xff, 0xe1, 0x7f, 0xdf, 0xb4, 0xc8, 0x08, 0xc0, 0x0a, 0xb4, 0x0c, 0xa6, 9064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0x50, 0x1c, 0xd1, 0x88, 0x58, 0xd1, 0xb5, 0xb9, 0x75, 0x1d, 0xd3, 9074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf5, 0x7c, 0x21, 0x49, 0x4e, 0x1f, 0x5b, 0x38, 0x5b, 0xae, 0xcf, 0x04, 9084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3d, 0xbf, 0xce, 0x9f, 0x71, 0x0f, 0x00, 0x2e, 0xfb, 0xbb, 0x1d, 0x65, 9094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0xe6, 0xbc, 0x46, 0xbb, 0x60, 0xca, 0x58, 0x45, 0x25, 0xb7, 0xce, 9104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3a, 0xe8, 0x02, 0xbe, 0xdc, 0x4f, 0x2c, 0x62, 0xc3, 0x15, 0xbf, 0x5c, 9114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x30, 0x17, 0xa0, 0x80, 0x05, 0x59, 0xef, 0xff, 0x16, 0x22, 0x4f, 9124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd7, 0x5c, 0x3d, 0xc8, 0x66, 0xd4, 0x27, 0x9d, 0x4d, 0x8b, 0x50, 0x68, 9134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd6, 0xfc, 0xd0, 0xfa, 0xf1, 0x7f, 0x24, 0x67, 0x71, 0x21, 0xd9, 0x5e, 9144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4f, 0xec, 0xc9, 0x93, 0x21, 0x74, 0x3c, 0x74, 0x6e, 0x82, 0x6f, 0x3b, 9154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa8, 0x43, 0xad, 0xa2, 0x96, 0xb5, 0xbc, 0x8f, 0xeb, 0x1c, 0x22, 0x47, 9164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x64, 0xf5, 0x3e, 0xda, 0xa3, 0x4b, 0x6b, 0x08, 0xce, 0x00, 0x33, 0xf7, 9174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9b, 0x25, 0x0c, 0xaf, 0x32, 0x19, 0x46, 0xb7, 0xa7, 0x42, 0x01, 0xaf, 9184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7c, 0xb8, 0x03, 0xde, 0x79, 0x93, 0x80, 0xa2, 0xb2, 0x0c, 0x81, 0xa5, 9194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd6, 0xc1, 0xf7, 0x37, 0x0a, 0x44, 0x3d, 0x4a, 0x87, 0x86, 0x00, 0xd5, 9204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x96, 0x4b, 0xae, 0x46, 0x4a, 0x52, 0xb7, 0xd0, 0xec, 0x5e, 0x11, 0xb8, 9214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7e, 0xbf, 0xac, 0x2c, 0xad, 0xe7, 0x1f, 0x93, 0x8b, 0x76, 0xa3, 0x8f, 9224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8a, 0x51, 0x94, 0xb4, 0x2b, 0x0f, 0x8d, 0xc0, 0xe6, 0x68, 0x19, 0xca, 9234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9e, 0x25, 0x29, 0x29, 0xb0, 0xf1, 0x28, 0xa1, 0x6e, 0xb7, 0x72, 0x06, 9244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x45, 0x58, 0x9e, 0x10, 0x68, 0x4b, 0x52, 0x46, 0xcc, 0x7b, 0xb6, 0xe2, 9254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x50, 0xab, 0x0a, 0x02, 0xeb, 0x5d, 0x87, 0x2d, 0xf5, 0x6d, 0xcf, 0xa0, 9264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0x7d, 0x61, 0x6b, 0xcd, 0xe2, 0xd9, 0x2f, 0x83, 0xf0, 0xaa, 0x10, 9274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x31, 0xb7, 0xe4, 0xc8, 0x47, 0x94, 0xde, 0x02, 0xb5, 0xfb, 0x2e, 0x5b, 9284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x16, 0x9d, 0xa0, 0x5b, 0x69, 0x23, 0x7e, 0x7b, 0x23, 0x75, 0xbb, 0x29, 9294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0xbf, 0x7f, 0x3b, 0x4b, 0x0c, 0x30, 0xda, 0x7b, 0x61, 0xd9, 0x39, 9304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x14, 0x23, 0x70, 0xc8, 0x55, 0x31, 0xd4, 0xc7, 0x1c, 0x4c, 0x51, 0x81, 9314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0xb7, 0xa0, 0x32, 0xb7, 0xa2, 0x8a, 0x8d, 0xea, 0xf6, 0xcb, 0xe5, 9324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x78, 0xd8, 0xa7, 0xd2, 0xd5, 0xd2, 0x1c, 0x58, 0xe1, 0xed, 0xb7, 0x87, 9334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0x11, 0x95, 0x50, 0x72, 0x6e, 0x17, 0xa3, 0x09, 0x88, 0x31, 0xb9, 9344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x76, 0x1b, 0xf3, 0x9b, 0x54, 0x05, 0x77, 0x8d, 0xc2, 0xe1, 0x30, 0x71, 9354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfe, 0xad, 0xd2, 0x17, 0x40, 0x0e, 0x05, 0xbe, 0x97, 0x46, 0x9a, 0x6b, 9364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb3, 0x32, 0x94, 0x04, 0x50, 0xf2, 0xef, 0x8c, 0x29, 0x93, 0x6e, 0xde, 9374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5c, 0xc2, 0x7f, 0x34, 0x9d, 0x81, 0x92, 0x72, 0xfc, 0x9b, 0x47, 0x0d, 9384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x28, 0xf0, 0x98, 0xce, 0x45, 0x7c, 0xe8, 0x00, 0xfe, 0x1a, 0x19, 0x49, 9394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xce, 0xe4, 0xc4, 0xd8, 0x1b, 0x64, 0xcb, 0x4a, 0x0d, 0x62, 0xe7, 0xef, 9404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x59, 0xef, 0xbb, 0x25, 0x1c, 0x82, 0xf4, 0xc9, 0x29, 0xe3, 0x92, 0x92, 9414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1b, 0x1c, 0x33, 0xe1, 0xfd, 0xdb, 0x40, 0x47, 0xe6, 0xe5, 0x51, 0x83, 9424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0d, 0x18, 0x10, 0xd4, 0xd2, 0x73, 0x74, 0x08, 0x96, 0x71, 0x45, 0xe4, 9434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd4, 0x1c, 0x4f, 0x3f, 0x21, 0xd7, 0xc5, 0xb1, 0xdd, 0xa0, 0x0e, 0xbe, 9444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9d, 0x63, 0xed, 0x0d, 0xb3, 0xcf, 0x75, 0x29, 0xe3, 0xf7, 0x6c, 0xf4, 9454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb5, 0x97, 0x94, 0xb9, 0x66, 0x1b, 0xe2, 0x05, 0x1c, 0xdd, 0x5e, 0x45, 9464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc7, 0x6f, 0xe6, 0x4a, 0x59, 0x53, 0x75, 0x4c, 0x1e, 0x70, 0x4d, 0x61, 9474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa6, 0x95, 0x1b, 0xf1, 0x9e, 0xf2, 0x89, 0x99, 0x32, 0xca, 0x39, 0x43, 9484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0x6f, 0xd3, 0x1f, 0xde, 0xb4, 0x10, 0x3f, 0x2f, 0xee, 0xe2, 0x37, 9494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0xbc, 0xa5, 0xe6, 0xf5, 0x9d, 0xfb, 0x6b, 0xf5, 0xf9, 0x4f, 0x85, 9504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe5, 0x92, 0x2d, 0x09, 0x2d, 0xbe, 0x46, 0x6c, 0x9b, 0x23, 0xcb, 0x19, 9514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x85, 0x86, 0x96, 0x88, 0xa5, 0x37, 0xbf, 0xff, 0x3b, 0x8c, 0x00, 0x79, 9524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x77, 0xe3, 0xa1, 0x14, 0xf0, 0x0b, 0x45, 0xba, 0xd5, 0x79, 0xa6, 0xc9, 9534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x61, 0x45, 0xda, 0x07, 0xb6, 0x67, 0xa4, 0x6c, 0x39, 0x45, 0x8d, 0xfd, 9544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc4, 0x00, 0xb0, 0x01, 0xf8, 0x8f, 0x6b, 0xcf, 0x9b, 0xaa, 0x5b, 0x16, 9554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x21, 0x52, 0x7e, 0xc6, 0xc1, 0x90, 0xf1, 0xad, 0xf9, 0x59, 0x1d, 0xf1, 9564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf6, 0xf8, 0xf8, 0xf6, 0x99, 0x49, 0x86, 0xee, 0x75, 0xc6, 0x61, 0xb7, 9574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2d, 0x5a, 0xbb, 0x0f, 0xda, 0x79, 0xf5, 0xbb, 0xc2, 0xa0, 0x92, 0x7e, 9584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbf, 0x90, 0x0b, 0x61, 0x44, 0xed, 0x26, 0xe5, 0x91, 0xd9, 0x52, 0x69, 9594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x95, 0x0b, 0x2e, 0x84, 0x56, 0xc9, 0xd8, 0xae, 0x45, 0x2e, 0x0a, 0x7c, 9604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb4, 0x9b, 0x15, 0x20, 0xfa, 0x6d, 0x2c, 0x28, 0xe6, 0xd2, 0x15, 0x1b, 9614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4d, 0xa5, 0x14, 0xdf, 0x3f, 0x9f, 0x3d, 0x89, 0xba, 0x87, 0x41, 0xaa, 9624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x56, 0x0d, 0x56, 0xdf, 0x95, 0xf3, 0xdf, 0x2b, 0xf3, 0x68, 0xc7, 0x60, 9634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc9, 0x4b, 0x38, 0xaa, 0x71, 0x4d, 0x9f, 0xa9, 0x39, 0xdc, 0x5c, 0x29, 9644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7f, 0x57, 0x52, 0xdd, 0x42, 0x9b, 0xa5, 0x9d, 0x3f, 0x7e, 0x2c, 0xb7, 9654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x61, 0x41, 0xd0, 0xa8, 0x54, 0x54, 0x0d, 0x38, 0x29, 0xa1, 0xb5, 0xab, 9664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4f, 0x6f, 0x3f, 0xd3, 0x89, 0xd7, 0x55, 0xe4, 0xed, 0xe7, 0x69, 0x35, 9674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x06, 0x59, 0x22, 0x97, 0x4b, 0xfd, 0xb2, 0x74, 0x21, 0xf2, 0x45, 0x7d, 9684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x50, 0xa3, 0xea, 0xa0, 0xf6, 0xe8, 0xfd, 0x44, 0x65, 0xe8, 0x07, 0x2f, 9694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x55, 0xa6, 0xae, 0x52, 0xb1, 0x0a, 0x46, 0xe1, 0x3d, 0xdc, 0x60, 0xbf, 9704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x38, 0x6c, 0x28, 0xf3, 0x0a, 0x85, 0x94, 0x3e, 0x56, 0x43, 0x19, 0xb7, 9714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xaa, 0xf3, 0x79, 0xcc, 0x9c, 0x61, 0x94, 0xab, 0x62, 0x0c, 0x0a, 0x6d, 9724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0x64, 0x59, 0x1b, 0x88, 0xe7, 0xec, 0x3c, 0x9d, 0x9c, 0xd7, 0xda, 9734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xba, 0x8a, 0x34, 0x6b, 0x73, 0x5d, 0xd9, 0x07, 0xbd, 0xbc, 0xb8, 0xa2, 9744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xee, 0x63, 0xae, 0x07, 0x5a, 0x85, 0x1e, 0x87, 0xd1, 0x8c, 0x80, 0x07, 9754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd1, 0xde, 0xd3, 0x9c, 0x2c, 0xb5, 0x58, 0x34, 0xb2, 0xe4, 0x0a, 0x8c, 9764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xda, 0x63, 0x7d, 0xd1, 0x22, 0xc8, 0x9a, 0xec, 0xd3, 0x0d, 0x01, 0xc7, 9774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2f, 0xe4, 0xe8, 0x1f, 0x28, 0xcd, 0x81, 0x03, 0x55, 0xba, 0x93, 0xfe, 9784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xff, 0x6b, 0xce, 0xcd, 0xef, 0x64, 0xd9, 0x8f, 0x9b, 0x2e, 0xdb, 0x38, 9794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0xe2, 0x0e, 0x29, 0xb8, 0x3f, 0x7e, 0x48, 0xc2, 0x3b, 0xd9, 0xb2, 9804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd3, 0xea, 0xef, 0x26, 0xe4, 0xae, 0x42, 0x8a, 0xa7, 0xdf, 0x02, 0x9b, 9814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3f, 0x26, 0x7c, 0xf4, 0x23, 0x5e, 0x3a, 0x4e, 0x21, 0xa9, 0x6c, 0xb4, 9824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x62, 0x4a, 0x1a, 0xc0, 0xd6, 0x8c, 0x4b, 0x95, 0xbc, 0x4f, 0xde, 0x5c, 9834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xec, 0x82, 0xde, 0xe2, 0xe9, 0x8e, 0x9c, 0xad, 0xa9, 0x87, 0xd2, 0x1b, 9844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0xee, 0x88, 0x92, 0xc8, 0x78, 0xd3, 0x88, 0x4d, 0xdf, 0x13, 0x3a, 9854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xff, 0x7c, 0xe5, 0x76, 0x65, 0x4a, 0x1e, 0x9e, 0x56, 0x22, 0xd0, 0x21, 9864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0x8f, 0x6f, 0x3b, 0xb6, 0x39, 0xef, 0xf2, 0x33, 0xc7, 0x24, 0xd4, 9874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x38, 0x2d, 0x93, 0x69, 0x2a, 0xca, 0xda, 0x71, 0x6c, 0x7b, 0xf5, 0x42, 9884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0x0f, 0x85, 0x46, 0xd9, 0xfc, 0xe7, 0x9f, 0x7e, 0x46, 0x0e, 0x48, 9894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5d, 0x64, 0x7e, 0xdf, 0x9c, 0x97, 0x8d, 0x94, 0x62, 0x1b, 0x84, 0xb4, 9904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa7, 0x05, 0x36, 0x98, 0xfb, 0xa2, 0x5d, 0x73, 0x85, 0xa3, 0x69, 0xea, 9914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x50, 0x71, 0xd5, 0x88, 0xcd, 0xb4, 0x23, 0x3a, 0xf1, 0x96, 0x1b, 0xb2, 9924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x04, 0x0e, 0x87, 0xfa, 0xb6, 0x67, 0xe4, 0xd7, 0x3a, 0x79, 0x50, 0xc3, 9934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x12, 0x97, 0xbe, 0x07, 0x33, 0xba, 0x51, 0x1d, 0x24, 0x7d, 0x1d, 0xaf, 9944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd4, 0x2c, 0xe6, 0xe6, 0xcc, 0x9e, 0x7a, 0xb4, 0x26, 0xca, 0x7a, 0x50, 9954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1e, 0xb3, 0x8d, 0x6c, 0x00, 0x00, 0x01, 0x0a, 0x43, 0xf9, 0x00, 0x03, 9964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbf, 0xe0, 0xb1, 0x5c, 0x93, 0xba, 0x30, 0x72, 0x79, 0xf1, 0x4d, 0x53, 9974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xac, 0x3e, 0x58, 0x53, 0x6f, 0xf9, 0x99, 0xc9, 0x1e, 0xf5, 0x2c, 0x80, 9984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4f, 0x96, 0xd8, 0xba, 0x81, 0x8a, 0x39, 0xbd, 0x28, 0x03, 0x87, 0xb8, 9994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8c, 0x29, 0xd6, 0xe4, 0x09, 0xdf, 0x3b, 0xaf, 0xa5, 0xa1, 0xf1, 0x55, 10004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x21, 0xc3, 0x1b, 0xce, 0x08, 0xcf, 0x21, 0x4b, 0x2f, 0x8c, 0x6f, 0x1b, 10014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x70, 0x9e, 0x4f, 0x8e, 0x50, 0x9c, 0xb1, 0x15, 0xbc, 0x74, 0x1c, 0xde, 10024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0xee, 0xf1, 0xd3, 0x20, 0x66, 0x61, 0x44, 0xda, 0x15, 0x21, 0x55, 10034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbd, 0x68, 0x03, 0xc7, 0xf1, 0xd7, 0x98, 0xbd, 0x4a, 0x7d, 0x97, 0x97, 10044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0xee, 0x97, 0x22, 0x42, 0xa8, 0xc8, 0x14, 0xde, 0x14, 0x9b, 0xce, 10054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xad, 0x6b, 0x76, 0x51, 0x69, 0x90, 0x28, 0xa3, 0xda, 0x21, 0x52, 0x52, 10064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0x46, 0x1f, 0x15, 0xbf, 0xa0, 0x7b, 0x25, 0x11, 0xdf, 0x61, 0x20, 10074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x13, 0xfe, 0x22, 0x14, 0x58, 0x70, 0xd2, 0xdb, 0xca, 0xda, 0x01, 0x53, 10084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdd, 0xb6, 0x20, 0xc2, 0xe7, 0x8b, 0x71, 0x04, 0x3a, 0x0a, 0xe6, 0x6e, 10094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xec, 0x0d, 0x59, 0x12, 0x4f, 0x14, 0xad, 0xba, 0x02, 0x17, 0xfd, 0x3b, 10104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x69, 0x2e, 0x92, 0x58, 0x2a, 0xd8, 0xa4, 0x26, 0xac, 0x2b, 0x15, 0xbf, 10114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0x80, 0x3b, 0x00, 0x5f, 0xec, 0x00, 0x5f, 0xfc, 0x8f, 0xe2, 0x74, 10124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa8, 0x4f, 0xc1, 0x62, 0x35, 0x61, 0x97, 0x13, 0x72, 0x9e, 0x10, 0xdf, 10134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6e, 0x11, 0xff, 0xe7, 0xa0, 0x06, 0x6f, 0xe5, 0xeb, 0xa3, 0x39, 0x79, 10144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x97, 0x64, 0xa8, 0x9c, 0x5c, 0x59, 0x07, 0xb7, 0xe4, 0xfe, 0xf9, 0x00, 10154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x35, 0xf6, 0x9c, 0xf9, 0xa4, 0x2e, 0x90, 0x3a, 0x49, 0x3b, 0xe4, 0x71, 10164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x46, 0xd2, 0xa4, 0x3d, 0xbd, 0x0f, 0xfb, 0xed, 0x9f, 0x04, 0x70, 0x0a, 10174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfe, 0x05, 0x6d, 0x2f, 0xf2, 0x41, 0x5f, 0xc6, 0x61, 0x84, 0x0c, 0xcf, 10184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc2, 0x55, 0xb8, 0x78, 0x63, 0x67, 0xd3, 0xcc, 0xdf, 0x3b, 0x6a, 0x0f, 10194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x74, 0x58, 0x81, 0x6d, 0xae, 0x5b, 0xa5, 0xd5, 0x0a, 0x6f, 0x9e, 0x2b, 10204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9a, 0x00, 0xf8, 0x8d, 0x9c, 0x65, 0x5b, 0x57, 0x79, 0x47, 0x48, 0x5d, 10214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x55, 0x1a, 0x4a, 0x6f, 0x00, 0x2d, 0x61, 0x91, 0x47, 0x42, 0xc7, 0x48, 10224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x51, 0xed, 0xea, 0xf5, 0xdc, 0x00, 0x3a, 0xec, 0x8a, 0x44, 0xec, 0x9f, 10234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x05, 0x3d, 0x90, 0x33, 0xbe, 0x6e, 0x69, 0xf0, 0x38, 0xb3, 0x2a, 10244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x78, 0x94, 0xde, 0x0b, 0xfd, 0x40, 0x2d, 0xd7, 0xeb, 0x90, 0x35, 0x2e, 10254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd5, 0x83, 0x08, 0x4d, 0x35, 0x76, 0x54, 0xb0, 0x30, 0x29, 0xb0, 0xb0, 10264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0xfa, 0x36, 0xd7, 0xc8, 0xf9, 0x7d, 0x0a, 0xa0, 0x6d, 0xae, 0x27, 10274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x10, 0x04, 0xdc, 0x40, 0x85, 0xb1, 0x5b, 0x81, 0xd6, 0x00, 0x19, 0x59, 10284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9a, 0xf0, 0x9b, 0x04, 0xcb, 0x81, 0x87, 0x05, 0xb6, 0x5f, 0xa7, 0x40, 10294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x16, 0x08, 0x13, 0xcc, 0x81, 0x31, 0x0c, 0x84, 0xba, 0xdb, 0x4b, 0xe6, 10304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb2, 0x90, 0xd9, 0xd8, 0x39, 0xba, 0x78, 0x80, 0x07, 0xc2, 0x1d, 0x32, 10314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0x06, 0xcd, 0x47, 0x86, 0x0c, 0x94, 0x69, 0xe1, 0x8d, 0xbb, 0xdc, 10324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0x03, 0x9a, 0x40, 0x2a, 0xa5, 0x86, 0xe2, 0x26, 0xcf, 0x0d, 0x96, 10334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x51, 0xc1, 0x8d, 0x92, 0xd7, 0xfd, 0x76, 0x0a, 0xc7, 0x28, 0xcc, 0x0f, 10344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe7, 0x22, 0x3e, 0x87, 0x43, 0xf4, 0x60, 0x62, 0x16, 0x5b, 0x6b, 0x22, 10354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6d, 0xf6, 0x23, 0x47, 0x62, 0x5a, 0xb6, 0xd8, 0x2b, 0xa8, 0xe9, 0xb7, 10364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x76, 0x97, 0x4d, 0xd5, 0xb6, 0x90, 0xdb, 0x3f, 0xd4, 0x25, 0xb6, 0xd4, 10374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0xef, 0x32, 0x47, 0x45, 0x2c, 0xa3, 0xb3, 0xbd, 0x2b, 0x68, 0x1f, 10384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0a, 0x66, 0xe3, 0x00, 0x0f, 0xa1, 0x39, 0xf4, 0x6a, 0x20, 0x7e, 0x4a, 10394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa8, 0x70, 0xd5, 0x0d, 0x6b, 0x26, 0x5f, 0xbb, 0xf3, 0x64, 0xa1, 0x8b, 10404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5d, 0xbb, 0x2c, 0x08, 0x92, 0x17, 0xe0, 0xd4, 0xb9, 0xcb, 0xce, 0xf7, 10414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x14, 0x24, 0x81, 0x66, 0x42, 0x13, 0x77, 0x40, 0x32, 0xa0, 0x5b, 0x7a, 10424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x50, 0x0c, 0xcd, 0x24, 0xd6, 0xcb, 0xb5, 0x63, 0x9d, 0x28, 0x61, 0xb9, 10434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdb, 0xb0, 0xc8, 0x83, 0x07, 0x1e, 0x16, 0xdd, 0xb7, 0xe0, 0x00, 0x92, 10444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbd, 0xd2, 0x3a, 0xcf, 0xd0, 0x09, 0x2d, 0xa8, 0x7c, 0x58, 0x89, 0x14, 10454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x22, 0xa3, 0x73, 0xfb, 0xb7, 0xdc, 0x40, 0x99, 0x2d, 0x01, 0x54, 0x9a, 10464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x85, 0x1c, 0x37, 0x29, 0xc3, 0x4e, 0x6f, 0x57, 0xd7, 0x90, 0x8f, 0x81, 10474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x62, 0x5d, 0xcb, 0xac, 0x01, 0x27, 0x90, 0xbc, 0xa9, 0x03, 0xd6, 0x02, 10484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x27, 0xfe, 0x5b, 0x22, 0xf8, 0x28, 0xf6, 0xdd, 0xba, 0x23, 0x7c, 0xad, 10494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xef, 0x7d, 0x9e, 0x27, 0x8c, 0xb9, 0x07, 0xee, 0xd7, 0x73, 0xbc, 0xef, 10504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0xe8, 0xa5, 0x7a, 0x37, 0x93, 0xd3, 0x45, 0x66, 0x27, 0x28, 0x19, 10514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6e, 0x6f, 0x9c, 0x18, 0x32, 0xd6, 0xd9, 0x78, 0x82, 0x81, 0x0b, 0xfe, 10524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xab, 0xa0, 0xc2, 0xe5, 0x2a, 0xd2, 0x11, 0x5e, 0x25, 0xb6, 0x9c, 0xe5, 10534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xef, 0x15, 0xaa, 0xe7, 0x02, 0x40, 0x01, 0x9b, 0xbb, 0x5f, 0xa1, 0x45, 10544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1c, 0x16, 0xc3, 0x4a, 0x23, 0x71, 0xdb, 0xbd, 0xbd, 0x79, 0x96, 0xd2, 10554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x63, 0xb2, 0x3e, 0x2c, 0xb2, 0xd3, 0x51, 0x26, 0xf8, 0xb7, 0x4c, 0x49, 10564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x31, 0xca, 0x65, 0x29, 0x10, 0xe4, 0xb1, 0x47, 0x35, 0x3f, 0x5e, 0x9f, 10574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc9, 0x75, 0x21, 0x72, 0xfe, 0xa2, 0xae, 0x12, 0xa8, 0xc6, 0xeb, 0xba, 10584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xce, 0xc5, 0xde, 0x7a, 0xb4, 0x11, 0xbf, 0xf3, 0x75, 0xcf, 0x92, 0xcc, 10594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc0, 0xe8, 0x54, 0xab, 0x0b, 0x69, 0x67, 0x0f, 0xad, 0xd1, 0x9d, 0xed, 10604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x17, 0x97, 0xbe, 0x86, 0xdc, 0x29, 0x4a, 0xbf, 0xaa, 0x36, 0x1c, 0x53, 10614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x59, 0xed, 0xf1, 0x1c, 0xf7, 0xef, 0x1d, 0xc9, 0x40, 0x73, 0xb7, 0x56, 10624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3a, 0x64, 0x18, 0x16, 0x59, 0x61, 0x8d, 0x9c, 0x51, 0x05, 0xdd, 0x4a, 10634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x27, 0x98, 0x34, 0x3a, 0xf2, 0xa9, 0x91, 0x0a, 0x2b, 0x00, 0xb6, 0x5d, 10644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xef, 0x51, 0x5d, 0x62, 0x14, 0x4e, 0x92, 0xd2, 0xb1, 0xc7, 0xda, 0x58, 10654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe5, 0x0c, 0x66, 0xca, 0x16, 0x73, 0x7d, 0x22, 0x27, 0x09, 0x9a, 0x27, 10664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdf, 0x4d, 0x28, 0xb9, 0xba, 0xa8, 0x64, 0x2c, 0xe2, 0x8a, 0x88, 0x53, 10674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0xf5, 0xe2, 0x68, 0x18, 0x15, 0x24, 0xfd, 0x43, 0x6e, 0xd4, 0x43, 10684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0x16, 0x0e, 0x29, 0x5b, 0x17, 0x5b, 0x78, 0x78, 0x19, 0xe5, 0x3f, 10694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x75, 0xcb, 0xbb, 0x46, 0x28, 0xd8, 0x73, 0x65, 0x8e, 0x77, 0x22, 0xb7, 10704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4d, 0x86, 0x0d, 0xbb, 0x6a, 0x98, 0x30, 0x60, 0x4b, 0x26, 0x1b, 0xb3, 10714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe1, 0xfa, 0x2b, 0xf2, 0x26, 0xa9, 0x52, 0xec, 0xda, 0x76, 0x49, 0x10, 10724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x86, 0x31, 0xb4, 0xdf, 0x67, 0xfb, 0xbd, 0xf3, 0x5f, 0xaa, 0x52, 0x47, 10734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd9, 0x09, 0x67, 0x34, 0xde, 0x54, 0x4c, 0xb7, 0x28, 0x4e, 0x43, 0xc0, 10744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7c, 0xd6, 0x71, 0xa4, 0xe9, 0x76, 0xc8, 0xa7, 0x93, 0x6c, 0x98, 0xb4, 10754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb1, 0xb0, 0x74, 0x69, 0x6d, 0x02, 0x5b, 0xbb, 0xd8, 0x52, 0x71, 0xaf, 10764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbc, 0xc5, 0x50, 0xec, 0x94, 0xa8, 0x8a, 0x94, 0xb9, 0x3c, 0x5b, 0x95, 10774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc8, 0xb7, 0x0a, 0x7d, 0x97, 0x31, 0x0e, 0xb2, 0x3a, 0xa9, 0x91, 0x4b, 10784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x29, 0x61, 0x5e, 0xac, 0xc4, 0xfa, 0x2a, 0x41, 0x83, 0x2e, 0x9a, 0x92, 10794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0e, 0x1e, 0x48, 0x6d, 0xdf, 0x63, 0x5f, 0x7b, 0xe6, 0xeb, 0xf7, 0x4f, 10804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9f, 0x89, 0x46, 0x42, 0x8b, 0x96, 0x8c, 0x60, 0xf6, 0x84, 0xb2, 0x9c, 10814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xde, 0x5d, 0xdd, 0xf9, 0x85, 0xad, 0x9f, 0xa8, 0xa7, 0x59, 0xfa, 0x0c, 10824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1a, 0x16, 0xd7, 0xf3, 0xf3, 0xc7, 0x1c, 0xc9, 0x3a, 0xe0, 0x6d, 0xb5, 10834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd8, 0xb0, 0xe0, 0xc4, 0x6a, 0xba, 0x92, 0x45, 0x3e, 0x9e, 0x62, 0x42, 10844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfc, 0x4f, 0x6c, 0x1c, 0x3e, 0xf2, 0x65, 0x48, 0x75, 0x42, 0xe8, 0xd8, 10854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x54, 0x61, 0x8d, 0x39, 0xbf, 0x5b, 0xf3, 0xce, 0x77, 0xf0, 0x27, 0x20, 10864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x91, 0x68, 0x4c, 0xfc, 0xde, 0x52, 0x4e, 0x20, 0x66, 0x6c, 0x1b, 0x4a, 10874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa7, 0xc1, 0x8d, 0xcf, 0x13, 0xa2, 0x80, 0x0f, 0xdd, 0x82, 0xe6, 0x17, 10884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x16, 0xe4, 0x18, 0x71, 0xa7, 0x28, 0x63, 0x73, 0x1d, 0x2b, 0x8a, 0x2c, 10894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa3, 0xcd, 0x7c, 0x85, 0x2c, 0x6e, 0x87, 0xb3, 0x8d, 0xcd, 0xba, 0xa3, 10904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe4, 0xa6, 0xe2, 0x50, 0xa6, 0x50, 0xa6, 0xdb, 0x75, 0x6d, 0x6e, 0xbf, 10914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc7, 0x96, 0x3b, 0x83, 0x90, 0xa7, 0x22, 0x19, 0x31, 0x14, 0x6a, 0x35, 10924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0xf3, 0x10, 0x29, 0xce, 0xb7, 0x6d, 0x3c, 0x3e, 0xf6, 0xb6, 0x0c, 10934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x19, 0x69, 0xed, 0x5e, 0xdc, 0x11, 0xc6, 0x24, 0x09, 0x99, 0x6a, 0x16, 10944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x16, 0x18, 0xda, 0x66, 0xaf, 0x9d, 0x36, 0x8d, 0x43, 0xc9, 0x8a, 0xc4, 10954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x65, 0x68, 0x68, 0x16, 0xdf, 0x2b, 0xa7, 0x4e, 0xaf, 0x4f, 0xb2, 0x53, 10964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8a, 0xb6, 0xa5, 0xa4, 0x82, 0xe1, 0x2d, 0xac, 0xe3, 0xbc, 0xe3, 0x92, 10974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe6, 0x28, 0x0f, 0x10, 0xe1, 0x9e, 0x8d, 0x83, 0xab, 0xae, 0x32, 0x49, 10984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x11, 0x20, 0xd0, 0x82, 0x9a, 0xcf, 0x8d, 0x7c, 0x73, 0x8d, 0xb6, 0xa8, 10994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x10, 0x7d, 0x01, 0xab, 0x07, 0x30, 0x7d, 0x6d, 0xe6, 0x6b, 0x9d, 0xb6, 11004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0x8c, 0x08, 0x6a, 0x16, 0x72, 0xb2, 0x94, 0x04, 0x64, 0x85, 0xc0, 11014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0xda, 0xae, 0x5d, 0xc6, 0x62, 0x71, 0xa1, 0x36, 0x86, 0x36, 0x0c, 11024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdd, 0xc9, 0x2b, 0xc2, 0xa0, 0x67, 0x84, 0x64, 0xc3, 0x00, 0x00, 0x00, 11034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x0b, 0x43, 0xf9, 0x16, 0xdf, 0x37, 0xad, 0x9e, 0xa7, 0x46, 0xde, 11044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf0, 0xfc, 0xc2, 0xef, 0x8b, 0x71, 0xd3, 0xcf, 0x16, 0x92, 0x8a, 0x6f, 11054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x57, 0xc8, 0x21, 0x7f, 0xc8, 0x16, 0xb5, 0xbc, 0xb8, 0x52, 0xda, 0x43, 11064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x16, 0x37, 0x5b, 0xd7, 0x0f, 0x0a, 0x1e, 0x1a, 0xd2, 0x53, 0x39, 11074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa0, 0x5b, 0x6c, 0x9f, 0x8b, 0x72, 0x7a, 0xca, 0xdc, 0xa9, 0x25, 0xc9, 11084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x20, 0x43, 0xa8, 0x09, 0x69, 0xed, 0x3a, 0x1f, 0x23, 0x4d, 0x2d, 11094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0x59, 0x84, 0x04, 0x99, 0x40, 0x47, 0x0c, 0x85, 0x85, 0x97, 0x49, 11104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2d, 0xda, 0x04, 0x3f, 0xfa, 0xb4, 0x92, 0xdc, 0x48, 0x08, 0x40, 0x0e, 11114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0x2b, 0xd7, 0x6d, 0x25, 0x95, 0x09, 0x4d, 0xe9, 0x39, 0xcb, 0xc9, 11124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb8, 0x43, 0xb1, 0xb1, 0xa3, 0x09, 0x0c, 0x8e, 0x46, 0xfa, 0x72, 0x10, 11134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x76, 0x66, 0xdf, 0x0d, 0xb2, 0x2b, 0x68, 0x00, 0x6c, 0x28, 0x00, 0xf9, 11144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe4, 0x45, 0x35, 0x6a, 0x62, 0xd2, 0x21, 0x19, 0xe0, 0x66, 0x80, 0x47, 11154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x69, 0xc1, 0x2a, 0x8c, 0x45, 0xc8, 0x2f, 0x2e, 0x2d, 0x38, 0xa5, 0x1b, 11164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x83, 0x61, 0x55, 0xbd, 0x29, 0x17, 0xef, 0x84, 0x4f, 0x9b, 0xc3, 0xa0, 11174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf8, 0x6b, 0x84, 0xf5, 0x5f, 0xd1, 0x6e, 0xf3, 0xa1, 0xf9, 0x64, 0x9b, 11184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x32, 0x14, 0x75, 0x52, 0xeb, 0x79, 0xf1, 0xe4, 0xe3, 0x0a, 0xa1, 0x54, 11194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb2, 0x89, 0x5e, 0x8d, 0x56, 0x1a, 0xdf, 0x82, 0xed, 0xfb, 0xc7, 0x41, 11204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe6, 0x58, 0x96, 0x1a, 0xae, 0x0b, 0x1c, 0x35, 0x0a, 0x18, 0xde, 0x64, 11214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5f, 0x39, 0xc7, 0xbe, 0x47, 0x66, 0xc3, 0xe6, 0xd5, 0x88, 0x51, 0xd4, 11224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf0, 0xca, 0xde, 0x88, 0x01, 0x87, 0xc7, 0x3d, 0x7f, 0x5d, 0xf3, 0xcf, 11234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2f, 0xe4, 0x99, 0x4c, 0x78, 0xa7, 0x65, 0x80, 0x16, 0x66, 0x2d, 0x57, 11244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa0, 0xca, 0x12, 0xdc, 0x3a, 0x2f, 0xa1, 0x1e, 0x5b, 0xcf, 0x57, 0x4e, 11254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdd, 0x4d, 0x89, 0x2d, 0x91, 0x70, 0xfa, 0xb2, 0x54, 0xa7, 0x96, 0xdd, 11264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0x12, 0x6c, 0x84, 0x30, 0x2d, 0xb7, 0xa5, 0x37, 0x9d, 0xf9, 0x78, 11274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xeb, 0x64, 0xa1, 0x1b, 0x29, 0x5a, 0x80, 0x2b, 0x6c, 0x93, 0xf3, 0xce, 11284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x61, 0x61, 0x85, 0xd9, 0x09, 0x2d, 0x8c, 0x57, 0x19, 0xf0, 0x29, 0xd3, 11294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x24, 0x1b, 0x4f, 0xda, 0xfd, 0xa3, 0x49, 0xb6, 0xd5, 0xad, 0xa3, 0x87, 11304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0x9c, 0xe7, 0x78, 0x88, 0x00, 0x28, 0xce, 0x24, 0xbb, 0x54, 0xe1, 11314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb4, 0xe2, 0x13, 0x2b, 0x16, 0xd6, 0x8a, 0xdd, 0xc4, 0x6e, 0x35, 0xd8, 11324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9e, 0x7b, 0x46, 0xe9, 0xb8, 0xec, 0xc9, 0x2a, 0xad, 0xa8, 0x83, 0x6b, 11334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x74, 0xfe, 0x6b, 0x80, 0x1c, 0xfc, 0x58, 0xee, 0xdf, 0x06, 0xe6, 0x3f, 11344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x87, 0xf3, 0xc6, 0x44, 0x89, 0x29, 0x32, 0xa2, 0x4a, 0x59, 0xd5, 0x0f, 11354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x31, 0x27, 0x96, 0xee, 0xa0, 0x52, 0x17, 0x5b, 0x50, 0x73, 0xf7, 11364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6e, 0x14, 0x03, 0xdd, 0x96, 0x14, 0x30, 0xea, 0xa3, 0x5b, 0x7d, 0xaa, 11374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x95, 0xb7, 0xa3, 0x5b, 0xe9, 0x7f, 0x8d, 0x14, 0x26, 0x9a, 0xbe, 0x30, 11384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb9, 0x06, 0x96, 0xdb, 0xb6, 0x93, 0xba, 0xe9, 0xda, 0x09, 0x7f, 0xf5, 11394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xed, 0xa8, 0xa7, 0x0e, 0x56, 0xf2, 0x7b, 0x60, 0x81, 0x0e, 0x96, 0xd0, 11404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd5, 0xbe, 0x28, 0xde, 0xfb, 0xea, 0xe7, 0x39, 0xe2, 0x78, 0x7e, 0x50, 11414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd9, 0xbf, 0x33, 0x49, 0xf6, 0x1c, 0x7b, 0xd6, 0x5c, 0xb9, 0x4a, 0x0a, 11424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x66, 0xb7, 0x9d, 0x80, 0x53, 0x6d, 0x00, 0x29, 0xb2, 0xb6, 0xa2, 0xb9, 11434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x04, 0x1f, 0xec, 0x7e, 0xf6, 0xed, 0x51, 0xc8, 0xe2, 0xa2, 0x8d, 0x2e, 11444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc5, 0x18, 0x59, 0xc9, 0x5b, 0xa5, 0x2c, 0xfb, 0x65, 0x9a, 0x19, 0x71, 11454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x08, 0xe9, 0x6d, 0x90, 0x27, 0x92, 0xe2, 0xb5, 0x1f, 0xde, 0x60, 0x91, 11464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1d, 0x3d, 0xf7, 0x02, 0xc5, 0x74, 0x24, 0x53, 0xec, 0x38, 0xed, 0xa5, 11474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfa, 0x36, 0xc9, 0xba, 0x47, 0xc7, 0xde, 0x94, 0x32, 0xf1, 0x82, 0x77, 11484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9b, 0x14, 0x36, 0x06, 0x00, 0x8e, 0x37, 0x63, 0x7a, 0x0d, 0xf9, 0xde, 11494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0x1d, 0x5f, 0x82, 0xb6, 0x9c, 0x98, 0x4e, 0x7c, 0xd4, 0x2d, 0x50, 11504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa3, 0x88, 0x6a, 0xdb, 0x78, 0xea, 0x77, 0xbf, 0x97, 0xbe, 0x81, 0x10, 11514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3b, 0x6c, 0xbf, 0xb1, 0xdb, 0x06, 0x78, 0x04, 0xb4, 0x12, 0x08, 0x40, 11524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0d, 0xb4, 0xd9, 0x60, 0x62, 0x3a, 0xd2, 0xd5, 0x61, 0xd4, 0xa2, 0x86, 11534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9e, 0xdc, 0xec, 0xa0, 0x06, 0x9d, 0xf3, 0xa9, 0x06, 0xa8, 0x04, 0xb5, 11544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7c, 0x07, 0xd3, 0xa0, 0x53, 0x03, 0x1a, 0x46, 0xb6, 0x08, 0xd3, 0x87, 11554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x88, 0xdb, 0x82, 0xf9, 0x90, 0xac, 0xfc, 0xae, 0x19, 0x9c, 0x13, 0x57, 11564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc5, 0xba, 0x3b, 0x08, 0x3d, 0x42, 0x7c, 0x01, 0x56, 0x6c, 0x42, 0x9b, 11574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe7, 0x46, 0x87, 0xd8, 0x90, 0x30, 0xca, 0x02, 0xe6, 0xfa, 0xc1, 0x16, 11584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc0, 0x06, 0x64, 0x4e, 0xcd, 0x72, 0x14, 0xbb, 0xca, 0xae, 0x4d, 0x92, 11594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa1, 0xe8, 0x96, 0xc0, 0xa6, 0x74, 0xa6, 0x9c, 0xab, 0x4a, 0x6f, 0x33, 11604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9d, 0x39, 0xef, 0xa0, 0xeb, 0x42, 0xf6, 0x45, 0x1c, 0x77, 0xab, 0x76, 11614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1d, 0xef, 0xe4, 0x56, 0x2a, 0x16, 0x93, 0x12, 0x48, 0x65, 0x2d, 0x46, 11624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x36, 0x5f, 0x90, 0x43, 0xff, 0x87, 0x59, 0xab, 0x12, 0xe4, 0x2a, 0x4d, 11634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2e, 0x55, 0x85, 0x21, 0xda, 0x16, 0xd8, 0x1f, 0xbc, 0x13, 0x9d, 0x92, 11644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xec, 0x1b, 0x99, 0x72, 0x9d, 0x9a, 0x35, 0x4b, 0x3a, 0x05, 0x36, 0x67, 11654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x36, 0x97, 0x4a, 0x46, 0xfd, 0x07, 0x3e, 0xe0, 0x16, 0x3e, 0xf1, 0x26, 11664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x2e, 0xf3, 0xa1, 0xd5, 0xd2, 0xc2, 0xce, 0xa3, 0x06, 0xfa, 0xb7, 11674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0e, 0x0b, 0xe0, 0x4f, 0x59, 0x93, 0x62, 0x17, 0x67, 0x73, 0x26, 0x62, 11684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6a, 0x06, 0x8d, 0xbe, 0x0c, 0x3b, 0xb8, 0x2f, 0x87, 0x64, 0xa3, 0x91, 11694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdc, 0xcd, 0x54, 0x28, 0x79, 0x0d, 0x83, 0xde, 0x62, 0x47, 0xa5, 0x38, 11704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9b, 0x2a, 0x98, 0x32, 0x9c, 0x8d, 0x11, 0xab, 0x46, 0xb6, 0xcf, 0xb2, 11714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x72, 0x86, 0x6c, 0xa5, 0xfe, 0xd1, 0x12, 0xc2, 0xa3, 0x40, 0x0b, 0x6e, 11724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x99, 0x71, 0x03, 0x26, 0x86, 0xa2, 0x56, 0x77, 0xdf, 0x37, 0xec, 0x5d, 11734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1d, 0x24, 0x51, 0x8d, 0x8b, 0xaf, 0xc1, 0x69, 0x07, 0xaa, 0x0c, 0x18, 11744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc4, 0x6a, 0xad, 0xd5, 0xe7, 0xc3, 0x8c, 0x7c, 0xcd, 0x2d, 0x69, 0x86, 11754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0f, 0x3e, 0x14, 0xa8, 0x4b, 0x6d, 0xa2, 0x77, 0xce, 0xd8, 0xeb, 0xd8, 11764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0f, 0x16, 0xd9, 0x2c, 0x88, 0x51, 0xed, 0xc2, 0x8f, 0x36, 0xc3, 0x10, 11774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x75, 0x56, 0xec, 0xe7, 0x2f, 0x17, 0x7c, 0xaa, 0x4a, 0x02, 0x22, 0xd1, 11784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0f, 0x62, 0x14, 0xc5, 0x2e, 0x37, 0x7e, 0xc9, 0xc4, 0xb8, 0x90, 0x2f, 11794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd4, 0x05, 0xed, 0x9c, 0xc3, 0x76, 0xd5, 0x08, 0x4b, 0x1b, 0xaa, 0xe9, 11804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe5, 0x8b, 0x54, 0xa4, 0x6e, 0x7e, 0xd7, 0x64, 0x0e, 0x94, 0xe2, 0xcb, 11814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa5, 0x14, 0x35, 0xa0, 0x61, 0x4d, 0xaa, 0x96, 0x5b, 0x6a, 0xb9, 0xb7, 11824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf6, 0x19, 0x30, 0xb2, 0xea, 0xad, 0x6c, 0x5b, 0xcb, 0x8c, 0xcf, 0x2b, 11834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x14, 0xea, 0xa8, 0x5c, 0x52, 0xce, 0x6e, 0x98, 0xae, 0xd0, 0xdb, 0x2d, 11844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x19, 0x25, 0x42, 0xc8, 0x6d, 0xcc, 0xfc, 0xf5, 0x96, 0xee, 0xd1, 0xe3, 11854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x68, 0x53, 0x38, 0xd9, 0x9c, 0xde, 0xff, 0xc4, 0xe6, 0xc3, 0x68, 0x59, 11864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xed, 0x88, 0x57, 0x3b, 0x95, 0x77, 0x3c, 0x06, 0x23, 0x54, 0x25, 0xdc, 11874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf2, 0xe5, 0xe7, 0x8e, 0x1f, 0x94, 0x39, 0xf2, 0x53, 0x9b, 0xe8, 0x00, 11884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x81, 0xfa, 0xa0, 0x0f, 0xbe, 0x40, 0x1e, 0xfd, 0xb8, 0x8e, 0x16, 0xe3, 11894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4d, 0x97, 0xae, 0x05, 0xee, 0x43, 0x2c, 0x7e, 0x5b, 0x03, 0xe5, 0x38, 11904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7b, 0x54, 0x65, 0x1b, 0xf9, 0xe9, 0x13, 0x1e, 0x91, 0x47, 0x14, 0x79, 11914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x74, 0xa6, 0x4b, 0xd5, 0xc1, 0x56, 0xaa, 0x84, 0x54, 0x59, 0x11, 0x61, 11924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x45, 0x0c, 0x6f, 0xba, 0x02, 0x07, 0xe7, 0x80, 0x59, 0x9f, 0xda, 0xe1, 11934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x19, 0x34, 0x38, 0xde, 0x5f, 0x61, 0x97, 0x65, 0xc8, 0x62, 0xda, 0x3c, 11944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb4, 0x8d, 0xec, 0x7e, 0x08, 0xa4, 0x70, 0x06, 0xbf, 0xf8, 0xfa, 0xfe, 11954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0x76, 0x4b, 0x86, 0xc8, 0x4c, 0xcc, 0x83, 0x1b, 0xcd, 0x22, 0x73, 11964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1d, 0xcb, 0x9f, 0x96, 0x51, 0xd2, 0x37, 0x08, 0x87, 0x99, 0xb9, 0xb3, 11974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd1, 0xbf, 0x92, 0x02, 0x07, 0xe6, 0x7d, 0xa0, 0x03, 0x3f, 0xe3, 0xf8, 11984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf8, 0xf9, 0xca, 0x95, 0x1d, 0xe6, 0x85, 0xe3, 0x9f, 0x0b, 0x85, 0x50, 11994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc5, 0x6f, 0xd0, 0x00, 0x05, 0x20, 0x0e, 0x44, 0xfd, 0x40, 0x1f, 0xf7, 12004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xaf, 0xeb, 0x40, 0x8e, 0xb8, 0xc2, 0xec, 0x31, 0x57, 0x74, 0x29, 0xbb, 12014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe0, 0x0c, 0x39, 0xdf, 0x8e, 0xe5, 0xde, 0x10, 0x22, 0xc0, 0x2e, 0x36, 12024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0x25, 0xd1, 0x3f, 0x05, 0x50, 0x92, 0x88, 0x48, 0xd6, 0x20, 0x5f, 12034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x06, 0x39, 0xf7, 0x28, 0x4e, 0x36, 0x5c, 0x24, 0xc9, 0x6b, 0x00, 0x00, 12044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x01, 0x0c, 0x43, 0xd4, 0x08, 0x1f, 0xa2, 0x01, 0x61, 0x14, 0x5e, 12054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0xf0, 0x4e, 0xcf, 0xd6, 0xf2, 0xfe, 0x71, 0x0c, 0xe2, 0x54, 0xda, 12064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0x8c, 0x0a, 0xad, 0xd1, 0x00, 0x63, 0x8f, 0x22, 0x88, 0x22, 0xbb, 12074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbb, 0x4e, 0x04, 0x50, 0x0f, 0xb9, 0x5f, 0x25, 0x0f, 0xfd, 0xf9, 0xe4, 12084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x28, 0x25, 0xbe, 0xad, 0xa2, 0xdc, 0x00, 0xd0, 0x00, 0x45, 0x9c, 0x50, 12094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc0, 0xe8, 0x6e, 0xbe, 0xad, 0x32, 0xfe, 0xe5, 0x26, 0xc2, 0x86, 0x54, 12104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x63, 0xc8, 0x82, 0x7f, 0xc8, 0x03, 0xd0, 0xfb, 0x6f, 0xec, 0x10, 0x80, 12114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2a, 0xbf, 0xcc, 0x02, 0x27, 0x75, 0x2c, 0x0d, 0x3d, 0xbc, 0x2a, 0x93, 12124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x65, 0x28, 0x02, 0x23, 0xdb, 0x8b, 0x74, 0xc2, 0xe9, 0x09, 0xbf, 0xc9, 12134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x70, 0x10, 0x80, 0x1e, 0x47, 0xa4, 0x0d, 0xab, 0x52, 0x0e, 0x3a, 0x8d, 12144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa1, 0x6c, 0x2e, 0x2c, 0x59, 0xb4, 0x36, 0xda, 0x53, 0x0c, 0xfc, 0x57, 12154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x0c, 0x24, 0x39, 0x9c, 0xb7, 0x8d, 0xf4, 0x2d, 0xb7, 0x85, 0xda, 12164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdc, 0x0d, 0xf2, 0xb9, 0x03, 0x12, 0x42, 0x44, 0x6f, 0x75, 0xb2, 0xf6, 12174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfe, 0xcd, 0x0a, 0x0f, 0x35, 0xbc, 0xe6, 0x97, 0x8a, 0x42, 0xa6, 0x52, 12184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5a, 0x37, 0xd3, 0x04, 0xbf, 0xf3, 0x6b, 0xac, 0x0d, 0xf3, 0xdd, 0xd9, 12194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x26, 0x1e, 0x36, 0x5a, 0x54, 0x3c, 0x6b, 0x4c, 0x2e, 0xa1, 0x29, 0x59, 12204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x46, 0xf7, 0x7d, 0xbe, 0x35, 0xcf, 0xfe, 0xbb, 0x45, 0xe9, 0xd2, 0xeb, 12214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x89, 0xfc, 0xef, 0x7c, 0xbe, 0x58, 0x6c, 0xa9, 0xe7, 0x13, 0x33, 0x32, 12224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x18, 0x7c, 0x0b, 0x6f, 0x9d, 0x4e, 0x32, 0xe7, 0x19, 0x96, 0x0f, 0xb9, 12234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0e, 0xa6, 0x42, 0xce, 0x5a, 0x5d, 0x6a, 0x28, 0x88, 0xe7, 0x4f, 0x2b, 12244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x90, 0x73, 0xed, 0x98, 0xaf, 0x53, 0xcb, 0x44, 0x08, 0x6b, 0x30, 0x38, 12254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5e, 0x6c, 0x88, 0x02, 0xb9, 0x57, 0xd6, 0x37, 0x9c, 0x98, 0x61, 0x49, 12264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x46, 0xa6, 0x52, 0x99, 0x99, 0x23, 0x7d, 0x90, 0x05, 0x84, 0x52, 0x38, 12274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xaf, 0xa8, 0x94, 0xf6, 0x2c, 0x11, 0x00, 0x17, 0x08, 0x98, 0xe3, 0x66, 12284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf2, 0x62, 0xc5, 0xf2, 0x0c, 0xa1, 0x4d, 0xf2, 0x27, 0x49, 0x38, 0x73, 12294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8b, 0x1e, 0x54, 0x87, 0x81, 0x4d, 0xd1, 0xca, 0x00, 0x64, 0xe7, 0x29, 12304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0a, 0x94, 0xdc, 0xc5, 0x9e, 0x51, 0xf5, 0x42, 0x0d, 0x75, 0x84, 0x30, 12314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc6, 0xf4, 0xf2, 0x2e, 0x54, 0xf4, 0x56, 0xe9, 0x90, 0xaa, 0x49, 0x6c, 12324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9e, 0xe0, 0x2d, 0xb3, 0xd4, 0x14, 0xf8, 0x00, 0x31, 0x88, 0xdd, 0xf2, 12334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3b, 0xaf, 0x3a, 0x59, 0x0d, 0xb2, 0x55, 0xfa, 0x1b, 0x62, 0xd0, 0xb2, 12344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x43, 0x22, 0x64, 0x64, 0x39, 0xbe, 0x54, 0x4e, 0xf3, 0x11, 0x43, 0x0f, 12354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x48, 0xbe, 0xad, 0xa3, 0xad, 0xd1, 0x53, 0xf2, 0xa0, 0x53, 0x71, 0xac, 12364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3a, 0xa8, 0x4a, 0x94, 0xdd, 0x17, 0xec, 0x58, 0x6a, 0x06, 0x29, 0x4a, 12374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x39, 0xa1, 0x4e, 0x8c, 0xe3, 0x68, 0xa0, 0x16, 0xf1, 0xc6, 0xcd, 0x09, 12384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2e, 0x4a, 0xbe, 0xad, 0xfa, 0x64, 0x01, 0xb8, 0x9a, 0x00, 0xeb, 0xee, 12394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0xe7, 0x7d, 0xfc, 0xa4, 0x28, 0xcc, 0x00, 0x3d, 0x17, 0xc3, 0x9d, 12404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0x95, 0x84, 0xed, 0xb8, 0xb4, 0x07, 0x8b, 0x6b, 0x7e, 0x71, 0xdf, 12414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcb, 0xf2, 0x10, 0x8a, 0x6f, 0xd3, 0x20, 0x0a, 0x14, 0x10, 0x40, 0x4c, 12424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8f, 0xdd, 0xf3, 0xa0, 0x11, 0x73, 0xb9, 0xb0, 0x05, 0x4a, 0xb4, 0x34, 12434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x62, 0xb7, 0x36, 0x6c, 0xe3, 0x7c, 0xb2, 0xe0, 0x6a, 0xee, 0xc0, 0x86, 12444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x98, 0x5e, 0xe4, 0x25, 0xb7, 0xf2, 0x89, 0x08, 0x3e, 0xf4, 0x55, 0x40, 12454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x47, 0xff, 0xd8, 0x27, 0x5d, 0xce, 0x48, 0x08, 0xff, 0xfb, 0xf8, 0x99, 12464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa5, 0x04, 0x94, 0x5b, 0x74, 0x2e, 0x80, 0x1f, 0x00, 0x1b, 0x23, 0xe5, 12474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x02, 0x64, 0x76, 0x76, 0xa5, 0x94, 0x4c, 0xcd, 0x2e, 0x12, 0x9b, 0x37, 12484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x34, 0x0c, 0x11, 0x4e, 0x0c, 0xbd, 0x0a, 0x17, 0x2e, 0x20, 0xdf, 0xd6, 12494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe6, 0x6d, 0x01, 0x1d, 0x48, 0xdd, 0x4b, 0x00, 0x0f, 0x05, 0x0a, 0xe1, 12504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x36, 0x06, 0x42, 0x2c, 0x7c, 0xc0, 0xc1, 0x9e, 0x72, 0x16, 0x18, 0xde, 12514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb0, 0xc6, 0xf6, 0xcf, 0x6f, 0xce, 0x7b, 0x26, 0x4d, 0x4d, 0x7d, 0x18, 12524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x55, 0x33, 0x65, 0xbb, 0x14, 0x08, 0x7d, 0xb5, 0xb8, 0xcb, 0x5d, 0xc7, 12534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1b, 0x60, 0xec, 0x99, 0x2c, 0x0e, 0x1e, 0x03, 0x36, 0xeb, 0x48, 0xff, 12544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x62, 0x05, 0xb8, 0x58, 0xd4, 0x15, 0x3c, 0xb6, 0xd3, 0xa0, 0xd9, 0xa9, 12554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe2, 0xad, 0x97, 0x90, 0x42, 0xff, 0x5d, 0xbc, 0x20, 0x5e, 0x24, 0x2e, 12564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfa, 0x12, 0x98, 0x87, 0xb5, 0x53, 0x9b, 0x41, 0x22, 0xf4, 0x5f, 0x7c, 12574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xef, 0x96, 0xd8, 0x32, 0x4e, 0x9c, 0x62, 0x8d, 0xfd, 0xac, 0x29, 0xbd, 12584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x29, 0x19, 0xd3, 0xeb, 0xfd, 0xee, 0xd1, 0x7b, 0x75, 0x64, 0x7c, 0x5c, 12594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd9, 0x92, 0x4a, 0xba, 0x9e, 0x70, 0x9a, 0x90, 0x39, 0xb8, 0x2b, 0x09, 12604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0x64, 0x09, 0xb1, 0x70, 0xe1, 0xa7, 0x44, 0x3c, 0x21, 0xae, 0x74, 12614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd7, 0x08, 0xce, 0x67, 0x36, 0xd4, 0x3b, 0x69, 0x91, 0xd2, 0x58, 0x7a, 12624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc2, 0x83, 0x94, 0xb6, 0x89, 0x1b, 0x3a, 0x54, 0x56, 0xf4, 0xdc, 0xf6, 12634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x15, 0xaf, 0xa2, 0xb2, 0x40, 0x09, 0x6c, 0x31, 0x16, 0xa1, 0xc3, 0xce, 12644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x39, 0xb0, 0xe5, 0x79, 0x3d, 0xf5, 0xf2, 0x2f, 0xe9, 0x23, 0xa2, 0xa5, 12654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3c, 0x29, 0xbb, 0x3c, 0xdd, 0x14, 0x2f, 0x71, 0x0b, 0x3b, 0x3c, 0xae, 12664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x38, 0xfa, 0x12, 0x35, 0x02, 0x5b, 0x3a, 0xce, 0xd3, 0x8e, 0x8b, 0x02, 12674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x43, 0xb0, 0x3e, 0x0f, 0x2a, 0xfa, 0xb4, 0xc8, 0x53, 0x6d, 0xb5, 0x6b, 12684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6d, 0xce, 0xae, 0x5d, 0x18, 0x7c, 0x2d, 0x42, 0x9a, 0xfd, 0xd8, 0xfb, 12694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x37, 0x28, 0x4d, 0xa5, 0x9c, 0x15, 0xea, 0xdc, 0x8e, 0xb2, 0xe7, 0x50, 12704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0x3e, 0x86, 0x8c, 0x21, 0x04, 0xb5, 0xb7, 0x11, 0xf0, 0xb1, 0xc7, 12714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0f, 0x30, 0xf2, 0xda, 0x6b, 0x68, 0xde, 0xcc, 0xf3, 0x72, 0xee, 0xbe, 12724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8e, 0xc2, 0xce, 0x90, 0x90, 0xdc, 0xd1, 0x40, 0x61, 0xd6, 0xdb, 0xb4, 12734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe0, 0xc1, 0xc8, 0xcc, 0x08, 0x60, 0x0b, 0x99, 0xa3, 0x4e, 0xab, 0xa3, 12744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1b, 0x1b, 0xdf, 0xe7, 0x61, 0xc0, 0x3c, 0x33, 0x2c, 0x09, 0x0d, 0x62, 12754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x56, 0x2b, 0x76, 0x75, 0x72, 0xda, 0x99, 0x96, 0x8d, 0xb6, 0x16, 0xd8, 12764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf2, 0x9b, 0xce, 0x92, 0x0f, 0x6d, 0x8e, 0x7d, 0xc7, 0x9b, 0x32, 0x0d, 12774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2f, 0x10, 0xb8, 0xa5, 0x9c, 0xce, 0x26, 0x00, 0x1f, 0xfb, 0x48, 0x81, 12784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa6, 0xdc, 0xb9, 0xb3, 0xd4, 0xe6, 0x89, 0x52, 0x94, 0xd9, 0x66, 0xcc, 12794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x79, 0x4d, 0xd3, 0x99, 0x67, 0x05, 0xa4, 0x0b, 0x53, 0xdb, 0xd4, 0x80, 12804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x37, 0x14, 0xef, 0xaf, 0x5b, 0xc3, 0xbd, 0xf9, 0xca, 0x96, 0xbb, 0x1f, 12814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbc, 0x2d, 0x93, 0x5d, 0x77, 0x28, 0x6a, 0x96, 0xde, 0x9f, 0xe4, 0x47, 12824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbf, 0xfc, 0x01, 0x8f, 0x5f, 0x0e, 0x76, 0xaa, 0x19, 0x86, 0xbd, 0xff, 12834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb1, 0xbe, 0x90, 0xb6, 0xc1, 0x05, 0xf1, 0xbf, 0x1f, 0x1c, 0x00, 0x56, 12844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0x2e, 0x69, 0x3a, 0xf3, 0xd1, 0x99, 0xa5, 0x87, 0xa8, 0x79, 0x92, 12854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x16, 0x10, 0xdc, 0xbd, 0x07, 0x00, 0xe4, 0x84, 0xde, 0x68, 0x89, 0xe5, 12864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x57, 0x42, 0x9b, 0xe9, 0x80, 0x14, 0xfc, 0x8a, 0x77, 0x28, 0x2a, 0x3a, 12874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x87, 0x4f, 0x37, 0x17, 0x71, 0x12, 0x1b, 0x0e, 0xf5, 0x6e, 0xc8, 0x01, 12884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3f, 0xce, 0x7c, 0x90, 0x26, 0xfb, 0x75, 0xfb, 0xf2, 0x79, 0x92, 0x9b, 12894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x13, 0xf0, 0xb6, 0x0f, 0x5b, 0x5b, 0xd9, 0x80, 0x3c, 0xff, 0xe7, 0xc9, 12904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0x7a, 0x9d, 0xc9, 0x40, 0x27, 0x2e, 0x66, 0xdb, 0x51, 0x74, 0xe1, 12914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd5, 0x50, 0xe8, 0xad, 0xee, 0xfe, 0x3f, 0xa2, 0x9e, 0x2c, 0x5e, 0x76, 12924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf7, 0xc0, 0x1e, 0x73, 0x39, 0xc7, 0xc8, 0x90, 0x38, 0x3a, 0xad, 0x44, 12934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x38, 0x31, 0xbc, 0xde, 0xc4, 0x0a, 0xb8, 0x55, 0x2c, 0x34, 0xe8, 0x8d, 12944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xca, 0xe7, 0x70, 0x88, 0x58, 0x5b, 0x7f, 0x34, 0x00, 0x78, 0x23, 0x90, 12954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x03, 0x5e, 0xfd, 0xe7, 0xce, 0x5a, 0x4d, 0xe6, 0xbf, 0x76, 0xed, 0xa6, 12964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x17, 0x87, 0x7a, 0x1c, 0xdd, 0xd0, 0x04, 0xd8, 0x29, 0xfb, 0x5f, 0xc6, 12974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xec, 0x85, 0x2f, 0x96, 0xd5, 0xf2, 0x0b, 0xc0, 0xc6, 0xbb, 0xe8, 0x47, 12984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x70, 0x03, 0xa2, 0x27, 0xba, 0xc1, 0x38, 0xaa, 0x66, 0x13, 0x95, 0x64, 12994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb1, 0x69, 0x41, 0x10, 0xb6, 0xf8, 0xb7, 0xb8, 0x8a, 0x46, 0xaf, 0x93, 13004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe3, 0x61, 0xf3, 0x97, 0x73, 0x1e, 0x67, 0x9c, 0x3a, 0xc5, 0x68, 0x7b, 13014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb8, 0xe9, 0x54, 0xa1, 0xb4, 0x04, 0x4d, 0xcd, 0x33, 0x31, 0x16, 0x46, 13024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfe, 0xd4, 0x00, 0xe9, 0xdc, 0x7c, 0x08, 0x7e, 0xe4, 0xbb, 0x52, 0x07, 13034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xea, 0x54, 0x92, 0x0d, 0x6f, 0x0f, 0x7b, 0xc7, 0x6f, 0x4e, 0xeb, 0x50, 13044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x11, 0xff, 0xef, 0x74, 0xcc, 0x43, 0xce, 0xaa, 0xdc, 0x91, 0x41, 0xc2, 13054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc8, 0xb3, 0x71, 0x00, 0x8c, 0x9d, 0xed, 0xc9, 0x10, 0xea, 0x6a, 0xe4, 13064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5a, 0x18, 0xdc, 0x20, 0x0a, 0x3a, 0xf6, 0x7f, 0x0e, 0xa2, 0x5c, 0x3b, 13074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x76, 0xcc, 0xab, 0x2c, 0x4a, 0x50, 0x6f, 0x83, 0x79, 0xfc, 0x8a, 0x9e, 13084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0x8e, 0x74, 0xa1, 0x35, 0x5b, 0x33, 0x11, 0x12, 0x37, 0xd7, 0x00, 13094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0xff, 0x79, 0xa2, 0x1d, 0x5d, 0x5d, 0x2a, 0xd9, 0x5e, 0xe3, 0x0d, 13104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa1, 0x6d, 0xf6, 0x00, 0x05, 0xdf, 0x34, 0x01, 0xb8, 0x03, 0xce, 0x6f, 13114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7d, 0x82, 0x47, 0xfe, 0x38, 0xda, 0x62, 0x1f, 0x0b, 0x81, 0xad, 0xf0, 13124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0xbe, 0xff, 0x22, 0x44, 0xed, 0xdf, 0x83, 0x16, 0xd8, 0xe7, 0x66, 13134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa1, 0x86, 0xdf, 0xca, 0x25, 0x28, 0xf8, 0xdf, 0x5c, 0x9f, 0x5e, 0xff, 13144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe2, 0xb7, 0xae, 0xf9, 0xe6, 0x8d, 0x2a, 0xd5, 0x36, 0x40, 0xc6, 0xf6, 13154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x36, 0xbf, 0x97, 0xc3, 0x6e, 0x96, 0x4a, 0x6d, 0xa0, 0x7d, 0x8a, 0x4a, 13164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x60, 0x00, 0x00, 0x01, 0x0d, 0x43, 0xf7, 0xdd, 0x8a, 0x78, 0x80, 0x06, 13174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc0, 0x0d, 0x05, 0x73, 0x52, 0x25, 0x20, 0x02, 0x10, 0x03, 0xf7, 0x2b, 13184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8d, 0x50, 0xea, 0x6d, 0xa5, 0x95, 0x43, 0x65, 0x6f, 0x4c, 0x00, 0xf8, 13194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0x80, 0x1b, 0x77, 0xcf, 0xcd, 0xdc, 0xa3, 0xe7, 0x9f, 0x0b, 0x24, 13204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3a, 0xfe, 0xa5, 0x29, 0x43, 0x1a, 0x10, 0x34, 0x89, 0xcd, 0xde, 0x5f, 13214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc5, 0xa7, 0x77, 0x37, 0xc9, 0x21, 0x8a, 0x61, 0xc1, 0x2d, 0xf3, 0xe0, 13224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0xc0, 0x0d, 0x78, 0xe7, 0xe4, 0x88, 0xff, 0x6f, 0x68, 0x85, 0xf9, 13234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3e, 0x6d, 0x96, 0x6e, 0x2a, 0x40, 0xe9, 0x21, 0x77, 0xc1, 0xbc, 0x34, 13244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfc, 0x56, 0xe7, 0x96, 0x64, 0xb2, 0xac, 0xa5, 0x8e, 0x52, 0x82, 0x02, 13254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0xf8, 0x7d, 0xcb, 0xe7, 0x95, 0x60, 0x62, 0x4b, 0x2c, 0x21, 0x56, 13264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd9, 0x06, 0xd6, 0xfa, 0xb0, 0x02, 0x1c, 0x80, 0x09, 0x1c, 0x28, 0x89, 13274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf5, 0x10, 0xf8, 0x1d, 0x67, 0x7c, 0xf6, 0xee, 0xa4, 0x35, 0xda, 0x5e, 13284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x54, 0x1c, 0xa3, 0x61, 0x4d, 0x98, 0x10, 0x3f, 0x4b, 0xf9, 0xa0, 0x0f, 13294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfe, 0x33, 0x3d, 0x88, 0xf9, 0x46, 0x49, 0xdb, 0xf2, 0x24, 0xe3, 0x4b, 13304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb8, 0xaa, 0xd9, 0xc2, 0xe2, 0x94, 0xde, 0x7b, 0xe1, 0xcd, 0xf1, 0x80, 13314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1c, 0x8a, 0xec, 0x01, 0x0f, 0xf0, 0x43, 0xb5, 0xd8, 0x1b, 0x39, 0x9d, 13324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x87, 0x28, 0x0a, 0xa8, 0xdf, 0x46, 0xfb, 0x7f, 0x7e, 0x77, 0xfe, 0x40, 13334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x31, 0xf4, 0x63, 0xae, 0x3b, 0xf3, 0x77, 0xc1, 0x0a, 0x40, 0xb6, 0xfa, 13344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x37, 0xf7, 0xe7, 0xbf, 0xa8, 0x03, 0x71, 0x62, 0x44, 0xe8, 0x62, 0x6b, 13354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd4, 0x39, 0x3f, 0x08, 0x98, 0x32, 0x48, 0xdf, 0x3f, 0xfe, 0x0b, 0x00, 13364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x10, 0x67, 0x57, 0x66, 0x0c, 0xa5, 0xe1, 0x65, 0x9e, 0xd3, 0x23, 0xba, 13374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe5, 0xf6, 0xda, 0x02, 0x29, 0x0b, 0x6b, 0xdb, 0x31, 0xf4, 0xbf, 0x06, 13384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfe, 0x5f, 0xdf, 0xbe, 0xfd, 0xb2, 0x75, 0xd6, 0xd4, 0x2d, 0x65, 0x88, 13394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x89, 0xe8, 0xde, 0x08, 0x00, 0xf5, 0xe2, 0x3d, 0x9c, 0xfe, 0x79, 0xc9, 13404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x13, 0xf0, 0xee, 0xe0, 0xea, 0x03, 0x56, 0xfa, 0x3f, 0xd5, 0xc0, 0x82, 13414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x02, 0x7e, 0xdc, 0x9a, 0x5c, 0x39, 0x49, 0xf9, 0x21, 0xdb, 0x25, 0x2e, 13424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0d, 0x6f, 0x8d, 0x75, 0x67, 0x44, 0x0e, 0x6a, 0x84, 0x3d, 0x72, 0x98, 13434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x38, 0xe1, 0xc3, 0x5b, 0x93, 0x78, 0x82, 0x66, 0xbb, 0x89, 0x83, 0xe2, 13444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5c, 0x6c, 0x2c, 0x34, 0xa8, 0xda, 0x11, 0x45, 0xe0, 0x87, 0x53, 0x2b, 13454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8e, 0x53, 0x35, 0x15, 0x2a, 0x1c, 0x1a, 0x90, 0xe6, 0xa3, 0xfb, 0xb6, 13464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xed, 0xb6, 0x00, 0x46, 0x5d, 0x28, 0x28, 0x31, 0xbd, 0x8e, 0x77, 0x78, 13474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa2, 0xf5, 0xd8, 0x17, 0x69, 0xcd, 0xe0, 0x3e, 0xd2, 0xfd, 0x51, 0x20, 13484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5e, 0xcd, 0xca, 0xa8, 0x71, 0x68, 0xde, 0x97, 0xee, 0xb6, 0x92, 0x14, 13494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0x76, 0xce, 0x9d, 0xc0, 0x9d, 0x57, 0x00, 0xaa, 0xa0, 0xd8, 0x31, 13504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbc, 0xe0, 0xa9, 0x38, 0xe1, 0xda, 0x50, 0x48, 0xc8, 0xad, 0xf4, 0x0e, 13514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x45, 0xe6, 0xfd, 0x26, 0xc7, 0xe1, 0x55, 0x1e, 0xb5, 0xd9, 0xa1, 0xd4, 13524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3c, 0x7c, 0x94, 0xa3, 0xda, 0x00, 0x27, 0xf9, 0xf6, 0xfa, 0x8a, 0x23, 13534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x77, 0x5f, 0x14, 0x11, 0x00, 0x13, 0xae, 0xc8, 0x84, 0x7e, 0xf8, 0x8e, 13544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x81, 0x1b, 0xc6, 0xae, 0xc8, 0x34, 0xa2, 0x8b, 0x6a, 0x44, 0x18, 0xda, 13554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x13, 0x65, 0x6f, 0xe6, 0xe0, 0x38, 0xdb, 0x23, 0x6d, 0xd2, 0xe0, 0x16, 13564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd9, 0x3d, 0xdd, 0x08, 0x12, 0x3b, 0x68, 0x69, 0xb6, 0x8f, 0x2d, 0xb7, 13574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xda, 0xaf, 0xb4, 0xc0, 0x82, 0xc6, 0x34, 0x51, 0xa4, 0xa6, 0x34, 0xaa, 13584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xde, 0xde, 0xcc, 0x32, 0xcb, 0x35, 0x06, 0xd8, 0x55, 0x42, 0xd4, 0x7b, 13594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x75, 0xbe, 0x94, 0x02, 0xdf, 0x99, 0x5e, 0xfc, 0x0c, 0x8e, 0xda, 0x52, 13604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0xc5, 0xb1, 0xb9, 0xe4, 0x68, 0xff, 0x97, 0xdd, 0x2c, 0xe5, 0x5d, 13614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdf, 0x27, 0x2c, 0xc2, 0xce, 0x3e, 0xb6, 0xbe, 0xb9, 0xbe, 0xde, 0xd8, 13624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xee, 0x02, 0x6c, 0xc9, 0x0a, 0x83, 0x21, 0x50, 0x73, 0x73, 0xd3, 0x64, 13634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x96, 0x46, 0x76, 0xa5, 0x6f, 0xde, 0xdb, 0xa4, 0x7f, 0x8f, 0x67, 0x6d, 13644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa3, 0xd2, 0xb8, 0x47, 0x75, 0xca, 0x02, 0x27, 0x48, 0x88, 0xdc, 0xdc, 13654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc9, 0x74, 0x5a, 0x84, 0x7e, 0x04, 0xf6, 0x28, 0x5d, 0xc1, 0xb0, 0xe9, 13664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x69, 0x96, 0x84, 0x94, 0xc9, 0xec, 0x08, 0x5f, 0xe3, 0xc7, 0x3d, 0x6e, 13674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd3, 0xca, 0xd0, 0x33, 0x1f, 0x80, 0x03, 0x57, 0x4d, 0x8a, 0x13, 0x2b, 13684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x55, 0x2c, 0xe3, 0x9e, 0xa9, 0x0f, 0x8d, 0xf6, 0xd5, 0x5a, 0xb4, 0xb9, 13694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0xa9, 0xc1, 0x0d, 0xea, 0x48, 0x6a, 0x92, 0x5b, 0xd5, 0x81, 0xf3, 13704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x49, 0x2d, 0xd1, 0x51, 0xe0, 0x07, 0x06, 0xe2, 0x01, 0x08, 0x40, 0x17, 13714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x28, 0xf3, 0xb6, 0xad, 0x24, 0xb2, 0xc3, 0x48, 0xfe, 0x7a, 0x58, 0x0a, 13724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdd, 0xd7, 0x25, 0x78, 0xe2, 0xab, 0x68, 0x11, 0xcb, 0xc5, 0x73, 0x56, 13734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3c, 0xc5, 0x49, 0x1d, 0xdf, 0x6f, 0xdb, 0x03, 0x52, 0xdd, 0x90, 0xa9, 13744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x47, 0x4b, 0x5a, 0xb7, 0x61, 0x02, 0xfd, 0x1d, 0xde, 0x84, 0x95, 0x9b, 13754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd6, 0x5b, 0x4a, 0x42, 0xd1, 0x17, 0xc5, 0xae, 0x94, 0xda, 0xc6, 0xeb, 13764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9c, 0xc1, 0x74, 0x54, 0xcc, 0x2c, 0x62, 0xef, 0x12, 0xc2, 0xcf, 0x19, 13774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x46, 0x9e, 0x1a, 0xcb, 0x0d, 0xe3, 0xe4, 0x46, 0x98, 0x78, 0xe1, 0x4e, 13784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb3, 0x74, 0x69, 0x34, 0xaa, 0xa8, 0xc7, 0x9e, 0x70, 0x89, 0x9e, 0xd3, 13794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9b, 0x46, 0xd5, 0x82, 0x7a, 0xb9, 0xe6, 0x30, 0xe0, 0xca, 0xd8, 0xdc, 13804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0x0e, 0xce, 0x27, 0x8e, 0x45, 0x7f, 0xa2, 0xd2, 0x9a, 0x0e, 0x6a, 13814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3e, 0x37, 0xae, 0x13, 0xb6, 0xdf, 0x2c, 0xc8, 0x33, 0xf1, 0x9b, 0x4b, 13824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa1, 0x6c, 0x65, 0x33, 0x87, 0xc4, 0x81, 0x17, 0xb7, 0xe9, 0xe7, 0x0d, 13834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x90, 0x61, 0x25, 0xab, 0x7d, 0xcd, 0x49, 0x29, 0x43, 0x25, 0x3b, 0x0b, 13844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x83, 0x8f, 0x24, 0x35, 0x7c, 0x4d, 0xd7, 0xee, 0x94, 0x36, 0xc9, 0xae, 13854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x86, 0x95, 0x4b, 0xa5, 0x9e, 0x30, 0x35, 0x6b, 0x45, 0x6b, 0x6e, 0xe7, 13864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5d, 0xd8, 0x03, 0x9b, 0x4e, 0x5b, 0xb2, 0xd3, 0x90, 0x86, 0xd5, 0xed, 13874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x91, 0x40, 0xea, 0xa3, 0x9b, 0x35, 0x48, 0x92, 0xc0, 0x82, 0xda, 0xf9, 13884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0xd3, 0xc0, 0x22, 0xf5, 0x3d, 0x86, 0xb6, 0xe5, 0xc5, 0xb8, 0x68, 13894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x52, 0x1a, 0x74, 0x39, 0x97, 0x9e, 0x88, 0x3e, 0xd9, 0xbc, 0xc5, 0x29, 13904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2e, 0x49, 0x4c, 0xcb, 0x42, 0x62, 0x95, 0x68, 0x53, 0x73, 0xfa, 0x97, 13914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8e, 0xe4, 0xdf, 0x49, 0x14, 0x34, 0x31, 0xba, 0x3f, 0x4e, 0xb0, 0x01, 13924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc8, 0x9c, 0x27, 0xe9, 0x65, 0x07, 0xf4, 0x56, 0x13, 0xa8, 0x0a, 0xdf, 13934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x43, 0x4e, 0x0b, 0x68, 0x1a, 0x53, 0x73, 0xf0, 0x06, 0x35, 0x6f, 0xa3, 13944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7f, 0x47, 0x00, 0x5a, 0x01, 0x67, 0xdc, 0x8a, 0xef, 0x8d, 0x10, 0xf3, 13954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa4, 0xb8, 0x41, 0x73, 0xe7, 0x98, 0xd3, 0xa6, 0x15, 0x61, 0x43, 0xea, 13964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb7, 0x98, 0x12, 0xe0, 0x01, 0x0f, 0xb0, 0x8e, 0x5f, 0xe1, 0x38, 0x93, 13974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x09, 0x46, 0x36, 0x0f, 0x6c, 0x98, 0x47, 0xd8, 0xfd, 0xc1, 0xf6, 0xbb, 13984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0c, 0x33, 0x4a, 0x1e, 0x32, 0x8e, 0x39, 0xbb, 0x80, 0x0f, 0x28, 0xb0, 13994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x06, 0x20, 0x0f, 0xf8, 0xe2, 0x71, 0xb0, 0x75, 0xd2, 0x75, 0xd7, 0x24, 14004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0f, 0xa5, 0xc2, 0xa1, 0x51, 0xb9, 0xf2, 0xf9, 0x49, 0x29, 0x29, 0xbc, 14014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5c, 0x86, 0x61, 0x4d, 0xfb, 0x01, 0x5c, 0x00, 0x19, 0x77, 0xdf, 0x29, 14024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x81, 0xa6, 0xb9, 0xf2, 0x4c, 0x5f, 0x16, 0xf9, 0x5c, 0x81, 0xdd, 0x6d, 14034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf1, 0x5c, 0xca, 0x43, 0xb2, 0x29, 0x29, 0xbe, 0x9e, 0x00, 0xd8, 0x58, 14044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x20, 0x80, 0xb7, 0x06, 0x91, 0xc9, 0xd0, 0x67, 0x13, 0x6f, 0x16, 0x3a, 14054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc2, 0x6d, 0x01, 0xc8, 0xf4, 0x28, 0x6b, 0x7c, 0xaf, 0x8b, 0x75, 0xdf, 14064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x17, 0x9c, 0x09, 0xb9, 0xcf, 0x95, 0x40, 0x11, 0x5d, 0xb0, 0xa8, 0xd8, 14074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xec, 0x3f, 0x00, 0x06, 0x4a, 0xd9, 0x50, 0xd6, 0xfd, 0x57, 0xbc, 0xde, 14084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb9, 0xc7, 0xae, 0x06, 0x6c, 0x55, 0xcb, 0x02, 0x2c, 0x2d, 0xbe, 0x82, 14094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0xec, 0x50, 0x01, 0xd3, 0xbb, 0x27, 0x9a, 0x3e, 0xf6, 0xf1, 0x3b, 14104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa1, 0xf9, 0x4a, 0xc3, 0xa2, 0xc9, 0x32, 0x14, 0x3d, 0xbc, 0xe7, 0xc6, 14114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf3, 0xfe, 0x82, 0x9d, 0xcb, 0xdc, 0x59, 0x30, 0xcd, 0xdb, 0xae, 0x1e, 14124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9e, 0x45, 0xc0, 0xf8, 0x30, 0x9a, 0xdd, 0xbf, 0xf6, 0x75, 0xf5, 0xbc, 14134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0a, 0xe3, 0x32, 0x1d, 0x26, 0xdb, 0x15, 0xc8, 0x7a, 0xac, 0x1b, 0x42, 14144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9b, 0xcc, 0xb8, 0xa7, 0x27, 0x80, 0x1e, 0xd9, 0x86, 0xc6, 0xf8, 0x7f, 14154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5f, 0x8e, 0x5f, 0xc0, 0xa1, 0x3b, 0x47, 0x57, 0x6b, 0xb2, 0xec, 0x83, 14164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8f, 0x80, 0x72, 0x36, 0xe0, 0x05, 0xe0, 0x0f, 0x2e, 0x91, 0xfc, 0x9e, 14174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xeb, 0x95, 0x51, 0xfb, 0x62, 0xdc, 0xcb, 0x69, 0x90, 0xbd, 0x18, 0xad, 14184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8b, 0x8d, 0x70, 0x02, 0x69, 0xc7, 0x02, 0xdd, 0x40, 0x7b, 0x16, 0x2a, 14194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc4, 0x32, 0x1e, 0x50, 0xc0, 0xa8, 0xde, 0xa8, 0x00, 0xab, 0x6f, 0xf7, 14204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb1, 0x7d, 0x8a, 0x96, 0x8f, 0x86, 0xf3, 0xce, 0xe9, 0x65, 0x5a, 0x85, 14214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd5, 0x28, 0x96, 0xda, 0xda, 0x9b, 0x61, 0x4c, 0xee, 0x96, 0xdf, 0x9d, 14224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0xd0, 0x02, 0x87, 0x6a, 0xf7, 0x46, 0xae, 0xe8, 0xbd, 0xde, 0x70, 14234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb1, 0x9e, 0x5f, 0xa8, 0xbe, 0x2d, 0xe3, 0xdf, 0x79, 0xfe, 0xce, 0x11, 14244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc1, 0x92, 0xd7, 0xa2, 0x78, 0xa9, 0xde, 0x2d, 0xf4, 0x37, 0x89, 0x80, 14254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x82, 0x02, 0xbb, 0xce, 0xc7, 0x58, 0x4c, 0xb2, 0x3d, 0x33, 0x24, 0xa1, 14264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x11, 0x0a, 0x81, 0x4c, 0xbf, 0xdd, 0x84, 0x4f, 0x7e, 0xf4, 0x5b, 0xe2, 14274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2c, 0xb8, 0x66, 0x6d, 0x86, 0x60, 0xf0, 0x89, 0x1b, 0x1e, 0x83, 0xae, 14284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x69, 0x0a, 0xb3, 0x85, 0x40, 0x2d, 0xbe, 0x98, 0xbe, 0xef, 0xc7, 0x2f, 14294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9f, 0x3d, 0xdd, 0xd3, 0xb8, 0xd9, 0x29, 0x86, 0x5b, 0xb4, 0x7e, 0x53, 14304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0x28, 0xe6, 0xf2, 0xdf, 0x4e, 0x34, 0x01, 0xac, 0xf8, 0x9f, 0x99, 14314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfb, 0xdd, 0xd4, 0x95, 0x6e, 0xd2, 0xc9, 0xa7, 0xa0, 0xd6, 0xe7, 0x11, 14324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x26, 0xfd, 0xc8, 0xc2, 0x05, 0xfb, 0x60, 0x6e, 0x65, 0x7e, 0x5b, 0xbb, 14334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x20, 0x61, 0x69, 0x5b, 0x38, 0x03, 0x17, 0x71, 0xf4, 0xf7, 0xdc, 0x0f, 14344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x87, 0xad, 0xce, 0x7a, 0x90, 0xd4, 0x0d, 0xc9, 0x62, 0xf8, 0xb7, 0x4f, 14354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x12, 0xb9, 0xd9, 0xb2, 0x84, 0xa4, 0x58, 0x42, 0x69, 0x18, 0x05, 0x30, 14364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x00, 0x01, 0x0e, 0x43, 0xfa, 0xd0, 0x87, 0x4c, 0x11, 0xbc, 0xe4, 14374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x90, 0xb2, 0xea, 0x14, 0x60, 0x5b, 0x78, 0x70, 0x02, 0x7e, 0x7a, 0x00, 14384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x75, 0xd1, 0x02, 0xef, 0x35, 0x60, 0x22, 0x00, 0x26, 0x5b, 0x8f, 0xbb, 14394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x80, 0x60, 0xc3, 0x14, 0xc3, 0xe1, 0x61, 0x81, 0x8d, 0xed, 0x7e, 0xa0, 14404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x16, 0x00, 0x2d, 0x23, 0x5d, 0xe9, 0x2d, 0x2a, 0xae, 0x75, 0xa0, 0x66, 14414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcb, 0x2a, 0x16, 0x59, 0x29, 0xbb, 0x82, 0x78, 0xe7, 0x3d, 0xf8, 0x00, 14424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb2, 0x55, 0xab, 0x86, 0x3e, 0x1f, 0x1f, 0x4a, 0x91, 0x14, 0x69, 0x6d, 14434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf3, 0x59, 0x24, 0xd3, 0x2d, 0x21, 0x9c, 0xde, 0x45, 0x95, 0xf5, 0x27, 14444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x82, 0xc6, 0xf5, 0x72, 0xed, 0x00, 0x2f, 0x79, 0x16, 0x41, 0x7c, 0xdf, 14454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdd, 0xef, 0x34, 0xcb, 0x84, 0x13, 0x09, 0xee, 0x8b, 0x92, 0xcb, 0x5d, 14464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe4, 0xa8, 0x72, 0xb7, 0xbf, 0xb5, 0xdb, 0xc4, 0x55, 0x83, 0x2e, 0xab, 14474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd6, 0x50, 0x11, 0x01, 0xed, 0xc5, 0xb6, 0x80, 0x5b, 0x65, 0xb4, 0xb4, 14484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x59, 0x9b, 0x91, 0x14, 0x9b, 0x4b, 0xb4, 0xf2, 0xdb, 0xad, 0x9b, 0xb5, 14494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf2, 0x05, 0x98, 0x52, 0x4b, 0xfa, 0x18, 0x59, 0xde, 0xad, 0xb3, 0xa7, 14504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9a, 0x18, 0xa4, 0x86, 0xf4, 0x23, 0x7d, 0x0c, 0x5c, 0x2d, 0x03, 0x29, 14514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x71, 0x65, 0x18, 0x43, 0x6f, 0x2c, 0x00, 0xb7, 0xe7, 0xcb, 0x24, 0xcc, 14524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x71, 0x63, 0x4a, 0x1a, 0xde, 0x96, 0x48, 0xbb, 0x2e, 0x51, 0xb5, 0x21, 14534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x85, 0xca, 0x49, 0x6c, 0x79, 0x2e, 0xba, 0x47, 0x5b, 0x07, 0x87, 0xd8, 14544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x50, 0x61, 0x43, 0xeb, 0x68, 0xfe, 0x77, 0x87, 0x67, 0x94, 0xf0, 0xa7, 14554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd4, 0xac, 0xae, 0xdc, 0x85, 0x4f, 0x56, 0xfc, 0x08, 0x03, 0x59, 0x00, 14564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1e, 0x6f, 0xff, 0x79, 0xe2, 0x04, 0x08, 0x22, 0x67, 0x2b, 0x40, 0x4b, 14574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x69, 0xbc, 0xac, 0x41, 0xd0, 0x3e, 0xb7, 0xe3, 0x8f, 0xaf, 0x0f, 0x22, 14584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x66, 0x9a, 0x65, 0x83, 0x53, 0x2a, 0x12, 0x4a, 0x6f, 0xe8, 0x24, 0xc7, 14594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0x7e, 0x56, 0xed, 0x43, 0xab, 0xdc, 0x1c, 0xa4, 0x30, 0xe8, 0xdf, 14604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9c, 0xc0, 0x14, 0x13, 0xc0, 0x16, 0x0a, 0xb7, 0x9e, 0xf6, 0xd1, 0xaa, 14614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x23, 0x2d, 0xd3, 0x0e, 0xb4, 0x38, 0x64, 0x81, 0x2d, 0xc8, 0xe8, 0x01, 14624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x66, 0xc9, 0x7c, 0x57, 0xc4, 0xf6, 0xe6, 0x52, 0x75, 0x02, 0xdb, 0xfc, 14634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdb, 0xf0, 0x23, 0x05, 0xab, 0xd0, 0x32, 0x1c, 0x69, 0xde, 0x0c, 0x04, 14644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0x0b, 0x5f, 0x35, 0x60, 0x0a, 0x83, 0xa1, 0x94, 0x2c, 0xb3, 0xa3, 14654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7b, 0x5f, 0xae, 0xe8, 0x94, 0xe3, 0x16, 0x0d, 0x2e, 0x42, 0xd2, 0x86, 14664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x41, 0x8d, 0xc7, 0x71, 0x3f, 0xe3, 0xbe, 0x0d, 0xa5, 0x8c, 0x2a, 0xc9, 14674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x43, 0x1b, 0x47, 0x2d, 0xe3, 0x2d, 0x94, 0x30, 0x2d, 0xb3, 0x95, 0x4f, 14684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6f, 0x73, 0xf3, 0x5f, 0xf7, 0x22, 0x0a, 0xee, 0x65, 0x3b, 0x03, 0xf9, 14694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x17, 0x7a, 0xd4, 0xa3, 0x13, 0x39, 0xb1, 0x55, 0x47, 0x16, 0xdc, 0xc1, 14704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x55, 0xff, 0x41, 0x1d, 0x70, 0x4f, 0x09, 0xd8, 0x28, 0x53, 0x9c, 0x48, 14714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x89, 0x14, 0x32, 0x37, 0xbb, 0x11, 0x1c, 0x00, 0xe5, 0xff, 0xfe, 0x32, 14724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4a, 0x52, 0x9b, 0xc7, 0xdb, 0xda, 0x89, 0x36, 0xe0, 0xd3, 0x62, 0x55, 14734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb3, 0x46, 0xa0, 0xda, 0x31, 0xbe, 0x6e, 0x47, 0xf6, 0x76, 0xe6, 0x6e, 14744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x65, 0xc3, 0x91, 0x75, 0x0d, 0x44, 0x08, 0x6d, 0x31, 0x34, 0xc2, 0xe0, 14754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x04, 0x55, 0xad, 0x47, 0x90, 0x9b, 0xed, 0x09, 0x15, 0x08, 0xdc, 0xfc, 14764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd9, 0x9c, 0xf9, 0x97, 0x2c, 0xe7, 0xbc, 0x97, 0x75, 0xd1, 0xc9, 0x61, 14774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6a, 0x85, 0xd6, 0xf2, 0xd5, 0x04, 0x0b, 0xa6, 0x37, 0xa5, 0x76, 0x52, 14784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2f, 0x6e, 0x16, 0xe9, 0xe9, 0x4b, 0x40, 0xb6, 0xcc, 0x2d, 0x7e, 0xc4, 14794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x61, 0x4f, 0x7d, 0xa0, 0x93, 0xff, 0x85, 0x81, 0xca, 0x16, 0xd9, 0x3a, 14804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1b, 0xb9, 0x64, 0x0a, 0xab, 0x63, 0x67, 0x90, 0xe6, 0xfc, 0xc3, 0xa5, 14814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x17, 0x12, 0x10, 0xd0, 0x90, 0xde, 0x84, 0xd3, 0x79, 0x0e, 0xc0, 0xb9, 14824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x46, 0x8c, 0x64, 0x00, 0x7f, 0x27, 0x5f, 0x3a, 0x57, 0x86, 0x8f, 0x6a, 14834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x37, 0x2e, 0xf5, 0x29, 0x41, 0x11, 0x10, 0xe2, 0x9b, 0x59, 0x67, 0x92, 14844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x56, 0xb3, 0xa2, 0x5f, 0x56, 0xfd, 0x4c, 0xda, 0x47, 0xf3, 0x87, 0x82, 14854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x38, 0x01, 0xc5, 0xcb, 0x76, 0x80, 0x8a, 0xc3, 0x7c, 0x22, 0xb6, 0xaf, 14864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x70, 0x42, 0x00, 0x8d, 0x7b, 0xac, 0x0a, 0x00, 0xa8, 0xce, 0xaa, 0x84, 14874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa9, 0x97, 0xd0, 0xb8, 0xd9, 0xf4, 0x10, 0xbf, 0xc4, 0x02, 0xaa, 0x58, 14884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x24, 0xff, 0xde, 0x79, 0x96, 0x12, 0x92, 0xd2, 0x53, 0x77, 0x72, 0xd7, 14894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x60, 0x9b, 0x3d, 0x3d, 0xb7, 0x5e, 0x9e, 0x0f, 0xb8, 0x00, 0x30, 0x56, 14904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0x80, 0x85, 0xff, 0x53, 0x40, 0xe6, 0xef, 0x80, 0x85, 0xff, 0x53, 14914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0xe2, 0x43, 0x7e, 0x50, 0xa0, 0x07, 0xd7, 0x39, 0xa8, 0x13, 0xa2, 14924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6e, 0x3a, 0xf8, 0x99, 0x97, 0x03, 0x06, 0xd6, 0xeb, 0x60, 0x7e, 0xe3, 14934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xad, 0xa1, 0x92, 0x81, 0x9b, 0x20, 0x5d, 0xc5, 0x02, 0x9b, 0x9e, 0x5f, 14944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x1b, 0xd4, 0xce, 0x22, 0x17, 0x65, 0x00, 0x3d, 0xef, 0xe6, 0x49, 0x60, 14954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x65, 0xb2, 0x2f, 0x8a, 0x63, 0x5f, 0x96, 0xd0, 0xfb, 0x43, 0x0b, 0xee, 14964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa6, 0x6a, 0x9c, 0x58, 0xd0, 0xd3, 0x9b, 0x73, 0x9b, 0xb0, 0xf0, 0x39, 14974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbc, 0xe2, 0x4c, 0xfb, 0x91, 0x84, 0x57, 0x48, 0x11, 0x6d, 0xba, 0x1b, 14984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x43, 0xc3, 0xda, 0x77, 0x60, 0x89, 0xed, 0x74, 0xf0, 0x1e, 0xf5, 0xce, 14994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x07, 0x00, 0x89, 0x06, 0xd3, 0xbc, 0x1b, 0xa2, 0x21, 0x3f, 0xe2, 0x7a, 15004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2b, 0xc3, 0x21, 0x72, 0x9c, 0xd5, 0xbf, 0x00, 0x2a, 0x13, 0xc6, 0xad, 15014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x18, 0xaa, 0x61, 0x84, 0x34, 0x28, 0x94, 0xd0, 0xda, 0xd2, 0xdb, 0xc7, 15024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcc, 0x59, 0x72, 0x18, 0x30, 0x68, 0xca, 0x12, 0x8d, 0x5b, 0x83, 0xe6, 15034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe8, 0xc0, 0xca, 0x64, 0x08, 0x2d, 0x15, 0xb6, 0xee, 0xe3, 0xb8, 0x20, 15044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcd, 0xa1, 0x98, 0xb5, 0x03, 0x69, 0x34, 0x35, 0xb1, 0x3f, 0x26, 0xe4, 15054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa5, 0x85, 0x5b, 0x28, 0x0d, 0x58, 0x60, 0x73, 0x76, 0x6a, 0x9b, 0x69, 15064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x09, 0xb9, 0x12, 0x63, 0x9d, 0x10, 0x87, 0x4e, 0xf5, 0x6d, 0x99, 0x27, 15074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb3, 0xf2, 0xa3, 0x73, 0xe2, 0xe4, 0xcd, 0x84, 0x35, 0x91, 0x91, 0xf1, 15084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x83, 0x9b, 0xba, 0x47, 0xce, 0x31, 0xfe, 0x74, 0x74, 0x4b, 0xb2, 0x25, 15094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x38, 0x71, 0xea, 0xdc, 0xc5, 0xb3, 0xdc, 0x0c, 0x41, 0xf4, 0x3a, 0x48, 15104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x54, 0x3e, 0x9e, 0x36, 0xd6, 0xe9, 0x5a, 0x6c, 0x75, 0x50, 0x95, 0x83, 15114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7d, 0x5b, 0x6f, 0xde, 0x9b, 0x1c, 0x20, 0x56, 0x40, 0x1e, 0x3d, 0xf8, 15124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xff, 0xcb, 0xa1, 0xde, 0x2a, 0xd9, 0xe4, 0x36, 0x65, 0x2f, 0xc2, 0xb7, 15134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x87, 0x03, 0x8c, 0x00, 0x18, 0x37, 0x85, 0xe2, 0xbc, 0xfa, 0xe9, 0xcf, 15144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe3, 0x81, 0x98, 0x6d, 0x43, 0x31, 0x10, 0x79, 0x0d, 0xbe, 0x89, 0xf7, 15154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0x23, 0x7b, 0x91, 0xb1, 0xef, 0xe6, 0x3e, 0x17, 0x45, 0x73, 0x9b, 15164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x09, 0xb2, 0x51, 0xd4, 0x61, 0x2d, 0xbc, 0x3f, 0xc7, 0x52, 0x2e, 0xee, 15174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8f, 0xba, 0x56, 0x64, 0x91, 0x0a, 0x38, 0x07, 0xb6, 0xd5, 0x6d, 0xcf, 15184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x33, 0xe7, 0xdb, 0xdb, 0x65, 0x43, 0xae, 0x65, 0x0e, 0xdb, 0x6c, 0xa9, 15194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0xd3, 0x8a, 0x28, 0x63, 0x73, 0x5a, 0x4e, 0x29, 0x42, 0x56, 0x36, 15204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4d, 0xfb, 0xa0, 0x06, 0x3e, 0xd0, 0x8d, 0xf5, 0x76, 0xa7, 0x32, 0x95, 15214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x09, 0xd5, 0xee, 0xdc, 0x57, 0x80, 0xac, 0x34, 0x63, 0x0f, 0xf8, 0x03, 15224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x51, 0x1f, 0x3d, 0x3b, 0x9e, 0x74, 0x53, 0xec, 0x0f, 0x9c, 0x08, 0xde, 15234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x03, 0xc9, 0xf6, 0x16, 0xb1, 0x54, 0xa4, 0x3c, 0x39, 0x8e, 0x7c, 0x8a, 15244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x45, 0xef, 0x1e, 0x47, 0xe2, 0xf1, 0x88, 0xee, 0x2e, 0x51, 0x77, 15254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9f, 0x2c, 0x7e, 0x97, 0xb5, 0x35, 0x24, 0xb4, 0x60, 0xc5, 0x6f, 0x25, 15264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9c, 0x5f, 0x62, 0x2f, 0xdf, 0xab, 0xe7, 0x64, 0x01, 0x26, 0x3c, 0x8d, 15274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x97, 0x5e, 0xe9, 0x56, 0xd3, 0x4c, 0xe4, 0xac, 0xa8, 0x3a, 0xdc, 0x56, 15284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x29, 0x65, 0x94, 0x34, 0x6c, 0x3d, 0xaa, 0x94, 0xdf, 0xb3, 0x13, 0xf0, 15294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x23, 0x3e, 0xb7, 0x9e, 0x33, 0xb7, 0x6a, 0x21, 0xaf, 0x14, 0xf7, 0x6f, 15304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x96, 0x18, 0xa7, 0x4b, 0x12, 0x01, 0x03, 0xaa, 0x36, 0x7f, 0xe8, 0x91, 15314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0e, 0x11, 0x5c, 0x25, 0xfc, 0xb8, 0xeb, 0xc3, 0xf8, 0xce, 0xde, 0xee, 15324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0a, 0xfc, 0xc3, 0xe5, 0x19, 0xad, 0xf1, 0x8e, 0x30, 0x02, 0xde, 0x05, 15334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x23, 0x8c, 0x81, 0x9b, 0x20, 0xc2, 0xbf, 0x43, 0xfc, 0x1b, 0xe9, 0x7f, 15344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x04, 0x57, 0x80, 0x3d, 0xeb, 0x81, 0x73, 0x45, 0x67, 0xea, 0x3a, 0x75, 15354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbd, 0xcd, 0xcc, 0x85, 0x50, 0x31, 0xe5, 0x4b, 0x95, 0x8e, 0xec, 0xc4, 15364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0x40, 0x9b, 0x16, 0xb6, 0x74, 0x07, 0xed, 0xf4, 0x72, 0x3c, 0x50, 15374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa5, 0xdb, 0x69, 0x5f, 0x9d, 0x97, 0x23, 0xf5, 0xcb, 0x16, 0x7e, 0xcb, 15384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa8, 0x71, 0xcc, 0xa0, 0x0b, 0x7e, 0x1f, 0x2f, 0x4f, 0x8f, 0x83, 0xf2, 15394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe3, 0xdd, 0xae, 0xcd, 0x94, 0xaa, 0x36, 0x0c, 0xb0, 0x7a, 0x37, 0x50, 15404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8b, 0x9d, 0x00, 0x31, 0xea, 0x91, 0xb4, 0x5c, 0x95, 0x30, 0x3b, 0x3e, 15414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9f, 0x57, 0xbb, 0x98, 0x5a, 0x2f, 0x95, 0x87, 0xa8, 0x4a, 0x58, 0x8d, 15424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe5, 0x00, 0x1a, 0x11, 0xbd, 0xb0, 0x57, 0x5c, 0x4c, 0xeb, 0x21, 0x77, 15434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcb, 0x80, 0xc8, 0x34, 0xb4, 0x1b, 0x5b, 0x91, 0xf5, 0x65, 0x52, 0x15, 15444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x29, 0x9d, 0xa5, 0xd6, 0xfe, 0xac, 0x47, 0x12, 0x08, 0x5f, 0xdc, 0xf3, 15454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7c, 0x8a, 0xa9, 0xbc, 0x75, 0xb6, 0xa5, 0x8b, 0x68, 0xd0, 0xd4, 0x6e, 15464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x37, 0xb7, 0x02, 0x38, 0xe8, 0xcd, 0x74, 0x44, 0x9e, 0x5b, 0x14, 0xf8, 15474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xad, 0xe8, 0xc0, 0x15, 0x09, 0xe4, 0x00, 0xac, 0x56, 0x11, 0xc8, 0x95, 15484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe7, 0x4a, 0x01, 0x63, 0x89, 0xcf, 0x7e, 0xb8, 0x11, 0x00, 0x10, 0x6c, 15494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3c, 0xcc, 0x2f, 0xd5, 0xbd, 0x00, 0x01, 0x8f, 0xb7, 0x5e, 0xe2, 0xdd, 15504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0x93, 0x76, 0xc0, 0x09, 0x97, 0x9e, 0x39, 0xf2, 0x7a, 0x96, 0xe0, 15514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x20, 0x30, 0x31, 0xb9, 0xc5, 0x87, 0x49, 0x2c, 0x09, 0x09, 0x8d, 0x3c, 15524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x93, 0x12, 0x84, 0xb7, 0xf2, 0x0f, 0x79, 0x3e, 0xb7, 0xe3, 0x1d, 0x64, 15534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0d, 0xd5, 0x32, 0xf8, 0x58, 0xde, 0x97, 0xb1, 0x64, 0x07, 0x5a, 0xe9, 15544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x98, 0x12, 0x61, 0xb6, 0xd3, 0xdb, 0xea, 0xa0, 0x05, 0xe2, 0x63, 0xb3, 15554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbb, 0xe7, 0x12, 0x19, 0x9a, 0xec, 0xc7, 0xe8, 0x18, 0x94, 0xfb, 0xe4, 15564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe9, 0x4e, 0xba, 0x91, 0x42, 0x1b, 0xe0, 0xc2, 0x83, 0xa6, 0x6a, 0xe0, 15574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfc, 0x0e, 0xdf, 0xd5, 0x3d, 0xbb, 0x37, 0xf2, 0x5e, 0x2b, 0x1b, 0x92, 15584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6b, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x43, 0xfd, 0x0a, 0x00, 0xf4, 0x58, 15594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xaf, 0xbf, 0xbf, 0x02, 0x2d, 0x72, 0xa2, 0x9b, 0x98, 0xeb, 0x6b, 0xe4, 15604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0x96, 0xc9, 0x0b, 0x46, 0xf4, 0x06, 0xf1, 0xd7, 0x0b, 0xa5, 0x14, 15614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5c, 0xcb, 0xb2, 0x19, 0x4e, 0xa7, 0x97, 0x5b, 0x9b, 0xc3, 0x80, 0x0f, 15624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9f, 0xab, 0x9a, 0xa3, 0x1d, 0xa9, 0x53, 0x2d, 0xc4, 0x52, 0xea, 0x14, 15634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa3, 0x56, 0x37, 0x20, 0x52, 0xe7, 0x31, 0xcf, 0xd3, 0x51, 0x03, 0xf7, 15644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbe, 0x13, 0x2e, 0xd0, 0xc2, 0xc7, 0x51, 0xed, 0xf2, 0x99, 0x52, 0xac, 15654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf0, 0x2d, 0xb8, 0x60, 0xfb, 0x5b, 0xf5, 0x02, 0xaa, 0x6f, 0x36, 0x65, 15664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x88, 0x50, 0x74, 0x42, 0x86, 0x9c, 0x1a, 0x81, 0xad, 0xe4, 0x00, 0x1e, 15674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4e, 0xfe, 0x3e, 0xf9, 0x32, 0x45, 0x29, 0x03, 0xae, 0xf9, 0x5d, 0x96, 15684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x18, 0x58, 0xf8, 0xbe, 0x0d, 0xe1, 0xc0, 0x17, 0x6f, 0x04, 0x6e, 0x78, 15694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x32, 0xe5, 0x5b, 0x53, 0x74, 0x53, 0xcb, 0xc9, 0xa1, 0xf4, 0x39, 0xf2, 15704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x17, 0x6c, 0x6d, 0x9f, 0x02, 0xbb, 0xcf, 0xa7, 0xd6, 0xc1, 0x7c, 0x82, 15714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x30, 0x02, 0x55, 0x0f, 0x0e, 0x85, 0x00, 0x90, 0xe5, 0xb6, 0x2f, 0x83, 15724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x67, 0x31, 0x66, 0x92, 0x55, 0xb9, 0xb0, 0x3a, 0x2b, 0x7f, 0x41, 0xff, 15734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0x03, 0xfe, 0x85, 0xf0, 0xf3, 0x28, 0x23, 0xff, 0xef, 0x0f, 0x0f, 15744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd3, 0x62, 0x8f, 0xa1, 0xa5, 0xb0, 0x14, 0xb8, 0x2a, 0x71, 0xc8, 0x98, 15754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x2e, 0x6c, 0xd5, 0x74, 0xe3, 0x30, 0xaf, 0x5b, 0x4e, 0x0d, 0x46, 15764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe3, 0xf1, 0x7b, 0xff, 0xd2, 0x29, 0xb5, 0xd0, 0xb3, 0x37, 0xc9, 0xdb, 15774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xbc, 0xee, 0x39, 0xe5, 0xee, 0x01, 0x8b, 0x61, 0x34, 0x29, 0xbd, 0x0f, 15784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdf, 0xbd, 0xd8, 0xb8, 0xea, 0x1d, 0x9f, 0x8c, 0xf3, 0xde, 0x7c, 0xa9, 15794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa7, 0x87, 0x45, 0x2c, 0xc3, 0x94, 0x63, 0x6a, 0x64, 0xd5, 0xa8, 0xda, 15804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa4, 0xdc, 0x02, 0xdb, 0xe3, 0xf5, 0xf0, 0xe0, 0x04, 0x80, 0x06, 0xaf, 15814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xaf, 0x50, 0x26, 0xf1, 0xbc, 0x4a, 0xe5, 0x85, 0x93, 0x6d, 0x54, 0x50, 15824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb6, 0xfc, 0xff, 0xf5, 0xcc, 0xcb, 0x0c, 0x37, 0xc6, 0x4a, 0xdf, 0xa5, 15834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x48, 0xb9, 0xc5, 0x22, 0x7c, 0xf7, 0x95, 0x16, 0xc9, 0xb3, 0x31, 0x0d, 15844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb4, 0xf3, 0xec, 0xb1, 0x56, 0x24, 0x29, 0x5b, 0xe4, 0x80, 0x0d, 0xfe, 15854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0x04, 0x06, 0x7f, 0xb3, 0x39, 0x15, 0xc8, 0xc0, 0xe2, 0x0b, 0x97, 15864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcc, 0xb0, 0x20, 0x29, 0xb0, 0x32, 0x66, 0x3b, 0x25, 0x0a, 0x7b, 0x64, 15874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0xe5, 0x24, 0x4f, 0x16, 0xfc, 0x30, 0xbd, 0xc0, 0x07, 0x9f, 0xfd, 15884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe7, 0x3c, 0xd4, 0x6a, 0x49, 0x64, 0x32, 0x37, 0x91, 0x22, 0xf7, 0xc1, 15894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x17, 0x34, 0x40, 0x8e, 0xea, 0x17, 0x25, 0xe7, 0x16, 0xf3, 0xd6, 0x6c, 15904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x35, 0x3c, 0xae, 0x1e, 0xb0, 0xa3, 0x9b, 0xe9, 0xc0, 0x05, 0x70, 0x57, 15914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0f, 0xdf, 0x8f, 0xe4, 0x01, 0xe6, 0x87, 0x1a, 0x5d, 0x94, 0xc9, 0xbe, 15924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5b, 0x96, 0x5b, 0x2c, 0x6f, 0x94, 0x49, 0xf8, 0xf8, 0x9a, 0xa1, 0x73, 15934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9c, 0x36, 0xda, 0x1a, 0x5c, 0x25, 0x37, 0x6e, 0x5a, 0x9f, 0x9a, 0x15, 15944b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x56, 0x94, 0xcc, 0xfb, 0x1b, 0x0e, 0x96, 0x00, 0x5b, 0x4d, 0xc0, 0x15, 15954b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xaa, 0x43, 0xc3, 0x21, 0xed, 0x88, 0xae, 0x05, 0x77, 0x00, 0x06, 0x7a, 15964b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xaa, 0x48, 0x46, 0xfa, 0xaf, 0xbd, 0xd9, 0xfc, 0x12, 0x46, 0xd3, 0x34, 15974b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x30, 0x0c, 0xf9, 0xfb, 0x66, 0xc0, 0xf3, 0xa6, 0x48, 0x6c, 0x94, 0xa3, 15984b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xea, 0x37, 0xcd, 0x36, 0xf9, 0xbf, 0x05, 0xe5, 0x08, 0x84, 0x02, 0xb5, 15994b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb4, 0x96, 0xdc, 0xc8, 0xbe, 0x87, 0x10, 0xd9, 0xc3, 0x9b, 0xfa, 0x6f, 16004b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc0, 0xbf, 0x70, 0x02, 0x3f, 0x69, 0xbd, 0x08, 0xed, 0x41, 0x10, 0x01, 16014b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x30, 0x51, 0xaa, 0x80, 0x91, 0xff, 0x92, 0xfe, 0xe0, 0xe5, 0xaa, 0xdb, 16024b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3f, 0xff, 0x34, 0x01, 0xf6, 0x91, 0x08, 0xc2, 0x62, 0x9f, 0x69, 0xbc, 16034b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x71, 0xbf, 0x9d, 0x26, 0xd2, 0xad, 0x85, 0x41, 0xad, 0xe4, 0x3b, 0xf8, 16044b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x04, 0x1f, 0xd9, 0x00, 0x12, 0x00, 0x5b, 0x68, 0x64, 0x36, 0x3c, 0xca, 16054b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x38, 0x3f, 0xc8, 0xe4, 0xa5, 0xf8, 0x37, 0xe8, 0x2f, 0x91, 0x3b, 0xcf, 16064b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xb8, 0xb8, 0x06, 0x60, 0xc7, 0x5e, 0xdd, 0xa8, 0x93, 0x53, 0x15, 0x23, 16074b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xee, 0x20, 0xc2, 0x1b, 0x79, 0xef, 0x90, 0x52, 0x5d, 0xa0, 0x03, 0x46, 16084b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xca, 0x95, 0x16, 0x7a, 0xb7, 0xf1, 0x30, 0x07, 0x74, 0x10, 0x40, 0x5c, 16094b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4f, 0xf7, 0xda, 0x20, 0xf5, 0xcf, 0x7e, 0x9c, 0x1f, 0x6c, 0x2a, 0x9b, 16104b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x62, 0xac, 0x92, 0xa0, 0xc1, 0xed, 0xf2, 0x8e, 0x13, 0x8b, 0xb7, 0x6f, 16114b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x81, 0x8b, 0x3c, 0x5b, 0xf4, 0xf9, 0x10, 0x48, 0x20, 0x80, 0xe7, 0xd3, 16124b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3e, 0x5d, 0x9c, 0xe9, 0x76, 0xde, 0x36, 0xbf, 0x4d, 0xab, 0x7c, 0xe9, 16134b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4b, 0x9a, 0x7a, 0xa5, 0x3d, 0x5b, 0xf3, 0x5f, 0xcc, 0x20, 0x76, 0xf7, 16144b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x49, 0x7c, 0x26, 0x6d, 0x1f, 0x06, 0x6b, 0x75, 0x17, 0xde, 0x9b, 0xe8, 16154b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3e, 0x05, 0xb6, 0xaa, 0xa7, 0xb7, 0xc4, 0xe3, 0x83, 0x76, 0x65, 0x40, 16164b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x08, 0xee, 0x2b, 0x7b, 0xf8, 0x08, 0x40, 0x15, 0xa2, 0xce, 0x90, 0xf0, 16174b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x43, 0x00, 0x68, 0x14, 0x79, 0x3e, 0x58, 0x49, 0x6f, 0x17, 0x26, 0xf9, 16184b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe1, 0x6a, 0x3b, 0xf3, 0x6b, 0xac, 0xf0, 0xa0, 0x6d, 0xbd, 0xc6, 0x4b, 16194b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0x81, 0x32, 0x5a, 0x11, 0x1d, 0xc6, 0x85, 0x02, 0x27, 0xfd, 0x6a, 16204b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfa, 0x48, 0xde, 0xb5, 0x0f, 0x6f, 0x41, 0x49, 0xe0, 0x73, 0x74, 0x71, 16214b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9c, 0xce, 0xdd, 0xf8, 0xa1, 0x7e, 0xdb, 0xef, 0xc8, 0x4d, 0x59, 0xb3, 16224b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x56, 0xc1, 0xc9, 0x2c, 0xad, 0x81, 0xe6, 0x68, 0xbf, 0x7f, 0x6d, 0x81, 16234b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x59, 0xf3, 0x5d, 0xbc, 0x51, 0xc1, 0xc6, 0x58, 0x78, 0x49, 0x4c, 0xfd, 16244b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3a, 0xd1, 0x5c, 0x77, 0x65, 0x83, 0x03, 0xbf, 0x92, 0xcd, 0xb0, 0xf3, 16254b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf7, 0x39, 0x59, 0x00, 0x46, 0x5a, 0xb6, 0xbd, 0xc7, 0x89, 0xeb, 0xef, 16264b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xca, 0xe5, 0x5a, 0x56, 0xe0, 0x87, 0x88, 0xc7, 0xe4, 0x3c, 0x02, 0x57, 16274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6e, 0xfa, 0x16, 0xda, 0xb7, 0x54, 0x6f, 0x9b, 0x43, 0xde, 0x2a, 0xf8, 16284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xc3, 0x62, 0x14, 0x12, 0x91, 0xbd, 0x35, 0xda, 0x44, 0x30, 0xcd, 0xf4, 16294b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd7, 0xd2, 0xbd, 0x2a, 0x92, 0xdb, 0x83, 0xdc, 0xb9, 0x5d, 0x73, 0x9a, 16304b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3e, 0x58, 0xf7, 0xdd, 0x88, 0x4c, 0x38, 0xb1, 0x81, 0x55, 0xba, 0x76, 16314b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x1b, 0x07, 0x27, 0x8e, 0xf9, 0xd4, 0x1a, 0x73, 0x65, 0x5b, 0xa0, 16324b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf5, 0x6f, 0x90, 0x58, 0xa3, 0x0b, 0xf5, 0x83, 0x82, 0xd4, 0x84, 0xc7, 16334b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7f, 0x39, 0x0b, 0xf5, 0x80, 0x7c, 0x6b, 0xea, 0x67, 0x56, 0xcb, 0x68, 16344b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x61, 0xb8, 0x97, 0x4a, 0x1c, 0xa3, 0xce, 0x68, 0xf7, 0x57, 0xd8, 0xf8, 16354b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x81, 0xa9, 0x9a, 0x51, 0x0d, 0x19, 0x1c, 0xc1, 0xe8, 0xde, 0x19, 0x08, 16364b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x19, 0x14, 0xb0, 0x98, 0x9b, 0xe8, 0x39, 0xb9, 0xcf, 0x2b, 0x70, 0x95, 16374b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x28, 0xc0, 0xa0, 0xd6, 0xed, 0x2b, 0xde, 0xf9, 0x66, 0x21, 0xe0, 0x88, 16384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x95, 0x54, 0x2a, 0x61, 0xed, 0xc0, 0x2b, 0x08, 0x13, 0x3d, 0x75, 16394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2c, 0x24, 0xc6, 0x9a, 0xca, 0x14, 0x07, 0x37, 0xf6, 0x90, 0x02, 0x5f, 16404b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x20, 0x02, 0xd0, 0x06, 0xd3, 0xd9, 0xdb, 0x68, 0x0f, 0x7b, 0x27, 0xf0, 16414b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfc, 0xe2, 0x4a, 0xb7, 0xf7, 0x76, 0x67, 0x85, 0xb1, 0xbd, 0x4f, 0x6f, 16424b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd0, 0x40, 0x03, 0x9e, 0x78, 0x9b, 0xba, 0xa3, 0x41, 0x0b, 0xfd, 0x67, 16434b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3a, 0x78, 0x4e, 0x6c, 0x5b, 0x7c, 0x63, 0x7d, 0x7b, 0xeb, 0x01, 0x07, 16444b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf9, 0x7f, 0xff, 0x57, 0xeb, 0xac, 0x02, 0x7c, 0xec, 0xde, 0x1f, 0x83, 16454b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x0e, 0x5c, 0xd9, 0x24, 0x81, 0x8d, 0xf3, 0x90, 0x02, 0x3f, 0xf0, 0x81, 16464b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x0d, 0xb3, 0xe3, 0xec, 0xfe, 0x51, 0x4c, 0x7f, 0x3d, 0x75, 0x90, 16474b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x9f, 0xce, 0xca, 0x86, 0x9b, 0x69, 0x85, 0xaa, 0x54, 0x34, 0x73, 0x46, 16484b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xda, 0xba, 0x57, 0x81, 0x88, 0xde, 0x5e, 0xae, 0x2a, 0x92, 0x9b, 0xf8, 16494b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x90, 0x02, 0x12, 0x33, 0xc0, 0x1d, 0x80, 0x36, 0x7c, 0x17, 0x2c, 0x1b, 16504b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x25, 0xeb, 0x9b, 0x24, 0xfd, 0xc2, 0xb4, 0x6c, 0xc1, 0xcd, 0xc9, 0xfa, 16514b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf5, 0xbf, 0x04, 0x5e, 0x05, 0xf5, 0xcc, 0x3a, 0xa6, 0xe4, 0x78, 0x75, 16524b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x18, 0x3e, 0x58, 0xdf, 0xba, 0x3e, 0x5f, 0x48, 0xbf, 0x7f, 0x71, 0x7d, 16534b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdd, 0x1b, 0x4b, 0xe7, 0x9b, 0xa6, 0x0c, 0xfd, 0x69, 0xd2, 0x05, 0x37, 16544b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe6, 0xbf, 0xee, 0x02, 0x08, 0x16, 0x0b, 0xff, 0x74, 0x81, 0x5b, 0xc0, 16554b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa3, 0x2f, 0x86, 0xdb, 0x6c, 0x21, 0xd6, 0xe7, 0xa8, 0xed, 0xb0, 0x96, 16564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3d, 0xb0, 0xdf, 0xc5, 0xad, 0xfc, 0x61, 0xe0, 0x63, 0x32, 0x90, 0xed, 16574b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x6d, 0x7e, 0xdb, 0xa0, 0x0c, 0x1d, 0xf7, 0x16, 0xb2, 0x06, 0x4f, 0xe8, 16584b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x92, 0xb2, 0xd0, 0xc2, 0x07, 0x19, 0x8b, 0xeb, 0x5b, 0xec, 0x80, 0x0b, 16594b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x5d, 0xef, 0xcf, 0xd8, 0x01, 0xcd, 0x17, 0x2a, 0x93, 0x60, 0x87, 0x11, 16604b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcc, 0xe9, 0xd6, 0xa7, 0xe2, 0xcd, 0x7f, 0x12, 0x52, 0x86, 0x8c, 0xd6, 16614b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xf1, 0x20, 0x05, 0xa2, 0x27, 0xb8, 0x02, 0xa1, 0x64, 0x1d, 0xd3, 0x83, 16624b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x93, 0xe0, 0x5e, 0xe5, 0xca, 0x34, 0x3b, 0x69, 0x25, 0x2b, 0x67, 0x3f, 16634b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x25, 0x4f, 0x11, 0xed, 0x16, 0x0d, 0x24, 0x37, 0xf1, 0x28, 0x08, 0x5f, 16644b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xef, 0x38, 0x8b, 0xe3, 0x2d, 0xa4, 0xa8, 0xdd, 0xdf, 0x28, 0x00, 0xee, 16654b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x8a, 0xc0, 0x4c, 0x00, 0x3a, 0xa9, 0xea, 0xdc, 0xfe, 0xf1, 0xf4, 0x5e, 16664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x72, 0xe7, 0xca, 0x36, 0x57, 0x2e, 0x6c, 0xb0, 0x22, 0x95, 0x5b, 0xed, 16674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0x04, 0xa2, 0xa8, 0x01, 0x79, 0x1b, 0x31, 0xcf, 0x01, 0x13, 0xec, 16684b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x48, 0xa3, 0x29, 0x6a, 0x32, 0xb6, 0x8e, 0xa4, 0x0d, 0x7d, 0x21, 0x58, 16694b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xca, 0x94, 0x5b, 0x7b, 0xf9, 0x76, 0xfb, 0xc0, 0x06, 0x25, 0x06, 0x5b, 16704b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x3e, 0x84, 0xe9, 0xc4, 0x18, 0x4d, 0x59, 0xab, 0x42, 0x92, 0x37, 0x80, 16714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x77, 0xf0, 0x2f, 0x3d, 0xc5, 0xf5, 0xc3, 0xf8, 0xd8, 0xb2, 0xe4, 16724b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x7b, 0xf2, 0x6a, 0x51, 0x95, 0x06, 0x5f, 0x16, 0xfa, 0xc7, 0xd3, 0xbd, 16734b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xe0, 0x8b, 0xec, 0x27, 0xe6, 0x0e, 0x0e, 0xb9, 0xde, 0x57, 0x39, 0x69, 16744b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x51, 0x2d, 0xa5, 0x14, 0xd8, 0xa5, 0xc0, 0x06, 0x40, 0x0f, 0x1f, 0xf1, 16754b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x40, 0x2c, 0xc2, 0xd3, 0x2b, 0xb8, 0x7a, 0xe7, 0x9d, 0xbe, 0x7a, 0x36, 16764b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x16, 0x43, 0xad, 0xe3, 0xf5, 0x7c, 0xf5, 0x66, 0xc0, 0xca, 0xb9, 0x02, 16774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xdb, 0x29, 0x4e, 0x46, 0xfe, 0x72, 0xe7, 0x4d, 0x00, 0xb3, 0x2c, 0xf0, 16784b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xef, 0x61, 0xa0, 0x97, 0xff, 0xb6, 0x2a, 0x05, 0xb7, 0xea, 0x88, 0x21, 16794b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd8, 0x2b, 0xdb, 0x9e, 0x08, 0x0a, 0x02, 0x5d, 0xe6, 0xb8, 0xf9, 0x0a, 16804b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xa5, 0x0c, 0x2c, 0x7b, 0x7e, 0x5a, 0x9a, 0x01, 0x5c, 0xe2, 0x60, 0x04, 16814b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x22, 0xf7, 0x24, 0x21, 0xa4, 0x6f, 0xd3, 0xe0, 0x0f, 0x81, 0x0b, 0xfd, 16824b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x33, 0x9b, 0x6b, 0xc6, 0xc4, 0x90, 0x99, 0x92, 0x87, 0x86, 0x5b, 0xb5, 16834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x59, 0x65, 0x20, 0x13, 0xac, 0xb0, 0x34, 0x3c, 0xf9, 0x5a, 0xf2, 0xcd, 16844b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x4a, 0xad, 0xf4, 0x12, 0x7c, 0x11, 0x7b, 0xcb, 0x8e, 0xb2, 0x9a, 0xeb, 16854b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x21, 0xa9, 0x12, 0x87, 0xe2, 0xee, 0xcb, 0x55, 0x15, 0x46, 0xb7, 0xe6, 16864b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x71, 0x1e, 0xcf, 0xf8, 0x00, 0x71, 0xd7, 0xb6, 0x3d, 0x60, 0xd0, 0x42, 16874b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x69, 0x69, 0x48, 0x51, 0x61, 0xf6, 0xac, 0x85, 0x1e, 0x5b, 0x7d, 16884b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xcf, 0xe4, 0x89, 0xc0, 0x03, 0x0e, 0xe3, 0x9f, 0xb2, 0x29, 0xab, 0xc0, 16894b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x01, 0xec, 0x27, 0xe6, 0xeb, 0xcf, 0x44, 0xb0, 0xb8, 0x91, 0x1b, 0xd7, 16904b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xfd, 0xfd, 0xde, 0x00, 0xdf, 0xe6, 0x13, 0xd7, 0xf5, 0x09, 0xde, 0x46, 16914b672db6ee89c9846451bbab23cf18e93c4260b2hding 0xd3, 0x2d, 0x2f, 0x7f, 0x6a, 0x64, 0x50, 0xe3, 0x8b, 0x6e, 0x9b, 0x2f, 16924b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x2f, 0xc3, 0x28, 0x00, 0xd0, 0xf5, 0x6e, 0x8a, 0x54, 0x95, 0x58, 0x00, 16934b672db6ee89c9846451bbab23cf18e93c4260b2hding 0x00, 0x01, 0xb7 16944b672db6ee89c9846451bbab23cf18e93c4260b2hding}; 16954b672db6ee89c9846451bbab23cf18e93c4260b2hding 16964b672db6ee89c9846451bbab23cf18e93c4260b2hding/* hardcoded here without a bitstream parser helper 16974b672db6ee89c9846451bbab23cf18e93c4260b2hding * please see picture mpeg2-I.jpg for bitstream details 16984b672db6ee89c9846451bbab23cf18e93c4260b2hding */ 16994b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic VAPictureParameterBufferMPEG2 pic_param={ 17004b672db6ee89c9846451bbab23cf18e93c4260b2hding horizontal_size:320, 17014b672db6ee89c9846451bbab23cf18e93c4260b2hding vertical_size:240, 17024b672db6ee89c9846451bbab23cf18e93c4260b2hding forward_reference_picture:0xffffffff, 17034b672db6ee89c9846451bbab23cf18e93c4260b2hding backward_reference_picture:0xffffffff, 17044b672db6ee89c9846451bbab23cf18e93c4260b2hding picture_coding_type:1, 17054b672db6ee89c9846451bbab23cf18e93c4260b2hding f_code:0xffff, 17064b672db6ee89c9846451bbab23cf18e93c4260b2hding { 17074b672db6ee89c9846451bbab23cf18e93c4260b2hding { 17084b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_dc_precision:1, 17094b672db6ee89c9846451bbab23cf18e93c4260b2hding picture_structure:3, 17104b672db6ee89c9846451bbab23cf18e93c4260b2hding top_field_first:0, 17114b672db6ee89c9846451bbab23cf18e93c4260b2hding frame_pred_frame_dct:1, 17124b672db6ee89c9846451bbab23cf18e93c4260b2hding concealment_motion_vectors:0, 17134b672db6ee89c9846451bbab23cf18e93c4260b2hding q_scale_type:1, 17144b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_vlc_format:1, 17154b672db6ee89c9846451bbab23cf18e93c4260b2hding alternate_scan:1, 17164b672db6ee89c9846451bbab23cf18e93c4260b2hding repeat_first_field:0, 17174b672db6ee89c9846451bbab23cf18e93c4260b2hding progressive_frame:1 , 17184b672db6ee89c9846451bbab23cf18e93c4260b2hding is_first_field:1 17194b672db6ee89c9846451bbab23cf18e93c4260b2hding }, 17204b672db6ee89c9846451bbab23cf18e93c4260b2hding } 17214b672db6ee89c9846451bbab23cf18e93c4260b2hding}; 17224b672db6ee89c9846451bbab23cf18e93c4260b2hding 17234b672db6ee89c9846451bbab23cf18e93c4260b2hding/* see MPEG2 spec65 for the defines of matrix */ 17244b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic VAIQMatrixBufferMPEG2 iq_matrix = { 17254b672db6ee89c9846451bbab23cf18e93c4260b2hding load_intra_quantiser_matrix:1, 17264b672db6ee89c9846451bbab23cf18e93c4260b2hding load_non_intra_quantiser_matrix:1, 17274b672db6ee89c9846451bbab23cf18e93c4260b2hding load_chroma_intra_quantiser_matrix:0, 17284b672db6ee89c9846451bbab23cf18e93c4260b2hding load_chroma_non_intra_quantiser_matrix:0, 17294b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_quantiser_matrix:{ 17304b672db6ee89c9846451bbab23cf18e93c4260b2hding 8, 16, 16, 19, 16, 19, 22, 22, 17314b672db6ee89c9846451bbab23cf18e93c4260b2hding 22, 22, 22, 22, 26, 24, 26, 27, 17324b672db6ee89c9846451bbab23cf18e93c4260b2hding 27, 27, 26, 26, 26, 26, 27, 27, 17334b672db6ee89c9846451bbab23cf18e93c4260b2hding 27, 29, 29, 29, 34, 34, 34, 29, 17344b672db6ee89c9846451bbab23cf18e93c4260b2hding 29, 29, 27, 27, 29, 29, 32, 32, 17354b672db6ee89c9846451bbab23cf18e93c4260b2hding 34, 34, 37, 38, 37, 35, 35, 34, 17364b672db6ee89c9846451bbab23cf18e93c4260b2hding 35, 38, 38, 40, 40, 40, 48, 48, 17374b672db6ee89c9846451bbab23cf18e93c4260b2hding 46, 46, 56, 56, 58, 69, 69, 83 17384b672db6ee89c9846451bbab23cf18e93c4260b2hding }, 17394b672db6ee89c9846451bbab23cf18e93c4260b2hding non_intra_quantiser_matrix:{16}, 17404b672db6ee89c9846451bbab23cf18e93c4260b2hding chroma_intra_quantiser_matrix:{0}, 17414b672db6ee89c9846451bbab23cf18e93c4260b2hding chroma_non_intra_quantiser_matrix:{0} 17424b672db6ee89c9846451bbab23cf18e93c4260b2hding}; 17434b672db6ee89c9846451bbab23cf18e93c4260b2hding 17444b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 1 17454b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic VASliceParameterBufferMPEG2 slice_param[15]={ 17464b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 17474b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1047, 17484b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:0, 17494b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 17504b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 17514b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 17524b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:0, 17534b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 17544b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 17554b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 17564b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 17574b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1032, 17584b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:1047, 17594b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 17604b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 17614b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 17624b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:1, 17634b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 17644b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 17654b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 17664b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 17674b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1136, 17684b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:2079, 17694b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 17704b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 17714b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 17724b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:2, 17734b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 17744b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 17754b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 17764b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 17774b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1333, 17784b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:3215, 17794b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 17804b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 17814b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 17824b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:3, 17834b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 17844b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 17854b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 17864b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 17874b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1286, 17884b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:4548, 17894b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 17904b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 17914b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 17924b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:4, 17934b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 17944b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 17954b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 17964b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 17974b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1026, 17984b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:5834, 17994b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 18004b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 18014b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 18024b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:5, 18034b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 18044b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 18054b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 18064b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 18074b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1257, 18084b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:6860, 18094b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 18104b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 18114b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 18124b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:6, 18134b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 18144b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 18154b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 18164b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 18174b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1374, 18184b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:8117, 18194b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 18204b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 18214b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 18224b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:7, 18234b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 18244b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 18254b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 18264b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 18274b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1386, 18284b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:9491, 18294b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 18304b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 18314b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 18324b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:8, 18334b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 18344b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 18354b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 18364b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 18374b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1290, 18384b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:10877, 18394b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 18404b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 18414b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 18424b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:9, 18434b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 18444b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 18454b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 18464b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 18474b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1213, 18484b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:12167, 18494b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 18504b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 18514b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 18524b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:10, 18534b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 18544b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 18554b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 18564b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 18574b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1346, 18584b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:13380, 18594b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 18604b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 18614b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 18624b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:11, 18634b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 18644b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 18654b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 18664b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 18674b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1439, 18684b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:14726, 18694b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 18704b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 18714b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 18724b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:12, 18734b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 18744b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 18754b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 18764b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 18774b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1466, 18784b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:16165, 18794b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 18804b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 18814b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 18824b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:13, 18834b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 18844b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 18854b672db6ee89c9846451bbab23cf18e93c4260b2hding}, 18864b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 18874b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_size:1621, 18884b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_offset:17631, 18894b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_flag:0, 18904b672db6ee89c9846451bbab23cf18e93c4260b2hding macroblock_offset:38, /* 4byte + 6bits=38bits */ 18914b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_horizontal_position:0, 18924b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_vertical_position:14, 18934b672db6ee89c9846451bbab23cf18e93c4260b2hding quantiser_scale_code:8, 18944b672db6ee89c9846451bbab23cf18e93c4260b2hding intra_slice_flag:0 18954b672db6ee89c9846451bbab23cf18e93c4260b2hding} 18964b672db6ee89c9846451bbab23cf18e93c4260b2hding}; 18974b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 18984b672db6ee89c9846451bbab23cf18e93c4260b2hding 18994b672db6ee89c9846451bbab23cf18e93c4260b2hding#define CLIP_WIDTH 320 19004b672db6ee89c9846451bbab23cf18e93c4260b2hding#define CLIP_HEIGHT 240 19014b672db6ee89c9846451bbab23cf18e93c4260b2hding 19024b672db6ee89c9846451bbab23cf18e93c4260b2hding#define WIN_WIDTH (CLIP_WIDTH * 4) 19034b672db6ee89c9846451bbab23cf18e93c4260b2hding#define WIN_HEIGHT (CLIP_HEIGHT * 4) 19044b672db6ee89c9846451bbab23cf18e93c4260b2hding 19054b672db6ee89c9846451bbab23cf18e93c4260b2hding#define NAL_REF_IDC_NONE 0 19064b672db6ee89c9846451bbab23cf18e93c4260b2hding#define NAL_REF_IDC_LOW 1 19074b672db6ee89c9846451bbab23cf18e93c4260b2hding#define NAL_REF_IDC_MEDIUM 2 19084b672db6ee89c9846451bbab23cf18e93c4260b2hding#define NAL_REF_IDC_HIGH 3 19094b672db6ee89c9846451bbab23cf18e93c4260b2hding 19104b672db6ee89c9846451bbab23cf18e93c4260b2hding#define NAL_NON_IDR 1 19114b672db6ee89c9846451bbab23cf18e93c4260b2hding#define NAL_IDR 5 19124b672db6ee89c9846451bbab23cf18e93c4260b2hding#define NAL_SPS 7 19134b672db6ee89c9846451bbab23cf18e93c4260b2hding#define NAL_PPS 8 19144b672db6ee89c9846451bbab23cf18e93c4260b2hding 19154b672db6ee89c9846451bbab23cf18e93c4260b2hding#define SLICE_TYPE_P 0 19164b672db6ee89c9846451bbab23cf18e93c4260b2hding#define SLICE_TYPE_B 1 19174b672db6ee89c9846451bbab23cf18e93c4260b2hding#define SLICE_TYPE_I 2 19184b672db6ee89c9846451bbab23cf18e93c4260b2hding 19194b672db6ee89c9846451bbab23cf18e93c4260b2hding#define ENTROPY_MODE_CAVLC 0 19204b672db6ee89c9846451bbab23cf18e93c4260b2hding#define ENTROPY_MODE_CABAC 1 19214b672db6ee89c9846451bbab23cf18e93c4260b2hding 19224b672db6ee89c9846451bbab23cf18e93c4260b2hding#define PROFILE_IDC_BASELINE 66 19234b672db6ee89c9846451bbab23cf18e93c4260b2hding#define PROFILE_IDC_MAIN 77 19244b672db6ee89c9846451bbab23cf18e93c4260b2hding#define PROFILE_IDC_HIGH 100 19254b672db6ee89c9846451bbab23cf18e93c4260b2hding 19264b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void *drawable_thread0, *drawable_thread1; 19274b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int surface_width = CLIP_WIDTH, surface_height = CLIP_HEIGHT; 19284b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int win_width=WIN_WIDTH, win_height=WIN_HEIGHT; 19294b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic unsigned long long frame_num_total = ~0; 19304b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int check_event = 1; 19314b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int put_pixmap = 0; 19324b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int test_clip = 0; 19334b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int display_field = VA_FRAME_PICTURE; 19344b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic pthread_mutex_t gmutex; 19354b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int box_width = 32; 19364b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int multi_thread = 0; 19374b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int verbose = 0; 19384b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int zoom_out = 4; 19394b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic VASurfaceID zoom_surface_id = VA_INVALID_SURFACE; 19404b672db6ee89c9846451bbab23cf18e93c4260b2hding 19414b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic Display *x11_display; 19424b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic VADisplay va_dpy; 19434b672db6ee89c9846451bbab23cf18e93c4260b2hding 19444b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int picture_width = 1280, picture_width_in_mbs = 80; 19454b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int picture_height = 960, picture_height_in_mbs = 60; 19464b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int frame_size = picture_width * picture_height + ((picture_width * picture_height) >> 1) ; 19474b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic unsigned char *newImageBuffer = 0; 19484b672db6ee89c9846451bbab23cf18e93c4260b2hding 19494b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int qp_value = 26; 19504b672db6ee89c9846451bbab23cf18e93c4260b2hding 19514b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int intra_period = 30; 19524b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int pb_period = 5; 19534b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int frame_bit_rate = -1; 19544b672db6ee89c9846451bbab23cf18e93c4260b2hding 19554b672db6ee89c9846451bbab23cf18e93c4260b2hding#define BR_CBR 0 19564b672db6ee89c9846451bbab23cf18e93c4260b2hding#define BR_VBR 1 19574b672db6ee89c9846451bbab23cf18e93c4260b2hding#define BR_CQP 2 19584b672db6ee89c9846451bbab23cf18e93c4260b2hding 19594b672db6ee89c9846451bbab23cf18e93c4260b2hding#define MAX_SLICES 32 19604b672db6ee89c9846451bbab23cf18e93c4260b2hding 19614b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int 19624b672db6ee89c9846451bbab23cf18e93c4260b2hdingbuild_packed_pic_buffer(unsigned char **header_buffer); 19634b672db6ee89c9846451bbab23cf18e93c4260b2hding 19644b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int 19654b672db6ee89c9846451bbab23cf18e93c4260b2hdingbuild_packed_seq_buffer(unsigned char **header_buffer); 19664b672db6ee89c9846451bbab23cf18e93c4260b2hding 19674b672db6ee89c9846451bbab23cf18e93c4260b2hdingstruct upload_thread_param 19684b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 19694b672db6ee89c9846451bbab23cf18e93c4260b2hding FILE *yuv_fp; 19704b672db6ee89c9846451bbab23cf18e93c4260b2hding VASurfaceID surface_id; 19714b672db6ee89c9846451bbab23cf18e93c4260b2hding}; 19724b672db6ee89c9846451bbab23cf18e93c4260b2hding 19734b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 19744b672db6ee89c9846451bbab23cf18e93c4260b2hdingupload_yuv_to_surface(FILE *yuv_fp, VASurfaceID surface_id); 19754b672db6ee89c9846451bbab23cf18e93c4260b2hding 19764b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic struct { 19774b672db6ee89c9846451bbab23cf18e93c4260b2hding VAProfile profile; 19784b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncSequenceParameterBufferH264 seq_param; 19794b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncPictureParameterBufferH264 pic_param; 19804b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncSliceParameterBufferH264 slice_param[MAX_SLICES]; 19814b672db6ee89c9846451bbab23cf18e93c4260b2hding VAContextID context_id; 19824b672db6ee89c9846451bbab23cf18e93c4260b2hding VAConfigID config_id; 19834b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID seq_param_buf_id; /* Sequence level parameter */ 19844b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID pic_param_buf_id; /* Picture level parameter */ 19854b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID slice_param_buf_id[MAX_SLICES]; /* Slice level parameter, multil slices */ 19864b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID codedbuf_buf_id; /* Output buffer, compressed data */ 19874b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID packed_seq_header_param_buf_id; 19884b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID packed_seq_buf_id; 19894b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID packed_pic_header_param_buf_id; 19904b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID packed_pic_buf_id; 19914b672db6ee89c9846451bbab23cf18e93c4260b2hding int num_slices; 19924b672db6ee89c9846451bbab23cf18e93c4260b2hding int codedbuf_i_size; 19934b672db6ee89c9846451bbab23cf18e93c4260b2hding int codedbuf_pb_size; 19944b672db6ee89c9846451bbab23cf18e93c4260b2hding int current_input_surface; 19954b672db6ee89c9846451bbab23cf18e93c4260b2hding struct upload_thread_param upload_thread_param; 19964b672db6ee89c9846451bbab23cf18e93c4260b2hding pthread_t upload_thread_id; 19974b672db6ee89c9846451bbab23cf18e93c4260b2hding int upload_thread_value; 19984b672db6ee89c9846451bbab23cf18e93c4260b2hding} avcenc_context; 19994b672db6ee89c9846451bbab23cf18e93c4260b2hding 20004b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void create_encode_pipe() 20014b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 20024b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEntrypoint entrypoints[5]; 20034b672db6ee89c9846451bbab23cf18e93c4260b2hding int num_entrypoints,slice_entrypoint; 20044b672db6ee89c9846451bbab23cf18e93c4260b2hding VAConfigAttrib attrib[2]; 20054b672db6ee89c9846451bbab23cf18e93c4260b2hding int major_ver, minor_ver; 20064b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 20074b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 0 20084b672db6ee89c9846451bbab23cf18e93c4260b2hding x11_display = XOpenDisplay(":0.0"); 20094b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(x11_display); 20104b672db6ee89c9846451bbab23cf18e93c4260b2hding 20114b672db6ee89c9846451bbab23cf18e93c4260b2hding va_dpy = vaGetDisplay(x11_display); 20124b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaInitialize(va_dpy, &major_ver, &minor_ver); 20134b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaInitialize"); 20144b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 20154b672db6ee89c9846451bbab23cf18e93c4260b2hding vaQueryConfigEntrypoints(va_dpy, avcenc_context.profile, entrypoints, 20164b672db6ee89c9846451bbab23cf18e93c4260b2hding &num_entrypoints); 20174b672db6ee89c9846451bbab23cf18e93c4260b2hding 20184b672db6ee89c9846451bbab23cf18e93c4260b2hding for (slice_entrypoint = 0; slice_entrypoint < num_entrypoints; slice_entrypoint++) { 20194b672db6ee89c9846451bbab23cf18e93c4260b2hding if (entrypoints[slice_entrypoint] == VAEntrypointEncSlice) 20204b672db6ee89c9846451bbab23cf18e93c4260b2hding break; 20214b672db6ee89c9846451bbab23cf18e93c4260b2hding } 20224b672db6ee89c9846451bbab23cf18e93c4260b2hding 20234b672db6ee89c9846451bbab23cf18e93c4260b2hding if (slice_entrypoint == num_entrypoints) { 20244b672db6ee89c9846451bbab23cf18e93c4260b2hding /* not find Slice entry point */ 20254b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 20264b672db6ee89c9846451bbab23cf18e93c4260b2hding } 20274b672db6ee89c9846451bbab23cf18e93c4260b2hding 20284b672db6ee89c9846451bbab23cf18e93c4260b2hding /* find out the format for the render target, and rate control mode */ 20294b672db6ee89c9846451bbab23cf18e93c4260b2hding attrib[0].type = VAConfigAttribRTFormat; 20304b672db6ee89c9846451bbab23cf18e93c4260b2hding attrib[1].type = VAConfigAttribRateControl; 20314b672db6ee89c9846451bbab23cf18e93c4260b2hding vaGetConfigAttributes(va_dpy, avcenc_context.profile, VAEntrypointEncSlice, 20324b672db6ee89c9846451bbab23cf18e93c4260b2hding &attrib[0], 2); 20334b672db6ee89c9846451bbab23cf18e93c4260b2hding 20344b672db6ee89c9846451bbab23cf18e93c4260b2hding if ((attrib[0].value & VA_RT_FORMAT_YUV420) == 0) { 20354b672db6ee89c9846451bbab23cf18e93c4260b2hding /* not find desired YUV420 RT format */ 20364b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 20374b672db6ee89c9846451bbab23cf18e93c4260b2hding } 20384b672db6ee89c9846451bbab23cf18e93c4260b2hding 20394b672db6ee89c9846451bbab23cf18e93c4260b2hding if ((attrib[1].value & VA_RC_CQP) == 0) { 20404b672db6ee89c9846451bbab23cf18e93c4260b2hding /* Can't find matched RC mode */ 20414b672db6ee89c9846451bbab23cf18e93c4260b2hding printf("Can't find the desired RC mode, exit\n"); 20424b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 20434b672db6ee89c9846451bbab23cf18e93c4260b2hding } 20444b672db6ee89c9846451bbab23cf18e93c4260b2hding 20454b672db6ee89c9846451bbab23cf18e93c4260b2hding attrib[0].value = VA_RT_FORMAT_YUV420; /* set to desired RT format */ 20464b672db6ee89c9846451bbab23cf18e93c4260b2hding attrib[1].value = VA_RC_CQP; /* set to desired RC mode */ 20474b672db6ee89c9846451bbab23cf18e93c4260b2hding 20484b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateConfig(va_dpy, avcenc_context.profile, VAEntrypointEncSlice, 20494b672db6ee89c9846451bbab23cf18e93c4260b2hding &attrib[0], 2,&avcenc_context.config_id); 20504b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateConfig"); 20514b672db6ee89c9846451bbab23cf18e93c4260b2hding 20524b672db6ee89c9846451bbab23cf18e93c4260b2hding /* Create a context for this decode pipe */ 20534b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateContext(va_dpy, avcenc_context.config_id, 20544b672db6ee89c9846451bbab23cf18e93c4260b2hding picture_width, picture_height, 20554b672db6ee89c9846451bbab23cf18e93c4260b2hding VA_PROGRESSIVE, 20564b672db6ee89c9846451bbab23cf18e93c4260b2hding 0, 0, 20574b672db6ee89c9846451bbab23cf18e93c4260b2hding &avcenc_context.context_id); 20584b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateContext"); 20594b672db6ee89c9846451bbab23cf18e93c4260b2hding} 20604b672db6ee89c9846451bbab23cf18e93c4260b2hding 20614b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void destory_encode_pipe() 20624b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 20634b672db6ee89c9846451bbab23cf18e93c4260b2hding vaDestroyContext(va_dpy,avcenc_context.context_id); 20644b672db6ee89c9846451bbab23cf18e93c4260b2hding vaDestroyConfig(va_dpy,avcenc_context.config_id); 20654b672db6ee89c9846451bbab23cf18e93c4260b2hding vaTerminate(va_dpy); 20664b672db6ee89c9846451bbab23cf18e93c4260b2hding XCloseDisplay(x11_display); 20674b672db6ee89c9846451bbab23cf18e93c4260b2hding} 20684b672db6ee89c9846451bbab23cf18e93c4260b2hding 20694b672db6ee89c9846451bbab23cf18e93c4260b2hding/*************************************************** 20704b672db6ee89c9846451bbab23cf18e93c4260b2hding * 20714b672db6ee89c9846451bbab23cf18e93c4260b2hding * The encode pipe resource define 20724b672db6ee89c9846451bbab23cf18e93c4260b2hding * 20734b672db6ee89c9846451bbab23cf18e93c4260b2hding ***************************************************/ 20744b672db6ee89c9846451bbab23cf18e93c4260b2hding#define SID_INPUT_PICTURE_0 0 20754b672db6ee89c9846451bbab23cf18e93c4260b2hding#define SID_INPUT_PICTURE_1 1 20764b672db6ee89c9846451bbab23cf18e93c4260b2hding#define SID_REFERENCE_PICTURE_L0 2 20774b672db6ee89c9846451bbab23cf18e93c4260b2hding#define SID_REFERENCE_PICTURE_L1 3 20784b672db6ee89c9846451bbab23cf18e93c4260b2hding#define SID_RECON_PICTURE 4 20794b672db6ee89c9846451bbab23cf18e93c4260b2hding#define SID_NUMBER SID_RECON_PICTURE + 1 20804b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic VASurfaceID surface_ids[SID_NUMBER]; 20814b672db6ee89c9846451bbab23cf18e93c4260b2hding 20824b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int frame_number; 20834b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int enc_frame_number; 20844b672db6ee89c9846451bbab23cf18e93c4260b2hding 20854b672db6ee89c9846451bbab23cf18e93c4260b2hding/***************************************************/ 20864b672db6ee89c9846451bbab23cf18e93c4260b2hding 20874b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void * 20884b672db6ee89c9846451bbab23cf18e93c4260b2hdingupload_thread_function(void *data) 20894b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 20904b672db6ee89c9846451bbab23cf18e93c4260b2hding struct upload_thread_param *param = (upload_thread_param*)data; 20914b672db6ee89c9846451bbab23cf18e93c4260b2hding 20924b672db6ee89c9846451bbab23cf18e93c4260b2hding upload_yuv_to_surface(param->yuv_fp, param->surface_id); 20934b672db6ee89c9846451bbab23cf18e93c4260b2hding 20944b672db6ee89c9846451bbab23cf18e93c4260b2hding return NULL; 20954b672db6ee89c9846451bbab23cf18e93c4260b2hding} 20964b672db6ee89c9846451bbab23cf18e93c4260b2hding 20974b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void alloc_encode_resource(FILE *yuv_fp) 20984b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 20994b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 21004b672db6ee89c9846451bbab23cf18e93c4260b2hding 21014b672db6ee89c9846451bbab23cf18e93c4260b2hding // Create surface 21024b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateSurfaces(va_dpy, 21034b672db6ee89c9846451bbab23cf18e93c4260b2hding picture_width, picture_height, 21044b672db6ee89c9846451bbab23cf18e93c4260b2hding VA_RT_FORMAT_YUV420, SID_NUMBER, 21054b672db6ee89c9846451bbab23cf18e93c4260b2hding &surface_ids[0]); 21064b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateSurfaces"); 21074b672db6ee89c9846451bbab23cf18e93c4260b2hding 21084b672db6ee89c9846451bbab23cf18e93c4260b2hding newImageBuffer = (unsigned char *)malloc(frame_size); 21094b672db6ee89c9846451bbab23cf18e93c4260b2hding 21104b672db6ee89c9846451bbab23cf18e93c4260b2hding /* firstly upload YUV data to SID_INPUT_PICTURE_1 */ 21114b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.upload_thread_param.yuv_fp = yuv_fp; 21124b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.upload_thread_param.surface_id = surface_ids[SID_INPUT_PICTURE_1]; 21134b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 0 21144b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.upload_thread_value = pthread_create(&avcenc_context.upload_thread_id, 21154b672db6ee89c9846451bbab23cf18e93c4260b2hding NULL, 21164b672db6ee89c9846451bbab23cf18e93c4260b2hding upload_thread_function, 21174b672db6ee89c9846451bbab23cf18e93c4260b2hding (void*)&avcenc_context.upload_thread_param); 21184b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 21194b672db6ee89c9846451bbab23cf18e93c4260b2hdingupload_yuv_to_surface(yuv_fp, surface_ids[SID_INPUT_PICTURE_1]); 21204b672db6ee89c9846451bbab23cf18e93c4260b2hding} 21214b672db6ee89c9846451bbab23cf18e93c4260b2hding 21224b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void release_encode_resource() 21234b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 21244b672db6ee89c9846451bbab23cf18e93c4260b2hding //pthread_join(avcenc_context.upload_thread_id, NULL); 21254b672db6ee89c9846451bbab23cf18e93c4260b2hding free(newImageBuffer); 21264b672db6ee89c9846451bbab23cf18e93c4260b2hding 21274b672db6ee89c9846451bbab23cf18e93c4260b2hding // Release all the surfaces resource 21284b672db6ee89c9846451bbab23cf18e93c4260b2hding vaDestroySurfaces(va_dpy, &surface_ids[0], SID_NUMBER); 21294b672db6ee89c9846451bbab23cf18e93c4260b2hding} 21304b672db6ee89c9846451bbab23cf18e93c4260b2hding 21314b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void avcenc_update_picture_parameter(int slice_type, int frame_num, int display_num, int is_idr) 21324b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 21334b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncPictureParameterBufferH264 *pic_param; 21344b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 21354b672db6ee89c9846451bbab23cf18e93c4260b2hding 21364b672db6ee89c9846451bbab23cf18e93c4260b2hding // Picture level 21374b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param = &avcenc_context.pic_param; 21384b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->CurrPic.picture_id = surface_ids[SID_RECON_PICTURE]; 21394b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->CurrPic.TopFieldOrderCnt = display_num * 2; 21404b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->ReferenceFrames[0].picture_id = surface_ids[SID_REFERENCE_PICTURE_L0]; 21414b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->ReferenceFrames[1].picture_id = surface_ids[SID_REFERENCE_PICTURE_L1]; 21424b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->ReferenceFrames[2].picture_id = VA_INVALID_ID; 21434b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(avcenc_context.codedbuf_buf_id != VA_INVALID_ID); 21444b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->coded_buf = avcenc_context.codedbuf_buf_id; 21454b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->frame_num = frame_num; 21464b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_fields.bits.idr_pic_flag = !!is_idr; 21474b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_fields.bits.reference_pic_flag = (slice_type != SLICE_TYPE_B); 21484b672db6ee89c9846451bbab23cf18e93c4260b2hding 21494b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, 21504b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 21514b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncPictureParameterBufferType, 21524b672db6ee89c9846451bbab23cf18e93c4260b2hding sizeof(*pic_param), 1, pic_param, 21534b672db6ee89c9846451bbab23cf18e93c4260b2hding &avcenc_context.pic_param_buf_id); 21544b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaCreateBuffer"); 21554b672db6ee89c9846451bbab23cf18e93c4260b2hding} 21564b672db6ee89c9846451bbab23cf18e93c4260b2hding 21574b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void upload_yuv_to_surface(FILE *yuv_fp, VASurfaceID surface_id) 21584b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 21594b672db6ee89c9846451bbab23cf18e93c4260b2hding VAImage surface_image; 21604b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 21614b672db6ee89c9846451bbab23cf18e93c4260b2hding void *surface_p = NULL; 21624b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned char *y_src, *u_src, *v_src; 21634b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned char *y_dst, *u_dst, *v_dst; 21644b672db6ee89c9846451bbab23cf18e93c4260b2hding int y_size = picture_width * picture_height; 21654b672db6ee89c9846451bbab23cf18e93c4260b2hding int u_size = (picture_width >> 1) * (picture_height >> 1); 21664b672db6ee89c9846451bbab23cf18e93c4260b2hding int row, col; 21674b672db6ee89c9846451bbab23cf18e93c4260b2hding size_t n_items; 21684b672db6ee89c9846451bbab23cf18e93c4260b2hding static int flag=1; 21694b672db6ee89c9846451bbab23cf18e93c4260b2hding do { 21704b672db6ee89c9846451bbab23cf18e93c4260b2hding if(flag == 0) break; 21714b672db6ee89c9846451bbab23cf18e93c4260b2hding n_items = fread(newImageBuffer, frame_size, 1, yuv_fp); 21724b672db6ee89c9846451bbab23cf18e93c4260b2hding flag = 0; 21734b672db6ee89c9846451bbab23cf18e93c4260b2hding } while (n_items != 1); 21744b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaDeriveImage(va_dpy, surface_id, &surface_image); 21754b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaDeriveImage"); 21764b672db6ee89c9846451bbab23cf18e93c4260b2hding 21774b672db6ee89c9846451bbab23cf18e93c4260b2hding vaMapBuffer(va_dpy, surface_image.buf, &surface_p); 21784b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(VA_STATUS_SUCCESS == va_status); 21794b672db6ee89c9846451bbab23cf18e93c4260b2hding 21804b672db6ee89c9846451bbab23cf18e93c4260b2hding y_src = newImageBuffer; 21814b672db6ee89c9846451bbab23cf18e93c4260b2hding u_src = newImageBuffer + y_size; /* UV offset for NV12 */ 21824b672db6ee89c9846451bbab23cf18e93c4260b2hding v_src = newImageBuffer + y_size + u_size; 21834b672db6ee89c9846451bbab23cf18e93c4260b2hding 21844b672db6ee89c9846451bbab23cf18e93c4260b2hding y_dst = (unsigned char *)(surface_p + surface_image.offsets[0]); 21854b672db6ee89c9846451bbab23cf18e93c4260b2hding u_dst = (unsigned char *)(surface_p + surface_image.offsets[1]); /* UV offset for NV12 */ 21864b672db6ee89c9846451bbab23cf18e93c4260b2hding v_dst = (unsigned char *)(surface_p + surface_image.offsets[2]); 21874b672db6ee89c9846451bbab23cf18e93c4260b2hding 21884b672db6ee89c9846451bbab23cf18e93c4260b2hding /* Y plane */ 21894b672db6ee89c9846451bbab23cf18e93c4260b2hding for (row = 0; row < surface_image.height; row++) { 21904b672db6ee89c9846451bbab23cf18e93c4260b2hding memcpy(y_dst, y_src, surface_image.width); 21914b672db6ee89c9846451bbab23cf18e93c4260b2hding y_dst += surface_image.pitches[0]; 21924b672db6ee89c9846451bbab23cf18e93c4260b2hding y_src += picture_width; 21934b672db6ee89c9846451bbab23cf18e93c4260b2hding } 21944b672db6ee89c9846451bbab23cf18e93c4260b2hding 21954b672db6ee89c9846451bbab23cf18e93c4260b2hding /* UV plane */ 21964b672db6ee89c9846451bbab23cf18e93c4260b2hding memcpy(u_dst, u_src, picture_width*picture_height/2); 21974b672db6ee89c9846451bbab23cf18e93c4260b2hding 21984b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 0 21994b672db6ee89c9846451bbab23cf18e93c4260b2hding if (surface_image.format.fourcc == VA_FOURCC_NV12) { /* UV plane */ 22004b672db6ee89c9846451bbab23cf18e93c4260b2hding for (row = 0; row < surface_image.height / 2; row++) { 22014b672db6ee89c9846451bbab23cf18e93c4260b2hding for (col = 0; col < surface_image.width / 2; col++) { 22024b672db6ee89c9846451bbab23cf18e93c4260b2hding u_dst[col * 2] = u_src[col]; 22034b672db6ee89c9846451bbab23cf18e93c4260b2hding u_dst[col * 2 + 1] = v_src[col]; 22044b672db6ee89c9846451bbab23cf18e93c4260b2hding } 22054b672db6ee89c9846451bbab23cf18e93c4260b2hding 22064b672db6ee89c9846451bbab23cf18e93c4260b2hding u_dst += surface_image.pitches[1]; 22074b672db6ee89c9846451bbab23cf18e93c4260b2hding u_src += (picture_width / 2); 22084b672db6ee89c9846451bbab23cf18e93c4260b2hding v_src += (picture_width / 2); 22094b672db6ee89c9846451bbab23cf18e93c4260b2hding } 22104b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { 22114b672db6ee89c9846451bbab23cf18e93c4260b2hding /* FIXME: fix this later */ 22124b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 22134b672db6ee89c9846451bbab23cf18e93c4260b2hding } 22144b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 22154b672db6ee89c9846451bbab23cf18e93c4260b2hding vaUnmapBuffer(va_dpy, surface_image.buf); 22164b672db6ee89c9846451bbab23cf18e93c4260b2hding vaDestroyImage(va_dpy, surface_image.image_id); 22174b672db6ee89c9846451bbab23cf18e93c4260b2hding} 22184b672db6ee89c9846451bbab23cf18e93c4260b2hding 22194b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void avcenc_update_slice_parameter(int slice_type) 22204b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 22214b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncSliceParameterBufferH264 *slice_param; 22224b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 22234b672db6ee89c9846451bbab23cf18e93c4260b2hding int i; 22244b672db6ee89c9846451bbab23cf18e93c4260b2hding 22254b672db6ee89c9846451bbab23cf18e93c4260b2hding // Slice level 22264b672db6ee89c9846451bbab23cf18e93c4260b2hding i = 0; 22274b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param = &avcenc_context.slice_param[i]; 22284b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->macroblock_address = 0; 22294b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->num_macroblocks = picture_height_in_mbs * picture_width_in_mbs; 22304b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->pic_parameter_set_id = 0; 22314b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->slice_type = slice_type; 22324b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->direct_spatial_mv_pred_flag = 0; 22334b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->num_ref_idx_l0_active_minus1 = 0; /* FIXME: ??? */ 22344b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->num_ref_idx_l1_active_minus1 = 0; 22354b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->cabac_init_idc = 0; 22364b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->slice_qp_delta = 0; 22374b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->disable_deblocking_filter_idc = 0; 22384b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->slice_alpha_c0_offset_div2 = 2; 22394b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->slice_beta_offset_div2 = 2; 22404b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_param->idr_pic_id = 0; 22414b672db6ee89c9846451bbab23cf18e93c4260b2hding 22424b672db6ee89c9846451bbab23cf18e93c4260b2hding /* FIXME: fill other fields */ 22434b672db6ee89c9846451bbab23cf18e93c4260b2hding 22444b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, 22454b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 22464b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncSliceParameterBufferType, 22474b672db6ee89c9846451bbab23cf18e93c4260b2hding sizeof(*slice_param), 1, slice_param, 22484b672db6ee89c9846451bbab23cf18e93c4260b2hding &avcenc_context.slice_param_buf_id[i]); 22494b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaCreateBuffer");; 22504b672db6ee89c9846451bbab23cf18e93c4260b2hding 22514b672db6ee89c9846451bbab23cf18e93c4260b2hding i++; 22524b672db6ee89c9846451bbab23cf18e93c4260b2hding 22534b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.num_slices = i; 22544b672db6ee89c9846451bbab23cf18e93c4260b2hding} 22554b672db6ee89c9846451bbab23cf18e93c4260b2hding 22564b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int begin_picture(FILE *yuv_fp, int frame_num, int display_num, int slice_type, int is_idr) 22574b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 22584b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 22594b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 0 22604b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.upload_thread_value != 0) { 22614b672db6ee89c9846451bbab23cf18e93c4260b2hding fprintf(stderr, "FATAL error!!!\n"); 22624b672db6ee89c9846451bbab23cf18e93c4260b2hding exit(1); 22634b672db6ee89c9846451bbab23cf18e93c4260b2hding } 22644b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 22654b672db6ee89c9846451bbab23cf18e93c4260b2hding //pthread_join(avcenc_context.upload_thread_id, NULL); 22664b672db6ee89c9846451bbab23cf18e93c4260b2hding 22674b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.upload_thread_value = -1; 22684b672db6ee89c9846451bbab23cf18e93c4260b2hding 22694b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.current_input_surface == SID_INPUT_PICTURE_0) 22704b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.current_input_surface = SID_INPUT_PICTURE_1; 22714b672db6ee89c9846451bbab23cf18e93c4260b2hding else 22724b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.current_input_surface = SID_INPUT_PICTURE_0; 22734b672db6ee89c9846451bbab23cf18e93c4260b2hding 22744b672db6ee89c9846451bbab23cf18e93c4260b2hding if (frame_num == 0) { 22754b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncPackedHeaderParameterBuffer packed_header_param_buffer; 22764b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned int length_in_bits, offset_in_bytes; 22774b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned char *packed_seq_buffer = NULL, *packed_pic_buffer = NULL; 22784b672db6ee89c9846451bbab23cf18e93c4260b2hding 22794b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(slice_type == SLICE_TYPE_I); 22804b672db6ee89c9846451bbab23cf18e93c4260b2hding length_in_bits = build_packed_seq_buffer(&packed_seq_buffer); 22814b672db6ee89c9846451bbab23cf18e93c4260b2hding offset_in_bytes = 0; 22824b672db6ee89c9846451bbab23cf18e93c4260b2hding packed_header_param_buffer.type = VAEncPackedHeaderSequence; 22834b672db6ee89c9846451bbab23cf18e93c4260b2hding packed_header_param_buffer.has_emulation_bytes = 0; 22844b672db6ee89c9846451bbab23cf18e93c4260b2hding packed_header_param_buffer.bit_length = length_in_bits; 22854b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, 22864b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 22874b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncPackedHeaderParameterBufferType, 22884b672db6ee89c9846451bbab23cf18e93c4260b2hding sizeof(packed_header_param_buffer), 1, &packed_header_param_buffer, 22894b672db6ee89c9846451bbab23cf18e93c4260b2hding &avcenc_context.packed_seq_header_param_buf_id); 22904b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaCreateBuffer"); 22914b672db6ee89c9846451bbab23cf18e93c4260b2hding 22924b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, 22934b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 22944b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncPackedHeaderDataBufferType, 22954b672db6ee89c9846451bbab23cf18e93c4260b2hding (length_in_bits + 7) / 8, 1, packed_seq_buffer, 22964b672db6ee89c9846451bbab23cf18e93c4260b2hding &avcenc_context.packed_seq_buf_id); 22974b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaCreateBuffer"); 22984b672db6ee89c9846451bbab23cf18e93c4260b2hding 22994b672db6ee89c9846451bbab23cf18e93c4260b2hding length_in_bits = build_packed_pic_buffer(&packed_pic_buffer); 23004b672db6ee89c9846451bbab23cf18e93c4260b2hding offset_in_bytes = 0; 23014b672db6ee89c9846451bbab23cf18e93c4260b2hding packed_header_param_buffer.type = VAEncPackedHeaderPicture; 23024b672db6ee89c9846451bbab23cf18e93c4260b2hding packed_header_param_buffer.has_emulation_bytes = 0; 23034b672db6ee89c9846451bbab23cf18e93c4260b2hding packed_header_param_buffer.bit_length = length_in_bits; 23044b672db6ee89c9846451bbab23cf18e93c4260b2hding 23054b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, 23064b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 23074b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncPackedHeaderParameterBufferType, 23084b672db6ee89c9846451bbab23cf18e93c4260b2hding sizeof(packed_header_param_buffer), 1, &packed_header_param_buffer, 23094b672db6ee89c9846451bbab23cf18e93c4260b2hding &avcenc_context.packed_pic_header_param_buf_id); 23104b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaCreateBuffer"); 23114b672db6ee89c9846451bbab23cf18e93c4260b2hding 23124b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, 23134b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 23144b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncPackedHeaderDataBufferType, 23154b672db6ee89c9846451bbab23cf18e93c4260b2hding (length_in_bits + 7) / 8, 1, packed_pic_buffer, 23164b672db6ee89c9846451bbab23cf18e93c4260b2hding &avcenc_context.packed_pic_buf_id); 23174b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaCreateBuffer"); 23184b672db6ee89c9846451bbab23cf18e93c4260b2hding 23194b672db6ee89c9846451bbab23cf18e93c4260b2hding free(packed_seq_buffer); 23204b672db6ee89c9846451bbab23cf18e93c4260b2hding free(packed_pic_buffer); 23214b672db6ee89c9846451bbab23cf18e93c4260b2hding } 23224b672db6ee89c9846451bbab23cf18e93c4260b2hding 23234b672db6ee89c9846451bbab23cf18e93c4260b2hding /* sequence parameter set */ 23244b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncSequenceParameterBufferH264 *seq_param = &avcenc_context.seq_param; 23254b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, 23264b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 23274b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncSequenceParameterBufferType, 23284b672db6ee89c9846451bbab23cf18e93c4260b2hding sizeof(*seq_param), 1, seq_param, 23294b672db6ee89c9846451bbab23cf18e93c4260b2hding &avcenc_context.seq_param_buf_id); 23304b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaCreateBuffer");; 23314b672db6ee89c9846451bbab23cf18e93c4260b2hding 23324b672db6ee89c9846451bbab23cf18e93c4260b2hding /* slice parameter */ 23334b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_update_slice_parameter(slice_type); 23344b672db6ee89c9846451bbab23cf18e93c4260b2hding 23354b672db6ee89c9846451bbab23cf18e93c4260b2hding return 0; 23364b672db6ee89c9846451bbab23cf18e93c4260b2hding} 23374b672db6ee89c9846451bbab23cf18e93c4260b2hding 23384b672db6ee89c9846451bbab23cf18e93c4260b2hdingint avcenc_render_picture() 23394b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 23404b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 23414b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID va_buffers[8]; 23424b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned int num_va_buffers = 0; 23434b672db6ee89c9846451bbab23cf18e93c4260b2hding 23444b672db6ee89c9846451bbab23cf18e93c4260b2hding va_buffers[num_va_buffers++] = avcenc_context.seq_param_buf_id; 23454b672db6ee89c9846451bbab23cf18e93c4260b2hding va_buffers[num_va_buffers++] = avcenc_context.pic_param_buf_id; 23464b672db6ee89c9846451bbab23cf18e93c4260b2hding 23474b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.packed_seq_header_param_buf_id != VA_INVALID_ID) 23484b672db6ee89c9846451bbab23cf18e93c4260b2hding va_buffers[num_va_buffers++] = avcenc_context.packed_seq_header_param_buf_id; 23494b672db6ee89c9846451bbab23cf18e93c4260b2hding 23504b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.packed_seq_buf_id != VA_INVALID_ID) 23514b672db6ee89c9846451bbab23cf18e93c4260b2hding va_buffers[num_va_buffers++] = avcenc_context.packed_seq_buf_id; 23524b672db6ee89c9846451bbab23cf18e93c4260b2hding 23534b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.packed_pic_header_param_buf_id != VA_INVALID_ID) 23544b672db6ee89c9846451bbab23cf18e93c4260b2hding va_buffers[num_va_buffers++] = avcenc_context.packed_pic_header_param_buf_id; 23554b672db6ee89c9846451bbab23cf18e93c4260b2hding 23564b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.packed_pic_buf_id != VA_INVALID_ID) 23574b672db6ee89c9846451bbab23cf18e93c4260b2hding va_buffers[num_va_buffers++] = avcenc_context.packed_pic_buf_id; 23584b672db6ee89c9846451bbab23cf18e93c4260b2hding 23594b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaBeginPicture(va_dpy, 23604b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 23614b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_ids[avcenc_context.current_input_surface]); 23624b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaBeginPicture"); 23634b672db6ee89c9846451bbab23cf18e93c4260b2hding 23644b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaRenderPicture(va_dpy, 23654b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 23664b672db6ee89c9846451bbab23cf18e93c4260b2hding va_buffers, 23674b672db6ee89c9846451bbab23cf18e93c4260b2hding num_va_buffers); 23684b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaRenderPicture"); 23694b672db6ee89c9846451bbab23cf18e93c4260b2hding 23704b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaRenderPicture(va_dpy, 23714b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 23724b672db6ee89c9846451bbab23cf18e93c4260b2hding &avcenc_context.slice_param_buf_id[0], 23734b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.num_slices); 23744b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaRenderPicture"); 23754b672db6ee89c9846451bbab23cf18e93c4260b2hding 23764b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaEndPicture(va_dpy, avcenc_context.context_id); 23774b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaEndPicture"); 23784b672db6ee89c9846451bbab23cf18e93c4260b2hding 23794b672db6ee89c9846451bbab23cf18e93c4260b2hding return 0; 23804b672db6ee89c9846451bbab23cf18e93c4260b2hding} 23814b672db6ee89c9846451bbab23cf18e93c4260b2hding 23824b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int avcenc_destroy_buffers(VABufferID *va_buffers, unsigned int num_va_buffers) 23834b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 23844b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 23854b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned int i; 23864b672db6ee89c9846451bbab23cf18e93c4260b2hding 23874b672db6ee89c9846451bbab23cf18e93c4260b2hding for (i = 0; i < num_va_buffers; i++) { 23884b672db6ee89c9846451bbab23cf18e93c4260b2hding if (va_buffers[i] != VA_INVALID_ID) { 23894b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaDestroyBuffer(va_dpy, va_buffers[i]); 23904b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaDestroyBuffer"); 23914b672db6ee89c9846451bbab23cf18e93c4260b2hding va_buffers[i] = VA_INVALID_ID; 23924b672db6ee89c9846451bbab23cf18e93c4260b2hding } 23934b672db6ee89c9846451bbab23cf18e93c4260b2hding } 23944b672db6ee89c9846451bbab23cf18e93c4260b2hding 23954b672db6ee89c9846451bbab23cf18e93c4260b2hding return 0; 23964b672db6ee89c9846451bbab23cf18e93c4260b2hding} 23974b672db6ee89c9846451bbab23cf18e93c4260b2hding 23984b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void end_picture(int slice_type, int next_is_bpic) 23994b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 24004b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID tempID; 24014b672db6ee89c9846451bbab23cf18e93c4260b2hding 24024b672db6ee89c9846451bbab23cf18e93c4260b2hding /* Prepare for next picture */ 24034b672db6ee89c9846451bbab23cf18e93c4260b2hding tempID = surface_ids[SID_RECON_PICTURE]; 24044b672db6ee89c9846451bbab23cf18e93c4260b2hding 24054b672db6ee89c9846451bbab23cf18e93c4260b2hding if (slice_type != SLICE_TYPE_B) { 24064b672db6ee89c9846451bbab23cf18e93c4260b2hding if (next_is_bpic) { 24074b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_ids[SID_RECON_PICTURE] = surface_ids[SID_REFERENCE_PICTURE_L1]; 24084b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_ids[SID_REFERENCE_PICTURE_L1] = tempID; 24094b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { 24104b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_ids[SID_RECON_PICTURE] = surface_ids[SID_REFERENCE_PICTURE_L0]; 24114b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_ids[SID_REFERENCE_PICTURE_L0] = tempID; 24124b672db6ee89c9846451bbab23cf18e93c4260b2hding } 24134b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { 24144b672db6ee89c9846451bbab23cf18e93c4260b2hding if (!next_is_bpic) { 24154b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_ids[SID_RECON_PICTURE] = surface_ids[SID_REFERENCE_PICTURE_L0]; 24164b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_ids[SID_REFERENCE_PICTURE_L0] = surface_ids[SID_REFERENCE_PICTURE_L1]; 24174b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_ids[SID_REFERENCE_PICTURE_L1] = tempID; 24184b672db6ee89c9846451bbab23cf18e93c4260b2hding } 24194b672db6ee89c9846451bbab23cf18e93c4260b2hding } 24204b672db6ee89c9846451bbab23cf18e93c4260b2hding 24214b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_destroy_buffers(&avcenc_context.seq_param_buf_id, 1); 24224b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_destroy_buffers(&avcenc_context.pic_param_buf_id, 1); 24234b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_destroy_buffers(&avcenc_context.packed_seq_header_param_buf_id, 1); 24244b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_destroy_buffers(&avcenc_context.packed_seq_buf_id, 1); 24254b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_destroy_buffers(&avcenc_context.packed_pic_header_param_buf_id, 1); 24264b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_destroy_buffers(&avcenc_context.packed_pic_buf_id, 1); 24274b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_destroy_buffers(&avcenc_context.slice_param_buf_id[0], avcenc_context.num_slices); 24284b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_destroy_buffers(&avcenc_context.codedbuf_buf_id, 1); 24294b672db6ee89c9846451bbab23cf18e93c4260b2hding memset(avcenc_context.slice_param, 0, sizeof(avcenc_context.slice_param)); 24304b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.num_slices = 0; 24314b672db6ee89c9846451bbab23cf18e93c4260b2hding} 24324b672db6ee89c9846451bbab23cf18e93c4260b2hding 24334b672db6ee89c9846451bbab23cf18e93c4260b2hding#define BITSTREAM_ALLOCATE_STEPPING 4096 24344b672db6ee89c9846451bbab23cf18e93c4260b2hding 24354b672db6ee89c9846451bbab23cf18e93c4260b2hdingstruct __bitstream { 24364b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned int *buffer; 24374b672db6ee89c9846451bbab23cf18e93c4260b2hding int bit_offset; 24384b672db6ee89c9846451bbab23cf18e93c4260b2hding int max_size_in_dword; 24394b672db6ee89c9846451bbab23cf18e93c4260b2hding}; 24404b672db6ee89c9846451bbab23cf18e93c4260b2hding 24414b672db6ee89c9846451bbab23cf18e93c4260b2hdingtypedef struct __bitstream bitstream; 24424b672db6ee89c9846451bbab23cf18e93c4260b2hding 24434b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 0 24444b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int 24454b672db6ee89c9846451bbab23cf18e93c4260b2hdingget_coded_bitsteam_length(unsigned char *buffer, int buffer_length) 24464b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 24474b672db6ee89c9846451bbab23cf18e93c4260b2hding int i; 24484b672db6ee89c9846451bbab23cf18e93c4260b2hding 24494b672db6ee89c9846451bbab23cf18e93c4260b2hding for (i = 0; i < buffer_length - 3; i++) { 24504b672db6ee89c9846451bbab23cf18e93c4260b2hding if (!buffer[i] && 24514b672db6ee89c9846451bbab23cf18e93c4260b2hding !buffer[i + 1] && 24524b672db6ee89c9846451bbab23cf18e93c4260b2hding !buffer[i + 2] && 24534b672db6ee89c9846451bbab23cf18e93c4260b2hding !buffer[i + 3]) 24544b672db6ee89c9846451bbab23cf18e93c4260b2hding break; 24554b672db6ee89c9846451bbab23cf18e93c4260b2hding } 24564b672db6ee89c9846451bbab23cf18e93c4260b2hding 24574b672db6ee89c9846451bbab23cf18e93c4260b2hding return i; 24584b672db6ee89c9846451bbab23cf18e93c4260b2hding} 24594b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 24604b672db6ee89c9846451bbab23cf18e93c4260b2hding 24614b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic unsigned int 24624b672db6ee89c9846451bbab23cf18e93c4260b2hdingswap32(unsigned int val) 24634b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 24644b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned char *pval = (unsigned char *)&val; 24654b672db6ee89c9846451bbab23cf18e93c4260b2hding 24664b672db6ee89c9846451bbab23cf18e93c4260b2hding return ((pval[0] << 24) | 24674b672db6ee89c9846451bbab23cf18e93c4260b2hding (pval[1] << 16) | 24684b672db6ee89c9846451bbab23cf18e93c4260b2hding (pval[2] << 8) | 24694b672db6ee89c9846451bbab23cf18e93c4260b2hding (pval[3] << 0)); 24704b672db6ee89c9846451bbab23cf18e93c4260b2hding} 24714b672db6ee89c9846451bbab23cf18e93c4260b2hding 24724b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 24734b672db6ee89c9846451bbab23cf18e93c4260b2hdingbitstream_start(bitstream *bs) 24744b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 24754b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->max_size_in_dword = BITSTREAM_ALLOCATE_STEPPING; 24764b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->buffer = (unsigned int *)calloc(bs->max_size_in_dword * sizeof(int), 1); 24774b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->bit_offset = 0; 24784b672db6ee89c9846451bbab23cf18e93c4260b2hding} 24794b672db6ee89c9846451bbab23cf18e93c4260b2hding 24804b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 24814b672db6ee89c9846451bbab23cf18e93c4260b2hdingbitstream_end(bitstream *bs) 24824b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 24834b672db6ee89c9846451bbab23cf18e93c4260b2hding int pos = (bs->bit_offset >> 5); 24844b672db6ee89c9846451bbab23cf18e93c4260b2hding int bit_offset = (bs->bit_offset & 0x1f); 24854b672db6ee89c9846451bbab23cf18e93c4260b2hding int bit_left = 32 - bit_offset; 24864b672db6ee89c9846451bbab23cf18e93c4260b2hding 24874b672db6ee89c9846451bbab23cf18e93c4260b2hding if (bit_offset) { 24884b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->buffer[pos] = swap32((bs->buffer[pos] << bit_left)); 24894b672db6ee89c9846451bbab23cf18e93c4260b2hding } 24904b672db6ee89c9846451bbab23cf18e93c4260b2hding} 24914b672db6ee89c9846451bbab23cf18e93c4260b2hding 24924b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 24934b672db6ee89c9846451bbab23cf18e93c4260b2hdingbitstream_put_ui(bitstream *bs, unsigned int val, int size_in_bits) 24944b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 24954b672db6ee89c9846451bbab23cf18e93c4260b2hding int pos = (bs->bit_offset >> 5); 24964b672db6ee89c9846451bbab23cf18e93c4260b2hding int bit_offset = (bs->bit_offset & 0x1f); 24974b672db6ee89c9846451bbab23cf18e93c4260b2hding int bit_left = 32 - bit_offset; 24984b672db6ee89c9846451bbab23cf18e93c4260b2hding 24994b672db6ee89c9846451bbab23cf18e93c4260b2hding if (!size_in_bits) 25004b672db6ee89c9846451bbab23cf18e93c4260b2hding return; 25014b672db6ee89c9846451bbab23cf18e93c4260b2hding 25024b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->bit_offset += size_in_bits; 25034b672db6ee89c9846451bbab23cf18e93c4260b2hding 25044b672db6ee89c9846451bbab23cf18e93c4260b2hding if (bit_left > size_in_bits) { 25054b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->buffer[pos] = (bs->buffer[pos] << size_in_bits | val); 25064b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { 25074b672db6ee89c9846451bbab23cf18e93c4260b2hding size_in_bits -= bit_left; 25084b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->buffer[pos] = (bs->buffer[pos] << bit_left) | (val >> size_in_bits); 25094b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->buffer[pos] = swap32(bs->buffer[pos]); 25104b672db6ee89c9846451bbab23cf18e93c4260b2hding 25114b672db6ee89c9846451bbab23cf18e93c4260b2hding if (pos + 1 == bs->max_size_in_dword) { 25124b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->max_size_in_dword += BITSTREAM_ALLOCATE_STEPPING; 25134b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->buffer = (unsigned int *)realloc(bs->buffer, bs->max_size_in_dword * sizeof(unsigned int)); 25144b672db6ee89c9846451bbab23cf18e93c4260b2hding } 25154b672db6ee89c9846451bbab23cf18e93c4260b2hding 25164b672db6ee89c9846451bbab23cf18e93c4260b2hding bs->buffer[pos + 1] = val; 25174b672db6ee89c9846451bbab23cf18e93c4260b2hding } 25184b672db6ee89c9846451bbab23cf18e93c4260b2hding} 25194b672db6ee89c9846451bbab23cf18e93c4260b2hding 25204b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 25214b672db6ee89c9846451bbab23cf18e93c4260b2hdingbitstream_put_ue(bitstream *bs, unsigned int val) 25224b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 25234b672db6ee89c9846451bbab23cf18e93c4260b2hding int size_in_bits = 0; 25244b672db6ee89c9846451bbab23cf18e93c4260b2hding int tmp_val = ++val; 25254b672db6ee89c9846451bbab23cf18e93c4260b2hding 25264b672db6ee89c9846451bbab23cf18e93c4260b2hding while (tmp_val) { 25274b672db6ee89c9846451bbab23cf18e93c4260b2hding tmp_val >>= 1; 25284b672db6ee89c9846451bbab23cf18e93c4260b2hding size_in_bits++; 25294b672db6ee89c9846451bbab23cf18e93c4260b2hding } 25304b672db6ee89c9846451bbab23cf18e93c4260b2hding 25314b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, size_in_bits - 1); // leading zero 25324b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, val, size_in_bits); 25334b672db6ee89c9846451bbab23cf18e93c4260b2hding} 25344b672db6ee89c9846451bbab23cf18e93c4260b2hding 25354b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 25364b672db6ee89c9846451bbab23cf18e93c4260b2hdingbitstream_put_se(bitstream *bs, int val) 25374b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 25384b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned int new_val; 25394b672db6ee89c9846451bbab23cf18e93c4260b2hding 25404b672db6ee89c9846451bbab23cf18e93c4260b2hding if (val <= 0) 25414b672db6ee89c9846451bbab23cf18e93c4260b2hding new_val = -2 * val; 25424b672db6ee89c9846451bbab23cf18e93c4260b2hding else 25434b672db6ee89c9846451bbab23cf18e93c4260b2hding new_val = 2 * val - 1; 25444b672db6ee89c9846451bbab23cf18e93c4260b2hding 25454b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, new_val); 25464b672db6ee89c9846451bbab23cf18e93c4260b2hding} 25474b672db6ee89c9846451bbab23cf18e93c4260b2hding 25484b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 25494b672db6ee89c9846451bbab23cf18e93c4260b2hdingbitstream_byte_aligning(bitstream *bs, int bit) 25504b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 25514b672db6ee89c9846451bbab23cf18e93c4260b2hding int bit_offset = (bs->bit_offset & 0x7); 25524b672db6ee89c9846451bbab23cf18e93c4260b2hding int bit_left = 8 - bit_offset; 25534b672db6ee89c9846451bbab23cf18e93c4260b2hding int new_val; 25544b672db6ee89c9846451bbab23cf18e93c4260b2hding 25554b672db6ee89c9846451bbab23cf18e93c4260b2hding if (!bit_offset) 25564b672db6ee89c9846451bbab23cf18e93c4260b2hding return; 25574b672db6ee89c9846451bbab23cf18e93c4260b2hding 25584b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(bit == 0 || bit == 1); 25594b672db6ee89c9846451bbab23cf18e93c4260b2hding 25604b672db6ee89c9846451bbab23cf18e93c4260b2hding if (bit) 25614b672db6ee89c9846451bbab23cf18e93c4260b2hding new_val = (1 << bit_left) - 1; 25624b672db6ee89c9846451bbab23cf18e93c4260b2hding else 25634b672db6ee89c9846451bbab23cf18e93c4260b2hding new_val = 0; 25644b672db6ee89c9846451bbab23cf18e93c4260b2hding 25654b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, new_val, bit_left); 25664b672db6ee89c9846451bbab23cf18e93c4260b2hding} 25674b672db6ee89c9846451bbab23cf18e93c4260b2hding 25684b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 25694b672db6ee89c9846451bbab23cf18e93c4260b2hdingrbsp_trailing_bits(bitstream *bs) 25704b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 25714b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 1, 1); 25724b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_byte_aligning(bs, 0); 25734b672db6ee89c9846451bbab23cf18e93c4260b2hding} 25744b672db6ee89c9846451bbab23cf18e93c4260b2hding 25754b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void nal_start_code_prefix(bitstream *bs) 25764b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 25774b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0x00000001, 32); 25784b672db6ee89c9846451bbab23cf18e93c4260b2hding} 25794b672db6ee89c9846451bbab23cf18e93c4260b2hding 25804b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void nal_header(bitstream *bs, int nal_ref_idc, int nal_unit_type) 25814b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 25824b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* forbidden_zero_bit: 0 */ 25834b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, nal_ref_idc, 2); 25844b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, nal_unit_type, 5); 25854b672db6ee89c9846451bbab23cf18e93c4260b2hding} 25864b672db6ee89c9846451bbab23cf18e93c4260b2hding 25874b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void sps_rbsp(bitstream *bs) 25884b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 25894b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncSequenceParameterBufferH264 *seq_param = &avcenc_context.seq_param; 25904b672db6ee89c9846451bbab23cf18e93c4260b2hding int profile_idc = PROFILE_IDC_BASELINE; 25914b672db6ee89c9846451bbab23cf18e93c4260b2hding 25924b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.profile == VAProfileH264High) 25934b672db6ee89c9846451bbab23cf18e93c4260b2hding profile_idc = PROFILE_IDC_HIGH; 25944b672db6ee89c9846451bbab23cf18e93c4260b2hding else if (avcenc_context.profile == VAProfileH264Main) 25954b672db6ee89c9846451bbab23cf18e93c4260b2hding profile_idc = PROFILE_IDC_MAIN; 25964b672db6ee89c9846451bbab23cf18e93c4260b2hding 25974b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, profile_idc, 8); /* profile_idc */ 25984b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* constraint_set0_flag */ 25994b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 1, 1); /* constraint_set1_flag */ 26004b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* constraint_set2_flag */ 26014b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* constraint_set3_flag */ 26024b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 4); /* reserved_zero_4bits */ 26034b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, seq_param->level_idc, 8); /* level_idc */ 26044b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->seq_parameter_set_id); /* seq_parameter_set_id */ 26054b672db6ee89c9846451bbab23cf18e93c4260b2hding 26064b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->seq_fields.bits.log2_max_frame_num_minus4); /* log2_max_frame_num_minus4 */ 26074b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->seq_fields.bits.pic_order_cnt_type); /* pic_order_cnt_type */ 26084b672db6ee89c9846451bbab23cf18e93c4260b2hding 26094b672db6ee89c9846451bbab23cf18e93c4260b2hding if (seq_param->seq_fields.bits.pic_order_cnt_type == 0) 26104b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->seq_fields.bits.log2_max_pic_order_cnt_lsb_minus4); /* log2_max_pic_order_cnt_lsb_minus4 */ 26114b672db6ee89c9846451bbab23cf18e93c4260b2hding else { 26124b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 26134b672db6ee89c9846451bbab23cf18e93c4260b2hding } 26144b672db6ee89c9846451bbab23cf18e93c4260b2hding 26154b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->max_num_ref_frames); /* num_ref_frames */ 26164b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* gaps_in_frame_num_value_allowed_flag */ 26174b672db6ee89c9846451bbab23cf18e93c4260b2hding 26184b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->picture_width_in_mbs - 1); /* pic_width_in_mbs_minus1 */ 26194b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->picture_height_in_mbs - 1); /* pic_height_in_map_units_minus1 */ 26204b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, seq_param->seq_fields.bits.frame_mbs_only_flag, 1); /* frame_mbs_only_flag */ 26214b672db6ee89c9846451bbab23cf18e93c4260b2hding 26224b672db6ee89c9846451bbab23cf18e93c4260b2hding if (!seq_param->seq_fields.bits.frame_mbs_only_flag) { 26234b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 26244b672db6ee89c9846451bbab23cf18e93c4260b2hding } 26254b672db6ee89c9846451bbab23cf18e93c4260b2hding 26264b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, seq_param->seq_fields.bits.direct_8x8_inference_flag, 1); /* direct_8x8_inference_flag */ 26274b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, seq_param->frame_cropping_flag, 1); /* frame_cropping_flag */ 26284b672db6ee89c9846451bbab23cf18e93c4260b2hding 26294b672db6ee89c9846451bbab23cf18e93c4260b2hding if (seq_param->frame_cropping_flag) { 26304b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->frame_crop_left_offset); /* frame_crop_left_offset */ 26314b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->frame_crop_right_offset); /* frame_crop_right_offset */ 26324b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->frame_crop_top_offset); /* frame_crop_top_offset */ 26334b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, seq_param->frame_crop_bottom_offset); /* frame_crop_bottom_offset */ 26344b672db6ee89c9846451bbab23cf18e93c4260b2hding } 26354b672db6ee89c9846451bbab23cf18e93c4260b2hding 26364b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* vui_parameters_present_flag */ 26374b672db6ee89c9846451bbab23cf18e93c4260b2hding rbsp_trailing_bits(bs); /* rbsp_trailing_bits */ 26384b672db6ee89c9846451bbab23cf18e93c4260b2hding} 26394b672db6ee89c9846451bbab23cf18e93c4260b2hding 26404b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 0 26414b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void build_nal_sps(FILE *avc_fp) 26424b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 26434b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream bs; 26444b672db6ee89c9846451bbab23cf18e93c4260b2hding 26454b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_start(&bs); 26464b672db6ee89c9846451bbab23cf18e93c4260b2hding nal_start_code_prefix(&bs); 26474b672db6ee89c9846451bbab23cf18e93c4260b2hding nal_header(&bs, NAL_REF_IDC_HIGH, NAL_SPS); 26484b672db6ee89c9846451bbab23cf18e93c4260b2hding sps_rbsp(&bs); 26494b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_end(&bs, avc_fp); 26504b672db6ee89c9846451bbab23cf18e93c4260b2hding} 26514b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 26524b672db6ee89c9846451bbab23cf18e93c4260b2hding 26534b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void pps_rbsp(bitstream *bs) 26544b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 26554b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncPictureParameterBufferH264 *pic_param = &avcenc_context.pic_param; 26564b672db6ee89c9846451bbab23cf18e93c4260b2hding 26574b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, pic_param->pic_parameter_set_id); /* pic_parameter_set_id */ 26584b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, pic_param->seq_parameter_set_id); /* seq_parameter_set_id */ 26594b672db6ee89c9846451bbab23cf18e93c4260b2hding 26604b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, pic_param->pic_fields.bits.entropy_coding_mode_flag, 1); /* entropy_coding_mode_flag */ 26614b672db6ee89c9846451bbab23cf18e93c4260b2hding 26624b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* pic_order_present_flag: 0 */ 26634b672db6ee89c9846451bbab23cf18e93c4260b2hding 26644b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, 0); /* num_slice_groups_minus1 */ 26654b672db6ee89c9846451bbab23cf18e93c4260b2hding 26664b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, pic_param->num_ref_idx_l0_active_minus1); /* num_ref_idx_l0_active_minus1 */ 26674b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, pic_param->num_ref_idx_l1_active_minus1); /* num_ref_idx_l1_active_minus1 1 */ 26684b672db6ee89c9846451bbab23cf18e93c4260b2hding 26694b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, pic_param->pic_fields.bits.weighted_pred_flag, 1); /* weighted_pred_flag: 0 */ 26704b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, pic_param->pic_fields.bits.weighted_bipred_idc, 2); /* weighted_bipred_idc: 0 */ 26714b672db6ee89c9846451bbab23cf18e93c4260b2hding 26724b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_se(bs, pic_param->pic_init_qp - 26); /* pic_init_qp_minus26 */ 26734b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_se(bs, 0); /* pic_init_qs_minus26 */ 26744b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_se(bs, 0); /* chroma_qp_index_offset */ 26754b672db6ee89c9846451bbab23cf18e93c4260b2hding 26764b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, pic_param->pic_fields.bits.deblocking_filter_control_present_flag, 1); /* deblocking_filter_control_present_flag */ 26774b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* constrained_intra_pred_flag */ 26784b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* redundant_pic_cnt_present_flag */ 26794b672db6ee89c9846451bbab23cf18e93c4260b2hding 26804b672db6ee89c9846451bbab23cf18e93c4260b2hding rbsp_trailing_bits(bs); 26814b672db6ee89c9846451bbab23cf18e93c4260b2hding} 26824b672db6ee89c9846451bbab23cf18e93c4260b2hding 26834b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 0 26844b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void build_nal_pps(FILE *avc_fp) 26854b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 26864b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream bs; 26874b672db6ee89c9846451bbab23cf18e93c4260b2hding 26884b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_start(&bs); 26894b672db6ee89c9846451bbab23cf18e93c4260b2hding nal_start_code_prefix(&bs); 26904b672db6ee89c9846451bbab23cf18e93c4260b2hding nal_header(&bs, NAL_REF_IDC_HIGH, NAL_PPS); 26914b672db6ee89c9846451bbab23cf18e93c4260b2hding pps_rbsp(&bs); 26924b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_end(&bs, avc_fp); 26934b672db6ee89c9846451bbab23cf18e93c4260b2hding} 26944b672db6ee89c9846451bbab23cf18e93c4260b2hding 26954b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 26964b672db6ee89c9846451bbab23cf18e93c4260b2hdingbuild_header(FILE *avc_fp) 26974b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 26984b672db6ee89c9846451bbab23cf18e93c4260b2hding build_nal_sps(avc_fp); 26994b672db6ee89c9846451bbab23cf18e93c4260b2hding build_nal_pps(avc_fp); 27004b672db6ee89c9846451bbab23cf18e93c4260b2hding} 27014b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 27024b672db6ee89c9846451bbab23cf18e93c4260b2hding 27034b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int 27044b672db6ee89c9846451bbab23cf18e93c4260b2hdingbuild_packed_pic_buffer(unsigned char **header_buffer) 27054b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 27064b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream bs; 27074b672db6ee89c9846451bbab23cf18e93c4260b2hding 27084b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_start(&bs); 27094b672db6ee89c9846451bbab23cf18e93c4260b2hding nal_start_code_prefix(&bs); 27104b672db6ee89c9846451bbab23cf18e93c4260b2hding nal_header(&bs, NAL_REF_IDC_HIGH, NAL_PPS); 27114b672db6ee89c9846451bbab23cf18e93c4260b2hding pps_rbsp(&bs); 27124b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_end(&bs); 27134b672db6ee89c9846451bbab23cf18e93c4260b2hding 27144b672db6ee89c9846451bbab23cf18e93c4260b2hding *header_buffer = (unsigned char *)bs.buffer; 27154b672db6ee89c9846451bbab23cf18e93c4260b2hding return bs.bit_offset; 27164b672db6ee89c9846451bbab23cf18e93c4260b2hding} 27174b672db6ee89c9846451bbab23cf18e93c4260b2hding 27184b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int 27194b672db6ee89c9846451bbab23cf18e93c4260b2hdingbuild_packed_seq_buffer(unsigned char **header_buffer) 27204b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 27214b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream bs; 27224b672db6ee89c9846451bbab23cf18e93c4260b2hding 27234b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_start(&bs); 27244b672db6ee89c9846451bbab23cf18e93c4260b2hding nal_start_code_prefix(&bs); 27254b672db6ee89c9846451bbab23cf18e93c4260b2hding nal_header(&bs, NAL_REF_IDC_HIGH, NAL_SPS); 27264b672db6ee89c9846451bbab23cf18e93c4260b2hding sps_rbsp(&bs); 27274b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_end(&bs); 27284b672db6ee89c9846451bbab23cf18e93c4260b2hding 27294b672db6ee89c9846451bbab23cf18e93c4260b2hding *header_buffer = (unsigned char *)bs.buffer; 27304b672db6ee89c9846451bbab23cf18e93c4260b2hding return bs.bit_offset; 27314b672db6ee89c9846451bbab23cf18e93c4260b2hding} 27324b672db6ee89c9846451bbab23cf18e93c4260b2hding 27334b672db6ee89c9846451bbab23cf18e93c4260b2hding 27344b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 0 27354b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 27364b672db6ee89c9846451bbab23cf18e93c4260b2hdingslice_header(bitstream *bs, int frame_num, int display_frame, int slice_type, int nal_ref_idc, int is_idr) 27374b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 27384b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncSequenceParameterBufferH264 *seq_param = &avcenc_context.seq_param; 27394b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncPictureParameterBufferH264 *pic_param = &avcenc_context.pic_param; 27404b672db6ee89c9846451bbab23cf18e93c4260b2hding int is_cabac = (pic_param->pic_fields.bits.entropy_coding_mode_flag == ENTROPY_MODE_CABAC); 27414b672db6ee89c9846451bbab23cf18e93c4260b2hding 27424b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, 0); /* first_mb_in_slice: 0 */ 27434b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, slice_type); /* slice_type */ 27444b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, 0); /* pic_parameter_set_id: 0 */ 27454b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, frame_num & 0x0F, seq_param->seq_fields.bits.log2_max_frame_num_minus4 + 4); /* frame_num */ 27464b672db6ee89c9846451bbab23cf18e93c4260b2hding 27474b672db6ee89c9846451bbab23cf18e93c4260b2hding /* frame_mbs_only_flag == 1 */ 27484b672db6ee89c9846451bbab23cf18e93c4260b2hding if (!seq_param->seq_fields.bits.frame_mbs_only_flag) { 27494b672db6ee89c9846451bbab23cf18e93c4260b2hding /* FIXME: */ 27504b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 27514b672db6ee89c9846451bbab23cf18e93c4260b2hding } 27524b672db6ee89c9846451bbab23cf18e93c4260b2hding 27534b672db6ee89c9846451bbab23cf18e93c4260b2hding if (is_idr) 27544b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, 0); /* idr_pic_id: 0 */ 27554b672db6ee89c9846451bbab23cf18e93c4260b2hding 27564b672db6ee89c9846451bbab23cf18e93c4260b2hding if (seq_param->seq_fields.bits.pic_order_cnt_type == 0) { 27574b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, (display_frame*2) & 0x3F, seq_param->seq_fields.bits.log2_max_pic_order_cnt_lsb_minus4 + 4); 27584b672db6ee89c9846451bbab23cf18e93c4260b2hding /* only support frame */ 27594b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { 27604b672db6ee89c9846451bbab23cf18e93c4260b2hding /* FIXME: */ 27614b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 27624b672db6ee89c9846451bbab23cf18e93c4260b2hding } 27634b672db6ee89c9846451bbab23cf18e93c4260b2hding 27644b672db6ee89c9846451bbab23cf18e93c4260b2hding /* redundant_pic_cnt_present_flag == 0 */ 27654b672db6ee89c9846451bbab23cf18e93c4260b2hding 27664b672db6ee89c9846451bbab23cf18e93c4260b2hding /* slice type */ 27674b672db6ee89c9846451bbab23cf18e93c4260b2hding if (slice_type == SLICE_TYPE_P) { 27684b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* num_ref_idx_active_override_flag: 0 */ 27694b672db6ee89c9846451bbab23cf18e93c4260b2hding /* ref_pic_list_reordering */ 27704b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* ref_pic_list_reordering_flag_l0: 0 */ 27714b672db6ee89c9846451bbab23cf18e93c4260b2hding } else if (slice_type == SLICE_TYPE_B) { 27724b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 1, 1); /* direct_spatial_mv_pred: 1 */ 27734b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* num_ref_idx_active_override_flag: 0 */ 27744b672db6ee89c9846451bbab23cf18e93c4260b2hding /* ref_pic_list_reordering */ 27754b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* ref_pic_list_reordering_flag_l0: 0 */ 27764b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* ref_pic_list_reordering_flag_l1: 0 */ 27774b672db6ee89c9846451bbab23cf18e93c4260b2hding } 27784b672db6ee89c9846451bbab23cf18e93c4260b2hding 27794b672db6ee89c9846451bbab23cf18e93c4260b2hding /* weighted_pred_flag == 0 */ 27804b672db6ee89c9846451bbab23cf18e93c4260b2hding 27814b672db6ee89c9846451bbab23cf18e93c4260b2hding /* dec_ref_pic_marking */ 27824b672db6ee89c9846451bbab23cf18e93c4260b2hding if (nal_ref_idc != 0) { 27834b672db6ee89c9846451bbab23cf18e93c4260b2hding if ( is_idr) { 27844b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* no_output_of_prior_pics_flag: 0 */ 27854b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* long_term_reference_flag: 0 */ 27864b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { 27874b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, 0, 1); /* adaptive_ref_pic_marking_mode_flag: 0 */ 27884b672db6ee89c9846451bbab23cf18e93c4260b2hding } 27894b672db6ee89c9846451bbab23cf18e93c4260b2hding } 27904b672db6ee89c9846451bbab23cf18e93c4260b2hding 27914b672db6ee89c9846451bbab23cf18e93c4260b2hding if (is_cabac && (slice_type != SLICE_TYPE_I)) 27924b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, 0); /* cabac_init_idc: 0 */ 27934b672db6ee89c9846451bbab23cf18e93c4260b2hding 27944b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_se(bs, 0); /* slice_qp_delta: 0 */ 27954b672db6ee89c9846451bbab23cf18e93c4260b2hding 27964b672db6ee89c9846451bbab23cf18e93c4260b2hding if (pic_param->pic_fields.bits.deblocking_filter_control_present_flag == 1) { 27974b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ue(bs, 0); /* disable_deblocking_filter_idc: 0 */ 27984b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_se(bs, 2); /* slice_alpha_c0_offset_div2: 2 */ 27994b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_se(bs, 2); /* slice_beta_offset_div2: 2 */ 28004b672db6ee89c9846451bbab23cf18e93c4260b2hding } 28014b672db6ee89c9846451bbab23cf18e93c4260b2hding} 28024b672db6ee89c9846451bbab23cf18e93c4260b2hding 28034b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 28044b672db6ee89c9846451bbab23cf18e93c4260b2hdingslice_data(bitstream *bs) 28054b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 28064b672db6ee89c9846451bbab23cf18e93c4260b2hding VACodedBufferSegment *coded_buffer_segment; 28074b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned char *coded_mem; 28084b672db6ee89c9846451bbab23cf18e93c4260b2hding int i, slice_data_length; 28094b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 28104b672db6ee89c9846451bbab23cf18e93c4260b2hding VASurfaceStatus surface_status; 28114b672db6ee89c9846451bbab23cf18e93c4260b2hding 28124b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaSyncSurface(va_dpy, surface_ids[avcenc_context.current_input_surface]); 28134b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaSyncSurface"); 28144b672db6ee89c9846451bbab23cf18e93c4260b2hding 28154b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_status = 0; 28164b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaQuerySurfaceStatus(va_dpy, surface_ids[avcenc_context.current_input_surface], &surface_status); 28174b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaQuerySurfaceStatus"); 28184b672db6ee89c9846451bbab23cf18e93c4260b2hding 28194b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaMapBuffer(va_dpy, avcenc_context.codedbuf_buf_id, (void **)(&coded_buffer_segment)); 28204b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaMapBuffer"); 28214b672db6ee89c9846451bbab23cf18e93c4260b2hding coded_mem = coded_buffer_segment->buf; 28224b672db6ee89c9846451bbab23cf18e93c4260b2hding 28234b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_length = get_coded_bitsteam_length(coded_mem, codedbuf_size); 28244b672db6ee89c9846451bbab23cf18e93c4260b2hding 28254b672db6ee89c9846451bbab23cf18e93c4260b2hding for (i = 0; i < slice_data_length; i++) { 28264b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_put_ui(bs, *coded_mem, 8); 28274b672db6ee89c9846451bbab23cf18e93c4260b2hding coded_mem++; 28284b672db6ee89c9846451bbab23cf18e93c4260b2hding } 28294b672db6ee89c9846451bbab23cf18e93c4260b2hding 28304b672db6ee89c9846451bbab23cf18e93c4260b2hding vaUnmapBuffer(va_dpy, avcenc_context.codedbuf_buf_id); 28314b672db6ee89c9846451bbab23cf18e93c4260b2hding} 28324b672db6ee89c9846451bbab23cf18e93c4260b2hding 28334b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 28344b672db6ee89c9846451bbab23cf18e93c4260b2hdingbuild_nal_slice(FILE *avc_fp, int frame_num, int display_frame, int slice_type, int is_idr) 28354b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 28364b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream bs; 28374b672db6ee89c9846451bbab23cf18e93c4260b2hding 28384b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_start(&bs); 28394b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data(&bs); 28404b672db6ee89c9846451bbab23cf18e93c4260b2hding bitstream_end(&bs, avc_fp); 28414b672db6ee89c9846451bbab23cf18e93c4260b2hding} 28424b672db6ee89c9846451bbab23cf18e93c4260b2hding 28434b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 28444b672db6ee89c9846451bbab23cf18e93c4260b2hding 28454b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int 28464b672db6ee89c9846451bbab23cf18e93c4260b2hdingstore_coded_buffer(FILE *avc_fp, int slice_type) 28474b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 28484b672db6ee89c9846451bbab23cf18e93c4260b2hding VACodedBufferSegment *coded_buffer_segment; 28494b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned char *coded_mem; 28504b672db6ee89c9846451bbab23cf18e93c4260b2hding int slice_data_length; 28514b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 28524b672db6ee89c9846451bbab23cf18e93c4260b2hding VASurfaceStatus surface_status; 28534b672db6ee89c9846451bbab23cf18e93c4260b2hding size_t w_items; 28544b672db6ee89c9846451bbab23cf18e93c4260b2hding 28554b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaSyncSurface(va_dpy, surface_ids[avcenc_context.current_input_surface]); 28564b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaSyncSurface"); 28574b672db6ee89c9846451bbab23cf18e93c4260b2hding 28584b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_status = (VASurfaceStatus)0; 28594b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaQuerySurfaceStatus(va_dpy, surface_ids[avcenc_context.current_input_surface], &surface_status); 28604b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaQuerySurfaceStatus"); 28614b672db6ee89c9846451bbab23cf18e93c4260b2hding 28624b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaMapBuffer(va_dpy, avcenc_context.codedbuf_buf_id, (void **)(&coded_buffer_segment)); 28634b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaMapBuffer"); 28644b672db6ee89c9846451bbab23cf18e93c4260b2hding coded_mem = (unsigned char *)coded_buffer_segment->buf; 28654b672db6ee89c9846451bbab23cf18e93c4260b2hding 28664b672db6ee89c9846451bbab23cf18e93c4260b2hding if (coded_buffer_segment->status & VA_CODED_BUF_STATUS_SLICE_OVERFLOW_MASK) { 28674b672db6ee89c9846451bbab23cf18e93c4260b2hding if (slice_type == SLICE_TYPE_I) 28684b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.codedbuf_i_size *= 2; 28694b672db6ee89c9846451bbab23cf18e93c4260b2hding else 28704b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.codedbuf_pb_size *= 2; 28714b672db6ee89c9846451bbab23cf18e93c4260b2hding 28724b672db6ee89c9846451bbab23cf18e93c4260b2hding vaUnmapBuffer(va_dpy, avcenc_context.codedbuf_buf_id); 28734b672db6ee89c9846451bbab23cf18e93c4260b2hding return -1; 28744b672db6ee89c9846451bbab23cf18e93c4260b2hding } 28754b672db6ee89c9846451bbab23cf18e93c4260b2hding 28764b672db6ee89c9846451bbab23cf18e93c4260b2hding slice_data_length = coded_buffer_segment->size; 28774b672db6ee89c9846451bbab23cf18e93c4260b2hding do { 28784b672db6ee89c9846451bbab23cf18e93c4260b2hding w_items = fwrite(coded_mem, slice_data_length, 1, avc_fp); 28794b672db6ee89c9846451bbab23cf18e93c4260b2hding } while (w_items != 1); 28804b672db6ee89c9846451bbab23cf18e93c4260b2hding 28814b672db6ee89c9846451bbab23cf18e93c4260b2hding if (slice_type == SLICE_TYPE_I) { 28824b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.codedbuf_i_size > slice_data_length * 3 / 2) { 28834b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.codedbuf_i_size = slice_data_length * 3 / 2; 28844b672db6ee89c9846451bbab23cf18e93c4260b2hding } 28854b672db6ee89c9846451bbab23cf18e93c4260b2hding 28864b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.codedbuf_pb_size < slice_data_length) { 28874b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.codedbuf_pb_size = slice_data_length; 28884b672db6ee89c9846451bbab23cf18e93c4260b2hding } 28894b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { 28904b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.codedbuf_pb_size > slice_data_length * 3 / 2) { 28914b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.codedbuf_pb_size = slice_data_length * 3 / 2; 28924b672db6ee89c9846451bbab23cf18e93c4260b2hding } 28934b672db6ee89c9846451bbab23cf18e93c4260b2hding } 28944b672db6ee89c9846451bbab23cf18e93c4260b2hding 28954b672db6ee89c9846451bbab23cf18e93c4260b2hding vaUnmapBuffer(va_dpy, avcenc_context.codedbuf_buf_id); 28964b672db6ee89c9846451bbab23cf18e93c4260b2hding 28974b672db6ee89c9846451bbab23cf18e93c4260b2hding return 0; 28984b672db6ee89c9846451bbab23cf18e93c4260b2hding} 28994b672db6ee89c9846451bbab23cf18e93c4260b2hding 29004b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void 29014b672db6ee89c9846451bbab23cf18e93c4260b2hdingencode_picture(FILE *yuv_fp, FILE *avc_fp, 29024b672db6ee89c9846451bbab23cf18e93c4260b2hding int frame_num, int display_num, 29034b672db6ee89c9846451bbab23cf18e93c4260b2hding int is_idr, 29044b672db6ee89c9846451bbab23cf18e93c4260b2hding int slice_type, int next_is_bpic, 29054b672db6ee89c9846451bbab23cf18e93c4260b2hding int next_display_num) 29064b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 29074b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 29084b672db6ee89c9846451bbab23cf18e93c4260b2hding int ret = 0, codedbuf_size; 29094b672db6ee89c9846451bbab23cf18e93c4260b2hding 29104b672db6ee89c9846451bbab23cf18e93c4260b2hding begin_picture(yuv_fp, frame_num, display_num, slice_type, is_idr); 29114b672db6ee89c9846451bbab23cf18e93c4260b2hding 29124b672db6ee89c9846451bbab23cf18e93c4260b2hding //if (next_display_num < frame_number) { 29134b672db6ee89c9846451bbab23cf18e93c4260b2hding if (1) { 29144b672db6ee89c9846451bbab23cf18e93c4260b2hding int index; 29154b672db6ee89c9846451bbab23cf18e93c4260b2hding 29164b672db6ee89c9846451bbab23cf18e93c4260b2hding /* prepare for next frame */ 29174b672db6ee89c9846451bbab23cf18e93c4260b2hding if (avcenc_context.current_input_surface == SID_INPUT_PICTURE_0) 29184b672db6ee89c9846451bbab23cf18e93c4260b2hding index = SID_INPUT_PICTURE_1; 29194b672db6ee89c9846451bbab23cf18e93c4260b2hding else 29204b672db6ee89c9846451bbab23cf18e93c4260b2hding index = SID_INPUT_PICTURE_0; 29214b672db6ee89c9846451bbab23cf18e93c4260b2hding if ( next_display_num >= frame_number ) 29224b672db6ee89c9846451bbab23cf18e93c4260b2hding next_display_num = frame_number - 1; 29234b672db6ee89c9846451bbab23cf18e93c4260b2hding fseek(yuv_fp, frame_size * next_display_num, SEEK_SET); 29244b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.upload_thread_param.yuv_fp = yuv_fp; 29254b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.upload_thread_param.surface_id = surface_ids[index]; 29264b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 0 29274b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.upload_thread_value = pthread_create(&avcenc_context.upload_thread_id, 29284b672db6ee89c9846451bbab23cf18e93c4260b2hding NULL, 29294b672db6ee89c9846451bbab23cf18e93c4260b2hding upload_thread_function, 29304b672db6ee89c9846451bbab23cf18e93c4260b2hding (void*)&avcenc_context.upload_thread_param); 29314b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 29324b672db6ee89c9846451bbab23cf18e93c4260b2hding//upload_thread_function(); 29334b672db6ee89c9846451bbab23cf18e93c4260b2hdingupload_yuv_to_surface(yuv_fp, surface_ids[index]); 29344b672db6ee89c9846451bbab23cf18e93c4260b2hding } 29354b672db6ee89c9846451bbab23cf18e93c4260b2hding 29364b672db6ee89c9846451bbab23cf18e93c4260b2hding do { 29374b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_destroy_buffers(&avcenc_context.codedbuf_buf_id, 1); 29384b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_destroy_buffers(&avcenc_context.pic_param_buf_id, 1); 29394b672db6ee89c9846451bbab23cf18e93c4260b2hding 29404b672db6ee89c9846451bbab23cf18e93c4260b2hding 29414b672db6ee89c9846451bbab23cf18e93c4260b2hding if (SLICE_TYPE_I == slice_type) { 29424b672db6ee89c9846451bbab23cf18e93c4260b2hding codedbuf_size = avcenc_context.codedbuf_i_size; 29434b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { 29444b672db6ee89c9846451bbab23cf18e93c4260b2hding codedbuf_size = avcenc_context.codedbuf_pb_size; 29454b672db6ee89c9846451bbab23cf18e93c4260b2hding } 29464b672db6ee89c9846451bbab23cf18e93c4260b2hding 29474b672db6ee89c9846451bbab23cf18e93c4260b2hding /* coded buffer */ 29484b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, 29494b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.context_id, 29504b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEncCodedBufferType, 29514b672db6ee89c9846451bbab23cf18e93c4260b2hding codedbuf_size, 1, NULL, 29524b672db6ee89c9846451bbab23cf18e93c4260b2hding &avcenc_context.codedbuf_buf_id); 29534b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status,"vaCreateBuffer"); 29544b672db6ee89c9846451bbab23cf18e93c4260b2hding 29554b672db6ee89c9846451bbab23cf18e93c4260b2hding /* picture parameter set */ 29564b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_update_picture_parameter(slice_type, frame_num, display_num, is_idr); 29574b672db6ee89c9846451bbab23cf18e93c4260b2hding 29584b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_render_picture(); 29594b672db6ee89c9846451bbab23cf18e93c4260b2hding 29604b672db6ee89c9846451bbab23cf18e93c4260b2hding ret = store_coded_buffer(avc_fp, slice_type); 29614b672db6ee89c9846451bbab23cf18e93c4260b2hding } while (ret); 29624b672db6ee89c9846451bbab23cf18e93c4260b2hding 29634b672db6ee89c9846451bbab23cf18e93c4260b2hding end_picture(slice_type, next_is_bpic); 29644b672db6ee89c9846451bbab23cf18e93c4260b2hding} 29654b672db6ee89c9846451bbab23cf18e93c4260b2hding 29664b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void encode_pb_pictures(FILE *yuv_fp, FILE *avc_fp, int f, int nbframes, int next_f) 29674b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 29684b672db6ee89c9846451bbab23cf18e93c4260b2hding int i; 29694b672db6ee89c9846451bbab23cf18e93c4260b2hding encode_picture(yuv_fp, avc_fp, 29704b672db6ee89c9846451bbab23cf18e93c4260b2hding enc_frame_number, f + nbframes, 29714b672db6ee89c9846451bbab23cf18e93c4260b2hding 0, 29724b672db6ee89c9846451bbab23cf18e93c4260b2hding SLICE_TYPE_P, 1, f); 29734b672db6ee89c9846451bbab23cf18e93c4260b2hding 29744b672db6ee89c9846451bbab23cf18e93c4260b2hding for( i = 0; i < nbframes - 1; i++) { 29754b672db6ee89c9846451bbab23cf18e93c4260b2hding encode_picture(yuv_fp, avc_fp, 29764b672db6ee89c9846451bbab23cf18e93c4260b2hding enc_frame_number + 1, f + i, 29774b672db6ee89c9846451bbab23cf18e93c4260b2hding 0, 29784b672db6ee89c9846451bbab23cf18e93c4260b2hding SLICE_TYPE_B, 1, f + i + 1); 29794b672db6ee89c9846451bbab23cf18e93c4260b2hding } 29804b672db6ee89c9846451bbab23cf18e93c4260b2hding 29814b672db6ee89c9846451bbab23cf18e93c4260b2hding encode_picture(yuv_fp, avc_fp, 29824b672db6ee89c9846451bbab23cf18e93c4260b2hding enc_frame_number + 1, f + nbframes - 1, 29834b672db6ee89c9846451bbab23cf18e93c4260b2hding 0, 29844b672db6ee89c9846451bbab23cf18e93c4260b2hding SLICE_TYPE_B, 0, next_f); 29854b672db6ee89c9846451bbab23cf18e93c4260b2hding} 29864b672db6ee89c9846451bbab23cf18e93c4260b2hding 29874b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void show_help() 29884b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 29894b672db6ee89c9846451bbab23cf18e93c4260b2hding printf("Usage: avnenc <width> <height> <input_yuvfile> <output_avcfile> [qp=qpvalue|fb=framebitrate] [mode=0(I frames only)/1(I and P frames)/2(I, P and B frames)\n"); 29904b672db6ee89c9846451bbab23cf18e93c4260b2hding} 29914b672db6ee89c9846451bbab23cf18e93c4260b2hding 29924b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void avcenc_context_seq_param_init(VAEncSequenceParameterBufferH264 *seq_param, 29934b672db6ee89c9846451bbab23cf18e93c4260b2hding int width, int height) 29944b672db6ee89c9846451bbab23cf18e93c4260b2hding 29954b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 29964b672db6ee89c9846451bbab23cf18e93c4260b2hding int width_in_mbs = (width + 15) / 16; 29974b672db6ee89c9846451bbab23cf18e93c4260b2hding int height_in_mbs = (height + 15) / 16; 29984b672db6ee89c9846451bbab23cf18e93c4260b2hding int frame_cropping_flag = 0; 29994b672db6ee89c9846451bbab23cf18e93c4260b2hding int frame_crop_bottom_offset = 0; 30004b672db6ee89c9846451bbab23cf18e93c4260b2hding 30014b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->seq_parameter_set_id = 0; 30024b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->level_idc = 41; 30034b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->intra_period = intra_period; 30044b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->ip_period = 0; /* FIXME: ??? */ 30054b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->max_num_ref_frames = 4; 30064b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->picture_width_in_mbs = width_in_mbs; 30074b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->picture_height_in_mbs = height_in_mbs; 30084b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->seq_fields.bits.frame_mbs_only_flag = 1; 30094b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->time_scale = 900; 30104b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->num_units_in_tick = 15; 30114b672db6ee89c9846451bbab23cf18e93c4260b2hding 30124b672db6ee89c9846451bbab23cf18e93c4260b2hding if (height_in_mbs * 16 - height) { 30134b672db6ee89c9846451bbab23cf18e93c4260b2hding frame_cropping_flag = 1; 30144b672db6ee89c9846451bbab23cf18e93c4260b2hding frame_crop_bottom_offset = 30154b672db6ee89c9846451bbab23cf18e93c4260b2hding (height_in_mbs * 16 - height) / (2 * (!seq_param->seq_fields.bits.frame_mbs_only_flag + 1)); 30164b672db6ee89c9846451bbab23cf18e93c4260b2hding } 30174b672db6ee89c9846451bbab23cf18e93c4260b2hding 30184b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->frame_cropping_flag = frame_cropping_flag; 30194b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->frame_crop_left_offset = 0; 30204b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->frame_crop_right_offset = 0; 30214b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->frame_crop_top_offset = 0; 30224b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->frame_crop_bottom_offset = frame_crop_bottom_offset; 30234b672db6ee89c9846451bbab23cf18e93c4260b2hding 30244b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->seq_fields.bits.pic_order_cnt_type = 0; 30254b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->seq_fields.bits.direct_8x8_inference_flag = 0; 30264b672db6ee89c9846451bbab23cf18e93c4260b2hding 30274b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->seq_fields.bits.log2_max_frame_num_minus4 = 0; 30284b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->seq_fields.bits.log2_max_pic_order_cnt_lsb_minus4 = 2; 30294b672db6ee89c9846451bbab23cf18e93c4260b2hding 30304b672db6ee89c9846451bbab23cf18e93c4260b2hding seq_param->vui_parameters_present_flag = 0; 30314b672db6ee89c9846451bbab23cf18e93c4260b2hding} 30324b672db6ee89c9846451bbab23cf18e93c4260b2hding 30334b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void avcenc_context_pic_param_init(VAEncPictureParameterBufferH264 *pic_param) 30344b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 30354b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->seq_parameter_set_id = 0; 30364b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_parameter_set_id = 0; 30374b672db6ee89c9846451bbab23cf18e93c4260b2hding 30384b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->last_picture = 0; 30394b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->frame_num = 0; 30404b672db6ee89c9846451bbab23cf18e93c4260b2hding 30414b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_init_qp = (qp_value >= 0 ? qp_value : 26); 30424b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->num_ref_idx_l0_active_minus1 = 0; 30434b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->num_ref_idx_l1_active_minus1 = 0; 30444b672db6ee89c9846451bbab23cf18e93c4260b2hding 30454b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_fields.bits.idr_pic_flag = 0; 30464b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_fields.bits.reference_pic_flag = 0; 30474b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_fields.bits.entropy_coding_mode_flag = ENTROPY_MODE_CABAC; 30484b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_fields.bits.weighted_pred_flag = 0; 30494b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_fields.bits.weighted_bipred_idc = 0; 30504b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_fields.bits.transform_8x8_mode_flag = 0; 30514b672db6ee89c9846451bbab23cf18e93c4260b2hding pic_param->pic_fields.bits.deblocking_filter_control_present_flag = 1; 30524b672db6ee89c9846451bbab23cf18e93c4260b2hding} 30534b672db6ee89c9846451bbab23cf18e93c4260b2hding 30544b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic void avcenc_context_init(int width, int height) 30554b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 30564b672db6ee89c9846451bbab23cf18e93c4260b2hding int i; 30574b672db6ee89c9846451bbab23cf18e93c4260b2hding memset(&avcenc_context, 0, sizeof(avcenc_context)); 30584b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.profile = VAProfileH264Main; 30594b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.seq_param_buf_id = VA_INVALID_ID; 30604b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.pic_param_buf_id = VA_INVALID_ID; 30614b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.packed_seq_header_param_buf_id = VA_INVALID_ID; 30624b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.packed_seq_buf_id = VA_INVALID_ID; 30634b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.packed_pic_header_param_buf_id = VA_INVALID_ID; 30644b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.packed_pic_buf_id = VA_INVALID_ID; 30654b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.codedbuf_buf_id = VA_INVALID_ID; 30664b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.codedbuf_i_size = width * height; 30674b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.codedbuf_pb_size = 0; 30684b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.current_input_surface = SID_INPUT_PICTURE_0; 30694b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.upload_thread_value = -1; 30704b672db6ee89c9846451bbab23cf18e93c4260b2hding 30714b672db6ee89c9846451bbab23cf18e93c4260b2hding for (i = 0; i < MAX_SLICES; i++) { 30724b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context.slice_param_buf_id[i] = VA_INVALID_ID; 30734b672db6ee89c9846451bbab23cf18e93c4260b2hding } 30744b672db6ee89c9846451bbab23cf18e93c4260b2hding 30754b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context_seq_param_init(&avcenc_context.seq_param, width, height); 30764b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context_pic_param_init(&avcenc_context.pic_param); 30774b672db6ee89c9846451bbab23cf18e93c4260b2hding} 30784b672db6ee89c9846451bbab23cf18e93c4260b2hding 30794b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int 30804b672db6ee89c9846451bbab23cf18e93c4260b2hdingzoom_out_surface(VADisplay va_dpy, 30814b672db6ee89c9846451bbab23cf18e93c4260b2hding VASurfaceID in_surface_id, 30824b672db6ee89c9846451bbab23cf18e93c4260b2hding VASurfaceID *out_surface_id) 30834b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 30844b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 30854b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEntrypoint entrypoints[5]; 30864b672db6ee89c9846451bbab23cf18e93c4260b2hding VAConfigAttrib attrib; 30874b672db6ee89c9846451bbab23cf18e93c4260b2hding VAConfigID config_id; 30884b672db6ee89c9846451bbab23cf18e93c4260b2hding VASurfaceID vpp_surface_id = VA_INVALID_SURFACE; 30894b672db6ee89c9846451bbab23cf18e93c4260b2hding VAContextID context_id; 30904b672db6ee89c9846451bbab23cf18e93c4260b2hding VAProcPipelineCaps vpp_cap; 30914b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID pipeline_param_buf_id = VA_INVALID_ID; 30924b672db6ee89c9846451bbab23cf18e93c4260b2hding VAProcPipelineParameterBuffer pipeline_param; 30934b672db6ee89c9846451bbab23cf18e93c4260b2hding int num_entrypoints, proc_entrypoint; 30944b672db6ee89c9846451bbab23cf18e93c4260b2hding VARectangle surface_region, output_region; 30954b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID filter_bufs[VAProcFilterCount]; 30964b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned int num_filter_bufs = 0; 30974b672db6ee89c9846451bbab23cf18e93c4260b2hding 30984b672db6ee89c9846451bbab23cf18e93c4260b2hding 30994b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaQueryConfigEntrypoints(va_dpy, 31004b672db6ee89c9846451bbab23cf18e93c4260b2hding VAProfileNone, 31014b672db6ee89c9846451bbab23cf18e93c4260b2hding entrypoints, 31024b672db6ee89c9846451bbab23cf18e93c4260b2hding &num_entrypoints); 31034b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaQueryConfigEntrypoints"); 31044b672db6ee89c9846451bbab23cf18e93c4260b2hding 31054b672db6ee89c9846451bbab23cf18e93c4260b2hding for (proc_entrypoint = 0; proc_entrypoint < num_entrypoints; proc_entrypoint++) { 31064b672db6ee89c9846451bbab23cf18e93c4260b2hding if (entrypoints[proc_entrypoint] == VAEntrypointVideoProc) 31074b672db6ee89c9846451bbab23cf18e93c4260b2hding break; 31084b672db6ee89c9846451bbab23cf18e93c4260b2hding } 31094b672db6ee89c9846451bbab23cf18e93c4260b2hding 31104b672db6ee89c9846451bbab23cf18e93c4260b2hding if (proc_entrypoint == num_entrypoints) { 31114b672db6ee89c9846451bbab23cf18e93c4260b2hding /* not find Video Proc entry point */ 31124b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 31134b672db6ee89c9846451bbab23cf18e93c4260b2hding } 31144b672db6ee89c9846451bbab23cf18e93c4260b2hding 31154b672db6ee89c9846451bbab23cf18e93c4260b2hding attrib.type = VAConfigAttribRTFormat; 31164b672db6ee89c9846451bbab23cf18e93c4260b2hding vaGetConfigAttributes(va_dpy, 31174b672db6ee89c9846451bbab23cf18e93c4260b2hding VAProfileNone, 31184b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEntrypointVideoProc, 31194b672db6ee89c9846451bbab23cf18e93c4260b2hding &attrib, 31204b672db6ee89c9846451bbab23cf18e93c4260b2hding 1); 31214b672db6ee89c9846451bbab23cf18e93c4260b2hding 31224b672db6ee89c9846451bbab23cf18e93c4260b2hding if ((attrib.value & VA_RT_FORMAT_YUV420) == 0) { 31234b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 31244b672db6ee89c9846451bbab23cf18e93c4260b2hding } 31254b672db6ee89c9846451bbab23cf18e93c4260b2hding 31264b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateConfig(va_dpy, 31274b672db6ee89c9846451bbab23cf18e93c4260b2hding VAProfileNone, 31284b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEntrypointVideoProc, 31294b672db6ee89c9846451bbab23cf18e93c4260b2hding &attrib, 31304b672db6ee89c9846451bbab23cf18e93c4260b2hding 1, 31314b672db6ee89c9846451bbab23cf18e93c4260b2hding &config_id); 31324b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaQueryConfigEntrypoints"); 31334b672db6ee89c9846451bbab23cf18e93c4260b2hding 31344b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateSurfaces(va_dpy, 31354b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_width * zoom_out, 31364b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_height * zoom_out, 31374b672db6ee89c9846451bbab23cf18e93c4260b2hding VA_RT_FORMAT_YUV420, 31384b672db6ee89c9846451bbab23cf18e93c4260b2hding 1, 31394b672db6ee89c9846451bbab23cf18e93c4260b2hding &vpp_surface_id); 31404b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateSurfaces"); 31414b672db6ee89c9846451bbab23cf18e93c4260b2hding 31424b672db6ee89c9846451bbab23cf18e93c4260b2hding /* Create a context for VPP pipe */ 31434b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateContext(va_dpy, 31444b672db6ee89c9846451bbab23cf18e93c4260b2hding config_id, 31454b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_width, 31464b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_height, 31474b672db6ee89c9846451bbab23cf18e93c4260b2hding VA_PROGRESSIVE, 31484b672db6ee89c9846451bbab23cf18e93c4260b2hding &vpp_surface_id, 31494b672db6ee89c9846451bbab23cf18e93c4260b2hding 1, 31504b672db6ee89c9846451bbab23cf18e93c4260b2hding &context_id); 31514b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateContext"); 31524b672db6ee89c9846451bbab23cf18e93c4260b2hding 31534b672db6ee89c9846451bbab23cf18e93c4260b2hding vaQueryVideoProcPipelineCaps(va_dpy, 31544b672db6ee89c9846451bbab23cf18e93c4260b2hding context_id, 31554b672db6ee89c9846451bbab23cf18e93c4260b2hding filter_bufs, num_filter_bufs, 31564b672db6ee89c9846451bbab23cf18e93c4260b2hding &vpp_cap); 31574b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaQueryVideoProcPipelineCaps"); 31584b672db6ee89c9846451bbab23cf18e93c4260b2hding 31594b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_region.x = 0; 31604b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_region.y = 0; 31614b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_region.width = surface_width; 31624b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_region.height = surface_height; 31634b672db6ee89c9846451bbab23cf18e93c4260b2hding 31644b672db6ee89c9846451bbab23cf18e93c4260b2hding output_region.x = 0; 31654b672db6ee89c9846451bbab23cf18e93c4260b2hding output_region.y = 0; 31664b672db6ee89c9846451bbab23cf18e93c4260b2hding output_region.width = surface_width * zoom_out; 31674b672db6ee89c9846451bbab23cf18e93c4260b2hding output_region.height = surface_height * zoom_out; 31684b672db6ee89c9846451bbab23cf18e93c4260b2hding 31694b672db6ee89c9846451bbab23cf18e93c4260b2hding memset(&pipeline_param, 0, sizeof(pipeline_param)); 31704b672db6ee89c9846451bbab23cf18e93c4260b2hding pipeline_param.surface = in_surface_id; 31714b672db6ee89c9846451bbab23cf18e93c4260b2hding pipeline_param.surface_region = &surface_region; 31724b672db6ee89c9846451bbab23cf18e93c4260b2hding pipeline_param.output_region = &output_region; 31734b672db6ee89c9846451bbab23cf18e93c4260b2hding 31744b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, 31754b672db6ee89c9846451bbab23cf18e93c4260b2hding context_id, 31764b672db6ee89c9846451bbab23cf18e93c4260b2hding VAProcPipelineParameterBufferType, 31774b672db6ee89c9846451bbab23cf18e93c4260b2hding sizeof(pipeline_param), 31784b672db6ee89c9846451bbab23cf18e93c4260b2hding 1, 31794b672db6ee89c9846451bbab23cf18e93c4260b2hding &pipeline_param, 31804b672db6ee89c9846451bbab23cf18e93c4260b2hding &pipeline_param_buf_id); 31814b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateBuffer"); 31824b672db6ee89c9846451bbab23cf18e93c4260b2hding 31834b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaBeginPicture(va_dpy, 31844b672db6ee89c9846451bbab23cf18e93c4260b2hding context_id, 31854b672db6ee89c9846451bbab23cf18e93c4260b2hding vpp_surface_id); 31864b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaBeginPicture"); 31874b672db6ee89c9846451bbab23cf18e93c4260b2hding 31884b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaRenderPicture(va_dpy, 31894b672db6ee89c9846451bbab23cf18e93c4260b2hding context_id, 31904b672db6ee89c9846451bbab23cf18e93c4260b2hding &pipeline_param_buf_id, 31914b672db6ee89c9846451bbab23cf18e93c4260b2hding 1); 31924b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaRenderPicture"); 31934b672db6ee89c9846451bbab23cf18e93c4260b2hding 31944b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaEndPicture(va_dpy, context_id); 31954b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaEndPicture"); 31964b672db6ee89c9846451bbab23cf18e93c4260b2hding 31974b672db6ee89c9846451bbab23cf18e93c4260b2hding vaDestroyContext(va_dpy, context_id); 31984b672db6ee89c9846451bbab23cf18e93c4260b2hding vaDestroyConfig(va_dpy, config_id); 31994b672db6ee89c9846451bbab23cf18e93c4260b2hding 32004b672db6ee89c9846451bbab23cf18e93c4260b2hding *out_surface_id = vpp_surface_id; 32014b672db6ee89c9846451bbab23cf18e93c4260b2hding return 0; 32024b672db6ee89c9846451bbab23cf18e93c4260b2hding} 32034b672db6ee89c9846451bbab23cf18e93c4260b2hding 32044b672db6ee89c9846451bbab23cf18e93c4260b2hdingstatic int encode_file() 32054b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 32064b672db6ee89c9846451bbab23cf18e93c4260b2hding int f; 32074b672db6ee89c9846451bbab23cf18e93c4260b2hding FILE *yuv_fp; 32084b672db6ee89c9846451bbab23cf18e93c4260b2hding FILE *avc_fp; 32094b672db6ee89c9846451bbab23cf18e93c4260b2hding long file_size; 32104b672db6ee89c9846451bbab23cf18e93c4260b2hding int i_frame_only=1,i_p_frame_only=0; 32114b672db6ee89c9846451bbab23cf18e93c4260b2hding int mode_value; 32124b672db6ee89c9846451bbab23cf18e93c4260b2hding struct timeval tpstart,tpend; 32134b672db6ee89c9846451bbab23cf18e93c4260b2hding float timeuse; 32144b672db6ee89c9846451bbab23cf18e93c4260b2hding int frame_number = 1; 32154b672db6ee89c9846451bbab23cf18e93c4260b2hding yuv_fp = fopen("dump.yuv","rb"); 32164b672db6ee89c9846451bbab23cf18e93c4260b2hding 32174b672db6ee89c9846451bbab23cf18e93c4260b2hding fseek(yuv_fp, 0l, SEEK_SET); 32184b672db6ee89c9846451bbab23cf18e93c4260b2hding 32194b672db6ee89c9846451bbab23cf18e93c4260b2hding avc_fp = fopen("test.264", "wb"); 32204b672db6ee89c9846451bbab23cf18e93c4260b2hding if ( avc_fp == NULL) { 32214b672db6ee89c9846451bbab23cf18e93c4260b2hding fclose(yuv_fp); 32224b672db6ee89c9846451bbab23cf18e93c4260b2hding printf("Can't open output avc file\n"); 32234b672db6ee89c9846451bbab23cf18e93c4260b2hding return -1; 32244b672db6ee89c9846451bbab23cf18e93c4260b2hding } 32254b672db6ee89c9846451bbab23cf18e93c4260b2hding gettimeofday(&tpstart,NULL); 32264b672db6ee89c9846451bbab23cf18e93c4260b2hding avcenc_context_init(picture_width, picture_height); 32274b672db6ee89c9846451bbab23cf18e93c4260b2hding create_encode_pipe(); 32284b672db6ee89c9846451bbab23cf18e93c4260b2hding alloc_encode_resource(yuv_fp); 32294b672db6ee89c9846451bbab23cf18e93c4260b2hding 32304b672db6ee89c9846451bbab23cf18e93c4260b2hding enc_frame_number = 0; 32314b672db6ee89c9846451bbab23cf18e93c4260b2hding for ( int f = 0; f < frame_number; ) { //picture level loop 32324b672db6ee89c9846451bbab23cf18e93c4260b2hding static int const frame_type_pattern[][2] = { {SLICE_TYPE_I,1}, 32334b672db6ee89c9846451bbab23cf18e93c4260b2hding {SLICE_TYPE_P,3}, {SLICE_TYPE_P,3},{SLICE_TYPE_P,3}, 32344b672db6ee89c9846451bbab23cf18e93c4260b2hding {SLICE_TYPE_P,3}, {SLICE_TYPE_P,3},{SLICE_TYPE_P,3}, 32354b672db6ee89c9846451bbab23cf18e93c4260b2hding {SLICE_TYPE_P,3}, {SLICE_TYPE_P,3},{SLICE_TYPE_P,3}, 32364b672db6ee89c9846451bbab23cf18e93c4260b2hding {SLICE_TYPE_P,2} }; 32374b672db6ee89c9846451bbab23cf18e93c4260b2hding 32384b672db6ee89c9846451bbab23cf18e93c4260b2hding if ( i_frame_only ) { 32394b672db6ee89c9846451bbab23cf18e93c4260b2hding encode_picture(yuv_fp, avc_fp,enc_frame_number, f, f==0, SLICE_TYPE_I, 0, f+1); 32404b672db6ee89c9846451bbab23cf18e93c4260b2hding f++; 32414b672db6ee89c9846451bbab23cf18e93c4260b2hding enc_frame_number++; 32424b672db6ee89c9846451bbab23cf18e93c4260b2hding } else if ( i_p_frame_only ) { 32434b672db6ee89c9846451bbab23cf18e93c4260b2hding if ( (f % intra_period) == 0 ) { 32444b672db6ee89c9846451bbab23cf18e93c4260b2hding encode_picture(yuv_fp, avc_fp,enc_frame_number, f, f==0, SLICE_TYPE_I, 0, f+1); 32454b672db6ee89c9846451bbab23cf18e93c4260b2hding f++; 32464b672db6ee89c9846451bbab23cf18e93c4260b2hding enc_frame_number++; 32474b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { 32484b672db6ee89c9846451bbab23cf18e93c4260b2hding encode_picture(yuv_fp, avc_fp,enc_frame_number, f, f==0, SLICE_TYPE_P, 0, f+1); 32494b672db6ee89c9846451bbab23cf18e93c4260b2hding f++; 32504b672db6ee89c9846451bbab23cf18e93c4260b2hding enc_frame_number++; 32514b672db6ee89c9846451bbab23cf18e93c4260b2hding } 32524b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { // follow the i,p,b pattern 32534b672db6ee89c9846451bbab23cf18e93c4260b2hding static int fcurrent = 0; 32544b672db6ee89c9846451bbab23cf18e93c4260b2hding int fnext; 32554b672db6ee89c9846451bbab23cf18e93c4260b2hding 32564b672db6ee89c9846451bbab23cf18e93c4260b2hding fcurrent = fcurrent % (sizeof(frame_type_pattern)/sizeof(int[2])); 32574b672db6ee89c9846451bbab23cf18e93c4260b2hding fnext = (fcurrent+1) % (sizeof(frame_type_pattern)/sizeof(int[2])); 32584b672db6ee89c9846451bbab23cf18e93c4260b2hding 32594b672db6ee89c9846451bbab23cf18e93c4260b2hding if ( frame_type_pattern[fcurrent][0] == SLICE_TYPE_I ) { 32604b672db6ee89c9846451bbab23cf18e93c4260b2hding encode_picture(yuv_fp, avc_fp,enc_frame_number, f, f==0, SLICE_TYPE_I, 0, 32614b672db6ee89c9846451bbab23cf18e93c4260b2hding f+frame_type_pattern[fnext][1]); 32624b672db6ee89c9846451bbab23cf18e93c4260b2hding f++; 32634b672db6ee89c9846451bbab23cf18e93c4260b2hding enc_frame_number++; 32644b672db6ee89c9846451bbab23cf18e93c4260b2hding } else { 32654b672db6ee89c9846451bbab23cf18e93c4260b2hding encode_pb_pictures(yuv_fp, avc_fp, f, frame_type_pattern[fcurrent][1]-1, 32664b672db6ee89c9846451bbab23cf18e93c4260b2hding f + frame_type_pattern[fcurrent][1] + frame_type_pattern[fnext][1] -1 ); 32674b672db6ee89c9846451bbab23cf18e93c4260b2hding f += frame_type_pattern[fcurrent][1]; 32684b672db6ee89c9846451bbab23cf18e93c4260b2hding enc_frame_number++; 32694b672db6ee89c9846451bbab23cf18e93c4260b2hding } 32704b672db6ee89c9846451bbab23cf18e93c4260b2hding 32714b672db6ee89c9846451bbab23cf18e93c4260b2hding fcurrent++; 32724b672db6ee89c9846451bbab23cf18e93c4260b2hding } 32734b672db6ee89c9846451bbab23cf18e93c4260b2hding printf("\r %d/%d ...", f+1, frame_number); 32744b672db6ee89c9846451bbab23cf18e93c4260b2hding fflush(stdout); 32754b672db6ee89c9846451bbab23cf18e93c4260b2hding } 32764b672db6ee89c9846451bbab23cf18e93c4260b2hding 32774b672db6ee89c9846451bbab23cf18e93c4260b2hding gettimeofday(&tpend,NULL); 32784b672db6ee89c9846451bbab23cf18e93c4260b2hding timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+ tpend.tv_usec-tpstart.tv_usec; 32794b672db6ee89c9846451bbab23cf18e93c4260b2hding timeuse/=1000000; 32804b672db6ee89c9846451bbab23cf18e93c4260b2hding printf("\ndone!\n"); 32814b672db6ee89c9846451bbab23cf18e93c4260b2hding printf("encode %d frames in %f secondes, FPS is %.1f\n",frame_number, timeuse, frame_number/timeuse); 32824b672db6ee89c9846451bbab23cf18e93c4260b2hding release_encode_resource(); 32834b672db6ee89c9846451bbab23cf18e93c4260b2hding destory_encode_pipe(); 32844b672db6ee89c9846451bbab23cf18e93c4260b2hding 32854b672db6ee89c9846451bbab23cf18e93c4260b2hding fclose(yuv_fp); 32864b672db6ee89c9846451bbab23cf18e93c4260b2hding fclose(avc_fp); 32874b672db6ee89c9846451bbab23cf18e93c4260b2hding 32884b672db6ee89c9846451bbab23cf18e93c4260b2hding 32894b672db6ee89c9846451bbab23cf18e93c4260b2hding} 32904b672db6ee89c9846451bbab23cf18e93c4260b2hdingint main(int argc,char **argv) 32914b672db6ee89c9846451bbab23cf18e93c4260b2hding{ 32924b672db6ee89c9846451bbab23cf18e93c4260b2hding VAEntrypoint entrypoints[5]; 32934b672db6ee89c9846451bbab23cf18e93c4260b2hding int num_entrypoints,vld_entrypoint; 32944b672db6ee89c9846451bbab23cf18e93c4260b2hding VAConfigAttrib attrib; 32954b672db6ee89c9846451bbab23cf18e93c4260b2hding VAConfigID config_id; 32964b672db6ee89c9846451bbab23cf18e93c4260b2hding VASurfaceID surface_id; 32974b672db6ee89c9846451bbab23cf18e93c4260b2hding VAContextID context_id; 32984b672db6ee89c9846451bbab23cf18e93c4260b2hding VABufferID pic_param_buf,iqmatrix_buf,slice_param_buf,slice_data_buf; 32994b672db6ee89c9846451bbab23cf18e93c4260b2hding int major_ver, minor_ver; 33004b672db6ee89c9846451bbab23cf18e93c4260b2hding VAStatus va_status; 33014b672db6ee89c9846451bbab23cf18e93c4260b2hding int putsurface=0; 33024b672db6ee89c9846451bbab23cf18e93c4260b2hding VAImageFormat image_format; 33034b672db6ee89c9846451bbab23cf18e93c4260b2hding VAImage yuv_image; 33044b672db6ee89c9846451bbab23cf18e93c4260b2hding 33054b672db6ee89c9846451bbab23cf18e93c4260b2hding if (argc > 1) 33064b672db6ee89c9846451bbab23cf18e93c4260b2hding putsurface=1; 33074b672db6ee89c9846451bbab23cf18e93c4260b2hding#ifdef ANDROID 33084b672db6ee89c9846451bbab23cf18e93c4260b2hding x11_display = (Display*)malloc(sizeof(Display)); 33094b672db6ee89c9846451bbab23cf18e93c4260b2hding *(x11_display ) = 0x18c34078; 33104b672db6ee89c9846451bbab23cf18e93c4260b2hding#else 33114b672db6ee89c9846451bbab23cf18e93c4260b2hding x11_display = XOpenDisplay(":0.0"); 33124b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 33134b672db6ee89c9846451bbab23cf18e93c4260b2hding 33144b672db6ee89c9846451bbab23cf18e93c4260b2hding if (x11_display == NULL) { 33154b672db6ee89c9846451bbab23cf18e93c4260b2hding fprintf(stderr, "Can't connect X server!\n"); 33164b672db6ee89c9846451bbab23cf18e93c4260b2hding exit(-1); 33174b672db6ee89c9846451bbab23cf18e93c4260b2hding } 33184b672db6ee89c9846451bbab23cf18e93c4260b2hding 33194b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(x11_display); 33204b672db6ee89c9846451bbab23cf18e93c4260b2hding 33214b672db6ee89c9846451bbab23cf18e93c4260b2hding va_dpy = vaGetDisplay(x11_display); 33224b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaInitialize(va_dpy, &major_ver, &minor_ver); 33234b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(va_status == VA_STATUS_SUCCESS); 33244b672db6ee89c9846451bbab23cf18e93c4260b2hding 33254b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaQueryConfigEntrypoints(va_dpy, VAProfileMPEG2Simple, entrypoints, 33264b672db6ee89c9846451bbab23cf18e93c4260b2hding &num_entrypoints); 33274b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaQueryConfigEntrypoints"); 33284b672db6ee89c9846451bbab23cf18e93c4260b2hding 33294b672db6ee89c9846451bbab23cf18e93c4260b2hding for (vld_entrypoint = 0; vld_entrypoint < num_entrypoints; vld_entrypoint++) { 33304b672db6ee89c9846451bbab23cf18e93c4260b2hding if (entrypoints[vld_entrypoint] == VAEntrypointVLD) 33314b672db6ee89c9846451bbab23cf18e93c4260b2hding break; 33324b672db6ee89c9846451bbab23cf18e93c4260b2hding } 33334b672db6ee89c9846451bbab23cf18e93c4260b2hding if (vld_entrypoint == num_entrypoints) { 33344b672db6ee89c9846451bbab23cf18e93c4260b2hding /* not find VLD entry point */ 33354b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 33364b672db6ee89c9846451bbab23cf18e93c4260b2hding } 33374b672db6ee89c9846451bbab23cf18e93c4260b2hding 33384b672db6ee89c9846451bbab23cf18e93c4260b2hding /* Assuming finding VLD, find out the format for the render target */ 33394b672db6ee89c9846451bbab23cf18e93c4260b2hding attrib.type = VAConfigAttribRTFormat; 33404b672db6ee89c9846451bbab23cf18e93c4260b2hding vaGetConfigAttributes(va_dpy, VAProfileMPEG2Simple, VAEntrypointVLD, 33414b672db6ee89c9846451bbab23cf18e93c4260b2hding &attrib, 1); 33424b672db6ee89c9846451bbab23cf18e93c4260b2hding if ((attrib.value & VA_RT_FORMAT_YUV420) == 0) { 33434b672db6ee89c9846451bbab23cf18e93c4260b2hding /* not find desired YUV420 RT format */ 33444b672db6ee89c9846451bbab23cf18e93c4260b2hding assert(0); 33454b672db6ee89c9846451bbab23cf18e93c4260b2hding } 33464b672db6ee89c9846451bbab23cf18e93c4260b2hding 33474b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateConfig(va_dpy, VAProfileMPEG2Simple, VAEntrypointVLD, 33484b672db6ee89c9846451bbab23cf18e93c4260b2hding &attrib, 1,&config_id); 33494b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaQueryConfigEntrypoints"); 33504b672db6ee89c9846451bbab23cf18e93c4260b2hding 33514b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateSurfaces(va_dpy,CLIP_WIDTH,CLIP_HEIGHT, 33524b672db6ee89c9846451bbab23cf18e93c4260b2hding VA_RT_FORMAT_YUV420, 1, &surface_id); 33534b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateSurfaces"); 33544b672db6ee89c9846451bbab23cf18e93c4260b2hding 33554b672db6ee89c9846451bbab23cf18e93c4260b2hding /* Create a context for this decode pipe */ 33564b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateContext(va_dpy, config_id, 33574b672db6ee89c9846451bbab23cf18e93c4260b2hding CLIP_WIDTH, 33584b672db6ee89c9846451bbab23cf18e93c4260b2hding ((CLIP_HEIGHT+15)/16)*16, 33594b672db6ee89c9846451bbab23cf18e93c4260b2hding VA_PROGRESSIVE, 33604b672db6ee89c9846451bbab23cf18e93c4260b2hding &surface_id, 33614b672db6ee89c9846451bbab23cf18e93c4260b2hding 1, 33624b672db6ee89c9846451bbab23cf18e93c4260b2hding &context_id); 33634b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateContext"); 33644b672db6ee89c9846451bbab23cf18e93c4260b2hding 33654b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, context_id, 33664b672db6ee89c9846451bbab23cf18e93c4260b2hding VAPictureParameterBufferType, 33674b672db6ee89c9846451bbab23cf18e93c4260b2hding sizeof(VAPictureParameterBufferMPEG2), 33684b672db6ee89c9846451bbab23cf18e93c4260b2hding 1, &pic_param, 33694b672db6ee89c9846451bbab23cf18e93c4260b2hding &pic_param_buf); 33704b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateBuffer"); 33714b672db6ee89c9846451bbab23cf18e93c4260b2hding 33724b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, context_id, 33734b672db6ee89c9846451bbab23cf18e93c4260b2hding VAIQMatrixBufferType, 33744b672db6ee89c9846451bbab23cf18e93c4260b2hding sizeof(VAIQMatrixBufferMPEG2), 33754b672db6ee89c9846451bbab23cf18e93c4260b2hding 1, &iq_matrix, 33764b672db6ee89c9846451bbab23cf18e93c4260b2hding &iqmatrix_buf ); 33774b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateBuffer"); 33784b672db6ee89c9846451bbab23cf18e93c4260b2hding 33794b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, context_id, 33804b672db6ee89c9846451bbab23cf18e93c4260b2hding VASliceParameterBufferType, 33814b672db6ee89c9846451bbab23cf18e93c4260b2hding sizeof(VASliceParameterBufferMPEG2), 33824b672db6ee89c9846451bbab23cf18e93c4260b2hding 15, 33834b672db6ee89c9846451bbab23cf18e93c4260b2hding &slice_param, &slice_param_buf); 33844b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateBuffer"); 33854b672db6ee89c9846451bbab23cf18e93c4260b2hding 33864b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaCreateBuffer(va_dpy, context_id, 33874b672db6ee89c9846451bbab23cf18e93c4260b2hding VASliceDataBufferType, 33884b672db6ee89c9846451bbab23cf18e93c4260b2hding //0xc4-0x2f+1, 33894b672db6ee89c9846451bbab23cf18e93c4260b2hding //19310-0x2f+1, 33904b672db6ee89c9846451bbab23cf18e93c4260b2hding 19252, 33914b672db6ee89c9846451bbab23cf18e93c4260b2hding 1, 33924b672db6ee89c9846451bbab23cf18e93c4260b2hding //mpeg2_clip+0x2f, 33934b672db6ee89c9846451bbab23cf18e93c4260b2hding mpeg2_clip+0x3b, 33944b672db6ee89c9846451bbab23cf18e93c4260b2hding &slice_data_buf); 33954b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaCreateBuffer"); 33964b672db6ee89c9846451bbab23cf18e93c4260b2hding 33974b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaBeginPicture(va_dpy, context_id, surface_id); 33984b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaBeginPicture"); 33994b672db6ee89c9846451bbab23cf18e93c4260b2hding 34004b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaRenderPicture(va_dpy,context_id, &pic_param_buf, 1); 34014b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaRenderPicture"); 34024b672db6ee89c9846451bbab23cf18e93c4260b2hding 34034b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaRenderPicture(va_dpy,context_id, &iqmatrix_buf, 1); 34044b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaRenderPicture"); 34054b672db6ee89c9846451bbab23cf18e93c4260b2hding 34064b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaRenderPicture(va_dpy,context_id, &slice_param_buf, 1); 34074b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaRenderPicture"); 34084b672db6ee89c9846451bbab23cf18e93c4260b2hding 34094b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaRenderPicture(va_dpy,context_id, &slice_data_buf, 1); 34104b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaRenderPicture"); 34114b672db6ee89c9846451bbab23cf18e93c4260b2hding 34124b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaEndPicture(va_dpy,context_id); 34134b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaEndPicture"); 34144b672db6ee89c9846451bbab23cf18e93c4260b2hding 34154b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaSyncSurface(va_dpy, surface_id); 34164b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaSyncSurface"); 34174b672db6ee89c9846451bbab23cf18e93c4260b2hding 34184b672db6ee89c9846451bbab23cf18e93c4260b2hding if (putsurface) { 34194b672db6ee89c9846451bbab23cf18e93c4260b2hding#ifdef ANDROID 34204b672db6ee89c9846451bbab23cf18e93c4260b2hding sp<ProcessState> proc(ProcessState::self()); 34214b672db6ee89c9846451bbab23cf18e93c4260b2hding ProcessState::self()->startThreadPool(); 34224b672db6ee89c9846451bbab23cf18e93c4260b2hding 34234b672db6ee89c9846451bbab23cf18e93c4260b2hding printf("Create window0 for thread0\n"); 34244b672db6ee89c9846451bbab23cf18e93c4260b2hding SURFACE_CREATE(client,surface_ctrl,android_surface, android_isurface, WIN_WIDTH, WIN_HEIGHT); 34254b672db6ee89c9846451bbab23cf18e93c4260b2hding 34264b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaPutSurface(va_dpy, surface_id, android_isurface, 34274b672db6ee89c9846451bbab23cf18e93c4260b2hding 0,0,CLIP_WIDTH,CLIP_HEIGHT, 34284b672db6ee89c9846451bbab23cf18e93c4260b2hding 0,0,WIN_WIDTH,WIN_HEIGHT, 34294b672db6ee89c9846451bbab23cf18e93c4260b2hding NULL,0,0); 34304b672db6ee89c9846451bbab23cf18e93c4260b2hding#else 34314b672db6ee89c9846451bbab23cf18e93c4260b2hding Window win; 34324b672db6ee89c9846451bbab23cf18e93c4260b2hding win = XCreateSimpleWindow(x11_display, RootWindow(x11_display, 0), 0, 0, 34334b672db6ee89c9846451bbab23cf18e93c4260b2hding WIN_WIDTH,WIN_HEIGHT, 0, 0, WhitePixel(x11_display, 0)); 34344b672db6ee89c9846451bbab23cf18e93c4260b2hding XMapWindow(x11_display, win); 34354b672db6ee89c9846451bbab23cf18e93c4260b2hding XSync(x11_display, False); 34364b672db6ee89c9846451bbab23cf18e93c4260b2hding#if 0 34374b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaPutSurface(va_dpy, surface_id, win, 34384b672db6ee89c9846451bbab23cf18e93c4260b2hding 0,0,CLIP_WIDTH,CLIP_HEIGHT, 34394b672db6ee89c9846451bbab23cf18e93c4260b2hding 0,0,WIN_WIDTH,WIN_HEIGHT, 34404b672db6ee89c9846451bbab23cf18e93c4260b2hding NULL,0,0); 34414b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 34424b672db6ee89c9846451bbab23cf18e93c4260b2hding image_format.fourcc = VA_FOURCC_NV12; 34434b672db6ee89c9846451bbab23cf18e93c4260b2hding image_format.byte_order = VA_LSB_FIRST; 34444b672db6ee89c9846451bbab23cf18e93c4260b2hding image_format.bits_per_pixel = 12; 34454b672db6ee89c9846451bbab23cf18e93c4260b2hding 34464b672db6ee89c9846451bbab23cf18e93c4260b2hding if( vaCreateImage(va_dpy, &image_format, 34474b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_width * zoom_out,surface_height * zoom_out, 34484b672db6ee89c9846451bbab23cf18e93c4260b2hding &yuv_image) != VA_STATUS_SUCCESS ) 34494b672db6ee89c9846451bbab23cf18e93c4260b2hding printf("vaCreateImage error\n"); 34504b672db6ee89c9846451bbab23cf18e93c4260b2hding 34514b672db6ee89c9846451bbab23cf18e93c4260b2hding zoom_out_surface(va_dpy, surface_id, &zoom_surface_id); 34524b672db6ee89c9846451bbab23cf18e93c4260b2hding 34534b672db6ee89c9846451bbab23cf18e93c4260b2hding if (vaGetImage(va_dpy,zoom_surface_id,0,0, 34544b672db6ee89c9846451bbab23cf18e93c4260b2hding surface_width * zoom_out,surface_height * zoom_out, 34554b672db6ee89c9846451bbab23cf18e93c4260b2hding yuv_image.image_id) != VA_STATUS_SUCCESS) 34564b672db6ee89c9846451bbab23cf18e93c4260b2hding printf("vaGetImage error\n"); 34574b672db6ee89c9846451bbab23cf18e93c4260b2hding unsigned char *image_data = NULL; 34584b672db6ee89c9846451bbab23cf18e93c4260b2hding va_status = vaMapBuffer(va_dpy,yuv_image.buf,(void **)&image_data); 34594b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaMapBuffer()"); 34604b672db6ee89c9846451bbab23cf18e93c4260b2hding 34614b672db6ee89c9846451bbab23cf18e93c4260b2hding FILE * image_fp = fopen("dump.yuv", "wb"); 34624b672db6ee89c9846451bbab23cf18e93c4260b2hding fwrite(image_data, surface_width * zoom_out * surface_height * zoom_out *3/2, 1, image_fp); 34634b672db6ee89c9846451bbab23cf18e93c4260b2hding fclose(image_fp); 34644b672db6ee89c9846451bbab23cf18e93c4260b2hding 34654b672db6ee89c9846451bbab23cf18e93c4260b2hding /*va_status = vaPutSurface(va_dpy, zoom_out>1?zoom_surface_id:surface_id,Drawable(win), 34664b672db6ee89c9846451bbab23cf18e93c4260b2hding 0,0,surface_width * zoom_out,surface_height * zoom_out, 34674b672db6ee89c9846451bbab23cf18e93c4260b2hding 0,0,WIN_WIDTH,WIN_HEIGHT, 34684b672db6ee89c9846451bbab23cf18e93c4260b2hding NULL,0,0);*/ 34694b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 34704b672db6ee89c9846451bbab23cf18e93c4260b2hding CHECK_VASTATUS(va_status, "vaPutSurface"); 34714b672db6ee89c9846451bbab23cf18e93c4260b2hding encode_file(); 34724b672db6ee89c9846451bbab23cf18e93c4260b2hding } 34734b672db6ee89c9846451bbab23cf18e93c4260b2hding printf("press any key to exit\n"); 34744b672db6ee89c9846451bbab23cf18e93c4260b2hding getchar(); 34754b672db6ee89c9846451bbab23cf18e93c4260b2hding 34764b672db6ee89c9846451bbab23cf18e93c4260b2hding vaDestroySurfaces(va_dpy,&surface_id,1); 34774b672db6ee89c9846451bbab23cf18e93c4260b2hding vaDestroyConfig(va_dpy,config_id); 34784b672db6ee89c9846451bbab23cf18e93c4260b2hding vaDestroyContext(va_dpy,context_id); 34794b672db6ee89c9846451bbab23cf18e93c4260b2hding 34804b672db6ee89c9846451bbab23cf18e93c4260b2hding vaTerminate(va_dpy); 34814b672db6ee89c9846451bbab23cf18e93c4260b2hding#ifdef ANDROID 34824b672db6ee89c9846451bbab23cf18e93c4260b2hding free(x11_display); 34834b672db6ee89c9846451bbab23cf18e93c4260b2hding#else 34844b672db6ee89c9846451bbab23cf18e93c4260b2hding //XCloseDisplay(x11_display); 34854b672db6ee89c9846451bbab23cf18e93c4260b2hding#endif 34864b672db6ee89c9846451bbab23cf18e93c4260b2hding 34874b672db6ee89c9846451bbab23cf18e93c4260b2hding return 0; 34884b672db6ee89c9846451bbab23cf18e93c4260b2hding} 3489