Brunobkr/llama.cpp_AlgMor24_github
ΩFFFΣLLIa • llama.cpp • AlgMor24 ██████╗ ███████╗███████╗███████╗██╗ ██╗ ██╗ █████╗ ██╔═══██╗██╔════╝██╔════╝██╔════╝██║ ██║ ██║██╔══██╗ ██║ ██║█████╗ █████╗ █████╗ ██║ ██║ ██║███████║ ██║ ██║██╔══╝ ██╔══╝ ██╔══╝ ██║ ██║ ██║██╔══██║ ╚██████╔╝██║ ██║ ███████╗███████╗███████╗██║██║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝╚═╝ ╚═╝ High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem… See the full description on the dataset page: https://huggingface.co/datasets/Brunobkr/llama.cpp_AlgMor24_github.
03.1k
1#ifndef GGML_COMMON_DECL2 3#if defined(GGML_COMMON_DECL_C)4#include <stdint.h>5 6typedef uint16_t ggml_half;7typedef uint32_t ggml_half2;8 9#define GGML_COMMON_AGGR_U10#define GGML_COMMON_AGGR_S11 12#define GGML_COMMON_DECL13#elif defined(GGML_COMMON_DECL_CPP)14#include <cstdint>15 16typedef uint16_t ggml_half;17typedef uint32_t ggml_half2;18 19// std-c++ allow anonymous unions but some compiler warn on it20#define GGML_COMMON_AGGR_U data21// std-c++ do not allow it.22#define GGML_COMMON_AGGR_S data23 24#define GGML_COMMON_DECL25#elif defined(GGML_COMMON_DECL_METAL)26#include <metal_stdlib>27 28typedef half ggml_half;29typedef half2 ggml_half2;30 31#define GGML_COMMON_AGGR_U32#define GGML_COMMON_AGGR_S33 34#define GGML_COMMON_DECL35#elif defined(GGML_COMMON_DECL_CUDA)36#if defined(GGML_COMMON_DECL_MUSA)37#include <musa_fp16.h>38#else39#include <cuda_fp16.h>40#endif41#include <cstdint>42 43typedef half ggml_half;44typedef half2 ggml_half2;45 46#define GGML_COMMON_AGGR_U47#define GGML_COMMON_AGGR_S data48 49#define GGML_COMMON_DECL50#elif defined(GGML_COMMON_DECL_HIP)51#include <hip/hip_fp16.h>52#include <cstdint>53 54typedef half ggml_half;55typedef half2 ggml_half2;56 57#define GGML_COMMON_AGGR_U58#define GGML_COMMON_AGGR_S data59 60#define GGML_COMMON_DECL61#elif defined(GGML_COMMON_DECL_SYCL)62#include <sycl/half_type.hpp>63#include <cstdint>64 65typedef sycl::half ggml_half;66typedef sycl::half2 ggml_half2;67 68#define GGML_COMMON_AGGR_U69#define GGML_COMMON_AGGR_S data70 71#define GGML_COMMON_DECL72#endif73 74#if defined(GGML_COMMON_DECL)75 76#ifndef __cplusplus77#ifndef static_assert78#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201100L)79#define static_assert(cond, msg) _Static_assert(cond, msg)80#else81#define static_assert(cond, msg) struct global_scope_noop_trick82#endif83#endif84#endif // __cplusplus85 86// QK = number of values after dequantization87// QK_K = super-block size88 89#define QK_K 25690#define K_SCALE_SIZE 1291 92#if defined(GGML_COMMON_DECL_CUDA) || defined(GGML_COMMON_DECL_HIP) || defined(GGML_COMMON_DECL_SYCL)93// QR = QK / number of values before dequantization94// QI = number of 32 bit integers before dequantization95 96#define QI1_0 (QK1_0 / 32)97#define QR1_0 198 99#define QI2_0 (QK2_0 / 32)100#define QR2_0 1101 102 103#define QI4_0 (QK4_0 / (4 * QR4_0))104#define QR4_0 2105 106#define QI4_1 (QK4_1 / (4 * QR4_1))107#define QR4_1 2108 109#define QI_MXFP4 (QK_MXFP4 / (4 * QR_MXFP4))110#define QR_MXFP4 2111 112#define QI_NVFP4 (QK_NVFP4 / (4 * QR_NVFP4))113#define QR_NVFP4 2114 115#define QI5_0 (QK5_0 / (4 * QR5_0))116#define QR5_0 2117 118#define QI5_1 (QK5_1 / (4 * QR5_1))119#define QR5_1 2120 121#define QI8_0 (QK8_0 / (4 * QR8_0))122#define QR8_0 1123 124#define QI8_1 (QK8_1 / (4 * QR8_1))125#define QR8_1 1126 127#define QI2_K (QK_K / (4*QR2_K))128#define QR2_K 4129 130#define QI3_K (QK_K / (4*QR3_K))131#define QR3_K 4132 133#define QI4_K (QK_K / (4*QR4_K))134#define QR4_K 2135 136#define QI5_K (QK_K / (4*QR5_K))137#define QR5_K 2138 139#define QI6_K (QK_K / (4*QR6_K))140#define QR6_K 2141 142#define QI2_XXS (QK_K / (4*QR2_XXS))143#define QR2_XXS 4144 145#define QI2_XS (QK_K / (4*QR2_XS))146#define QR2_XS 4147 148#define QI2_S (QK_K / (4*QR2_S))149#define QR2_S 4150 151#define QI3_XXS (QK_K / (4*QR3_XXS))152#define QR3_XXS 4153 154#define QI3_XS (QK_K / (4*QR3_XS))155#define QR3_XS 4156 157#define QI1_S (QK_K / (4*QR1_S))158#define QR1_S 8159 160#define QI1_M (QK_K / (4*QR1_M))161#define QR1_M 8162 163#define QI4_NL (QK4_NL / (4*QR4_NL))164#define QR4_NL 2165 166#define QI4_XS (QK_K / (4*QR4_XS))167#define QR4_XS 2168 169#define QI3_S (QK_K / (4*QR3_S))170#define QR3_S 4171 172#endif // GGML_COMMON_DECL_CUDA || GGML_COMMON_DECL_HIP173 174#ifdef _MSC_VER175#define GGML_EXTENSION176#else // _MSC_VER177#define GGML_EXTENSION __extension__178#endif // _MSC_VER179 180#define QK1_0 128181typedef struct {182 ggml_half d; // delta183 uint8_t qs[QK1_0 / 8]; // bits / quants184} block_q1_0;185static_assert(sizeof(block_q1_0) == sizeof(ggml_half) + QK1_0 / 8, "wrong q1_0 block size/padding");186 187#define QK2_0 64188typedef struct {189 ggml_half d; // delta (scale)190 uint8_t qs[QK2_0 / 4]; // 2 bits per element191} block_q2_0;192static_assert(sizeof(block_q2_0) == sizeof(ggml_half) + QK2_0 / 4, "wrong q2_0 block size/padding");193 194#define QK4_0 32195typedef struct {196 ggml_half d; // delta197 uint8_t qs[QK4_0 / 2]; // nibbles / quants198} block_q4_0;199static_assert(sizeof(block_q4_0) == sizeof(ggml_half) + QK4_0 / 2, "wrong q4_0 block size/padding");200 201#define QK4_1 32202typedef struct {203 GGML_EXTENSION union {204 struct {205 ggml_half d; // delta206 ggml_half m; // min207 } GGML_COMMON_AGGR_S;208 ggml_half2 dm;209 } GGML_COMMON_AGGR_U;210 uint8_t qs[QK4_1 / 2]; // nibbles / quants211} block_q4_1;212static_assert(sizeof(block_q4_1) == 2 * sizeof(ggml_half) + QK4_1 / 2, "wrong q4_1 block size/padding");213 214#define QK_MXFP4 32215typedef struct {216 uint8_t e; // E8M0217 uint8_t qs[QK_MXFP4/2];218} block_mxfp4;219static_assert(sizeof(block_mxfp4) == sizeof(uint8_t) + QK_MXFP4/2, "wrong mxfp4 block size/padding");220 221#define QK_NVFP4 64222#define QK_NVFP4_SUB 16 // sub-block size for per-group scales223typedef struct {224 uint8_t d[QK_NVFP4/QK_NVFP4_SUB]; // UE4M3 scales (4 bytes, one per 16-element sub-block)225 uint8_t qs[QK_NVFP4/2]; // packed 4-bit E2M1 values (32 bytes)226} block_nvfp4;227static_assert(sizeof(block_nvfp4) == sizeof(uint8_t)*(QK_NVFP4/QK_NVFP4_SUB) + QK_NVFP4/2, "wrong nvfp4 block size/padding");228 229#define QK5_0 32230typedef struct {231 ggml_half d; // delta232 uint8_t qh[4]; // 5-th bit of quants233 uint8_t qs[QK5_0 / 2]; // nibbles / quants234} block_q5_0;235static_assert(sizeof(block_q5_0) == sizeof(ggml_half) + sizeof(uint32_t) + QK5_0 / 2, "wrong q5_0 block size/padding");236 237#define QK5_1 32238typedef struct {239 GGML_EXTENSION union {240 struct {241 ggml_half d; // delta242 ggml_half m; // min243 } GGML_COMMON_AGGR_S;244 ggml_half2 dm;245 } GGML_COMMON_AGGR_U;246 uint8_t qh[4]; // 5-th bit of quants247 uint8_t qs[QK5_1 / 2]; // nibbles / quants248} block_q5_1;249static_assert(sizeof(block_q5_1) == 2 * sizeof(ggml_half) + sizeof(uint32_t) + QK5_1 / 2, "wrong q5_1 block size/padding");250 251#define QK8_0 32252typedef struct {253 ggml_half d; // delta254 int8_t qs[QK8_0]; // quants255} block_q8_0;256static_assert(sizeof(block_q8_0) == sizeof(ggml_half) + QK8_0, "wrong q8_0 block size/padding");257 258#define QK8_1 32259typedef struct {260 GGML_EXTENSION union {261 struct {262 ggml_half d; // delta263 ggml_half s; // d * sum(qs[i])264 } GGML_COMMON_AGGR_S;265 ggml_half2 ds;266 } GGML_COMMON_AGGR_U;267 int8_t qs[QK8_1]; // quants268} block_q8_1;269static_assert(sizeof(block_q8_1) == 2*sizeof(ggml_half) + QK8_1, "wrong q8_1 block size/padding");270 271//272// Ternary quantization273//274 275// 1.6875 bpw276typedef struct {277 uint8_t qs[(QK_K - 4 * QK_K / 64) / 5]; // 5 elements per byte (3^5 = 243 < 256)278 uint8_t qh[QK_K/64]; // 4 elements per byte279 ggml_half d;280} block_tq1_0;281static_assert(sizeof(block_tq1_0) == sizeof(ggml_half) + QK_K / 64 + (QK_K - 4 * QK_K / 64) / 5, "wrong tq1_0 block size/padding");282 283// 2.0625 bpw284typedef struct {285 uint8_t qs[QK_K/4]; // 2 bits per element286 ggml_half d;287} block_tq2_0;288static_assert(sizeof(block_tq2_0) == sizeof(ggml_half) + QK_K / 4, "wrong tq2_0 block size/padding");289 290//291// Super-block quantization structures292//293 294// 2-bit quantization295// weight is represented as x = a * q + b296// 16 blocks of 16 elements each297// Effectively 2.625 bits per weight298typedef struct {299 uint8_t scales[QK_K/16]; // scales and mins, quantized with 4 bits300 uint8_t qs[QK_K/4]; // quants301 GGML_EXTENSION union {302 struct {303 ggml_half d; // super-block scale for quantized scales304 ggml_half dmin; // super-block scale for quantized mins305 } GGML_COMMON_AGGR_S;306 ggml_half2 dm;307 } GGML_COMMON_AGGR_U;308} block_q2_K;309static_assert(sizeof(block_q2_K) == 2*sizeof(ggml_half) + QK_K/16 + QK_K/4, "wrong q2_K block size/padding");310 311// 3-bit quantization312// weight is represented as x = a * q313// 16 blocks of 16 elements each314// Effectively 3.4375 bits per weight315typedef struct {316 uint8_t hmask[QK_K/8]; // quants - high bit317 uint8_t qs[QK_K/4]; // quants - low 2 bits318 uint8_t scales[12]; // scales, quantized with 6 bits319 ggml_half d; // super-block scale320} block_q3_K;321static_assert(sizeof(block_q3_K) == sizeof(ggml_half) + QK_K / 4 + QK_K / 8 + 12, "wrong q3_K block size/padding");322 323// 4-bit quantization324// 8 blocks of 32 elements each325// weight is represented as x = a * q + b326// Effectively 4.5 bits per weight327typedef struct {328 GGML_EXTENSION union {329 struct {330 ggml_half d; // super-block scale for quantized scales331 ggml_half dmin; // super-block scale for quantized mins332 } GGML_COMMON_AGGR_S;333 ggml_half2 dm;334 } GGML_COMMON_AGGR_U;335 uint8_t scales[K_SCALE_SIZE]; // scales and mins, quantized with 6 bits336 uint8_t qs[QK_K/2]; // 4--bit quants337} block_q4_K;338static_assert(sizeof(block_q4_K) == 2*sizeof(ggml_half) + K_SCALE_SIZE + QK_K/2, "wrong q4_K block size/padding");339 340// 5-bit quantization341// 8 blocks of 32 elements each342// weight is represented as x = a * q + b343// Effectively 5.5 bits per weight344typedef struct {345 GGML_EXTENSION union {346 struct {347 ggml_half d; // super-block scale for quantized scales348 ggml_half dmin; // super-block scale for quantized mins349 } GGML_COMMON_AGGR_S;350 ggml_half2 dm;351 } GGML_COMMON_AGGR_U;352 uint8_t scales[K_SCALE_SIZE]; // scales and mins, quantized with 6 bits353 uint8_t qh[QK_K/8]; // quants, high bit354 uint8_t qs[QK_K/2]; // quants, low 4 bits355} block_q5_K;356static_assert(sizeof(block_q5_K) == 2*sizeof(ggml_half) + K_SCALE_SIZE + QK_K/2 + QK_K/8, "wrong q5_K block size/padding");357 358// 6-bit quantization359// weight is represented as x = a * q360// 16 blocks of 16 elements each361// Effectively 6.5625 bits per weight362typedef struct {363 uint8_t ql[QK_K/2]; // quants, lower 4 bits364 uint8_t qh[QK_K/4]; // quants, upper 2 bits365 int8_t scales[QK_K/16]; // scales, quantized with 8 bits366 ggml_half d; // super-block scale367} block_q6_K;368static_assert(sizeof(block_q6_K) == sizeof(ggml_half) + QK_K / 16 + 3*QK_K/4, "wrong q6_K block size/padding");369 370// This is only used for intermediate quantization and dot products371typedef struct {372 float d; // delta373 int8_t qs[QK_K]; // quants374 int16_t bsums[QK_K/16]; // sum of quants in groups of 16375} block_q8_K;376static_assert(sizeof(block_q8_K) == sizeof(float) + QK_K + QK_K/16*sizeof(int16_t), "wrong q8_K block size/padding");377 378// (Almost) "true" 2-bit quantization.379// Due to the need to use blocks as per ggml design, it ends up using380// 2.0625 bpw because of the 16-bit scale for each block of 256.381typedef struct {382 ggml_half d;383 uint16_t qs[QK_K/8];384} block_iq2_xxs;385static_assert(sizeof(block_iq2_xxs) == sizeof(ggml_half) + QK_K/8*sizeof(uint16_t), "wrong iq2_xxs block size/padding");386 387// 2.3125 bpw quants388typedef struct {389 ggml_half d;390 uint16_t qs[QK_K/8];391 uint8_t scales[QK_K/32];392} block_iq2_xs;393static_assert(sizeof(block_iq2_xs) == sizeof(ggml_half) + QK_K/8*sizeof(uint16_t) + QK_K/32, "wrong iq2_xs block size/padding");394 395// 2.5625 bpw quants396typedef struct {397 ggml_half d;398 uint8_t qs[QK_K/4];399 uint8_t qh[QK_K/32];400 uint8_t scales[QK_K/32];401} block_iq2_s;402static_assert(sizeof(block_iq2_s) == sizeof(ggml_half) + QK_K/4 + QK_K/16, "wrong iq2_s block size/padding");403 404// (Almost) "true" 3-bit quantization.405// Due to the need to use blocks as per ggml design, it ends up using406// 3.0625 bpw because of the 16-bit scale for each block of 256.407typedef struct {408 ggml_half d;409 uint8_t qs[3*QK_K/8];410} block_iq3_xxs;411static_assert(sizeof(block_iq3_xxs) == sizeof(ggml_half) + 3*(QK_K/8), "wrong iq3_xxs block size/padding");412 413// 3.4375 bpw414#define IQ3S_N_SCALE QK_K/64415typedef struct {416 ggml_half d;417 uint8_t qs[QK_K/4];418 uint8_t qh[QK_K/32];419 uint8_t signs[QK_K/8];420 uint8_t scales[IQ3S_N_SCALE];421} block_iq3_s;422static_assert(sizeof(block_iq3_s) == sizeof(ggml_half) + 13*(QK_K/32) + IQ3S_N_SCALE, "wrong iq3_s block size/padding");423 424// 1.5625 bpw425typedef struct {426 ggml_half d;427 uint8_t qs[QK_K/8];428 uint16_t qh[QK_K/32];429} block_iq1_s;430static_assert(sizeof(block_iq1_s) == sizeof(ggml_half) + QK_K/8 + QK_K/16, "wrong iq1_s block size/padding");431 432// 1.75 bpw433typedef struct {434 uint8_t qs[QK_K/8]; // grid index, low 8 bits435 uint8_t qh[QK_K/16]; // grid index, high 3 bits + grid shift bit (for two groups of 8)436 uint8_t scales[QK_K/32]; // 3-bit block scales (4-bit if QK_K == 64)437} block_iq1_m;438static_assert(sizeof(block_iq1_m) == QK_K/8 + QK_K/16 + QK_K/32, "wrong iq1_m block size/padding");439 440// Used by IQ1_M quants441typedef union {442 ggml_half f16;443 uint16_t u16;444} iq1m_scale_t;445 446// Non-linear quants447#define QK4_NL 32448typedef struct {449 ggml_half d;450 uint8_t qs[QK4_NL/2];451} block_iq4_nl;452static_assert(sizeof(block_iq4_nl) == sizeof(ggml_half) + QK4_NL/2, "wrong iq4_nl block size/padding");453 454typedef struct {455 ggml_half d;456 uint16_t scales_h;457 uint8_t scales_l[QK_K/64];458 uint8_t qs[QK_K/2];459} block_iq4_xs;460static_assert(sizeof(block_iq4_xs) == sizeof(ggml_half) + sizeof(uint16_t) + QK_K/64 + QK_K/2, "wrong iq4_xs block size/padding");461 462#endif // GGML_COMMON_DECL463#endif // GGML_COMMON_DECL464 465////////////////////////////////////////////////////////////////////////////////466 467#ifndef GGML_COMMON_IMPL468 469#if defined(GGML_COMMON_IMPL_C)470#include <stdint.h>471 472#define GGML_TABLE_BEGIN(type, name, size) static const type name[size] = {473#define GGML_TABLE_END() };474 475#define GGML_COMMON_IMPL476#elif defined(GGML_COMMON_IMPL_CPP)477#include <cstdint>478 479#define GGML_TABLE_BEGIN(type, name, size) static const type name[size] = {480#define GGML_TABLE_END() };481 482#define GGML_COMMON_IMPL483#elif defined(GGML_COMMON_IMPL_METAL)484#include <metal_stdlib>485 486#define GGML_TABLE_BEGIN(type, name, size) static const constant type name[size] = {487#define GGML_TABLE_END() };488 489#define GGML_COMMON_IMPL490#elif defined(GGML_COMMON_IMPL_CUDA) || defined(GGML_COMMON_IMPL_HIP) || defined(GGML_COMMON_IMPL_MUSA)491#include <cstdint>492 493#define GGML_TABLE_BEGIN(type, name, size) static const __device__ type name[size] = {494#define GGML_TABLE_END() };495 496#define GGML_COMMON_IMPL497#elif defined(GGML_COMMON_IMPL_SYCL)498 499#include <cstdint>500 501#define GGML_TABLE_BEGIN(type, name, size) static const type name[size] = {502#define GGML_TABLE_END() };503 504#define GGML_COMMON_IMPL505#endif506 507#if defined(GGML_COMMON_IMPL)508 509GGML_TABLE_BEGIN(uint8_t, kmask_iq2xs, 8)510 1, 2, 4, 8, 16, 32, 64, 128511GGML_TABLE_END()512 513GGML_TABLE_BEGIN(uint8_t, ksigns_iq2xs, 128)514 0, 129, 130, 3, 132, 5, 6, 135, 136, 9, 10, 139, 12, 141, 142, 15,515 144, 17, 18, 147, 20, 149, 150, 23, 24, 153, 154, 27, 156, 29, 30, 159,516 160, 33, 34, 163, 36, 165, 166, 39, 40, 169, 170, 43, 172, 45, 46, 175,517 48, 177, 178, 51, 180, 53, 54, 183, 184, 57, 58, 187, 60, 189, 190, 63,518 192, 65, 66, 195, 68, 197, 198, 71, 72, 201, 202, 75, 204, 77, 78, 207,519 80, 209, 210, 83, 212, 85, 86, 215, 216, 89, 90, 219, 92, 221, 222, 95,520 96, 225, 226, 99, 228, 101, 102, 231, 232, 105, 106, 235, 108, 237, 238, 111,521 240, 113, 114, 243, 116, 245, 246, 119, 120, 249, 250, 123, 252, 125, 126, 255,522GGML_TABLE_END()523 524GGML_TABLE_BEGIN(uint64_t, ksigns64, 128)525 0x0000000000000000, 0xff000000000000ff, 0xff0000000000ff00, 0x000000000000ffff,526 0xff00000000ff0000, 0x0000000000ff00ff, 0x0000000000ffff00, 0xff00000000ffffff,527 0xff000000ff000000, 0x00000000ff0000ff, 0x00000000ff00ff00, 0xff000000ff00ffff,528 0x00000000ffff0000, 0xff000000ffff00ff, 0xff000000ffffff00, 0x00000000ffffffff,529 0xff0000ff00000000, 0x000000ff000000ff, 0x000000ff0000ff00, 0xff0000ff0000ffff,530 0x000000ff00ff0000, 0xff0000ff00ff00ff, 0xff0000ff00ffff00, 0x000000ff00ffffff,531 0x000000ffff000000, 0xff0000ffff0000ff, 0xff0000ffff00ff00, 0x000000ffff00ffff,532 0xff0000ffffff0000, 0x000000ffffff00ff, 0x000000ffffffff00, 0xff0000ffffffffff,533 0xff00ff0000000000, 0x0000ff00000000ff, 0x0000ff000000ff00, 0xff00ff000000ffff,534 0x0000ff0000ff0000, 0xff00ff0000ff00ff, 0xff00ff0000ffff00, 0x0000ff0000ffffff,535 0x0000ff00ff000000, 0xff00ff00ff0000ff, 0xff00ff00ff00ff00, 0x0000ff00ff00ffff,536 0xff00ff00ffff0000, 0x0000ff00ffff00ff, 0x0000ff00ffffff00, 0xff00ff00ffffffff,537 0x0000ffff00000000, 0xff00ffff000000ff, 0xff00ffff0000ff00, 0x0000ffff0000ffff,538 0xff00ffff00ff0000, 0x0000ffff00ff00ff, 0x0000ffff00ffff00, 0xff00ffff00ffffff,539 0xff00ffffff000000, 0x0000ffffff0000ff, 0x0000ffffff00ff00, 0xff00ffffff00ffff,540 0x0000ffffffff0000, 0xff00ffffffff00ff, 0xff00ffffffffff00, 0x0000ffffffffffff,541 0xffff000000000000, 0x00ff0000000000ff, 0x00ff00000000ff00, 0xffff00000000ffff,542 0x00ff000000ff0000, 0xffff000000ff00ff, 0xffff000000ffff00, 0x00ff000000ffffff,543 0x00ff0000ff000000, 0xffff0000ff0000ff, 0xffff0000ff00ff00, 0x00ff0000ff00ffff,544 0xffff0000ffff0000, 0x00ff0000ffff00ff, 0x00ff0000ffffff00, 0xffff0000ffffffff,545 0x00ff00ff00000000, 0xffff00ff000000ff, 0xffff00ff0000ff00, 0x00ff00ff0000ffff,546 0xffff00ff00ff0000, 0x00ff00ff00ff00ff, 0x00ff00ff00ffff00, 0xffff00ff00ffffff,547 0xffff00ffff000000, 0x00ff00ffff0000ff, 0x00ff00ffff00ff00, 0xffff00ffff00ffff,548 0x00ff00ffffff0000, 0xffff00ffffff00ff, 0xffff00ffffffff00, 0x00ff00ffffffffff,549 0x00ffff0000000000, 0xffffff00000000ff, 0xffffff000000ff00, 0x00ffff000000ffff,550 0xffffff0000ff0000, 0x00ffff0000ff00ff, 0x00ffff0000ffff00, 0xffffff0000ffffff,551 0xffffff00ff000000, 0x00ffff00ff0000ff, 0x00ffff00ff00ff00, 0xffffff00ff00ffff,552 0x00ffff00ffff0000, 0xffffff00ffff00ff, 0xffffff00ffffff00, 0x00ffff00ffffffff,553 0xffffffff00000000, 0x00ffffff000000ff, 0x00ffffff0000ff00, 0xffffffff0000ffff,554 0x00ffffff00ff0000, 0xffffffff00ff00ff, 0xffffffff00ffff00, 0x00ffffff00ffffff,555 0x00ffffffff000000, 0xffffffffff0000ff, 0xffffffffff00ff00, 0x00ffffffff00ffff,556 0xffffffffffff0000, 0x00ffffffffff00ff, 0x00ffffffffffff00, 0xffffffffffffffff,557GGML_TABLE_END()558 559 560GGML_TABLE_BEGIN(uint64_t, iq2xxs_grid, 256)561 0x0808080808080808, 0x080808080808082b, 0x0808080808081919, 0x0808080808082b08,562 0x0808080808082b2b, 0x0808080808190819, 0x0808080808191908, 0x08080808082b0808,563 0x08080808082b082b, 0x08080808082b2b08, 0x08080808082b2b2b, 0x0808080819080819,564 0x0808080819081908, 0x0808080819190808, 0x0808080819192b08, 0x08080808192b0819,565 0x08080808192b1908, 0x080808082b080808, 0x080808082b08082b, 0x080808082b082b2b,566 0x080808082b2b082b, 0x0808081908080819, 0x0808081908081908, 0x0808081908190808,567 0x0808081908191919, 0x0808081919080808, 0x080808192b081908, 0x080808192b192b08,568 0x0808082b08080808, 0x0808082b0808082b, 0x0808082b082b082b, 0x0808082b2b08082b,569 0x0808190808080819, 0x0808190808081908, 0x0808190808190808, 0x08081908082b0819,570 0x08081908082b1908, 0x0808190819080808, 0x080819081908082b, 0x0808190819082b08,571 0x08081908192b0808, 0x080819082b080819, 0x080819082b081908, 0x080819082b190808,572 0x080819082b2b1908, 0x0808191908080808, 0x080819190808082b, 0x0808191908082b08,573 0x08081919082b0808, 0x080819191908192b, 0x08081919192b2b19, 0x080819192b080808,574 0x080819192b190819, 0x0808192b08082b19, 0x0808192b08190808, 0x0808192b19080808,575 0x0808192b2b081908, 0x0808192b2b2b1908, 0x08082b0808080808, 0x08082b0808081919,576 0x08082b0808082b08, 0x08082b0808191908, 0x08082b08082b2b08, 0x08082b0819080819,577 0x08082b0819081908, 0x08082b0819190808, 0x08082b081919082b, 0x08082b082b082b08,578 0x08082b1908081908, 0x08082b1919080808, 0x08082b2b0808082b, 0x08082b2b08191908,579 0x0819080808080819, 0x0819080808081908, 0x0819080808190808, 0x08190808082b0819,580 0x0819080819080808, 0x08190808192b0808, 0x081908082b081908, 0x081908082b190808,581 0x081908082b191919, 0x0819081908080808, 0x0819081908082b08, 0x08190819082b0808,582 0x0819081919190808, 0x0819081919192b2b, 0x081908192b080808, 0x0819082b082b1908,583 0x0819082b19081919, 0x0819190808080808, 0x0819190808082b08, 0x08191908082b0808,584 0x08191908082b1919, 0x0819190819082b19, 0x081919082b080808, 0x0819191908192b08,585 0x08191919192b082b, 0x0819192b08080808, 0x0819192b0819192b, 0x08192b0808080819,586 0x08192b0808081908, 0x08192b0808190808, 0x08192b0819080808, 0x08192b082b080819,587 0x08192b1908080808, 0x08192b1908081919, 0x08192b192b2b0808, 0x08192b2b19190819,588 0x082b080808080808, 0x082b08080808082b, 0x082b080808082b2b, 0x082b080819081908,589 0x082b0808192b0819, 0x082b08082b080808, 0x082b08082b08082b, 0x082b0819082b2b19,590 0x082b081919082b08, 0x082b082b08080808, 0x082b082b0808082b, 0x082b190808080819,591 0x082b190808081908, 0x082b190808190808, 0x082b190819080808, 0x082b19081919192b,592 0x082b191908080808, 0x082b191919080819, 0x082b1919192b1908, 0x082b192b2b190808,593 0x082b2b0808082b08, 0x082b2b08082b0808, 0x082b2b082b191908, 0x082b2b2b19081908,594 0x1908080808080819, 0x1908080808081908, 0x1908080808190808, 0x1908080808192b08,595 0x19080808082b0819, 0x19080808082b1908, 0x1908080819080808, 0x1908080819082b08,596 0x190808081919192b, 0x19080808192b0808, 0x190808082b080819, 0x190808082b081908,597 0x190808082b190808, 0x1908081908080808, 0x19080819082b0808, 0x19080819192b0819,598 0x190808192b080808, 0x190808192b081919, 0x1908082b08080819, 0x1908082b08190808,599 0x1908082b19082b08, 0x1908082b1919192b, 0x1908082b192b2b08, 0x1908190808080808,600 0x1908190808082b08, 0x19081908082b0808, 0x190819082b080808, 0x190819082b192b19,601 0x190819190819082b, 0x19081919082b1908, 0x1908192b08080808, 0x19082b0808080819,602 0x19082b0808081908, 0x19082b0808190808, 0x19082b0819080808, 0x19082b0819081919,603 0x19082b1908080808, 0x19082b1919192b08, 0x19082b19192b0819, 0x19082b192b08082b,604 0x19082b2b19081919, 0x19082b2b2b190808, 0x1919080808080808, 0x1919080808082b08,605 0x1919080808190819, 0x1919080808192b19, 0x19190808082b0808, 0x191908082b080808,606 0x191908082b082b08, 0x1919081908081908, 0x191908191908082b, 0x191908192b2b1908,607 0x1919082b2b190819, 0x191919082b190808, 0x191919082b19082b, 0x1919191908082b2b,608 0x1919192b08080819, 0x1919192b19191908, 0x19192b0808080808, 0x19192b0808190819,609 0x19192b0808192b19, 0x19192b08192b1908, 0x19192b1919080808, 0x19192b2b08082b08,610 0x192b080808081908, 0x192b080808190808, 0x192b080819080808, 0x192b0808192b2b08,611 0x192b081908080808, 0x192b081919191919, 0x192b082b08192b08, 0x192b082b192b0808,612 0x192b190808080808, 0x192b190808081919, 0x192b191908190808, 0x192b19190819082b,613 0x192b19192b081908, 0x192b2b081908082b, 0x2b08080808080808, 0x2b0808080808082b,614 0x2b08080808082b2b, 0x2b08080819080819, 0x2b0808082b08082b, 0x2b08081908081908,615 0x2b08081908192b08, 0x2b08081919080808, 0x2b08082b08190819, 0x2b08190808080819,616 0x2b08190808081908, 0x2b08190808190808, 0x2b08190808191919, 0x2b08190819080808,617 0x2b081908192b0808, 0x2b08191908080808, 0x2b0819191908192b, 0x2b0819192b191908,618 0x2b08192b08082b19, 0x2b08192b19080808, 0x2b08192b192b0808, 0x2b082b080808082b,619 0x2b082b1908081908, 0x2b082b2b08190819, 0x2b19080808081908, 0x2b19080808190808,620 0x2b190808082b1908, 0x2b19080819080808, 0x2b1908082b2b0819, 0x2b1908190819192b,621 0x2b1908192b080808, 0x2b19082b19081919, 0x2b19190808080808, 0x2b191908082b082b,622 0x2b19190819081908, 0x2b19191919190819, 0x2b192b082b080819, 0x2b192b19082b0808,623 0x2b2b08080808082b, 0x2b2b080819190808, 0x2b2b08082b081919, 0x2b2b081908082b19,624 0x2b2b082b08080808, 0x2b2b190808192b08, 0x2b2b2b0819190808, 0x2b2b2b1908081908,625GGML_TABLE_END()626 627GGML_TABLE_BEGIN(uint64_t, iq2xs_grid, 512)628 0x0808080808080808, 0x080808080808082b, 0x0808080808081919, 0x0808080808082b08,629 0x0808080808082b2b, 0x0808080808190819, 0x0808080808191908, 0x080808080819192b,630 0x0808080808192b19, 0x08080808082b0808, 0x08080808082b082b, 0x08080808082b1919,631 0x08080808082b2b08, 0x0808080819080819, 0x0808080819081908, 0x080808081908192b,632 0x0808080819082b19, 0x0808080819190808, 0x080808081919082b, 0x0808080819191919,633 0x0808080819192b08, 0x08080808192b0819, 0x08080808192b1908, 0x080808082b080808,634 0x080808082b08082b, 0x080808082b081919, 0x080808082b082b08, 0x080808082b190819,635 0x080808082b191908, 0x080808082b192b19, 0x080808082b2b0808, 0x0808081908080819,636 0x0808081908081908, 0x080808190808192b, 0x0808081908082b19, 0x0808081908190808,637 0x080808190819082b, 0x0808081908191919, 0x0808081908192b08, 0x0808081908192b2b,638 0x08080819082b0819, 0x08080819082b1908, 0x0808081919080808, 0x080808191908082b,639 0x0808081919081919, 0x0808081919082b08, 0x0808081919190819, 0x0808081919191908,640 0x08080819192b0808, 0x08080819192b2b08, 0x080808192b080819, 0x080808192b081908,641 0x080808192b190808, 0x0808082b08080808, 0x0808082b0808082b, 0x0808082b08081919,642 0x0808082b08082b08, 0x0808082b08190819, 0x0808082b08191908, 0x0808082b082b0808,643 0x0808082b19080819, 0x0808082b19081908, 0x0808082b19190808, 0x0808082b19191919,644 0x0808082b2b080808, 0x0808082b2b082b2b, 0x0808190808080819, 0x0808190808081908,645 0x080819080808192b, 0x0808190808082b19, 0x0808190808190808, 0x080819080819082b,646 0x0808190808191919, 0x0808190808192b08, 0x08081908082b0819, 0x08081908082b1908,647 0x0808190819080808, 0x080819081908082b, 0x0808190819081919, 0x0808190819082b08,648 0x0808190819190819, 0x0808190819191908, 0x080819081919192b, 0x08081908192b0808,649 0x080819082b080819, 0x080819082b081908, 0x080819082b190808, 0x0808191908080808,650 0x080819190808082b, 0x0808191908081919, 0x0808191908082b08, 0x0808191908190819,651 0x0808191908191908, 0x08081919082b0808, 0x0808191919080819, 0x0808191919081908,652 0x0808191919190808, 0x08081919192b0819, 0x080819192b080808, 0x0808192b08080819,653 0x0808192b08081908, 0x0808192b08190808, 0x0808192b082b192b, 0x0808192b19080808,654 0x0808192b1908082b, 0x0808192b2b081908, 0x08082b0808080808, 0x08082b080808082b,655 0x08082b0808081919, 0x08082b0808082b08, 0x08082b0808082b2b, 0x08082b0808190819,656 0x08082b0808191908, 0x08082b08082b0808, 0x08082b08082b1919, 0x08082b0819080819,657 0x08082b0819081908, 0x08082b0819190808, 0x08082b0819192b08, 0x08082b082b080808,658 0x08082b082b2b0808, 0x08082b082b2b2b2b, 0x08082b1908080819, 0x08082b1908081908,659 0x08082b1908190808, 0x08082b1919080808, 0x08082b192b080819, 0x08082b192b082b19,660 0x08082b2b08080808, 0x08082b2b082b0808, 0x08082b2b082b2b08, 0x08082b2b2b19192b,661 0x08082b2b2b2b0808, 0x0819080808080819, 0x0819080808081908, 0x081908080808192b,662 0x0819080808082b19, 0x0819080808190808, 0x081908080819082b, 0x0819080808191919,663 0x0819080808192b08, 0x08190808082b0819, 0x08190808082b1908, 0x0819080819080808,664 0x081908081908082b, 0x0819080819081919, 0x0819080819082b08, 0x0819080819190819,665 0x0819080819191908, 0x08190808192b0808, 0x08190808192b2b2b, 0x081908082b080819,666 0x081908082b081908, 0x081908082b190808, 0x0819081908080808, 0x081908190808082b,667 0x0819081908081919, 0x0819081908082b08, 0x0819081908190819, 0x0819081908191908,668 0x08190819082b0808, 0x0819081919080819, 0x0819081919081908, 0x0819081919190808,669 0x081908192b080808, 0x081908192b191908, 0x081908192b19192b, 0x0819082b08080819,670 0x0819082b08081908, 0x0819082b0808192b, 0x0819082b08190808, 0x0819082b19080808,671 0x0819082b192b0808, 0x0819190808080808, 0x081919080808082b, 0x0819190808081919,672 0x0819190808082b08, 0x0819190808190819, 0x0819190808191908, 0x08191908082b0808,673 0x0819190819080819, 0x0819190819081908, 0x0819190819082b19, 0x0819190819190808,674 0x08191908192b1908, 0x081919082b080808, 0x0819191908080819, 0x0819191908081908,675 0x0819191908190808, 0x0819191919080808, 0x0819192b08080808, 0x0819192b08191908,676 0x0819192b19082b19, 0x08192b0808080819, 0x08192b0808081908, 0x08192b0808190808,677 0x08192b080819082b, 0x08192b0819080808, 0x08192b0819191908, 0x08192b082b08192b,678 0x08192b1908080808, 0x08192b1908081919, 0x08192b19192b192b, 0x08192b2b19190819,679 0x08192b2b2b2b2b19, 0x082b080808080808, 0x082b08080808082b, 0x082b080808081919,680 0x082b080808082b08, 0x082b080808082b2b, 0x082b080808190819, 0x082b080808191908,681 0x082b0808082b0808, 0x082b080819080819, 0x082b080819081908, 0x082b080819190808,682 0x082b08082b080808, 0x082b08082b2b0808, 0x082b081908080819, 0x082b081908081908,683 0x082b081908190808, 0x082b081919080808, 0x082b081919082b08, 0x082b0819192b1919,684 0x082b082b08080808, 0x082b082b082b082b, 0x082b082b2b080808, 0x082b082b2b2b2b08,685 0x082b190808080819, 0x082b190808081908, 0x082b190808190808, 0x082b1908082b2b19,686 0x082b190819080808, 0x082b191908080808, 0x082b191919080819, 0x082b19191919082b,687 0x082b19192b192b19, 0x082b192b08080819, 0x082b192b08192b2b, 0x082b192b2b2b192b,688 0x082b2b0808080808, 0x082b2b0808082b08, 0x082b2b0808082b2b, 0x082b2b08082b0808,689 0x082b2b0819191919, 0x082b2b082b082b08, 0x082b2b082b2b082b, 0x082b2b19192b2b08,690 0x082b2b192b190808, 0x082b2b2b08082b08, 0x082b2b2b082b0808, 0x082b2b2b2b08082b,691 0x082b2b2b2b082b08, 0x082b2b2b2b082b2b, 0x1908080808080819, 0x1908080808081908,692 0x190808080808192b, 0x1908080808082b19, 0x1908080808190808, 0x190808080819082b,693 0x1908080808191919, 0x1908080808192b08, 0x19080808082b0819, 0x19080808082b1908,694 0x1908080819080808, 0x190808081908082b, 0x1908080819081919, 0x1908080819082b08,695 0x1908080819082b2b, 0x1908080819190819, 0x1908080819191908, 0x19080808192b0808,696 0x19080808192b1919, 0x190808082b080819, 0x190808082b081908, 0x190808082b190808,697 0x1908081908080808, 0x190808190808082b, 0x1908081908081919, 0x1908081908082b08,698 0x1908081908190819, 0x1908081908191908, 0x19080819082b0808, 0x1908081919080819,699 0x1908081919081908, 0x1908081919190808, 0x190808192b080808, 0x190808192b081919,700 0x190808192b2b082b, 0x1908082b08080819, 0x1908082b08081908, 0x1908082b08190808,701 0x1908082b0819082b, 0x1908082b082b2b19, 0x1908082b19080808, 0x1908190808080808,702 0x190819080808082b, 0x1908190808081919, 0x1908190808082b08, 0x1908190808190819,703 0x1908190808191908, 0x1908190808192b19, 0x19081908082b0808, 0x1908190819080819,704 0x1908190819081908, 0x1908190819190808, 0x190819082b080808, 0x190819082b191908,705 0x1908191908080819, 0x1908191908081908, 0x1908191908190808, 0x19081919082b1908,706 0x1908191919080808, 0x190819192b192b2b, 0x1908192b08080808, 0x1908192b08082b2b,707 0x1908192b19081908, 0x1908192b19190808, 0x19082b0808080819, 0x19082b0808081908,708 0x19082b0808190808, 0x19082b0819080808, 0x19082b0819081919, 0x19082b0819191908,709 0x19082b08192b082b, 0x19082b1908080808, 0x19082b1908190819, 0x19082b1919081908,710 0x19082b1919190808, 0x19082b19192b2b19, 0x19082b2b08081908, 0x1919080808080808,711 0x191908080808082b, 0x1919080808081919, 0x1919080808082b08, 0x1919080808190819,712 0x1919080808191908, 0x19190808082b0808, 0x19190808082b2b08, 0x1919080819080819,713 0x1919080819081908, 0x1919080819190808, 0x191908082b080808, 0x1919081908080819,714 0x1919081908081908, 0x1919081908190808, 0x1919081908191919, 0x1919081919080808,715 0x191908191908082b, 0x1919082b08080808, 0x1919082b19081908, 0x1919082b2b2b2b2b,716 0x1919190808080819, 0x1919190808081908, 0x1919190808190808, 0x19191908082b0819,717 0x1919190819080808, 0x19191908192b0808, 0x191919082b080819, 0x191919082b2b0819,718 0x1919191908080808, 0x1919191908082b08, 0x191919192b080808, 0x191919192b082b08,719 0x1919192b082b0819, 0x1919192b192b2b08, 0x1919192b2b2b0819, 0x19192b0808080808,720 0x19192b0808191908, 0x19192b0819080819, 0x19192b0819190808, 0x19192b082b192b19,721 0x19192b1908192b2b, 0x19192b1919080808, 0x19192b191908082b, 0x19192b2b2b081919,722 0x192b080808080819, 0x192b080808081908, 0x192b080808190808, 0x192b080819080808,723 0x192b080819191908, 0x192b0808192b082b, 0x192b08082b08192b, 0x192b08082b2b2b19,724 0x192b081908080808, 0x192b082b082b1908, 0x192b082b19082b2b, 0x192b082b2b19082b,725 0x192b190808080808, 0x192b19080819192b, 0x192b191908190808, 0x192b191919080808,726 0x192b191919081919, 0x192b19192b2b1908, 0x192b2b0808080819, 0x192b2b08192b2b2b,727 0x192b2b19082b1919, 0x192b2b2b0808192b, 0x192b2b2b19191908, 0x192b2b2b192b082b,728 0x2b08080808080808, 0x2b0808080808082b, 0x2b08080808081919, 0x2b08080808082b08,729 0x2b08080808190819, 0x2b08080808191908, 0x2b080808082b0808, 0x2b080808082b2b2b,730 0x2b08080819080819, 0x2b08080819081908, 0x2b08080819190808, 0x2b0808082b080808,731 0x2b0808082b08082b, 0x2b0808082b2b2b08, 0x2b0808082b2b2b2b, 0x2b08081908080819,732 0x2b08081908081908, 0x2b0808190808192b, 0x2b08081908190808, 0x2b08081919080808,733 0x2b08081919190819, 0x2b08081919192b19, 0x2b08082b08080808, 0x2b08082b082b0808,734 0x2b08082b2b080808, 0x2b08082b2b08082b, 0x2b08082b2b2b0808, 0x2b08082b2b2b2b08,735 0x2b08190808080819, 0x2b08190808081908, 0x2b08190808190808, 0x2b0819080819082b,736 0x2b08190808191919, 0x2b08190819080808, 0x2b081908192b0808, 0x2b0819082b082b19,737 0x2b08191908080808, 0x2b08191919081908, 0x2b0819192b2b1919, 0x2b08192b08192b08,738 0x2b08192b192b2b2b, 0x2b082b0808080808, 0x2b082b0808082b08, 0x2b082b08082b1919,739 0x2b082b0819192b2b, 0x2b082b082b080808, 0x2b082b082b08082b, 0x2b082b082b2b2b08,740 0x2b082b190808192b, 0x2b082b2b082b082b, 0x2b082b2b2b080808, 0x2b082b2b2b082b08,741 0x2b082b2b2b19192b, 0x2b082b2b2b2b2b08, 0x2b19080808080819, 0x2b19080808081908,742 0x2b19080808190808, 0x2b19080819080808, 0x2b1908081919192b, 0x2b1908082b081908,743 0x2b19081908080808, 0x2b190819082b082b, 0x2b190819192b1908, 0x2b19082b1919192b,744 0x2b19082b2b082b19, 0x2b19190808080808, 0x2b19190808081919, 0x2b19190819081908,745 0x2b19190819190808, 0x2b19190819192b08, 0x2b191919082b2b19, 0x2b1919192b190808,746 0x2b1919192b19082b, 0x2b19192b19080819, 0x2b192b0819190819, 0x2b192b082b2b192b,747 0x2b192b1919082b19, 0x2b192b2b08191919, 0x2b192b2b192b0808, 0x2b2b080808080808,748 0x2b2b08080808082b, 0x2b2b080808082b08, 0x2b2b080808082b2b, 0x2b2b0808082b0808,749 0x2b2b0808082b2b2b, 0x2b2b08082b2b0808, 0x2b2b081919190819, 0x2b2b081919192b19,750 0x2b2b08192b2b192b, 0x2b2b082b08080808, 0x2b2b082b0808082b, 0x2b2b082b08082b08,751 0x2b2b082b082b2b2b, 0x2b2b082b2b080808, 0x2b2b082b2b2b0808, 0x2b2b190819080808,752 0x2b2b19082b191919, 0x2b2b192b192b1919, 0x2b2b192b2b192b08, 0x2b2b2b0808082b2b,753 0x2b2b2b08082b0808, 0x2b2b2b08082b082b, 0x2b2b2b08082b2b08, 0x2b2b2b082b2b0808,754 0x2b2b2b082b2b2b08, 0x2b2b2b1908081908, 0x2b2b2b192b081908, 0x2b2b2b192b08192b,755 0x2b2b2b2b082b2b08, 0x2b2b2b2b082b2b2b, 0x2b2b2b2b2b190819, 0x2b2b2b2b2b2b2b2b,756GGML_TABLE_END()757 758GGML_TABLE_BEGIN(uint64_t, iq2s_grid, 1024)759 0x0808080808080808, 0x080808080808082b, 0x0808080808081919, 0x0808080808082b08,760 0x0808080808082b2b, 0x0808080808190819, 0x0808080808191908, 0x080808080819192b,761 0x0808080808192b19, 0x08080808082b0808, 0x08080808082b082b, 0x08080808082b1919,762 0x08080808082b2b08, 0x0808080819080819, 0x0808080819081908, 0x080808081908192b,763 0x0808080819082b19, 0x0808080819190808, 0x080808081919082b, 0x0808080819191919,764 0x0808080819192b08, 0x08080808192b0819, 0x08080808192b1908, 0x08080808192b192b,765 0x08080808192b2b19, 0x080808082b080808, 0x080808082b08082b, 0x080808082b081919,766 0x080808082b082b08, 0x080808082b190819, 0x080808082b191908, 0x080808082b2b0808,767 0x080808082b2b1919, 0x080808082b2b2b2b, 0x0808081908080819, 0x0808081908081908,768 0x080808190808192b, 0x0808081908082b19, 0x0808081908190808, 0x080808190819082b,769 0x0808081908191919, 0x0808081908192b08, 0x08080819082b0819, 0x08080819082b1908,770 0x0808081919080808, 0x080808191908082b, 0x0808081919081919, 0x0808081919082b08,771 0x0808081919190819, 0x0808081919191908, 0x080808191919192b, 0x0808081919192b19,772 0x08080819192b0808, 0x08080819192b1919, 0x08080819192b2b08, 0x080808192b080819,773 0x080808192b081908, 0x080808192b190808, 0x080808192b19082b, 0x080808192b191919,774 0x080808192b2b0819, 0x080808192b2b1908, 0x0808082b08080808, 0x0808082b0808082b,775 0x0808082b08081919, 0x0808082b08082b08, 0x0808082b08190819, 0x0808082b08191908,776 0x0808082b082b0808, 0x0808082b082b2b2b, 0x0808082b19080819, 0x0808082b19081908,777 0x0808082b1908192b, 0x0808082b19082b19, 0x0808082b19190808, 0x0808082b19191919,778 0x0808082b2b080808, 0x0808082b2b081919, 0x0808082b2b082b2b, 0x0808082b2b191908,779 0x0808082b2b2b082b, 0x0808190808080819, 0x0808190808081908, 0x080819080808192b,780 0x0808190808082b19, 0x0808190808190808, 0x080819080819082b, 0x0808190808191919,781 0x0808190808192b08, 0x08081908082b0819, 0x08081908082b1908, 0x08081908082b192b,782 0x08081908082b2b19, 0x0808190819080808, 0x080819081908082b, 0x0808190819081919,783 0x0808190819082b08, 0x0808190819082b2b, 0x0808190819190819, 0x0808190819191908,784 0x080819081919192b, 0x0808190819192b19, 0x08081908192b0808, 0x08081908192b082b,785 0x08081908192b1919, 0x080819082b080819, 0x080819082b081908, 0x080819082b08192b,786 0x080819082b082b19, 0x080819082b190808, 0x080819082b191919, 0x080819082b192b08,787 0x080819082b2b0819, 0x080819082b2b1908, 0x0808191908080808, 0x080819190808082b,788 0x0808191908081919, 0x0808191908082b08, 0x0808191908082b2b, 0x0808191908190819,789 0x0808191908191908, 0x080819190819192b, 0x0808191908192b19, 0x08081919082b0808,790 0x08081919082b1919, 0x08081919082b2b08, 0x0808191919080819, 0x0808191919081908,791 0x080819191908192b, 0x0808191919082b19, 0x0808191919190808, 0x080819191919082b,792 0x0808191919191919, 0x0808191919192b08, 0x08081919192b0819, 0x08081919192b1908,793 0x080819192b080808, 0x080819192b08082b, 0x080819192b081919, 0x080819192b082b08,794 0x080819192b190819, 0x080819192b191908, 0x080819192b2b0808, 0x0808192b08080819,795 0x0808192b08081908, 0x0808192b0808192b, 0x0808192b08082b19, 0x0808192b08190808,796 0x0808192b08191919, 0x0808192b19080808, 0x0808192b19081919, 0x0808192b19082b08,797 0x0808192b19190819, 0x0808192b19191908, 0x0808192b192b0808, 0x0808192b2b080819,798 0x0808192b2b081908, 0x0808192b2b190808, 0x08082b0808080808, 0x08082b080808082b,799 0x08082b0808081919, 0x08082b0808082b08, 0x08082b0808190819, 0x08082b0808191908,800 0x08082b080819192b, 0x08082b0808192b19, 0x08082b08082b0808, 0x08082b08082b1919,801 0x08082b08082b2b2b, 0x08082b0819080819, 0x08082b0819081908, 0x08082b081908192b,802 0x08082b0819082b19, 0x08082b0819190808, 0x08082b081919082b, 0x08082b0819191919,803 0x08082b0819192b08, 0x08082b08192b0819, 0x08082b08192b1908, 0x08082b082b080808,804 0x08082b082b081919, 0x08082b082b191908, 0x08082b082b2b2b2b, 0x08082b1908080819,805 0x08082b1908081908, 0x08082b1908190808, 0x08082b190819082b, 0x08082b1908191919,806 0x08082b1908192b08, 0x08082b19082b0819, 0x08082b1919080808, 0x08082b1919081919,807 0x08082b1919082b08, 0x08082b1919190819, 0x08082b1919191908, 0x08082b19192b0808,808 0x08082b192b080819, 0x08082b192b190808, 0x08082b2b08080808, 0x08082b2b08190819,809 0x08082b2b08191908, 0x08082b2b082b082b, 0x08082b2b082b2b08, 0x08082b2b082b2b2b,810 0x08082b2b19190808, 0x08082b2b2b192b19, 0x0819080808080819, 0x0819080808081908,811 0x081908080808192b, 0x0819080808082b19, 0x0819080808190808, 0x081908080819082b,812 0x0819080808191919, 0x0819080808192b08, 0x08190808082b0819, 0x08190808082b1908,813 0x08190808082b192b, 0x0819080819080808, 0x081908081908082b, 0x0819080819081919,814 0x0819080819082b08, 0x0819080819190819, 0x0819080819191908, 0x081908081919192b,815 0x0819080819192b19, 0x08190808192b0808, 0x08190808192b082b, 0x08190808192b1919,816 0x08190808192b2b08, 0x081908082b080819, 0x081908082b081908, 0x081908082b08192b,817 0x081908082b190808, 0x081908082b191919, 0x081908082b192b08, 0x081908082b2b0819,818 0x081908082b2b1908, 0x0819081908080808, 0x081908190808082b, 0x0819081908081919,819 0x0819081908082b08, 0x0819081908082b2b, 0x0819081908190819, 0x0819081908191908,820 0x081908190819192b, 0x0819081908192b19, 0x08190819082b0808, 0x08190819082b082b,821 0x08190819082b1919, 0x08190819082b2b08, 0x0819081919080819, 0x0819081919081908,822 0x081908191908192b, 0x0819081919082b19, 0x0819081919190808, 0x081908191919082b,823 0x0819081919191919, 0x0819081919192b08, 0x08190819192b0819, 0x08190819192b1908,824 0x081908192b080808, 0x081908192b08082b, 0x081908192b081919, 0x081908192b082b08,825 0x081908192b190819, 0x081908192b191908, 0x0819082b08080819, 0x0819082b08081908,826 0x0819082b08082b19, 0x0819082b08190808, 0x0819082b08191919, 0x0819082b082b0819,827 0x0819082b082b1908, 0x0819082b19080808, 0x0819082b19081919, 0x0819082b19190819,828 0x0819082b19191908, 0x0819082b2b080819, 0x0819082b2b081908, 0x0819082b2b190808,829 0x0819190808080808, 0x081919080808082b, 0x0819190808081919, 0x0819190808082b08,830 0x0819190808190819, 0x0819190808191908, 0x081919080819192b, 0x0819190808192b19,831 0x08191908082b0808, 0x08191908082b1919, 0x08191908082b2b08, 0x0819190819080819,832 0x0819190819081908, 0x081919081908192b, 0x0819190819082b19, 0x0819190819190808,833 0x081919081919082b, 0x0819190819191919, 0x0819190819192b08, 0x08191908192b0819,834 0x08191908192b1908, 0x081919082b080808, 0x081919082b08082b, 0x081919082b081919,835 0x081919082b082b08, 0x081919082b190819, 0x081919082b191908, 0x081919082b2b0808,836 0x0819191908080819, 0x0819191908081908, 0x081919190808192b, 0x0819191908082b19,837 0x0819191908190808, 0x081919190819082b, 0x0819191908191919, 0x0819191908192b08,838 0x08191919082b0819, 0x08191919082b1908, 0x0819191919080808, 0x081919191908082b,839 0x0819191919081919, 0x0819191919082b08, 0x0819191919190819, 0x0819191919191908,840 0x08191919192b0808, 0x081919192b080819, 0x081919192b081908, 0x081919192b190808,841 0x0819192b08080808, 0x0819192b08081919, 0x0819192b08082b08, 0x0819192b08190819,842 0x0819192b08191908, 0x0819192b082b0808, 0x0819192b19080819, 0x0819192b19081908,843 0x0819192b19190808, 0x0819192b2b080808, 0x0819192b2b2b2b2b, 0x08192b0808080819,844 0x08192b0808081908, 0x08192b080808192b, 0x08192b0808082b19, 0x08192b0808190808,845 0x08192b0808191919, 0x08192b0808192b08, 0x08192b08082b0819, 0x08192b0819080808,846 0x08192b081908082b, 0x08192b0819081919, 0x08192b0819082b08, 0x08192b0819190819,847 0x08192b0819191908, 0x08192b08192b0808, 0x08192b082b080819, 0x08192b082b081908,848 0x08192b1908080808, 0x08192b190808082b, 0x08192b1908081919, 0x08192b1908082b08,849 0x08192b1908190819, 0x08192b1908191908, 0x08192b19082b0808, 0x08192b1919080819,850 0x08192b1919081908, 0x08192b1919190808, 0x08192b19192b2b19, 0x08192b192b2b082b,851 0x08192b2b08081908, 0x08192b2b08190808, 0x08192b2b19080808, 0x08192b2b1919192b,852 0x082b080808080808, 0x082b08080808082b, 0x082b080808081919, 0x082b080808082b08,853 0x082b080808190819, 0x082b080808191908, 0x082b08080819192b, 0x082b080808192b19,854 0x082b0808082b0808, 0x082b0808082b1919, 0x082b0808082b2b2b, 0x082b080819080819,855 0x082b080819081908, 0x082b080819190808, 0x082b08081919082b, 0x082b080819191919,856 0x082b0808192b1908, 0x082b08082b080808, 0x082b08082b082b2b, 0x082b08082b191908,857 0x082b08082b2b2b2b, 0x082b081908080819, 0x082b081908081908, 0x082b081908190808,858 0x082b08190819082b, 0x082b081908191919, 0x082b0819082b0819, 0x082b081919080808,859 0x082b08191908082b, 0x082b081919081919, 0x082b081919190819, 0x082b081919191908,860 0x082b0819192b0808, 0x082b08192b080819, 0x082b08192b081908, 0x082b08192b190808,861 0x082b082b08080808, 0x082b082b08082b2b, 0x082b082b082b082b, 0x082b082b082b2b08,862 0x082b082b082b2b2b, 0x082b082b19081908, 0x082b082b19190808, 0x082b082b2b082b08,863 0x082b082b2b082b2b, 0x082b082b2b2b2b08, 0x082b190808080819, 0x082b190808081908,864 0x082b19080808192b, 0x082b190808082b19, 0x082b190808190808, 0x082b190808191919,865 0x082b190808192b08, 0x082b1908082b0819, 0x082b1908082b1908, 0x082b190819080808,866 0x082b19081908082b, 0x082b190819081919, 0x082b190819082b08, 0x082b190819190819,867 0x082b190819191908, 0x082b1908192b0808, 0x082b19082b080819, 0x082b19082b081908,868 0x082b19082b190808, 0x082b191908080808, 0x082b191908081919, 0x082b191908082b08,869 0x082b191908190819, 0x082b191908191908, 0x082b1919082b0808, 0x082b191919080819,870 0x082b191919081908, 0x082b191919190808, 0x082b1919192b192b, 0x082b19192b080808,871 0x082b192b08080819, 0x082b192b08081908, 0x082b192b08190808, 0x082b192b19080808,872 0x082b192b19192b19, 0x082b2b0808080808, 0x082b2b0808081919, 0x082b2b0808190819,873 0x082b2b0808191908, 0x082b2b0819080819, 0x082b2b0819081908, 0x082b2b0819190808,874 0x082b2b082b082b2b, 0x082b2b082b2b2b2b, 0x082b2b1908080819, 0x082b2b1908081908,875 0x082b2b1908190808, 0x082b2b192b191919, 0x082b2b2b08082b2b, 0x082b2b2b082b082b,876 0x082b2b2b192b1908, 0x082b2b2b2b082b08, 0x082b2b2b2b082b2b, 0x1908080808080819,877 0x1908080808081908, 0x190808080808192b, 0x1908080808082b19, 0x1908080808190808,878 0x190808080819082b, 0x1908080808191919, 0x1908080808192b08, 0x1908080808192b2b,879 0x19080808082b0819, 0x19080808082b1908, 0x19080808082b192b, 0x1908080819080808,880 0x190808081908082b, 0x1908080819081919, 0x1908080819082b08, 0x1908080819082b2b,881 0x1908080819190819, 0x1908080819191908, 0x190808081919192b, 0x1908080819192b19,882 0x19080808192b0808, 0x19080808192b082b, 0x19080808192b1919, 0x190808082b080819,883 0x190808082b081908, 0x190808082b190808, 0x190808082b191919, 0x190808082b192b08,884 0x190808082b2b0819, 0x190808082b2b1908, 0x1908081908080808, 0x190808190808082b,885 0x1908081908081919, 0x1908081908082b08, 0x1908081908190819, 0x1908081908191908,886 0x190808190819192b, 0x1908081908192b19, 0x19080819082b0808, 0x19080819082b082b,887 0x19080819082b1919, 0x1908081919080819, 0x1908081919081908, 0x190808191908192b,888 0x1908081919082b19, 0x1908081919190808, 0x190808191919082b, 0x1908081919191919,889 0x1908081919192b08, 0x19080819192b0819, 0x19080819192b1908, 0x190808192b080808,890 0x190808192b08082b, 0x190808192b081919, 0x190808192b082b08, 0x190808192b190819,891 0x190808192b191908, 0x190808192b2b0808, 0x1908082b08080819, 0x1908082b08081908,892 0x1908082b08190808, 0x1908082b0819082b, 0x1908082b08191919, 0x1908082b08192b08,893 0x1908082b082b1908, 0x1908082b19080808, 0x1908082b19081919, 0x1908082b19082b08,894 0x1908082b19190819, 0x1908082b19191908, 0x1908082b192b0808, 0x1908082b2b080819,895 0x1908082b2b081908, 0x1908190808080808, 0x190819080808082b, 0x1908190808081919,896 0x1908190808082b08, 0x1908190808082b2b, 0x1908190808190819, 0x1908190808191908,897 0x190819080819192b, 0x1908190808192b19, 0x19081908082b0808, 0x19081908082b082b,898 0x19081908082b1919, 0x19081908082b2b08, 0x1908190819080819, 0x1908190819081908,899 0x190819081908192b, 0x1908190819082b19, 0x1908190819190808, 0x190819081919082b,900 0x1908190819191919, 0x1908190819192b08, 0x19081908192b0819, 0x19081908192b1908,901 0x190819082b080808, 0x190819082b08082b, 0x190819082b081919, 0x190819082b082b08,902 0x190819082b190819, 0x190819082b191908, 0x190819082b2b0808, 0x1908191908080819,903 0x1908191908081908, 0x190819190808192b, 0x1908191908082b19, 0x1908191908190808,904 0x190819190819082b, 0x1908191908191919, 0x1908191908192b08, 0x19081919082b0819,905 0x19081919082b1908, 0x1908191919080808, 0x190819191908082b, 0x1908191919081919,906 0x1908191919082b08, 0x1908191919190819, 0x1908191919191908, 0x19081919192b0808,907 0x19081919192b2b2b, 0x190819192b080819, 0x190819192b081908, 0x190819192b190808,908 0x1908192b08080808, 0x1908192b0808082b, 0x1908192b08081919, 0x1908192b08082b08,909 0x1908192b08190819, 0x1908192b08191908, 0x1908192b082b0808, 0x1908192b19080819,910 0x1908192b19081908, 0x1908192b19190808, 0x1908192b2b080808, 0x1908192b2b2b1919,911 0x19082b0808080819, 0x19082b0808081908, 0x19082b0808082b19, 0x19082b0808190808,912 0x19082b080819082b, 0x19082b0808191919, 0x19082b0808192b08, 0x19082b08082b0819,913 0x19082b08082b1908, 0x19082b0819080808, 0x19082b081908082b, 0x19082b0819081919,914 0x19082b0819082b08, 0x19082b0819190819, 0x19082b0819191908, 0x19082b08192b0808,915 0x19082b082b081908, 0x19082b082b190808, 0x19082b1908080808, 0x19082b190808082b,916 0x19082b1908081919, 0x19082b1908082b08, 0x19082b1908190819, 0x19082b1908191908,917 0x19082b19082b0808, 0x19082b1919080819, 0x19082b1919081908, 0x19082b1919190808,918 0x19082b192b080808, 0x19082b192b19192b, 0x19082b2b08080819, 0x19082b2b08081908,919 0x19082b2b08190808, 0x19082b2b19080808, 0x1919080808080808, 0x191908080808082b,920 0x1919080808081919, 0x1919080808082b08, 0x1919080808190819, 0x1919080808191908,921 0x191908080819192b, 0x1919080808192b19, 0x19190808082b0808, 0x19190808082b082b,922 0x19190808082b1919, 0x19190808082b2b08, 0x1919080819080819, 0x1919080819081908,923 0x191908081908192b, 0x1919080819082b19, 0x1919080819190808, 0x191908081919082b,924 0x1919080819191919, 0x1919080819192b08, 0x19190808192b0819, 0x19190808192b1908,925 0x191908082b080808, 0x191908082b08082b, 0x191908082b081919, 0x191908082b082b08,926 0x191908082b190819, 0x191908082b191908, 0x1919081908080819, 0x1919081908081908,927 0x191908190808192b, 0x1919081908082b19, 0x1919081908190808, 0x191908190819082b,928 0x1919081908191919, 0x1919081908192b08, 0x19190819082b0819, 0x19190819082b1908,929 0x1919081919080808, 0x191908191908082b, 0x1919081919081919, 0x1919081919082b08,930 0x1919081919190819, 0x1919081919191908, 0x19190819192b0808, 0x191908192b080819,931 0x191908192b081908, 0x191908192b190808, 0x1919082b08080808, 0x1919082b08081919,932 0x1919082b08082b08, 0x1919082b08190819, 0x1919082b08191908, 0x1919082b082b0808,933 0x1919082b19080819, 0x1919082b19081908, 0x1919082b19190808, 0x1919082b192b2b19,934 0x1919082b2b080808, 0x1919190808080819, 0x1919190808081908, 0x191919080808192b,935 0x1919190808082b19, 0x1919190808190808, 0x191919080819082b, 0x1919190808191919,936 0x1919190808192b08, 0x19191908082b0819, 0x19191908082b1908, 0x1919190819080808,937 0x191919081908082b, 0x1919190819081919, 0x1919190819082b08, 0x1919190819190819,938 0x1919190819191908, 0x19191908192b0808, 0x191919082b080819, 0x191919082b081908,939 0x191919082b190808, 0x1919191908080808, 0x191919190808082b, 0x1919191908081919,940 0x1919191908082b08, 0x1919191908190819, 0x1919191908191908, 0x19191919082b0808,941 0x1919191919080819, 0x1919191919081908, 0x1919191919190808, 0x191919192b080808,942 0x1919192b08080819, 0x1919192b08081908, 0x1919192b08190808, 0x1919192b082b192b,943 0x1919192b19080808, 0x19192b0808080808, 0x19192b080808082b, 0x19192b0808081919,944 0x19192b0808082b08, 0x19192b0808190819, 0x19192b0808191908, 0x19192b08082b0808,945 0x19192b0819080819, 0x19192b0819081908, 0x19192b0819190808, 0x19192b0819192b2b,946 0x19192b082b080808, 0x19192b1908080819, 0x19192b1908081908, 0x19192b1908190808,947 0x19192b1919080808, 0x19192b2b08080808, 0x19192b2b08192b19, 0x19192b2b2b081919,948 0x19192b2b2b2b2b08, 0x192b080808080819, 0x192b080808081908, 0x192b08080808192b,949 0x192b080808190808, 0x192b08080819082b, 0x192b080808191919, 0x192b080808192b08,950 0x192b0808082b0819, 0x192b0808082b1908, 0x192b080819080808, 0x192b080819081919,951 0x192b080819082b08, 0x192b080819190819, 0x192b080819191908, 0x192b0808192b0808,952 0x192b08082b081908, 0x192b08082b190808, 0x192b081908080808, 0x192b08190808082b,953 0x192b081908081919, 0x192b081908082b08, 0x192b081908190819, 0x192b081908191908,954 0x192b0819082b0808, 0x192b081919080819, 0x192b081919081908, 0x192b081919190808,955 0x192b08192b080808, 0x192b08192b192b19, 0x192b082b08081908, 0x192b082b08190808,956 0x192b082b19080808, 0x192b082b1919192b, 0x192b082b2b2b0819, 0x192b190808080808,957 0x192b190808081919, 0x192b190808082b08, 0x192b190808190819, 0x192b190808191908,958 0x192b1908082b0808, 0x192b190819080819, 0x192b190819081908, 0x192b190819190808,959 0x192b19082b080808, 0x192b191908080819, 0x192b191908081908, 0x192b191908190808,960 0x192b191919080808, 0x192b191919082b2b, 0x192b1919192b2b08, 0x192b19192b19082b,961 0x192b192b08080808, 0x192b192b2b191908, 0x192b2b0808080819, 0x192b2b0808081908,962 0x192b2b0808190808, 0x192b2b08192b1919, 0x192b2b082b192b08, 0x192b2b1908080808,963 0x192b2b19082b2b2b, 0x192b2b2b1908082b, 0x192b2b2b2b2b0819, 0x2b08080808080808,964 0x2b0808080808082b, 0x2b08080808081919, 0x2b08080808082b08, 0x2b08080808190819,965 0x2b08080808191908, 0x2b08080808192b19, 0x2b080808082b0808, 0x2b080808082b1919,966 0x2b08080819080819, 0x2b08080819081908, 0x2b08080819190808, 0x2b0808081919082b,967 0x2b08080819191919, 0x2b08080819192b08, 0x2b080808192b0819, 0x2b0808082b080808,968 0x2b0808082b081919, 0x2b0808082b190819, 0x2b0808082b191908, 0x2b08081908080819,969 0x2b08081908081908, 0x2b08081908082b19, 0x2b08081908190808, 0x2b0808190819082b,970 0x2b08081908191919, 0x2b08081908192b08, 0x2b080819082b0819, 0x2b080819082b1908,971 0x2b08081919080808, 0x2b0808191908082b, 0x2b08081919081919, 0x2b08081919082b08,972 0x2b08081919190819, 0x2b08081919191908, 0x2b0808192b080819, 0x2b0808192b081908,973 0x2b0808192b190808, 0x2b0808192b2b2b19, 0x2b08082b08080808, 0x2b08082b08081919,974 0x2b08082b08082b2b, 0x2b08082b08190819, 0x2b08082b08191908, 0x2b08082b19080819,975 0x2b08082b19081908, 0x2b08082b19190808, 0x2b08190808080819, 0x2b08190808081908,976 0x2b0819080808192b, 0x2b08190808082b19, 0x2b08190808190808, 0x2b0819080819082b,977 0x2b08190808191919, 0x2b08190808192b08, 0x2b081908082b0819, 0x2b08190819080808,978 0x2b0819081908082b, 0x2b08190819081919, 0x2b08190819082b08, 0x2b08190819190819,979 0x2b08190819191908, 0x2b081908192b0808, 0x2b0819082b080819, 0x2b0819082b081908,980 0x2b0819082b190808, 0x2b08191908080808, 0x2b0819190808082b, 0x2b08191908081919,981 0x2b08191908082b08, 0x2b08191908190819, 0x2b08191908191908, 0x2b081919082b0808,982 0x2b08191919080819, 0x2b08191919081908, 0x2b08191919190808, 0x2b0819192b080808,983 0x2b0819192b082b2b, 0x2b08192b08080819, 0x2b08192b08081908, 0x2b08192b08190808,984 0x2b08192b082b2b19, 0x2b08192b19080808, 0x2b082b0808080808, 0x2b082b0808081919,985 0x2b082b0808190819, 0x2b082b0808191908, 0x2b082b0819080819, 0x2b082b0819081908,986 0x2b082b0819190808, 0x2b082b082b2b082b, 0x2b082b1908080819, 0x2b082b1908081908,987 0x2b082b1919080808, 0x2b082b19192b1919, 0x2b082b2b082b082b, 0x2b082b2b19192b08,988 0x2b082b2b19192b2b, 0x2b082b2b2b08082b, 0x2b082b2b2b2b082b, 0x2b19080808080819,989 0x2b19080808081908, 0x2b19080808082b19, 0x2b19080808190808, 0x2b1908080819082b,990 0x2b19080808191919, 0x2b19080808192b08, 0x2b190808082b1908, 0x2b19080819080808,991 0x2b1908081908082b, 0x2b19080819081919, 0x2b19080819082b08, 0x2b19080819190819,992 0x2b19080819191908, 0x2b190808192b0808, 0x2b1908082b080819, 0x2b1908082b081908,993 0x2b1908082b190808, 0x2b19081908080808, 0x2b19081908081919, 0x2b19081908190819,994 0x2b19081908191908, 0x2b19081919080819, 0x2b19081919081908, 0x2b19081919190808,995 0x2b19081919192b2b, 0x2b19082b08080819, 0x2b19082b08081908, 0x2b19082b08190808,996 0x2b19082b19080808, 0x2b19082b2b2b192b, 0x2b19190808080808, 0x2b1919080808082b,997 0x2b19190808081919, 0x2b19190808082b08, 0x2b19190808190819, 0x2b19190808191908,998 0x2b191908082b0808, 0x2b19190819080819, 0x2b19190819081908, 0x2b19190819190808,999 0x2b1919082b080808, 0x2b1919082b19192b, 0x2b19191908080819, 0x2b19191908081908,1000 0x2b19191908190808, 0x2b19191919080808, 0x2b1919192b192b08, 0x2b1919192b2b0819,1001 0x2b19192b08080808, 0x2b19192b1908192b, 0x2b19192b192b1908, 0x2b192b0808080819,1002 0x2b192b0808081908, 0x2b192b0808190808, 0x2b192b08082b192b, 0x2b192b0819080808,1003 0x2b192b082b2b2b19, 0x2b192b1908080808, 0x2b192b1919082b19, 0x2b192b191919082b,1004 0x2b192b2b2b190808, 0x2b2b080808080808, 0x2b2b080808081919, 0x2b2b080808082b2b,1005 0x2b2b080808191908, 0x2b2b0808082b082b, 0x2b2b0808082b2b2b, 0x2b2b080819080819,1006 0x2b2b080819081908, 0x2b2b080819190808, 0x2b2b08082b2b082b, 0x2b2b08082b2b2b2b,1007 0x2b2b081919080808, 0x2b2b0819192b1919, 0x2b2b082b0808082b, 0x2b2b082b08082b2b,1008 0x2b2b082b082b082b, 0x2b2b082b082b2b08, 0x2b2b082b082b2b2b, 0x2b2b082b2b08082b,1009 0x2b2b082b2b082b08, 0x2b2b082b2b082b2b, 0x2b2b082b2b2b2b08, 0x2b2b190808080819,1010 0x2b2b190808081908, 0x2b2b190808190808, 0x2b2b190819080808, 0x2b2b19082b082b19,1011 0x2b2b19082b2b1908, 0x2b2b191908080808, 0x2b2b191908192b19, 0x2b2b192b19190819,1012 0x2b2b2b0808082b2b, 0x2b2b2b08082b2b08, 0x2b2b2b082b2b082b, 0x2b2b2b1919191908,1013 0x2b2b2b192b08192b, 0x2b2b2b2b08082b08, 0x2b2b2b2b08082b2b, 0x2b2b2b2b082b0808,1014 0x2b2b2b2b082b082b, 0x2b2b2b2b082b2b08, 0x2b2b2b2b2b082b08, 0x2b2b2b2b2b2b2b2b,1015GGML_TABLE_END()1016 1017GGML_TABLE_BEGIN(uint32_t, iq3xxs_grid, 256)1018 0x04040404, 0x04040414, 0x04040424, 0x04040c0c, 0x04040c1c, 0x04040c3e, 0x04041404, 0x04041414,1019 0x04041c0c, 0x04042414, 0x04043e1c, 0x04043e2c, 0x040c040c, 0x040c041c, 0x040c0c04, 0x040c0c14,1020 0x040c140c, 0x040c142c, 0x040c1c04, 0x040c1c14, 0x040c240c, 0x040c2c24, 0x040c3e04, 0x04140404,1021 0x04140414, 0x04140424, 0x04140c0c, 0x04141404, 0x04141414, 0x04141c0c, 0x04141c1c, 0x04141c3e,1022 0x04142c0c, 0x04142c3e, 0x04143e2c, 0x041c040c, 0x041c043e, 0x041c0c04, 0x041c0c14, 0x041c142c,1023 0x041c3e04, 0x04240c1c, 0x04241c3e, 0x04242424, 0x04242c3e, 0x04243e1c, 0x04243e2c, 0x042c040c,1024 0x042c043e, 0x042c1c14, 0x042c2c14, 0x04341c2c, 0x04343424, 0x043e0c04, 0x043e0c24, 0x043e0c34,1025 0x043e241c, 0x043e340c, 0x0c04040c, 0x0c04041c, 0x0c040c04, 0x0c040c14, 0x0c04140c, 0x0c04141c,1026 0x0c041c04, 0x0c041c14, 0x0c041c24, 0x0c04243e, 0x0c042c04, 0x0c0c0404, 0x0c0c0414, 0x0c0c0c0c,1027 0x0c0c1404, 0x0c0c1414, 0x0c14040c, 0x0c14041c, 0x0c140c04, 0x0c140c14, 0x0c14140c, 0x0c141c04,1028 0x0c143e14, 0x0c1c0404, 0x0c1c0414, 0x0c1c1404, 0x0c1c1c0c, 0x0c1c2434, 0x0c1c3434, 0x0c24040c,1029 0x0c24042c, 0x0c242c04, 0x0c2c1404, 0x0c2c1424, 0x0c2c2434, 0x0c2c3e0c, 0x0c34042c, 0x0c3e1414,1030 0x0c3e2404, 0x14040404, 0x14040414, 0x14040c0c, 0x14040c1c, 0x14041404, 0x14041414, 0x14041434,1031 0x14041c0c, 0x14042414, 0x140c040c, 0x140c041c, 0x140c042c, 0x140c0c04, 0x140c0c14, 0x140c140c,1032 0x140c1c04, 0x140c341c, 0x140c343e, 0x140c3e04, 0x14140404, 0x14140414, 0x14140c0c, 0x14140c3e,1033 0x14141404, 0x14141414, 0x14141c3e, 0x14142404, 0x14142c2c, 0x141c040c, 0x141c0c04, 0x141c0c24,1034 0x141c3e04, 0x141c3e24, 0x14241c2c, 0x14242c1c, 0x142c041c, 0x142c143e, 0x142c240c, 0x142c3e24,1035 0x143e040c, 0x143e041c, 0x143e0c34, 0x143e242c, 0x1c04040c, 0x1c040c04, 0x1c040c14, 0x1c04140c,1036 0x1c04141c, 0x1c042c04, 0x1c04342c, 0x1c043e14, 0x1c0c0404, 0x1c0c0414, 0x1c0c1404, 0x1c0c1c0c,1037 0x1c0c2424, 0x1c0c2434, 0x1c14040c, 0x1c14041c, 0x1c140c04, 0x1c14142c, 0x1c142c14, 0x1c143e14,1038 0x1c1c0c0c, 0x1c1c1c1c, 0x1c241c04, 0x1c24243e, 0x1c243e14, 0x1c2c0404, 0x1c2c0434, 0x1c2c1414,1039 0x1c2c2c2c, 0x1c340c24, 0x1c341c34, 0x1c34341c, 0x1c3e1c1c, 0x1c3e3404, 0x24040424, 0x24040c3e,1040 0x24041c2c, 0x24041c3e, 0x24042c1c, 0x24042c3e, 0x240c3e24, 0x24141404, 0x24141c3e, 0x24142404,1041 0x24143404, 0x24143434, 0x241c043e, 0x241c242c, 0x24240424, 0x24242c0c, 0x24243424, 0x242c142c,1042 0x242c241c, 0x242c3e04, 0x243e042c, 0x243e0c04, 0x243e0c14, 0x243e1c04, 0x2c040c14, 0x2c04240c,1043 0x2c043e04, 0x2c0c0404, 0x2c0c0434, 0x2c0c1434, 0x2c0c2c2c, 0x2c140c24, 0x2c141c14, 0x2c143e14,1044 0x2c1c0414, 0x2c1c2c1c, 0x2c240c04, 0x2c24141c, 0x2c24143e, 0x2c243e14, 0x2c2c0414, 0x2c2c1c0c,1045 0x2c342c04, 0x2c3e1424, 0x2c3e2414, 0x34041424, 0x34042424, 0x34042434, 0x34043424, 0x340c140c,1046 0x340c340c, 0x34140c3e, 0x34143424, 0x341c1c04, 0x341c1c34, 0x34242424, 0x342c042c, 0x342c2c14,1047 0x34341c1c, 0x343e041c, 0x343e140c, 0x3e04041c, 0x3e04042c, 0x3e04043e, 0x3e040c04, 0x3e041c14,1048 0x3e042c14, 0x3e0c1434, 0x3e0c2404, 0x3e140c14, 0x3e14242c, 0x3e142c14, 0x3e1c0404, 0x3e1c0c2c,1049 0x3e1c1c1c, 0x3e1c3404, 0x3e24140c, 0x3e24240c, 0x3e2c0404, 0x3e2c0414, 0x3e2c1424, 0x3e341c04,1050GGML_TABLE_END()1051 1052GGML_TABLE_BEGIN(uint32_t, iq3s_grid, 512)1053 0x01010101, 0x01010103, 0x01010105, 0x0101010b, 0x0101010f, 0x01010301, 0x01010303, 0x01010305,1054 0x01010309, 0x0101030d, 0x01010501, 0x01010503, 0x0101050b, 0x01010707, 0x01010901, 0x01010905,1055 0x0101090b, 0x0101090f, 0x01010b03, 0x01010b07, 0x01010d01, 0x01010d05, 0x01010f03, 0x01010f09,1056 0x01010f0f, 0x01030101, 0x01030103, 0x01030105, 0x01030109, 0x01030301, 0x01030303, 0x0103030b,1057 0x01030501, 0x01030507, 0x0103050f, 0x01030703, 0x0103070b, 0x01030909, 0x01030d03, 0x01030d0b,1058 0x01030f05, 0x01050101, 0x01050103, 0x0105010b, 0x0105010f, 0x01050301, 0x01050307, 0x0105030d,1059 0x01050503, 0x0105050b, 0x01050701, 0x01050709, 0x01050905, 0x0105090b, 0x0105090f, 0x01050b03,1060 0x01050b07, 0x01050f01, 0x01050f07, 0x01070107, 0x01070303, 0x0107030b, 0x01070501, 0x01070505,1061 0x01070703, 0x01070707, 0x0107070d, 0x01070909, 0x01070b01, 0x01070b05, 0x01070d0f, 0x01070f03,1062 0x01070f0b, 0x01090101, 0x01090307, 0x0109030f, 0x01090503, 0x01090509, 0x01090705, 0x01090901,1063 0x01090907, 0x01090b03, 0x01090f01, 0x010b0105, 0x010b0109, 0x010b0501, 0x010b0505, 0x010b050d,1064 0x010b0707, 0x010b0903, 0x010b090b, 0x010b090f, 0x010b0d0d, 0x010b0f07, 0x010d010d, 0x010d0303,1065 0x010d0307, 0x010d0703, 0x010d0b05, 0x010d0f03, 0x010f0101, 0x010f0105, 0x010f0109, 0x010f0501,1066 0x010f0505, 0x010f050d, 0x010f0707, 0x010f0b01, 0x010f0b09, 0x03010101, 0x03010103, 0x03010105,1067 0x03010109, 0x03010301, 0x03010303, 0x03010307, 0x0301030b, 0x0301030f, 0x03010501, 0x03010505,1068 0x03010703, 0x03010709, 0x0301070d, 0x03010b09, 0x03010b0d, 0x03010d03, 0x03010f05, 0x03030101,1069 0x03030103, 0x03030107, 0x0303010d, 0x03030301, 0x03030309, 0x03030503, 0x03030701, 0x03030707,1070 0x03030903, 0x03030b01, 0x03030b05, 0x03030f01, 0x03030f0d, 0x03050101, 0x03050305, 0x0305030b,1071 0x0305030f, 0x03050501, 0x03050509, 0x03050705, 0x03050901, 0x03050907, 0x03050b0b, 0x03050d01,1072 0x03050f05, 0x03070103, 0x03070109, 0x0307010f, 0x03070301, 0x03070307, 0x03070503, 0x0307050f,1073 0x03070701, 0x03070709, 0x03070903, 0x03070d05, 0x03070f01, 0x03090107, 0x0309010b, 0x03090305,1074 0x03090309, 0x03090703, 0x03090707, 0x03090905, 0x0309090d, 0x03090b01, 0x03090b09, 0x030b0103,1075 0x030b0301, 0x030b0307, 0x030b0503, 0x030b0701, 0x030b0705, 0x030b0b03, 0x030d0501, 0x030d0509,1076 0x030d050f, 0x030d0909, 0x030d090d, 0x030f0103, 0x030f0107, 0x030f0301, 0x030f0305, 0x030f0503,1077 0x030f070b, 0x030f0903, 0x030f0d05, 0x030f0f01, 0x05010101, 0x05010103, 0x05010107, 0x0501010b,1078 0x0501010f, 0x05010301, 0x05010305, 0x05010309, 0x0501030d, 0x05010503, 0x05010507, 0x0501050f,1079 0x05010701, 0x05010705, 0x05010903, 0x05010907, 0x0501090b, 0x05010b01, 0x05010b05, 0x05010d0f,1080 0x05010f01, 0x05010f07, 0x05010f0b, 0x05030101, 0x05030105, 0x05030301, 0x05030307, 0x0503030f,1081 0x05030505, 0x0503050b, 0x05030703, 0x05030709, 0x05030905, 0x05030b03, 0x05050103, 0x05050109,1082 0x0505010f, 0x05050503, 0x05050507, 0x05050701, 0x0505070f, 0x05050903, 0x05050b07, 0x05050b0f,1083 0x05050f03, 0x05050f09, 0x05070101, 0x05070105, 0x0507010b, 0x05070303, 0x05070505, 0x05070509,1084 0x05070703, 0x05070707, 0x05070905, 0x05070b01, 0x05070d0d, 0x05090103, 0x0509010f, 0x05090501,1085 0x05090507, 0x05090705, 0x0509070b, 0x05090903, 0x05090f05, 0x05090f0b, 0x050b0109, 0x050b0303,1086 0x050b0505, 0x050b070f, 0x050b0901, 0x050b0b07, 0x050b0f01, 0x050d0101, 0x050d0105, 0x050d010f,1087 0x050d0503, 0x050d0b0b, 0x050d0d03, 0x050f010b, 0x050f0303, 0x050f050d, 0x050f0701, 0x050f0907,1088 0x050f0b01, 0x07010105, 0x07010303, 0x07010307, 0x0701030b, 0x0701030f, 0x07010505, 0x07010703,1089 0x07010707, 0x0701070b, 0x07010905, 0x07010909, 0x0701090f, 0x07010b03, 0x07010d07, 0x07010f03,1090 0x07030103, 0x07030107, 0x0703010b, 0x07030309, 0x07030503, 0x07030507, 0x07030901, 0x07030d01,1091 0x07030f05, 0x07030f0d, 0x07050101, 0x07050305, 0x07050501, 0x07050705, 0x07050709, 0x07050b01,1092 0x07070103, 0x07070301, 0x07070309, 0x07070503, 0x07070507, 0x0707050f, 0x07070701, 0x07070903,1093 0x07070907, 0x0707090f, 0x07070b0b, 0x07070f07, 0x07090107, 0x07090303, 0x0709030d, 0x07090505,1094 0x07090703, 0x07090b05, 0x07090d01, 0x07090d09, 0x070b0103, 0x070b0301, 0x070b0305, 0x070b050b,1095 0x070b0705, 0x070b0909, 0x070b0b0d, 0x070b0f07, 0x070d030d, 0x070d0903, 0x070f0103, 0x070f0107,1096 0x070f0501, 0x070f0505, 0x070f070b, 0x09010101, 0x09010109, 0x09010305, 0x09010501, 0x09010509,1097 0x0901050f, 0x09010705, 0x09010903, 0x09010b01, 0x09010f01, 0x09030105, 0x0903010f, 0x09030303,1098 0x09030307, 0x09030505, 0x09030701, 0x0903070b, 0x09030907, 0x09030b03, 0x09030b0b, 0x09050103,1099 0x09050107, 0x09050301, 0x0905030b, 0x09050503, 0x09050707, 0x09050901, 0x09050b0f, 0x09050d05,1100 0x09050f01, 0x09070109, 0x09070303, 0x09070307, 0x09070501, 0x09070505, 0x09070703, 0x0907070b,1101 0x09090101, 0x09090105, 0x09090509, 0x0909070f, 0x09090901, 0x09090f03, 0x090b010b, 0x090b010f,1102 0x090b0503, 0x090b0d05, 0x090d0307, 0x090d0709, 0x090d0d01, 0x090f0301, 0x090f030b, 0x090f0701,1103 0x090f0907, 0x090f0b03, 0x0b010105, 0x0b010301, 0x0b010309, 0x0b010505, 0x0b010901, 0x0b010909,1104 0x0b01090f, 0x0b010b05, 0x0b010d0d, 0x0b010f09, 0x0b030103, 0x0b030107, 0x0b03010b, 0x0b030305,1105 0x0b030503, 0x0b030705, 0x0b030f05, 0x0b050101, 0x0b050303, 0x0b050507, 0x0b050701, 0x0b05070d,1106 0x0b050b07, 0x0b070105, 0x0b07010f, 0x0b070301, 0x0b07050f, 0x0b070909, 0x0b070b03, 0x0b070d0b,1107 0x0b070f07, 0x0b090103, 0x0b090109, 0x0b090501, 0x0b090705, 0x0b09090d, 0x0b0b0305, 0x0b0b050d,1108 0x0b0b0b03, 0x0b0b0b07, 0x0b0d0905, 0x0b0f0105, 0x0b0f0109, 0x0b0f0505, 0x0d010303, 0x0d010307,1109 0x0d01030b, 0x0d010703, 0x0d010707, 0x0d010d01, 0x0d030101, 0x0d030501, 0x0d03050f, 0x0d030d09,1110 0x0d050305, 0x0d050709, 0x0d050905, 0x0d050b0b, 0x0d050d05, 0x0d050f01, 0x0d070101, 0x0d070309,1111 0x0d070503, 0x0d070901, 0x0d09050b, 0x0d090907, 0x0d090d05, 0x0d0b0101, 0x0d0b0107, 0x0d0b0709,1112 0x0d0b0d01, 0x0d0d010b, 0x0d0d0901, 0x0d0f0303, 0x0d0f0307, 0x0f010101, 0x0f010109, 0x0f01010f,1113 0x0f010501, 0x0f010505, 0x0f01070d, 0x0f010901, 0x0f010b09, 0x0f010d05, 0x0f030105, 0x0f030303,1114 0x0f030509, 0x0f030907, 0x0f03090b, 0x0f050103, 0x0f050109, 0x0f050301, 0x0f05030d, 0x0f050503,1115 0x0f050701, 0x0f050b03, 0x0f070105, 0x0f070705, 0x0f07070b, 0x0f070b07, 0x0f090103, 0x0f09010b,1116 0x0f090307, 0x0f090501, 0x0f090b01, 0x0f0b0505, 0x0f0b0905, 0x0f0d0105, 0x0f0d0703, 0x0f0f0101,1117GGML_TABLE_END()1118 1119// TODO: fix name to kvalues_iq4_nl1120GGML_TABLE_BEGIN(int8_t, kvalues_iq4nl, 16)1121 -127, -104, -83, -65, -49, -35, -22, -10, 1, 13, 25, 38, 53, 69, 89, 113,1122GGML_TABLE_END()1123 1124// e2m1 values (doubled), shared by MXFP4 and NVFP41125// ref: https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf1126GGML_TABLE_BEGIN(int8_t, kvalues_fp4, 16)1127 0, 1, 2, 3, 4, 6, 8, 12, 0, -1, -2, -3, -4, -6, -8, -12,1128GGML_TABLE_END()1129#define kvalues_mxfp4 kvalues_fp41130 1131#define NGRID_IQ1S 20481132#define IQ1S_DELTA 0.125f1133#define IQ1M_DELTA 0.125f1134#if defined(GGML_COMMON_IMPL_C)1135GGML_TABLE_BEGIN(uint64_t, iq1s_grid, NGRID_IQ1S)1136 0xffffffffffffffff, 0xffffffffffffff01, 0xffffffffffff0000, 0xffffffffffff01ff,1137 0xffffffffffff0101, 0xffffffffff00ff00, 0xffffffffff000000, 0xffffffffff01ffff,1138 0xffffffffff01ff01, 0xffffffffff0101ff, 0xffffffffff010101, 0xffffffff00ff0000,1139 0xffffffff0000ff00, 0xffffffff000000ff, 0xffffffff00000001, 0xffffffff00010000,1140 0xffffffff01ffffff, 0xffffffff01ffff01, 0xffffffff01ff01ff, 0xffffffff01ff0101,1141 0xffffffff01000000, 0xffffffff0101ffff, 0xffffffff0101ff01, 0xffffffff010101ff,1142 0xffffffff01010101, 0xffffff00ffff00ff, 0xffffff00ffff0000, 0xffffff00ff00ff00,1143 0xffffff00ff0000ff, 0xffffff00ff000001, 0xffffff00ff000100, 0xffffff00ff000101,1144 0xffffff00ff010000, 0xffffff0000ffff00, 0xffffff0000ff0001, 0xffffff0000ff0100,1145 0xffffff000000ff01, 0xffffff0000000000, 0xffffff0000000101, 0xffffff000001ff00,1146 0xffffff00000100ff, 0xffffff0000010001, 0xffffff00000101ff, 0xffffff0001ff0000,1147 0xffffff000100ff00, 0xffffff00010000ff, 0xffffff0001000001, 0xffffff0001010000,1148 0xffffff01ffffffff, 0xffffff01ffffff01, 0xffffff01ffff01ff, 0xffffff01ffff0101,1149 0xffffff01ff000000, 0xffffff01ff01ffff, 0xffffff01ff01ff01, 0xffffff01ff0101ff,1150 0xffffff01ff010101, 0xffffff0100ff0000, 0xffffff010000ff00, 0xffffff0100000100,1151 0xffffff01000100ff, 0xffffff0100010100, 0xffffff0101ffffff, 0xffffff0101ffff01,1152 0xffffff0101ff01ff, 0xffffff0101ff0101, 0xffffff010100ff00, 0xffffff0101000000,1153 0xffffff0101000100, 0xffffff010101ffff, 0xffffff010101ff01, 0xffffff01010101ff,1154 0xffffff0101010101, 0xffff00ffff00ff00, 0xffff00ffff0000ff, 0xffff00ffff000001,1155 0xffff00ffff010000, 0xffff00ff00ffff00, 0xffff00ff00ff0100, 0xffff00ff00000000,1156 0xffff00ff00000101, 0xffff00ff000100ff, 0xffff00ff00010000, 0xffff00ff0100ff00,1157 0xffff00ff01000100, 0xffff00ff01010000, 0xffff0000ffffff00, 0xffff0000ffff00ff,1158 0xffff0000ffff0000, 0xffff0000ffff0001, 0xffff0000ff000000, 0xffff0000ff0001ff,1159 0xffff0000ff000101, 0xffff0000ff010100, 0xffff000000ffffff, 0xffff000000ff0000,1160 0xffff000000ff0101, 0xffff00000000ffff, 0xffff00000000ff00, 0xffff0000000000ff,1161 0xffff000000000000, 0xffff000000000001, 0xffff000000000100, 0xffff00000001ffff,1162 0xffff00000001ff01, 0xffff000000010000, 0xffff0000000101ff, 0xffff000000010101,1163 0xffff000001ffff00, 0xffff00000100ff00, 0xffff000001000000, 0xffff0000010001ff,1164 0xffff000001000101, 0xffff00000101ff00, 0xffff0000010100ff, 0xffff000001010000,1165 0xffff000001010001, 0xffff000001010100, 0xffff0001ff0000ff, 0xffff0001ff000100,1166 0xffff000100ffff00, 0xffff000100ff00ff, 0xffff00010000ffff, 0xffff00010000ff01,1167 0xffff000100000000, 0xffff0001000001ff, 0xffff00010001ffff, 0xffff00010001ff00,1168 0xffff000100010001, 0xffff000100010100, 0xffff000101ff0000, 0xffff00010100ff00,1169 0xffff0001010000ff, 0xffff000101000100, 0xffff01ffffffffff, 0xffff01ffffffff01,1170 0xffff01ffffff01ff, 0xffff01ffffff0101, 0xffff01ffff000000, 0xffff01ffff01ffff,1171 0xffff01ffff01ff01, 0xffff01ffff0101ff, 0xffff01ffff010101, 0xffff01ff00ff0000,1172 0xffff01ff0000ff00, 0xffff01ff00000001, 0xffff01ff00010000, 0xffff01ff01ffffff,1173 0xffff01ff01ffff01, 0xffff01ff01ff01ff, 0xffff01ff01ff0101, 0xffff01ff01000000,1174 0xffff01ff0101ffff, 0xffff01ff0101ff01, 0xffff01ff010101ff, 0xffff01ff01010101,1175 0xffff0100ffff0000, 0xffff0100ff00ff00, 0xffff0100ff0000ff, 0xffff0100ff000100,1176 0xffff0100ff0100ff, 0xffff0100ff010000, 0xffff010000ffff00, 0xffff01000000ffff,1177 0xffff01000000ff00, 0xffff010000000000, 0xffff01000001ff00, 0xffff0100000100ff,1178 0xffff010000010100, 0xffff01000100ff00, 0xffff0100010000ff, 0xffff010001000001,1179 0xffff010001000100, 0xffff010001010000, 0xffff0101ffffffff, 0xffff0101ffffff01,1180 0xffff0101ffff01ff, 0xffff0101ffff0101, 0xffff0101ff000000, 0xffff0101ff01ffff,1181 0xffff0101ff01ff01, 0xffff0101ff0101ff, 0xffff0101ff010101, 0xffff010100ff0000,1182 0xffff01010000ff00, 0xffff010100000100, 0xffff01010001ff00, 0xffff010100010000,1183 0xffff010101ffffff, 0xffff010101ffff01, 0xffff010101ff0000, 0xffff010101ff01ff,1184 0xffff010101ff0101, 0xffff010101000000, 0xffff01010101ffff, 0xffff01010101ff01,1185 0xffff0101010101ff, 0xffff010101010101, 0xff00ffffff00ffff, 0xff00ffffff00ff00,1186 0xff00ffffff0000ff, 0xff00ffffff000100, 0xff00ffffff0100ff, 0xff00ffffff010000,1187 0xff00ffff00ffff00, 0xff00ffff00ff00ff, 0xff00ffff0000ffff, 0xff00ffff00000000,1188 0xff00ffff000001ff, 0xff00ffff0001ff00, 0xff00ffff000100ff, 0xff00ffff00010000,1189 0xff00ffff00010100, 0xff00ffff0100ff00, 0xff00ffff010000ff, 0xff00ffff01000001,1190 0xff00ffff0101ff00, 0xff00ffff01010000, 0xff00ff00ffffff00, 0xff00ff00ffff00ff,1191 0xff00ff00ffff0001, 0xff00ff00ffff0100, 0xff00ff00ff00ffff, 0xff00ff00ff00ff01,1192 0xff00ff00ff000000, 0xff00ff00ff0001ff, 0xff00ff00ff01ff00, 0xff00ff00ff0100ff,1193 0xff00ff00ff010100, 0xff00ff0000ff0000, 0xff00ff0000ff0101, 0xff00ff000000ffff,1194 0xff00ff000000ff00, 0xff00ff000000ff01, 0xff00ff00000000ff, 0xff00ff0000000000,1195 0xff00ff0000000001, 0xff00ff0000000100, 0xff00ff000001ffff, 0xff00ff0000010000,1196 0xff00ff0001ff00ff, 0xff00ff000100ff01, 0xff00ff0001000000, 0xff00ff000101ff00,1197 0xff00ff00010100ff, 0xff00ff01ff00ff00, 0xff00ff01ff0000ff, 0xff00ff01ff000001,1198 0xff00ff01ff010000, 0xff00ff0100ffffff, 0xff00ff0100ff0001, 0xff00ff0100ff0100,1199 0xff00ff010000ff01, 0xff00ff0100000000, 0xff00ff01000001ff, 0xff00ff0100000101,1200 0xff00ff01000100ff, 0xff00ff0100010001, 0xff00ff0101ff0000, 0xff00ff010100ff00,