1// GENERATED FILE - DO NOT EDIT. 2// Generated by gen_vk_internal_shaders.py. 3// 4// Copyright 2018 The ANGLE Project Authors. All rights reserved. 5// Use of this source code is governed by a BSD-style license that can be 6// found in the LICENSE file. 7// 8// shaders/gen/EtcToBc.comp.00000000.inc: 9// Pre-generated shader for the ANGLE Vulkan back-end. 10 11#pragma once 12constexpr uint8_t kEtcToBc_comp_00000000[] = { 13 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x6d,0x5c,0x09,0xb8,0x54,0xc5, 14 0x95,0xee,0x7e,0xfd,0xfa,0xae,0xdd,0x71,0x8b,0xb8,0x06,0x44,0xa2,0xa0,0x22,0xe2, 15 0x1a,0x47,0x5c,0x13,0x15,0xe3,0x44,0x51,0x1c,0x93,0x90,0x51,0x50,0x30,0x92,0xc0, 16 0x88,0x8a,0x1b,0x46,0x88,0xca,0xa2,0x06,0x67,0x54,0x02,0x2a,0xe0,0x63,0x31,0x68, 17 0x00,0x11,0xdc,0x63,0x40,0x40,0x76,0xb7,0xc4,0x05,0x5c,0x50,0x51,0xdc,0x40,0x05, 18 0x54,0x34,0xd1,0x80,0x44,0x99,0xfb,0xf7,0xff,0x9f,0x77,0xcf,0x6b,0xe1,0xfb,0x8a, 19 0xee,0xfa,0xcf,0x7f,0x4e,0x9d,0x3a,0x55,0xf7,0x54,0xdd,0xba,0xb7,0x5f,0xa9,0xa1, 20 0x5d,0x58,0x28,0x15,0x0b,0x49,0x21,0x2a,0x2c,0xae,0x16,0x6a,0xff,0x76,0x28,0x34, 21 0x14,0x8a,0xfa,0xec,0xa4,0xcf,0x63,0xf4,0x79,0x82,0x3e,0x7f,0x92,0x7d,0xa6,0x85, 22 0xa0,0xc6,0xeb,0xfa,0xb3,0xb3,0x7e,0xd6,0xe9,0xb2,0xcb,0x2f,0xe8,0x74,0xd8,0xe1, 23 0x9d,0xa1,0xff,0xbd,0x42,0xa9,0x66,0x07,0xb2,0xed,0x32,0xbb,0xe5,0xec,0xb3,0x31, 24 0x2b,0x17,0x9d,0xff,0xdb,0x01,0xc0,0xcf,0xca,0xc4,0x3d,0xb2,0x72,0x59,0x06,0x6e, 25 0x9f,0xd9,0x68,0xac,0xd9,0x2c,0x14,0x8e,0x97,0x0e,0xca,0x29,0x99,0xd6,0x72,0xba, 26 0x53,0x68,0xa7,0x4f,0xc3,0x8a,0xc2,0x1a,0x1d,0xd6,0x20,0x2c,0x72,0x58,0x49,0x58, 27 0xc5,0x61,0x8d,0xc2,0xb6,0x77,0x58,0x59,0xd8,0xf7,0x1d,0x16,0x08,0xdb,0xd5,0x61, 28 0xa1,0xb0,0x3d,0xd1,0xe7,0xcc,0xba,0xb5,0xdb,0x35,0xb3,0x8a,0x3e,0xa5,0xd9,0xf7, 29 0xdd,0x55,0xef,0xa1,0xfa,0x1e,0xe2,0xa2,0xaf,0x05,0xc9,0xf0,0x1d,0xb2,0xfd,0x54, 30 0x9f,0x93,0x39,0xb0,0x77,0x21,0x97,0xa3,0xde,0xb6,0xb9,0x5e,0x2a,0x8c,0x0a,0x72, 31 0xd9,0x73,0x41,0x4b,0x2e,0xea,0x6d,0x15,0x13,0x70,0x51,0xdf,0x4d,0xb2,0x17,0x03, 32 0xb6,0xb3,0x9b,0x64,0xff,0x4e,0xa8,0xb7,0x53,0xe6,0x35,0xfc,0x6e,0x9b,0x61,0x25, 33 0xf5,0x61,0xe7,0x8c,0x8f,0x66,0xf6,0x92,0xed,0x5d,0xb2,0x7a,0xa8,0x38,0x34,0xd4, 34 0xf0,0xc6,0x5a,0x6c,0x43,0x15,0xf0,0x63,0xf1,0x8b,0x92,0x27,0x92,0xc5,0xd2,0xdf, 35 0x5e,0xdf,0x4d,0x7f,0x07,0xc9,0xb7,0xaf,0xc5,0xba,0xa1,0xb0,0xa3,0x78,0xdf,0x17, 36 0xaf,0x51,0xbc,0x36,0xe2,0xa1,0xed,0x56,0x99,0x87,0x1d,0xd4,0x0e,0xb8,0x88,0x59, 37 0x07,0x8d,0x2d,0xea,0x87,0x88,0x87,0xfa,0x01,0xf2,0xe9,0xfc,0xac,0x1c,0xe8,0xea, 38 0xbd,0x9d,0x1c,0xdc,0xbe,0xf2,0xd9,0xe4,0xfd,0x34,0xce,0x56,0xef,0xaf,0x79,0x64, 39 0xf5,0x4b,0x35,0x37,0xac,0x3e,0x50,0xbe,0x5a,0x7d,0x90,0xfa,0x64,0xf5,0x21,0x9a, 40 0x53,0x56,0x1f,0x9a,0x95,0x36,0xae,0x3e,0x5c,0x31,0x31,0x7f,0xc6,0x48,0x7f,0xcf, 41 0xac,0x7e,0xbb,0xda,0x1a,0xe3,0xf8,0x77,0xd4,0xae,0xa9,0x42,0xa1,0x63,0x16,0x15, 42 0xc8,0xee,0x94,0x8d,0x21,0xf2,0xf5,0x0e,0xc7,0x1d,0xab,0x78,0x58,0x7d,0x9c,0x62, 43 0x6b,0xf5,0xf1,0xba,0x1e,0xcc,0xd6,0x5d,0xb2,0x35,0x56,0xdc,0xf1,0x8e,0xdb,0x54, 44 0x17,0xa7,0x09,0x1a,0x17,0xd3,0x9d,0x28,0xce,0x40,0xc9,0xc6,0x3b,0xd9,0x24,0xc9, 45 0x7a,0xcb,0x4f,0x6f,0x77,0x72,0x81,0xf3,0xd2,0xb8,0x77,0xbb,0xfe,0x4c,0x90,0xdc, 46 0xb8,0x7f,0xca,0x4a,0xe2,0xb8,0x53,0x9c,0xbf,0xfd,0x25,0x37,0xd9,0x3d,0x6a,0x6f, 47 0xac,0xec,0x78,0xd9,0xbd,0xd2,0x1b,0xb8,0x0d,0xd9,0x9f,0xe5,0xab,0xb5,0x3f,0xce, 48 0xc9,0xa6,0xd6,0xf5,0xd1,0xcb,0xa6,0xb9,0x3e,0xd6,0xcb,0xa6,0x3b,0xbd,0xb1,0x75, 49 0xb2,0xfb,0xe4,0x4b,0x6f,0x27,0xb3,0xfe,0xce,0xd0,0xf5,0x67,0xdc,0xfb,0x85,0x35, 50 0x49,0xc7,0xdb,0x99,0xe9,0xe2,0x3b,0x41,0xf1,0x30,0xd9,0x2c,0xd7,0xdf,0xb1,0xcd, 51 0xb2,0x9d,0x6a,0xf3,0xeb,0x01,0xcd,0xa1,0xbb,0x34,0x86,0x93,0x34,0x06,0x53,0x14, 52 0xc3,0x7b,0x15,0x93,0xa9,0xea,0xe3,0x74,0xf9,0x7c,0xbf,0xda,0x9c,0xa5,0xeb,0xf4, 53 0x61,0xcd,0x87,0xdb,0x9d,0xff,0x0b,0xb2,0xb2,0x35,0x2b,0xfb,0x67,0x57,0x1c,0xae, 54 0xef,0x97,0xb2,0xd2,0x3a,0x1b,0x41,0xcb,0xa9,0x81,0xe6,0x63,0xb0,0x8d,0x02,0x9b, 55 0x2b,0x24,0x07,0xbf,0x8b,0xea,0x2f,0x0b,0x83,0xfc,0x15,0xa7,0x6f,0xd7,0xcf,0x5b, 56 0x75,0xd7,0xd3,0x6a,0xc5,0x70,0x3f,0xf9,0xf0,0x81,0x72,0xc5,0x1a,0xe9,0xfa,0x5c, 57 0xb0,0x4e,0xf9,0xdc,0xea,0xeb,0xdd,0xb5,0x8e,0xfa,0x86,0xe6,0xeb,0x25,0xa8,0xe5, 58 0x9a,0x4f,0xa4,0xb3,0x5e,0x32,0xe3,0x7d,0x5a,0x97,0x13,0xbe,0xac,0xad,0x7d,0x79, 59 0x7d,0xb3,0xd6,0x38,0xab,0x17,0x8b,0x5c,0x1b,0xac,0x5e,0x29,0x22,0x2f,0xe7,0xf6, 60 0x3a,0x16,0xf3,0x9c,0x81,0x7a,0xcf,0x22,0x73,0x12,0x72,0x44,0xaf,0x22,0xfb,0x01, 61 0xcc,0xf4,0xcf,0x2b,0xa2,0x8f,0x2e,0x07,0x16,0x99,0x33,0x9b,0x73,0x60,0x91,0xeb, 62 0x8d,0xd5,0xfb,0x14,0xb9,0xde,0x76,0xcc,0xae,0x44,0xd8,0xbb,0xa0,0x98,0xcf,0xc7, 63 0xc9,0xca,0x69,0xb0,0x09,0x3b,0xd0,0xed,0x53,0x64,0xfc,0x2f,0x2c,0x72,0xcc,0xa1, 64 0x83,0x98,0x20,0xa6,0x93,0x8a,0x9c,0xa3,0x56,0x0c,0x9f,0x5c,0xe4,0x7c,0xb0,0x62, 65 0x6d,0xaf,0x29,0x72,0x77,0x60,0xf5,0x8f,0xb4,0xe8,0x5b,0xfd,0xb8,0x06,0xae,0x59, 66 0x56,0xff,0x69,0x56,0xdf,0xd1,0xd5,0x2f,0xca,0xea,0x55,0xc5,0x62,0xcf,0x12,0x73, 67 0x67,0xcf,0x9a,0x3f,0xe5,0xda,0xf7,0x1f,0x94,0x38,0xf7,0x39,0xe7,0x89,0xb5,0x2e, 68 0xf1,0x3a,0xd9,0xec,0xec,0xb4,0xc9,0xb0,0x1f,0x38,0xce,0x5e,0x25,0x5e,0x5f,0xc0, 69 0x8d,0xd3,0xb6,0x84,0xb9,0x9c,0x73,0xf6,0x2e,0xb1,0xfd,0xb6,0x8e,0xd3,0x2e,0xfb, 70 0x7e,0xb4,0xe3,0xfc,0xb0,0x44,0x9f,0xdb,0x39,0xce,0x3e,0xd9,0xf7,0x33,0x1c,0x67, 71 0xdf,0x12,0xd7,0x9d,0x7d,0x1c,0xa7,0x7d,0x89,0x6b,0xb9,0xd5,0x3b,0x88,0x63,0x3a, 72 0xfb,0x95,0xc8,0xe9,0xe0,0x74,0xf6,0xcf,0xbe,0x1f,0xe4,0x74,0x0e,0xc8,0xea,0x8f, 73 0x3b,0x9d,0x8e,0x25,0x72,0x80,0x63,0xac,0x11,0xaf,0x03,0x4b,0x8c,0x11,0x62,0x82, 74 0x3e,0xa3,0x4f,0xf0,0x19,0x3e,0xa1,0x0d,0xe8,0x60,0xac,0x3b,0x97,0x38,0xd6,0x7b, 75 0xaa,0xde,0xbd,0xc4,0xf5,0xe0,0x10,0x5d,0x9b,0xa8,0x9f,0x25,0xcc,0xea,0x3d,0x4a, 76 0xf9,0x7e,0xe0,0x57,0xfa,0xee,0xaf,0xd5,0xf3,0x4b,0xf9,0x75,0x81,0xfa,0xc0,0x52, 77 0xbe,0x96,0x0f,0x29,0x91,0xdb,0xe8,0xe4,0x43,0x4b,0x5c,0x9b,0x91,0xd7,0x20,0x1f, 78 0x56,0xe2,0xf5,0x8d,0xf1,0x1e,0x23,0xb9,0x71,0x47,0x94,0x98,0x7b,0x50,0xc7,0x1e, 79 0x61,0x3e,0xb7,0xa1,0xcd,0xf5,0x27,0x6b,0xf5,0xeb,0x8e,0xb3,0xfa,0x22,0xca,0x8f, 80 0xb7,0xfa,0xe2,0x5a,0xfd,0xf8,0xe3,0xcd,0xde,0x33,0x25,0xee,0x23,0x76,0xcd,0xea, 81 0xd5,0x46,0x5e,0x3f,0x25,0x67,0xef,0xd4,0xda,0x9e,0xee,0xda,0x13,0xad,0x7e,0x7a, 82 0x56,0xbf,0xb1,0xd5,0xb8,0x63,0xad,0xde,0x2d,0xab,0xff,0xe9,0xa4,0x56,0xcd,0xed, 83 0x9d,0x91,0xd5,0x5f,0x19,0xf4,0xf1,0x31,0xb8,0x3e,0x60,0xeb,0xcc,0x46,0xea,0x80, 84 0x07,0x99,0xf1,0x7a,0x65,0xdf,0x2f,0xde,0xb1,0x74,0x5c,0x17,0xc5,0x10,0xfb,0xc5, 85 0xa2,0x6b,0x77,0x74,0xad,0xdd,0x77,0x9a,0xfd,0x1c,0x9b,0xd5,0x2f,0xfd,0xf9,0x61, 86 0x0d,0x56,0x9f,0xdb,0x98,0xef,0x3f,0xc0,0xff,0x38,0xab,0x6f,0xde,0xb4,0xe9,0x18, 87 0xab,0xaf,0xcb,0xea,0xdf,0xfc,0x7b,0xf0,0xb1,0xe6,0xc7,0xfa,0x46,0x72,0xd6,0xe9, 88 0x13,0x63,0xd1,0xa6,0xcc,0x6b,0xce,0xc6,0x66,0xbc,0xea,0x0d,0xb5,0xfd,0x64,0x5c, 89 0x78,0xbc,0xcc,0xb1,0x2a,0x17,0x5a,0xfe,0x2b,0xea,0x73,0x8f,0x4c,0xf3,0xaf,0x99, 90 0x10,0x3c,0xcc,0x85,0xd9,0x22,0x02,0xeb,0xa2,0xfa,0x1c,0x61,0x90,0x3f,0x55,0x66, 91 0x4e,0x8b,0x35,0x77,0x31,0xef,0x5a,0x05,0x1c,0xeb,0xd5,0x6e,0x7e,0x8f,0xc9,0xb0, 92 0xad,0xd9,0x3f,0xf8,0xf0,0x4c,0x40,0x1f,0x8a,0x75,0x3e,0x34,0xd4,0xd6,0x1c,0xda, 93 0x7d,0x56,0x7b,0x67,0x70,0xbb,0xa8,0xfe,0x5c,0x90,0xcf,0x0b,0x7c,0x7d,0x21,0xb0, 94 0x5c,0xc8,0x1c,0x8f,0x7d,0x33,0xb0,0xbe,0xda,0x2b,0x9a,0x3f,0x73,0x2a,0x9c,0x77, 95 0x3e,0xd7,0x3c,0x51,0x61,0xae,0x19,0xee,0xae,0xb9,0xb9,0x15,0xe6,0xd2,0xde,0x6e, 96 0xde,0xce,0xab,0x70,0x7e,0xfa,0x62,0x79,0x72,0xbe,0xe3,0xf7,0x76,0xf9,0xf3,0x49, 97 0x67,0x7b,0xb8,0xc3,0x17,0x54,0x98,0xc7,0xac,0x18,0xbe,0xb0,0xc2,0x75,0xc7,0x8a, 98 0xf5,0x67,0x91,0xf3,0xbb,0xa7,0xcb,0xdb,0x8b,0x2b,0xdc,0x1f,0x58,0x31,0xfe,0x92, 99 0x0a,0xd7,0x54,0x2b,0xc5,0x6c,0x2c,0xc1,0x7f,0xaf,0xc2,0xef,0x35,0x9b,0x59,0x02, 100 0x3e,0x22,0xeb,0x6f,0x83,0xae,0xd7,0x82,0xe6,0xca,0xa6,0x0c,0x29,0x2b,0x1f,0x60, 101 0x7f,0xf0,0x7c,0xcc,0x1c,0xd2,0x45,0x6b,0xc7,0x7f,0x86,0x2d,0xeb,0xe7,0xb8,0x3a, 102 0xf2,0xcd,0x65,0xae,0x8e,0xf5,0x72,0x7d,0x39,0xaf,0x63,0xfd,0xdb,0xaa,0xfa,0xbf, 103 0xb2,0xd6,0x5e,0xd2,0x38,0x6e,0xc9,0xbe,0x63,0x8e,0x2c,0x0f,0xd8,0x3e,0x3e,0x8f, 104 0xd1,0xbd,0xc1,0xeb,0x01,0x73,0x54,0xb7,0x4c,0x0b,0x7a,0x6f,0x04,0xc4,0x5e,0x0f, 105 0xf2,0xf9,0x3a,0x5c,0xe3,0xbb,0x2a,0xa0,0x1c,0xe3,0x7c,0x42,0x86,0xe1,0xda,0x7b, 106 0x2b,0x60,0x4e,0x83,0xfd,0x63,0x34,0x5f,0xde,0x0e,0x88,0x2f,0xca,0x38,0xb5,0xfd, 107 0x46,0x40,0x0c,0x7b,0x80,0xa7,0x84,0xbd,0x27,0x0c,0xf9,0xce,0xb0,0x0f,0x02,0x72, 108 0xfb,0xaa,0x4d,0x60,0x6b,0xa4,0x07,0xd9,0x99,0xc2,0x3e,0x0c,0xe8,0x4b,0x2d,0x5b, 109 0x09,0xfb,0x28,0x20,0x0e,0x7e,0xf7,0x0c,0x81,0xbf,0xad,0x2b,0xc4,0x8d,0x6b,0xed, 110 0xac,0x57,0x3b,0x6f,0xb9,0x76,0x36,0xa8,0xbe,0xde,0xb5,0xf3,0xa9,0x74,0x8b,0xae, 111 0x9d,0xcf,0x02,0xe2,0x1b,0x5c,0x3b,0x6d,0x2b,0xc4,0x5b,0x57,0xc8,0xb5,0x76,0xbe, 112 0x08,0xd8,0x4f,0xe4,0x70,0x8b,0xc5,0x3f,0x85,0x61,0xbe,0x9e,0xa1,0xb8,0x7e,0x19, 113 0x90,0x0b,0xd9,0x75,0xc2,0xfe,0x15,0xd0,0x2e,0x64,0x83,0x75,0xaf,0xb8,0x39,0x20, 114 0x8e,0xd8,0x63,0x9f,0x37,0xba,0xcc,0xbd,0x5f,0x6f,0x17,0xfb,0x31,0x65,0xe2,0x83, 115 0x95,0x0f,0x6e,0x2f,0x13,0x33,0x9d,0x3b,0xa4,0x33,0xd0,0xe9,0xdc,0x59,0x26,0x6e, 116 0x3a,0x63,0xcb,0xc4,0xce,0xd0,0xf5,0x3a,0xae,0x4c,0x3b,0xc0,0x1f,0xc8,0x30,0xe4, 117 0xba,0xbb,0xca,0xf4,0x07,0xb2,0xf1,0x99,0x1e,0x72,0x5f,0x93,0x70,0xcc,0xbd,0x89, 118 0xca,0x5d,0x5f,0x67,0x32,0xe0,0x13,0xb2,0x02,0x0c,0xf3,0x0f,0xdf,0x37,0x67,0x9f, 119 0x2f,0x69,0x3e,0x02,0x5f,0xac,0xb6,0xa6,0xc8,0x2e,0xf2,0xc6,0x53,0xc2,0xa6,0x0a, 120 0x43,0xde,0xc0,0xd8,0xc0,0xc7,0xfb,0xca,0xc4,0x0b,0x1a,0xc3,0xda,0xbd,0x41,0x99, 121 0xfd,0x82,0xcc,0x78,0x33,0xc5,0xb3,0x31,0x04,0x36,0xab,0x4c,0x2e,0x64,0xa6,0xfb, 122 0xb0,0x74,0x81,0x19,0xef,0xb1,0x32,0x71,0xd8,0x43,0xac,0x90,0x9b,0x9f,0x50,0x5e, 123 0x36,0xfb,0xf3,0xca,0xf4,0xd9,0xcf,0x91,0x05,0x8a,0xb9,0x1f,0xf7,0x85,0x65,0xe2, 124 0x18,0x77,0x8b,0xf3,0xa2,0x32,0x71,0xf3,0x61,0x71,0x99,0xf6,0x16,0x39,0xfb,0x4b, 125 0x65,0xbf,0xe0,0xfc,0x5f,0x56,0x26,0x77,0xa9,0xc6,0x15,0x6b,0xc3,0xd3,0x1a,0xd7, 126 0xe1,0x1a,0x57,0xf0,0x9e,0x11,0x6e,0x7a,0xcf,0x96,0xa9,0x0b,0xfc,0x82,0x8c,0x83, 127 0xb5,0xe7,0x39,0xf5,0xa9,0x57,0xc6,0x41,0x1e,0xfe,0x9b,0xb0,0x67,0xdd,0x9c,0x79, 128 0x5e,0xb6,0x87,0xb8,0x39,0xf3,0x42,0x99,0xf8,0x7d,0x19,0x07,0x63,0xff,0x62,0x99, 129 0x18,0xf2,0x27,0xc6,0x7f,0x85,0x1b,0x7f,0xc8,0x96,0x67,0xe5,0x55,0x8d,0x3f,0xbe, 130 0x5b,0xbe,0x79,0xa5,0xcc,0x36,0x51,0x1a,0x94,0x23,0x31,0x37,0x56,0x88,0xfb,0xaa, 131 0xe3,0xae,0x74,0x5c,0xcb,0x4d,0x9e,0x8b,0xcf,0x2f,0xc5,0x5d,0x5a,0xa1,0x6d,0xb4, 132 0xb5,0x52,0x6d,0xdb,0x75,0xbd,0x35,0xa0,0xbc,0x58,0xbb,0x06,0xb9,0xfe,0xc4,0x21, 133 0x71,0x5f,0x16,0x29,0x26,0x49,0x48,0xf9,0x30,0xe5,0x2a,0x60,0xd5,0x90,0xf8,0xbc, 134 0x4a,0x6e,0x77,0xbb,0x90,0x38,0xfe,0x2d,0x11,0xb6,0x7d,0x48,0x1c,0xfb,0x30,0xe3, 135 0xed,0x28,0x5e,0xd1,0xf1,0x76,0x0a,0x89,0x63,0xcf,0xb6,0x54,0xd8,0xf7,0x43,0xea, 136 0x43,0x66,0xba,0xad,0xa4,0xdb,0xe0,0x74,0x77,0x09,0x89,0x23,0xf6,0xa6,0xbb,0x6b, 137 0x48,0xfd,0x5d,0x9c,0xee,0xee,0xd2,0x2d,0x39,0xdd,0x3d,0x42,0xe2,0xab,0x5d,0xbb, 138 0x7b,0x86,0xd4,0xdf,0xc3,0xe9,0x36,0x84,0x8c,0x59,0xc1,0xc5,0xac,0x6d,0x48,0xdc, 139 0x17,0x8b,0xd9,0xde,0x21,0xe5,0x3e,0x66,0xfb,0x84,0xc4,0x7d,0xcc,0xda,0x87,0xc4, 140 0x7d,0xcc,0x3a,0x84,0xc4,0x7d,0xcc,0xf6,0x17,0xcf,0xc7,0xec,0x80,0x90,0xb8,0x8f, 141 0x59,0xc7,0x90,0xfa,0x07,0x38,0xdf,0x3b,0x49,0xd7,0xc7,0xec,0xa0,0x90,0xb8,0x8f, 142 0x59,0xe7,0x90,0xfa,0x07,0x39,0xdd,0x43,0xa4,0xeb,0x63,0x76,0x68,0x48,0xdc,0xc7, 143 0xec,0xb0,0x90,0xfa,0x90,0x59,0x5e,0x6f,0x0c,0x19,0x4b,0xc8,0xec,0x3a,0x59,0xad, 144 0xeb,0xa4,0xaf,0xd6,0xe8,0x77,0xdd,0x75,0x02,0xd9,0x3b,0x59,0x79,0x57,0xf3,0x19, 145 0xdf,0x9b,0xd7,0xc6,0x32,0xed,0xbc,0x55,0xc8,0x6d,0xad,0x29,0x13,0x5f,0xad,0xeb, 146 0xc0,0xf4,0xde,0xd5,0x75,0x00,0xce,0xda,0x32,0xdb,0xc4,0xb5,0xb1,0x46,0xf6,0x8f, 147 0xcd,0xda,0x5d,0xaf,0xbc,0x68,0xf6,0x07,0xc9,0x4f,0xf8,0x85,0xeb,0x1e,0x67,0x4a, 148 0xbf,0x0b,0xb9,0xbf,0x80,0xcc,0x72,0xca,0x35,0x21,0xf1,0xa7,0x94,0x53,0x06,0x87, 149 0xc4,0x90,0x77,0x16,0x0b,0x1b,0x12,0x12,0x6f,0x52,0xae,0x83,0xfd,0xdf,0x87,0xc4, 150 0x67,0xc8,0xf7,0xeb,0xc3,0x96,0x71,0xb8,0x31,0xcc,0xe3,0x00,0xd9,0xd0,0xac,0x00, 151 0x43,0x7f,0x86,0x86,0xb9,0x9f,0x23,0xc2,0xef,0xc6,0xe1,0x86,0x90,0xb8,0xc5,0xc1, 152 0xf4,0xf0,0x69,0x71,0xb8,0x29,0x64,0x9b,0x88,0xcd,0x0d,0xb2,0x8f,0x76,0x4f,0x89, 153 0xf3,0x76,0xc1,0xf9,0x43,0x56,0xc6,0x4a,0x1f,0xdf,0xbb,0x65,0xbb,0x2a,0xec,0x93, 154 0x6e,0x0e,0x39,0x9e,0x8d,0x61,0x7e,0x06,0x5f,0x74,0xfb,0x87,0xff,0x0b,0xb9,0x4f, 155 0xf9,0x7d,0x6d,0xfc,0xb9,0x4f,0xbc,0x25,0x24,0x6e,0x65,0x68,0xc6,0x05,0x7e,0x6b, 156 0xc8,0x73,0x92,0x5b,0x74,0xbd,0x00,0xbb,0x2d,0x64,0x1b,0x90,0x0d,0xd6,0x59,0xcc, 157 0xa8,0x90,0x38,0xfa,0x8e,0xfa,0x98,0x90,0xd8,0xc2,0x0a,0xdb,0x05,0x76,0x67,0x48, 158 0x9c,0x7b,0xde,0x86,0x5a,0x7f,0xe0,0x3b,0xfa,0xf0,0x5c,0xe6,0x07,0x7c,0xbb,0x4b, 159 0x31,0xc3,0x99,0xca,0x10,0xb7,0xfe,0x34,0x85,0x94,0x59,0x7d,0x92,0x78,0xcf,0x66, 160 0x5a,0xb5,0x73,0xc8,0x90,0x58,0x3f,0xed,0x31,0xcc,0xde,0x14,0xf1,0x2a,0x75,0xf6, 161 0xee,0x09,0x29,0x33,0xfd,0x69,0xd2,0x1f,0x54,0xa7,0x3f,0x43,0xfa,0x93,0x0b,0x2d, 162 0xf5,0xef,0x0f,0x29,0x33,0xfd,0x07,0xa5,0xdf,0x5f,0xfa,0xb6,0x8e,0x3d,0x12,0xd2, 163 0x77,0xf8,0x67,0xd8,0x5f,0x42,0xb6,0x3f,0xcd,0x61,0xb3,0x43,0xda,0x7c,0x30,0xcc, 164 0xe7,0xe1,0x13,0x21,0xf5,0xef,0xd7,0xdc,0x99,0x1b,0x12,0xeb,0xa8,0x75,0xab,0xab, 165 0x9b,0x0f,0x90,0xcd,0x43,0x1e,0x8c,0x18,0xd3,0x79,0x2e,0xa6,0x0b,0xd4,0x87,0x7e, 166 0x85,0x96,0x6b,0xfa,0xc2,0x90,0x32,0xe3,0x2d,0x71,0xb1,0xf7,0xbc,0xa5,0x21,0x65, 167 0x4b,0x6c,0x4d,0x0f,0x89,0x0d,0x57,0x4e,0x01,0xf6,0x54,0x48,0x7b,0xcb,0x9c,0xbd, 168 0x67,0x65,0xef,0x52,0xed,0xe1,0xcc,0xde,0x73,0x21,0x65,0xc6,0x7b,0x5e,0xbc,0x41, 169 0x75,0xbc,0x17,0x42,0xca,0x8c,0xb7,0x5c,0xbc,0xf1,0x75,0xbc,0x15,0x21,0x65,0xc6, 170 0x7b,0x55,0xbc,0xfe,0x75,0xbc,0xd7,0x42,0xca,0x8c,0xf7,0x86,0x78,0x03,0xeb,0x78, 171 0x6f,0x86,0x94,0x19,0xef,0x6d,0xf1,0xec,0xde,0xcd,0x72,0xeb,0xea,0x90,0xb2,0x26, 172 0x97,0x5b,0xdf,0x0f,0x89,0x23,0x0f,0x21,0x77,0xe1,0x1e,0x09,0xe7,0x71,0x96,0xa7, 173 0xd6,0x84,0xbc,0x6f,0x7a,0xdf,0xe5,0xa9,0xb5,0x21,0x71,0x9b,0x0b,0xeb,0x42,0xde, 174 0xf3,0x61,0xef,0x67,0x7b,0xb2,0xf5,0xca,0xcf,0xeb,0x5c,0x7e,0xd9,0x10,0x12,0x7f, 175 0xcb,0xf9,0xfe,0x49,0x48,0xdc,0xf4,0x3e,0x97,0xde,0x2c,0x97,0x3f,0xbf,0x08,0x89, 176 0xf7,0x75,0x7a,0xff,0x08,0x89,0xdb,0x78,0x7e,0x15,0xd2,0xd6,0x3f,0x94,0x7b,0xb6, 177 0xb8,0x9c,0x87,0x3c,0xbd,0x29,0xab,0x6f,0x51,0xee,0xd9,0xe4,0xd6,0x8c,0xaf,0x43, 178 0xea,0x0e,0x57,0x7e,0x33,0xce,0x16,0x97,0xdf,0x5e,0xae,0x30,0xd7,0x63,0x8e,0x82, 179 0xef,0xf5,0xbf,0x91,0xfe,0x0c,0xe5,0xda,0xdd,0xa3,0xbc,0x5d,0xc8,0xbe,0xcd,0x4a, 180 0xa0,0x39,0xfe,0xad,0xf2,0x17,0x72,0x4b,0x43,0xc4,0x39,0x88,0xb9,0xf5,0x42,0x98, 181 0xe7,0x9c,0x72,0x44,0x99,0xe5,0x9c,0xdd,0xa5,0x0b,0x1b,0x43,0xd5,0xd7,0x28,0xa2, 182 0xbf,0x5f,0x39,0x7b,0x95,0x88,0xf3,0x0a,0x73,0xe6,0x4d,0x67,0xef,0x7b,0x11,0x65, 183 0x0b,0x2a,0xf9,0x5e,0x78,0x87,0x88,0x36,0xd6,0x3a,0xfd,0x1d,0x23,0xe2,0x56,0xae, 184 0x93,0xfe,0x4e,0x11,0x6d,0x40,0x5e,0xc9,0xf2,0x35,0xb0,0x9d,0x23,0xe6,0xe7,0x03, 185 0x25,0xc7,0x19,0x2c,0xce,0x5b,0xbd,0xbf,0xf8,0x44,0xfc,0xc0,0xdf,0x58,0x61,0xbf, 186 0xd0,0x7f,0xe8,0xa2,0x2f,0xe0,0x76,0x55,0x3e,0x45,0x0e,0xb0,0x1c,0xf2,0x83,0x88, 187 0xf9,0xc6,0x72,0x48,0xeb,0x88,0x98,0xe5,0x90,0x93,0x5d,0x0e,0x81,0xac,0x4d,0x56, 188 0xc6,0xaa,0x4d,0x7c,0xb7,0x6b,0x60,0xef,0x28,0xcf,0x0d,0xfe,0x5a,0x69,0x17,0x51, 189 0x66,0xbc,0x7d,0xa3,0x3c,0xd7,0xf4,0x76,0xbc,0xf6,0x11,0x65,0x96,0x43,0x3a,0x44, 190 0xc4,0x70,0xed,0xd8,0x5c,0x3d,0x40,0xba,0xeb,0xdd,0x7d,0x69,0xc7,0x88,0xb8,0x9f, 191 0xab,0x07,0x46,0xc4,0x6d,0xae,0x76,0x8a,0x68,0xef,0x40,0xe7,0xc7,0xc1,0xb2,0xf5, 192 0x65,0x9d,0x1f,0x87,0x44,0x94,0x59,0x9b,0x87,0x8b,0x37,0xc6,0xb5,0x79,0x44,0x44, 193 0x1c,0xfb,0x2d,0xd3,0xfb,0x51,0x44,0xdc,0xda,0x3c,0x32,0xa2,0xad,0x1f,0xb9,0x36, 194 0xbb,0x44,0xf9,0x5a,0xe1,0x63,0x74,0x74,0x44,0x99,0xf1,0x8e,0x13,0x6f,0x42,0x1d, 195 0xef,0xf8,0x88,0x32,0xe3,0xfd,0x44,0xbc,0xde,0x75,0xbc,0x13,0x23,0xca,0xcc,0xdf, 196 0xae,0xe2,0x7d,0xea,0xd6,0xf8,0xd3,0x22,0xe6,0x85,0x41,0x61,0x7e,0xaf,0x77,0x7a, 197 0x44,0xee,0x69,0x51,0x3e,0x77,0xcf,0x88,0x38,0x86,0x6b,0x8a,0x39,0xd6,0x3d,0x62, 198 0x4c,0x71,0x96,0x6f,0x39,0xe9,0xac,0x88,0xdc,0xee,0x51,0x8e,0x9d,0x1d,0x11,0x3f, 199 0xd2,0xd9,0xfb,0x45,0xc4,0xfe,0x7a,0x7b,0x3d,0x22,0xf6,0xcd,0xdb,0xfb,0x55,0x44, 200 0x6e,0x0f,0x67,0xef,0x9c,0x88,0x38,0xfa,0xf7,0x80,0xe6,0xeb,0xb9,0x11,0xdb,0x81, 201 0x6c,0xba,0xe2,0xd2,0x33,0x22,0xde,0x57,0xe7,0x89,0xd6,0xbf,0xf3,0x22,0xf6,0x11, 202 0x72,0xe4,0xde,0x73,0xea,0x72,0x6f,0xef,0x88,0x67,0x54,0xe0,0x59,0xee,0xed,0x13, 203 0x11,0x37,0x1f,0xfa,0x46,0xdf,0xcd,0xbd,0xbf,0x89,0x98,0x43,0xfb,0xba,0x98,0xff, 204 0x36,0x22,0xee,0x73,0x6f,0xbf,0x88,0xb8,0xe9,0x0d,0x88,0xbe,0x9b,0x7b,0x2f,0x8e, 205 0x88,0xfb,0xf9,0x7c,0x49,0x44,0x1c,0xd7,0xe3,0x55,0x51,0xcb,0x3c,0x3b,0x30,0xab, 206 0x5f,0xa5,0xeb,0x71,0xa0,0xf3,0xf3,0x8a,0x88,0xed,0x41,0xd7,0x72,0xe7,0x95,0x11, 207 0x71,0xcb,0xbd,0xa6,0x77,0x55,0x94,0xe7,0xde,0xd7,0x94,0x7b,0x71,0x6d,0x83,0x0f, 208 0x9b,0xb6,0xcf,0xbd,0x5a,0x36,0x2d,0xf7,0x0e,0x77,0xbe,0x40,0xf6,0xbb,0xac,0x5c, 209 0x2b,0x9b,0xf8,0x6e,0xb9,0xee,0xf7,0x1a,0xf3,0xe3,0x35,0x76,0x68,0x7b,0xb8,0x78, 210 0xd7,0x3a,0xde,0x30,0xcd,0xb5,0x4e,0x9a,0x33,0x9e,0x37,0xdc,0xe5,0xb7,0xa7,0x2a, 211 0xb4,0x89,0x36,0x86,0xa9,0x4d,0xcb,0xbf,0x37,0x45,0x94,0xfb,0xfc,0x3b,0x52,0x7d, 212 0xbe,0xc4,0xe5,0xf4,0x9b,0x95,0x5b,0x46,0xba,0xb9,0x79,0x4b,0x44,0xbc,0x8f,0xf3, 213 0xe9,0xb6,0x88,0xb8,0x15,0xcb,0xd3,0xa3,0x22,0xb6,0x75,0x9b,0xcb,0xd3,0xa3,0x5d, 214 0x9e,0x1e,0x55,0x97,0xa7,0x4f,0xb6,0xbd,0xac,0xcb,0xbd,0xe3,0x23,0xed,0xeb,0x14, 215 0xdf,0xbb,0x22,0x62,0x96,0x7b,0x4f,0x72,0xb9,0x17,0xb2,0xa6,0xac,0x74,0x96,0x9d, 216 0x26,0x97,0x07,0x26,0xe9,0xfa,0xc6,0xb3,0xb4,0xb1,0x6e,0xde,0x4c,0x8e,0x28,0x6b, 217 0xde,0xeb,0x8a,0xb7,0xb9,0xd0,0x92,0x77,0x4f,0x44,0x99,0xcd,0xcb,0xa9,0xe2,0xe1, 218 0xb9,0x96,0x71,0xa6,0x45,0xc4,0xed,0x5e,0x69,0x7a,0x44,0xac,0x4f,0x31,0xcf,0x79, 219 0xf7,0x45,0xb4,0x35,0xdd,0xb5,0x39,0xd3,0xe5,0x32,0x9f,0x67,0x67,0x45,0x94,0x19, 220 0xef,0x21,0x97,0x1b,0xfd,0xde,0xf2,0xe1,0x88,0x32,0x5b,0x17,0x1e,0x89,0x88,0xf5, 221 0x76,0x7b,0xcb,0x47,0x23,0xda,0x7b,0xc4,0xf5,0xe1,0x71,0x67,0xcf,0x6c,0xfd,0x35, 222 0x22,0x6e,0x7d,0x98,0x1d,0x11,0x3b,0xdf,0xf5,0x61,0x4e,0x44,0x7b,0xb3,0xa3,0x5c, 223 0x6f,0x7e,0xc4,0x3c,0x69,0xbe,0x2e,0x8c,0xf2,0xfd,0x9e,0xdf,0xf3,0x2f,0x8a,0x28, 224 0x33,0x5f,0x17,0x47,0xc4,0x9a,0x9c,0xaf,0x4b,0x22,0xda,0x5b,0xec,0xfa,0xfe,0x94, 225 0xf2,0xc0,0x45,0x75,0xe3,0xf7,0x74,0x44,0x99,0xf1,0x9e,0x13,0x0f,0xe3,0x3c,0xc1, 226 0xf1,0xfe,0x16,0x51,0x66,0xbc,0x17,0xc4,0xb3,0x77,0x23,0x8c,0xf7,0x62,0x44,0x99, 227 0xf1,0x56,0x88,0x87,0x7b,0x1f,0xdf,0xee,0xcb,0x11,0x65,0xc6,0x7b,0x4d,0xbc,0x19, 228 0x75,0xf3,0x66,0x65,0x44,0x99,0xf5,0xf7,0x8d,0x88,0x73,0xce,0xdf,0x3f,0xaf,0x12, 229 0x36,0xd0,0xc5,0xe0,0xad,0x88,0xdc,0x55,0x4e,0x77,0x75,0xc4,0xd8,0x78,0xdd,0x77, 230 0x85,0x79,0xdd,0xf7,0x22,0x72,0xdf,0x75,0xba,0x1f,0x44,0x8c,0x95,0xd7,0x5d,0x2b, 231 0xcc,0xeb,0x7e,0x18,0x91,0xbb,0xd6,0xe9,0x7e,0x1c,0x71,0xde,0x36,0x39,0xdd,0xf5, 232 0xc2,0xc6,0x3a,0xdd,0x0d,0x11,0xb9,0xeb,0x9d,0xee,0xa7,0x11,0x63,0xef,0x75,0x37, 233 0x0a,0xf3,0xba,0x9f,0x47,0xe4,0x6e,0x74,0xba,0xff,0x88,0x38,0x1e,0x5e,0xf7,0x4b, 234 0x61,0x5e,0xf7,0xab,0x88,0xdc,0x2f,0x9d,0xee,0xa6,0x88,0xf3,0xd4,0xf7,0xf7,0x6b, 235 0x61,0xbe,0xbf,0x5b,0x22,0x72,0xbf,0x76,0xba,0xdf,0x44,0x1c,0x5f,0xaf,0xbb,0x55, 236 0x98,0xd7,0xc5,0x7f,0xe0,0x6e,0x75,0xba,0x0d,0x31,0xc7,0xdc,0xeb,0x36,0x0a,0xf3, 237 0xba,0xe5,0x98,0x5c,0xc8,0x2c,0x8f,0xc6,0x31,0xc7,0x1d,0x71,0xdc,0xe2,0xf2,0x6b, 238 0x35,0xe6,0x98,0x22,0x46,0x50,0x1e,0xaa,0xfc,0xba,0x5d,0x4c,0x59,0xec,0x6c,0xec, 239 0x14,0x73,0x0c,0x11,0x93,0xb2,0xe3,0xee,0x1c,0x53,0x06,0xae,0xad,0xe5,0xad,0x62, 240 0x9e,0xf7,0xac,0x76,0x67,0xc8,0xbb,0xc4,0xc4,0xcd,0xde,0x6e,0x31,0x31,0x2b,0xb6, 241 0x86,0xec,0x1e,0xb3,0xfd,0xdd,0x9c,0xbd,0x3d,0x64,0xaf,0xaf,0xb3,0xb7,0x67,0x4c, 242 0xdc,0xec,0xb5,0x8e,0x89,0x59,0x31,0x7b,0x6d,0x62,0xfa,0x08,0xb9,0xad,0x1f,0xed, 243 0x62,0xb6,0xd3,0xc6,0x61,0xfb,0xc4,0xc4,0xf1,0x2c,0x70,0xb1,0xb0,0xf6,0x31,0x71, 244 0x60,0xc6,0xeb,0xa0,0xbe,0x42,0x66,0x6b,0xcf,0xfe,0x71,0xbe,0xf6,0x40,0xee,0xd7, 245 0x9e,0x93,0xb4,0x66,0x74,0x76,0xbe,0x1e,0x16,0xf3,0xdc,0xe1,0x1e,0x9d,0x2b,0xd8, 246 0x35,0x7d,0x44,0x9c,0x9f,0xfb,0x80,0x77,0x54,0xcc,0xb3,0x89,0x69,0x3a,0x7b,0x30, 247 0xbc,0x4b,0x4c,0xae,0x15,0xeb,0xeb,0xd1,0x31,0x65,0x47,0xb9,0x7e,0x1d,0x13,0xb3, 248 0x3d,0xc8,0x96,0x08,0x3b,0x3e,0x26,0x3e,0xdf,0xf5,0xf5,0x27,0xc2,0xd0,0xd7,0xa5, 249 0xc2,0x4e,0x8c,0xc9,0x85,0xcc,0xf7,0x05,0x9f,0xb6,0x1f,0xf8,0xa2,0xc2,0xfe,0x63, 250 0x4d,0xc4,0x73,0xcb,0xce,0x4e,0xb6,0xb6,0x42,0x0c,0x32,0xd8,0x82,0x0c,0xfb,0x44, 251 0xac,0xb7,0xb3,0xab,0x5c,0x73,0x5f,0xd2,0xd9,0xa2,0xe1,0x73,0x1c,0xfe,0x41,0xa1, 252 0xe5,0xfa,0x7d,0xb2,0xb3,0xfd,0x79,0x85,0x6b,0x3e,0xf6,0x26,0xf0,0xc1,0xfb,0xf4, 253 0xbe,0xda,0x85,0x6c,0xad,0x93,0xc1,0xfe,0x2b,0x15,0xee,0xb3,0x20,0x83,0x0f,0x5e, 254 0xf6,0xf7,0x0a,0xdb,0x85,0x6c,0x8e,0x64,0xfe,0xde,0xad,0xab,0x6b,0xe3,0xb3,0x0a, 255 0xef,0xf5,0x70,0xef,0x07,0x5f,0xbc,0x6f,0xab,0xd4,0x3e,0x64,0xef,0x3b,0x19,0xda, 256 0x58,0x5e,0xe1,0x3d,0x36,0x64,0xaf,0xd4,0xc9,0x9e,0x51,0xfb,0x90,0xfd,0x5d,0x32, 257 0x7f,0x16,0x77,0x8a,0x6b,0x63,0xbd,0xda,0xc0,0xd9,0x22,0x7c,0xf1,0xbe,0xbd,0x59, 258 0xe1,0x79,0x1e,0x64,0xab,0x9c,0xac,0xf6,0x9e,0x98,0xf6,0x98,0x90,0x2d,0xaf,0x93, 259 0x3d,0x5d,0x61,0xcc,0x21,0x7b,0x46,0x32,0xec,0x85,0x06,0xbb,0xbd,0x10,0x38,0xa7, 260 0x66,0xf5,0xc1,0xf2,0x09,0xdf,0x6d,0x8f,0x7a,0xba,0xe6,0xef,0xea,0x02,0xc7,0x13, 261 0x6a,0xdd,0x62,0xe2,0x4d,0x7a,0x67,0xa9,0xf9,0xde,0x26,0xe6,0x3e,0xa2,0x5b,0x9c, 262 0xef,0x0b,0xcf,0x8c,0xb9,0xa6,0x43,0x66,0xeb,0x5f,0xf7,0x98,0xeb,0xfd,0x99,0x71, 263 0xcb,0xb3,0xbb,0x9f,0xc7,0xdf,0xbd,0x17,0xf8,0x45,0xcc,0xb5,0x12,0x32,0xdb,0xd3, 264 0xff,0x32,0x26,0xee,0xef,0x05,0x7a,0xc4,0xc4,0x4d,0xef,0xdc,0xf8,0xbb,0xf7,0x02, 265 0x3d,0x63,0xe2,0xfe,0x5e,0xa0,0x57,0x4c,0xdc,0xfc,0x3d,0x5f,0xfd,0xea,0xa1,0x38, 266 0xf5,0x77,0x71,0x42,0x9c,0xfb,0x64,0xf5,0xfe,0x8a,0x53,0x9f,0x38,0xef,0xfb,0x85, 267 0x31,0x75,0x7b,0xc5,0x79,0x7f,0x7e,0x1b,0xd3,0x0e,0x30,0xbb,0x67,0xe8,0x17,0x13, 268 0xb7,0x7b,0x06,0xb3,0xd5,0xdf,0x8d,0xd9,0x47,0x15,0x8e,0x29,0xc6,0x01,0xfc,0x3e, 269 0x92,0xc1,0xe6,0xeb,0x15,0xb6,0x03,0xd9,0x85,0x92,0xe1,0xde,0x0b,0xcf,0xfe,0xf1, 270 0x6e,0xd2,0x09,0x59,0x4f,0x91,0x5f,0x07,0xc4,0x7c,0x1f,0xa0,0xbb,0xda,0xb7,0x1c, 271 0x7b,0x71,0x4c,0x99,0xf9,0x7d,0x69,0x4c,0x0c,0x76,0x2d,0x17,0x5d,0x1e,0x13,0xb7, 272 0x62,0x79,0xe7,0x8a,0x98,0xf3,0xf0,0x72,0x97,0x27,0xaf,0x74,0x79,0xf2,0x8a,0xba, 273 0x3c,0x69,0xf3,0x69,0xb0,0x9b,0xc7,0xeb,0x2a,0x9c,0xe7,0x98,0xf7,0x57,0x2a,0x96, 274 0xd6,0xef,0x0f,0xd5,0x6f,0xc8,0x10,0x03,0xc8,0xa6,0xda,0x33,0x81,0x98,0xcf,0x2a, 275 0x3e,0xd4,0xb9,0xd2,0x30,0xd9,0x1e,0x16,0xe7,0xf3,0xf2,0x89,0x2a,0x79,0x33,0xf4, 276 0xce,0x1c,0xfa,0x83,0x77,0x71,0xe6,0x0a,0xb7,0x32,0x5d,0xfd,0x9c,0x57,0xa5,0x0c, 277 0x3e,0xaf,0x73,0xcf,0x8f,0x47,0xc4,0x94,0xe1,0x9f,0x61,0x37,0x0a,0x2b,0x3a,0xec, 278 0x0f,0xc2,0x1a,0xf4,0xdc,0x0b,0xef,0x3e,0xde,0x1c,0x53,0x1f,0x7c,0xc8,0xe1,0x13, 279 0xe6,0xd1,0xe6,0xba,0x67,0x9e,0x9b,0xf0,0xdc,0x5a,0xcf,0x64,0x36,0xb9,0xe7,0x8f, 280 0xa3,0x62,0x3e,0xc3,0xf4,0xcf,0x1f,0xef,0x8a,0x89,0xfb,0x62,0xcf,0xd2,0x9a,0x62, 281 0xca,0xfd,0xb3,0xb4,0x49,0x31,0x71,0xff,0x2c,0xed,0xee,0x98,0xb8,0x7f,0x96,0xf6, 282 0xa7,0x98,0xb8,0x7f,0x96,0x76,0x8f,0x78,0xfe,0x59,0xda,0xbd,0x31,0x71,0xff,0x2c, 283 0xed,0xcf,0x31,0xf5,0x21,0x33,0xdd,0x69,0xd2,0xf5,0xcf,0xd2,0xa6,0xc7,0xc4,0xfd, 284 0xb3,0xb4,0xfb,0x62,0xea,0x4f,0x77,0xba,0xf7,0x4b,0xd7,0x3f,0x4b,0x9b,0x19,0x13, 285 0xf7,0xcf,0xd2,0x66,0xc5,0xd4,0x9f,0xe9,0x74,0xc7,0xc4,0xf9,0x73,0x5f,0x8b,0xd9, 286 0x23,0x31,0x71,0x5f,0x2c,0x66,0x8f,0xc6,0x94,0xfb,0x98,0x3d,0x1e,0x13,0xf7,0x31, 287 0x9b,0x1d,0x13,0xf7,0x31,0x9b,0x13,0x13,0xf7,0x31,0x9b,0x2b,0x9e,0x8f,0xd9,0xbc, 288 0x98,0xb8,0x8f,0xd9,0xfc,0x98,0xfa,0xf3,0x9c,0xef,0x0b,0xa4,0xeb,0x63,0xb6,0x30, 289 0x26,0xee,0x63,0xb6,0x28,0xa6,0xfe,0x42,0xa7,0xbb,0x44,0xba,0x3e,0x66,0x4b,0x63, 290 0xe2,0x3e,0x66,0xcb,0x62,0xea,0x2f,0x8d,0xf3,0xe7,0x8f,0x77,0xc4,0x8c,0xe5,0x32, 291 0xe5,0x0f,0xbc,0x1b,0x74,0x87,0xcb,0x0b,0x2b,0x94,0x9b,0x91,0x3f,0x2d,0x37,0xbe, 292 0x1c,0xf3,0xf7,0x01,0x2b,0xb4,0x8f,0xc3,0x3b,0xb6,0xaf,0xc4,0x7c,0xaf,0xa8,0xaf, 293 0x7b,0xfe,0xff,0x6a,0x4c,0xbc,0xf9,0x7e,0x27,0x26,0xd6,0x4f,0xef,0x95,0x36,0xdf, 294 0xef,0xc4,0x94,0x99,0xde,0x1b,0x75,0x7a,0x6f,0xc6,0xc4,0xea,0x9f,0x67,0xac,0x8a, 295 0x29,0x6b,0x7e,0xa7,0xa8,0x4e,0x6f,0x75,0x4c,0xac,0xfe,0xf9,0xc6,0x3b,0x31,0x65, 296 0xb6,0xd7,0x7e,0x2f,0x66,0x9f,0x86,0x14,0xf2,0xfe,0xbc,0xaf,0xfe,0xbc,0xe7,0xec, 297 0x7f,0x10,0x13,0xb7,0xfb,0xdc,0xb5,0xd2,0x1b,0xea,0x9e,0x5b,0x7d,0x18,0x93,0xb7, 298 0x36,0x6e,0x79,0xbf,0xfd,0x51,0x4c,0x99,0xc5,0x70,0x5d,0xcc,0x77,0x4a,0x57,0x38, 299 0x3f,0x36,0xc4,0xc4,0xbd,0x1f,0x9f,0xc8,0x8f,0x0d,0xce,0x8f,0x4f,0x63,0xe2,0xe6, 300 0xc7,0x46,0xe9,0x0d,0x75,0x67,0xba,0x9f,0xc7,0xe4,0x6d,0x74,0xeb,0xe5,0x17,0x31, 301 0xf1,0x16,0xcf,0x1f,0x62,0xe2,0x18,0x7b,0xbc,0x67,0xf6,0x40,0x21,0x5f,0x3b,0xbe, 302 0x8a,0xf9,0xee,0x19,0xe2,0xf5,0x91,0x5b,0x3b,0xfe,0x15,0x53,0x66,0x7d,0xd9,0x1c, 303 0xd3,0x0e,0xd6,0xcb,0x65,0x76,0xdf,0x14,0x93,0xb7,0xd9,0xcd,0xa5,0x6f,0x63,0xe2, 304 0xab,0xdc,0xda,0xb8,0x35,0xe6,0xf8,0x7f,0xab,0xb5,0xa4,0xf6,0x5e,0x77,0x92,0xaf, 305 0x25,0x5b,0x5d,0x1e,0xc7,0xbb,0x54,0xc8,0xad,0x97,0x54,0xc8,0xb9,0x39,0xce,0xdf, 306 0x05,0xb1,0x1c,0xba,0x59,0xcf,0xb5,0xc1,0xc3,0x0b,0xce,0xe0,0x60,0x6d,0x80,0xce, 307 0x26,0xbd,0x77,0x54,0x0d,0x5a,0xe6,0xe0,0x4a,0x56,0xdf,0x59,0xef,0x19,0x55,0x82, 308 0xfc,0x1c,0x69,0xbb,0x80,0xef,0xf7,0x58,0x9e,0xdf,0x31,0xa0,0xcd,0x52,0xed,0xdd, 309 0x70,0xae,0xc3,0xa7,0x24,0xf9,0xfb,0xb7,0x90,0xe3,0x3a,0xbf,0x40,0xb2,0x53,0xb7, 310 0x21,0xb3,0xfd,0xd4,0xae,0x09,0x75,0xc1,0x81,0x4f,0xad,0x93,0xdc,0x27,0xc8,0x76, 311 0xcb,0x0a,0x30,0xf8,0x84,0xef,0xcd,0xfb,0x28,0xe9,0x40,0xf7,0x62,0xbd,0x8b,0xda, 312 0x3d,0x21,0x6e,0x9c,0xb3,0x13,0xb6,0xe7,0x39,0x3f,0x4f,0x88,0xdf,0x94,0x71,0x50, 313 0xff,0x65,0x42,0x0c,0xba,0x23,0x84,0xf5,0x48,0x88,0xe3,0xdd,0x58,0x8c,0x05,0xb0, 314 0x5f,0x25,0xf6,0xde,0x2c,0xe5,0x78,0x1f,0x98,0xf2,0xa0,0x26,0xff,0xef,0x24,0x7f, 315 0xce,0x0d,0xee,0x00,0xcd,0x91,0x73,0x12,0xca,0x6c,0xec,0x7b,0x26,0xc4,0x06,0xba, 316 0x6b,0xa5,0x57,0xc2,0xf7,0x6e,0x7b,0x0a,0xc7,0x38,0x5a,0x9f,0xf1,0x89,0x71,0xac, 317 0xbd,0x9b,0x5a,0x65,0x1e,0xc3,0xd8,0xf4,0x52,0x6c,0x1e,0x56,0x1c,0xf7,0x4a,0x38, 318 0x4e,0x78,0x5f,0x17,0x71,0xec,0xe0,0xe2,0x08,0x59,0xdb,0xac,0xb4,0x97,0xcd,0xb6, 319 0x49,0x7e,0x4e,0xff,0x43,0x8d,0xcd,0x76,0x41,0x7e,0x8e,0xbd,0x4f,0xc2,0x31,0x82, 320 0xcc,0xf2,0xe8,0xbe,0x09,0xdb,0x87,0x0c,0xfe,0x75,0x90,0xad,0xf6,0x75,0xf5,0x0e, 321 0xce,0xdf,0x86,0x2a,0xf5,0xd0,0x1e,0xfc,0x06,0x77,0x96,0xfc,0x3d,0xa0,0xce,0xdf, 322 0xc3,0x9c,0xbf,0x90,0x75,0xcc,0xca,0xa1,0xb2,0xd9,0xd1,0xf9,0xd1,0x49,0x7e,0xb4, 323 0x29,0xe5,0x7d,0xe8,0xec,0xfa,0x30,0x54,0xd8,0xc1,0x09,0xdf,0xb9,0x86,0xcc,0x72, 324 0xc1,0x21,0x09,0xf5,0x0f,0x96,0xcf,0x87,0xc9,0xfe,0xa1,0x75,0xf5,0xc3,0x5c,0x1f, 325 0x1a,0xab,0xd4,0xeb,0xa8,0x3e,0x80,0x6b,0x6b,0xc6,0x11,0x09,0xfb,0x08,0xce,0x6f, 326 0x8a,0x7c,0x97,0xea,0x48,0x37,0xd7,0x8f,0x48,0xf2,0xe7,0x3a,0x18,0xfb,0xa3,0x34, 327 0x67,0x17,0x38,0xec,0x68,0xcd,0xe1,0x05,0x85,0xfc,0x1c,0xe4,0x98,0x84,0x78,0x7f, 328 0x77,0xe6,0x71,0x6c,0x42,0x7d,0xc8,0xec,0xba,0x3c,0x2e,0x21,0x6e,0xeb,0xdf,0x09, 329 0x09,0xdb,0x2f,0xb8,0xb5,0xee,0xc7,0x09,0x79,0x27,0x38,0xde,0x89,0xe2,0x15,0xdd, 330 0x7b,0x95,0x27,0x25,0xe4,0x9e,0xa8,0x58,0x54,0x95,0x07,0x90,0x0f,0x7c,0x1d,0x9f, 331 0xf6,0xde,0x58,0xb9,0x4a,0x3d,0xc4,0xab,0x95,0x72,0xc7,0x34,0xbd,0xdf,0xd8,0x3a, 332 0xe0,0x3b,0x24,0x18,0xdb,0xbd,0x5c,0x9e,0x01,0xde,0x26,0x2b,0x7b,0xc9,0x5e,0x9b, 333 0x20,0xcf,0x2b,0x7b,0xbb,0xbc,0x32,0x53,0xf3,0xa4,0x5d,0x40,0x7c,0x86,0xae,0x0b, 334 0xd3,0xdb,0x2b,0xc8,0xf7,0xc9,0x3f,0x54,0x5b,0xf0,0xad,0x9d,0xec,0xa3,0xdd,0xf6, 335 0xae,0x5d,0x70,0xf6,0xcd,0x4a,0x7b,0xe9,0xef,0xeb,0xda,0xdd,0x4f,0xed,0x16,0xdc, 336 0x3b,0x38,0xfb,0x07,0xc4,0x8d,0xd3,0x51,0x9c,0xa2,0xe3,0x1c,0x18,0x10,0x37,0xce, 337 0x41,0xe2,0x34,0x38,0x4e,0xe7,0x80,0xb8,0xbd,0xe7,0x72,0x70,0x40,0xdb,0xd0,0xed, 338 0x2c,0x3f,0x47,0x27,0x2d,0xdf,0x6b,0xba,0x1c,0xf9,0x49,0x73,0x11,0xdf,0xcf,0x55, 339 0x1e,0xbd,0xc2,0xcd,0xad,0x26,0xfd,0xae,0x0f,0x32,0xd8,0xbd,0xca,0xc9,0x0e,0x56, 340 0x8e,0x1d,0xae,0xf7,0x65,0xae,0x4e,0x28,0xc7,0xbb,0xd8,0xe6,0xd7,0x35,0x09,0xed, 341 0x99,0x5f,0x83,0x13,0x62,0x56,0xae,0x93,0xee,0x90,0x84,0xfa,0x83,0x5d,0x0e,0xbb, 342 0x36,0xe1,0x9a,0x7e,0x85,0x9b,0x8b,0xd7,0x25,0xc4,0xcd,0xde,0xf5,0x09,0x31,0x2b, 343 0x37,0xc8,0xde,0xd0,0x84,0x36,0xaf,0x4f,0xf2,0x77,0x77,0x86,0x25,0xc4,0xad,0x3e, 344 0x22,0x61,0x1f,0xec,0xfc,0xed,0xc6,0x84,0xd8,0x30,0xcd,0xcd,0xd1,0x8a,0xcd,0x4d, 345 0x4e,0x67,0xa4,0x74,0x2c,0x1e,0xff,0xbb,0x8d,0x78,0x58,0x9f,0x6e,0x49,0x28,0xc7, 346 0xbb,0xec,0xcd,0xef,0x14,0x25,0xc4,0x17,0x57,0xdc,0x3b,0x45,0x09,0x71,0xf3,0xe3, 347 0x8f,0x09,0xdb,0x19,0x55,0xe7,0xc7,0xe8,0x24,0xbf,0x9f,0x6b,0x53,0xa5,0xbf,0x18, 348 0xb7,0x3f,0x6a,0x1c,0x6d,0x7e,0xdc,0x9e,0x50,0x5e,0x28,0xe4,0xf7,0x96,0x77,0x26, 349 0xc4,0xad,0xd8,0x39,0xd7,0xd8,0x84,0x32,0xf0,0xd1,0x27,0x60,0xe3,0x5c,0x9f,0xc6, 350 0x2a,0xb7,0x5c,0xac,0xdf,0xb1,0x8e,0x4f,0x28,0xef,0xa6,0xfb,0xd0,0x26,0xe9,0xb6, 351 0xa9,0xe6,0xeb,0x12,0xe6,0xa5,0xc9,0x27,0xd6,0xc9,0x1b,0x54,0xac,0xfd,0x49,0x09, 352 0x6d,0x4c,0x4c,0xf2,0xf6,0x27,0xbb,0xf6,0x27,0xd5,0xb5,0x7f,0x77,0x42,0xf9,0xaf, 353 0x15,0xff,0x29,0xdb,0x88,0x7f,0x6f,0xc9,0xee,0xdd,0x86,0xcc,0xde,0xf7,0xfa,0x73, 354 0x42,0x5d,0x70,0x2e,0x91,0xed,0xa9,0x09,0xf1,0x33,0xb5,0x3e,0xdf,0x97,0xb0,0xbf, 355 0x76,0xef,0x09,0x6c,0x66,0x42,0x1f,0x0a,0x0e,0x9b,0x25,0xcc,0xf3,0x1e,0x92,0x6e, 356 0x83,0xc3,0x1e,0x13,0xaf,0x41,0xe3,0x82,0x36,0x17,0x26,0x6c,0x07,0x76,0x67,0x25, 357 0x39,0xbe,0x28,0xa1,0x0d,0x60,0x8f,0x09,0xc7,0xef,0x79,0x16,0xcb,0x2e,0xf4,0x16, 358 0x69,0x7e,0x2c,0xd1,0xfc,0x58,0xa2,0xf9,0x01,0xfd,0xbd,0xab,0xec,0x0f,0xe6,0xcc, 359 0x23,0xd9,0xf7,0xd7,0x25,0x83,0x1f,0x6d,0xab,0xda,0x57,0x64,0xd8,0x0b,0x49,0x2e, 360 0xab,0xfd,0x5e,0xb1,0xca,0x1c,0x08,0xd9,0x9b,0x92,0x3d,0xa4,0x1c,0xf9,0x54,0x42, 361 0x39,0xf6,0x0e,0x5f,0x65,0x31,0x5b,0x25,0xb9,0xe5,0x14,0xc8,0x9f,0xce,0xca,0x2a, 362 0xf9,0x83,0xef,0xa3,0x32,0x5d,0xf8,0xf3,0x5c,0x42,0xdf,0xe1,0xd7,0x18,0xc5,0xe3, 363 0xf9,0x84,0x38,0x8a,0xed,0x6f,0x5e,0x50,0x1c,0xdb,0x48,0x3e,0x47,0x6d,0xbf,0x24, 364 0x5f,0xe1,0x37,0x72,0xd9,0x4a,0xd7,0x2e,0x64,0xcb,0xb3,0xb2,0x52,0xed,0x2e,0x77, 365 0xfb,0xae,0x97,0x13,0xfe,0x86,0x0a,0xba,0xb7,0xc8,0x97,0xd7,0xd4,0xe6,0xcb,0x8a, 366 0x9f,0xe9,0xad,0x74,0xf1,0x43,0xcc,0x9e,0x53,0x7f,0x5e,0x93,0x7d,0x70,0x5f,0x17, 367 0xf7,0xf5,0x24,0xdf,0x53,0xbf,0xa9,0xb8,0x34,0x15,0x5a,0x8e,0x07,0xe2,0xf0,0x57, 368 0xf9,0xff,0x76,0xc2,0xb8,0x9f,0xaa,0x7d,0xc8,0x46,0xe7,0x3f,0x64,0xab,0xb3,0xf2, 369 0x8e,0xf4,0x56,0xab,0xad,0x8d,0xaa,0xbf,0xe3,0xe6,0xe4,0x7b,0x8a,0x61,0xa1,0x90, 370 0xc7,0xec,0x7d,0xc5,0xac,0x51,0x72,0xe3,0xae,0x11,0xb7,0xe8,0xb8,0x6b,0x1d,0x77, 371 0x4d,0x2d,0xee,0x9c,0x13,0x1f,0x0a,0x37,0x7b,0x6b,0x9d,0x9d,0x8f,0x65,0xa7,0xc1, 372 0xd9,0x59,0xe7,0xec,0x7c,0xec,0xec,0xac,0x77,0x76,0x60,0x73,0x9d,0x1b,0x8b,0x4f, 373 0x12,0xfe,0x4e,0x6c,0xbd,0x1b,0x8b,0xcf,0x64,0xfb,0x93,0xba,0x3e,0x6f,0x74,0x63, 374 0xd1,0xae,0xca,0xdf,0x9d,0x21,0x2e,0x9f,0x29,0x4e,0x76,0xcd,0x7e,0x91,0xd8,0xb5, 375 0xcd,0x36,0xfe,0x99,0x10,0x83,0x4e,0x9f,0x22,0x7d,0xfa,0xca,0xe5,0x81,0x7f,0x2a, 376 0x9f,0x5c,0x28,0xd9,0xa6,0x6d,0xc8,0x1e,0xd5,0x98,0x6d,0x49,0x88,0x41,0xdf,0xee, 377 0x05,0xf1,0xf7,0x08,0xf0,0xdb,0x36,0x7b,0x47,0xe3,0x9b,0x84,0xbc,0x7f,0x6b,0xdf, 378 0x66,0xba,0xf8,0xb1,0x38,0x74,0x61,0xdf,0xb8,0x0d,0x29,0x71,0xe3,0xda,0x9e,0xa8, 379 0x94,0xd2,0x0e,0xe4,0xbf,0xd6,0xfe,0xae,0x9c,0xe6,0x7e,0x41,0x3e,0xa6,0x90,0xef, 380 0xab,0xa2,0x94,0x72,0xfc,0xeb,0x51,0xe4,0x3a,0x18,0x8b,0x8f,0x58,0x40,0x6e,0xdc, 381 0x8a,0xb8,0x45,0xc7,0xad,0x3a,0x2e,0xe4,0x16,0xcb,0x1b,0x53,0xda,0x19,0xa1,0xb1, 382 0xb9,0x29,0x25,0xb6,0x5e,0xf7,0x1f,0xc0,0xfe,0x90,0xe6,0x79,0x1e,0xf2,0x8b,0xf4, 383 0x9b,0xa5,0x91,0x29,0x65,0x66,0xeb,0x96,0x94,0xed,0x98,0xad,0x5b,0x53,0x62,0xde, 384 0xd6,0x6d,0xce,0xd6,0xad,0xce,0xd6,0xa8,0x94,0x32,0x9c,0xdd,0xe2,0x1c,0xb1,0x4d, 385 0x4a,0xfb,0xc0,0xef,0xd2,0xbe,0x6f,0xaf,0x94,0x38,0xae,0xa5,0xeb,0x53,0x77,0x0f, 386 0x92,0x7d,0x6f,0x9b,0x15,0x60,0xb5,0x7b,0x10,0x17,0x8b,0xdb,0x65,0xc7,0x9f,0x2b, 387 0xdd,0x91,0x12,0xef,0xed,0xee,0xe5,0xc7,0x09,0x1b,0xee,0xf6,0xb7,0xe3,0x53,0x72, 388 0xc7,0x39,0x7b,0x4d,0xb2,0xe7,0xcf,0x9f,0x26,0xa4,0xc4,0x87,0x3b,0x7b,0x93,0x85, 389 0x0d,0x74,0xf6,0xee,0x4e,0xc9,0x9d,0xec,0xec,0x4d,0x91,0x3d,0x7f,0x26,0x75,0x4f, 390 0x4a,0xdc,0xfb,0x37,0x55,0x98,0xf7,0x6f,0x5a,0x4a,0x2e,0x64,0xb6,0x37,0x9a,0x9e, 391 0xd2,0x6f,0xb4,0x05,0xb9,0xed,0x37,0xf6,0xd1,0xd8,0x58,0xbd,0x7d,0x4a,0xae,0xed, 392 0x3f,0x3a,0xa4,0xe4,0x00,0xaf,0x68,0xff,0xb0,0x9f,0xfa,0x19,0x4a,0x6e,0xba,0x07, 393 0x68,0xce,0x98,0x6e,0xa7,0x94,0x98,0xd7,0x3d,0xc8,0xe9,0x76,0x4a,0xf3,0xb5,0xff, 394 0x90,0x94,0x76,0x21,0x9f,0xa9,0xb1,0x3e,0x34,0x25,0x8e,0xb3,0x61,0xc3,0x0e,0x17, 395 0x07,0xd8,0x99,0xba,0xbe,0x7e,0x94,0x92,0x6b,0xeb,0x30,0xb0,0xff,0x48,0xc9,0x2d, 396 0x14,0xf2,0xf3,0xeb,0xa3,0x52,0x72,0x21,0xb3,0xf3,0xea,0x2e,0x29,0x71,0x7b,0x8e, 397 0x62,0x7b,0xcb,0xa3,0x53,0xca,0x6c,0x3c,0x8e,0xd5,0x9c,0xf3,0xbf,0x69,0x3b,0x2e, 398 0x25,0x0e,0x6e,0x77,0xc5,0x79,0x64,0x85,0xf8,0xa2,0x6a,0x4b,0x7f,0x7e,0x2c,0x1f, 399 0x8b,0x0e,0x3b,0x51,0x3e,0x16,0x9d,0x8f,0x27,0xa5,0xe4,0x9e,0xe8,0x7c,0x3c,0x39, 400 0x25,0x5e,0xef,0x63,0xd7,0x94,0x32,0xf3,0xf1,0xa7,0xf2,0xd1,0xff,0xd6,0xe9,0xd4, 401 0x94,0x78,0x57,0xe7,0xe3,0xad,0x15,0xe2,0x23,0x2b,0x2d,0xfd,0x39,0x4d,0x3e,0x36, 402 0x38,0xac,0x9b,0x7c,0x6c,0x70,0x3e,0x9e,0x91,0x92,0xdb,0xcd,0xf9,0x78,0x66,0x4a, 403 0xbc,0xde,0xc7,0xee,0x29,0x65,0xe6,0xe3,0x7f,0xc9,0xc7,0x06,0xe7,0xe3,0xd9,0x29, 404 0xf1,0xee,0xce,0xc7,0x31,0x15,0xe2,0xf0,0xb5,0x41,0xef,0x66,0x9d,0xeb,0xae,0x6d, 405 0x8c,0x63,0x8f,0xac,0x9c,0xab,0x6b,0x1b,0xdf,0xed,0x3e,0xf0,0x1c,0x8d,0x31,0xd6, 406 0x10,0x93,0xe3,0xd3,0xee,0xdd,0x7a,0x6a,0x1e,0x20,0x1f,0x9c,0x23,0x3b,0xd6,0x8f, 407 0x5e,0x29,0xe5,0xf5,0xfd,0x38,0x2f,0xa5,0xcc,0xee,0xf5,0xfb,0x28,0x2f,0x9c,0xe7, 408 0x7c,0x1e,0x57,0x21,0x6e,0x63,0x5f,0x7b,0x76,0xe5,0x7c,0xc6,0xb8,0xf6,0xcd,0x4a, 409 0x7f,0xf9,0xd4,0xd7,0xf9,0xdc,0x4f,0x63,0x5e,0x7b,0x1e,0x25,0x79,0x7f,0xe7,0xf3, 410 0xff,0x68,0x5e,0xa0,0x1f,0xfd,0x64,0xc7,0x7c,0xbe,0x28,0xa5,0xbc,0xde,0xe7,0x01, 411 0x29,0x65,0xe6,0xf3,0xa5,0xca,0x3d,0x03,0x9c,0xcf,0x13,0x2b,0xc4,0xc7,0x69,0x2e, 412 0xc0,0xe7,0xab,0x9d,0xcf,0x18,0xe7,0x2b,0xb2,0x72,0xb5,0x7c,0xba,0xc2,0xf9,0x3c, 413 0x48,0x73,0x00,0x3e,0x9b,0xfc,0x6a,0xe7,0xf3,0xef,0x34,0x4f,0xd0,0x8f,0x41,0xb2, 414 0x63,0x3e,0x5f,0x93,0x52,0x5e,0xef,0xf3,0xe0,0x94,0x32,0xf3,0xf9,0x5a,0xe5,0xb7, 415 0xc1,0xce,0xe7,0x29,0x15,0xe2,0x13,0x35,0x37,0xd0,0xbe,0xe5,0xf8,0xeb,0xd5,0x3e, 416 0x78,0x1d,0xaa,0x9c,0x6b,0xd8,0x3f,0x60,0x3e,0x5d,0xed,0x64,0xed,0xab,0xcc,0xaf, 417 0x90,0x4d,0x91,0xcc,0xe6,0xe8,0xcc,0x94,0x72,0xbf,0x36,0xcc,0x4a,0x89,0x4f,0x76, 418 0x6b,0xef,0x83,0xe2,0xf9,0x9c,0xff,0x50,0x4a,0x7c,0x88,0xcb,0xc7,0x0f,0xa7,0xd4, 419 0x7f,0xc8,0xb5,0xf1,0xa8,0x74,0x1b,0x1c,0xef,0xb1,0x94,0xdc,0x47,0x1d,0x6f,0x76, 420 0xca,0x7e,0xb4,0x78,0xfe,0x91,0x12,0xf7,0xbe,0xcc,0x15,0xaf,0xc5,0xf3,0x8f,0x94, 421 0xb8,0xf7,0x65,0x7e,0x4a,0xfd,0x79,0xae,0x8d,0x05,0xd2,0xf5,0xbe,0x2c,0x4c,0xc9, 422 0x85,0xcc,0xce,0x4d,0x4f,0x0b,0xe8,0xe3,0x42,0xad,0xb5,0xdd,0xdc,0x59,0x07,0x64, 423 0xa7,0x67,0xa5,0x9b,0xce,0x3a,0xf0,0xbd,0xf9,0x8c,0x54,0xe7,0x1a,0x56,0x3f,0x5b, 424 0x67,0x18,0x56,0xff,0xa5,0x3b,0xaf,0xc0,0x5e,0xa0,0x47,0x40,0x1d,0xf0,0x20,0xb3, 425 0xfe,0x2c,0xd3,0x18,0xf8,0xf5,0xef,0x19,0x61,0x7e,0xfd,0x7b,0x36,0x25,0x17,0x32, 426 0xd3,0xfd,0xbb,0xc6,0xc5,0xaf,0xc5,0x2f,0x0a,0xf3,0x6b,0xf1,0x4b,0x29,0xb9,0x2f, 427 0x3a,0xdd,0x97,0x35,0x26,0xbe,0xdd,0xd7,0x84,0xf9,0x76,0x57,0xa6,0xe4,0xbe,0xe6, 428 0xd6,0xdd,0xd7,0x53,0xfa,0x03,0xbb,0x2b,0xdd,0x9e,0xe8,0xdc,0x80,0x32,0x6b,0xe3, 429 0x6d,0x8d,0xa9,0x6f,0xe3,0x5d,0x61,0xbe,0x8d,0xf7,0x52,0x72,0xdf,0x75,0xba,0x6b, 430 0x34,0xce,0xbe,0x6f,0x1f,0x09,0xf3,0x7d,0xfb,0x38,0x25,0xf7,0x23,0xa7,0xbb,0x41, 431 0x63,0xec,0xdb,0xfd,0x4c,0x98,0x6f,0x77,0x63,0x4a,0xee,0x67,0xae,0x6f,0x9f,0xa7, 432 0xf4,0x07,0x76,0x37,0xba,0xbe,0x9d,0x1f,0x50,0x36,0x4c,0xfb,0xbd,0x2d,0x29,0xb1, 433 0x73,0xdd,0xde,0xfc,0xdb,0x94,0xf5,0x2d,0x69,0x8e,0x15,0x2b,0xe4,0x79,0xac,0xb1, 434 0xc2,0xf9,0xb0,0x45,0xf6,0x80,0x85,0x15,0xe2,0xdf,0x3a,0x2c,0xa9,0x50,0x1f,0x98, 435 0xdd,0x63,0xa4,0x15,0x72,0x21,0xb3,0x33,0xf5,0x4a,0x25,0x3f,0x53,0x87,0x1c,0xf7, 436 0x90,0xb8,0x27,0x9c,0xae,0x7b,0x99,0xef,0xe9,0x3d,0x0e,0xfc,0x6d,0x0d,0xfc,0x3d, 437 0x0d,0x3b,0x9f,0xdf,0xae,0x42,0xdd,0xef,0x55,0xf2,0xfb,0x9e,0xed,0x2b,0xf9,0x9e, 438 0x15,0x72,0x3b,0x7f,0xdf,0xa1,0x42,0x99,0xed,0xf5,0x77,0x92,0x4d,0x3c,0xaf,0x7c, 439 0xa6,0x94,0x9f,0x69,0xed,0x5c,0x21,0x77,0xb8,0x3b,0x97,0x6f,0x55,0x21,0x7f,0xe7, 440 0x4a,0xfe,0x7e,0x82,0x5d,0x53,0xdd,0x82,0xfc,0x8c,0xf8,0x70,0x9d,0xcb,0x23,0xdf, 441 0x41,0x07,0xd7,0xdb,0x83,0xba,0x4e,0xfb,0x07,0xbc,0x46,0x1f,0xd3,0x75,0x3a,0xc0, 442 0x5d,0xa7,0x90,0x5d,0x94,0x95,0x01,0xb2,0x89,0xef,0xcb,0x34,0xc6,0x97,0x04,0xb4, 443 0xdb,0xd7,0xfd,0x76,0xef,0xb2,0x80,0x38,0xee,0x11,0x6c,0xfd,0xbf,0x3c,0x60,0x7f, 444 0x2e,0xd3,0x39,0xed,0x95,0xb2,0x85,0x4f,0xeb,0xf3,0xfc,0x2a,0x79,0x6f,0xc9,0x2e, 445 0x78,0xd6,0xe6,0x00,0xd7,0x8f,0x01,0x55,0xb6,0x89,0xbe,0x41,0x07,0x36,0xee,0xb5, 446 0x77,0xb3,0x03,0xf6,0x65,0xad,0x7e,0x8f,0x7e,0x8d,0xf4,0xaf,0x71,0xed,0x3c,0x59, 447 0x25,0xcf,0xfa,0x6b,0xf8,0x02,0xe1,0x96,0xaf,0x6c,0xbe,0x8f,0x08,0xa8,0x33,0xc8, 448 0xcd,0xed,0x1b,0x02,0xf2,0x47,0xc8,0x4f,0x3b,0xaf,0x6d,0xef,0xfc,0xfc,0x1f,0xc5, 449 0x1b,0x67,0xc0,0xf0,0xf9,0x1a,0x27,0x3b,0xd5,0xc9,0x60,0xeb,0x1a,0x9d,0xb1,0xde, 450 0x1c,0xb4,0x3c,0x63,0x1d,0x99,0xd5,0x6f,0x96,0xed,0x91,0xe2,0xdc,0x56,0x77,0x5e, 451 0x7c,0x6b,0x56,0x46,0x8b,0x73,0x6b,0x90,0xdf,0x6b,0xe2,0x6f,0xe8,0xe1,0x5e,0xd3, 452 0x9e,0x1d,0xfe,0x31,0x20,0x06,0x7f,0x6f,0x13,0x7f,0x74,0x5d,0xfd,0xb6,0x20,0x3f, 453 0xcb,0x39,0xa5,0x4a,0x1d,0xd8,0x1c,0xa3,0x36,0xec,0x59,0xd9,0x1d,0x41,0x7e,0x7f, 454 0x79,0x4a,0xb5,0xe5,0xb3,0xb2,0xb1,0x01,0xe5,0x63,0xe4,0xef,0x78,0xe7,0x2f,0x64, 455 0xe3,0xb2,0x32,0x5e,0xed,0x8d,0x73,0xcf,0xef,0x26,0x48,0x0f,0xf7,0x99,0xa8,0x4f, 456 0x54,0x1b,0x88,0xd5,0x04,0xf9,0x69,0x7a,0xe3,0x5d,0x2c,0xaf,0xaa,0x92,0x03,0xdf, 457 0x27,0xca,0x3e,0xda,0xbd,0xdb,0xb5,0x8b,0xf7,0x4f,0x26,0x67,0xf5,0xbb,0xa5,0x3f, 458 0xd9,0x9d,0x87,0x4f,0x71,0xe7,0xf9,0x36,0x87,0xef,0x09,0x88,0xdb,0x79,0xbe,0xe9, 459 0xdd,0xed,0xce,0xf3,0xef,0x0d,0xf8,0x5e,0x0b,0x7c,0x01,0x7f,0xb2,0x7c,0x9c,0x2a, 460 0xee,0x54,0x37,0xe7,0x16,0x56,0xc9,0x47,0x7f,0x30,0x2f,0xc0,0xb3,0x71,0xbd,0xd9, 461 0xf5,0xe5,0x72,0xf5,0x05,0xf3,0x08,0xfd,0x9a,0xea,0x64,0xfd,0xab,0xd4,0x85,0x6c, 462 0xa1,0x64,0xcd,0x7f,0x27,0x41,0x7f,0x7f,0x02,0xcf,0x3f,0x6d,0xde,0xde,0x1f,0x50, 463 0x07,0x32,0x3c,0xf7,0xa9,0xed,0x53,0xdc,0xb8,0xdd,0xaf,0x33,0x4d,0x3b,0x47,0x78, 464 0x30,0x60,0xfb,0xe0,0x74,0xcb,0xac,0xe2,0xfd,0x8a,0x87,0x03,0x3e,0x3f,0x81,0xcc, 465 0x7e,0xcb,0x6f,0xbf,0xd3,0x47,0x8c,0x1f,0xaf,0x7b,0x36,0xfb,0x97,0xac,0xfe,0xb8, 466 0xfa,0xf5,0x17,0x67,0x67,0x76,0x40,0x5b,0x0f,0x6f,0xc3,0x0e,0x62,0x61,0x3a,0x8f, 467 0xab,0xbf,0xd0,0x79,0xb0,0x4a,0x3e,0xe2,0x03,0x7d,0xd8,0xb3,0xf1,0x79,0x42,0xcf, 468 0x7a,0xed,0x37,0x18,0xf3,0x9c,0x1f,0x90,0xcd,0xcd,0xca,0x3c,0xd9,0x9c,0xeb,0xfe, 469 0xbe,0xc6,0xfc,0x80,0x7f,0xf7,0x60,0x86,0x7b,0xef,0xe1,0xc9,0x80,0xf8,0x0d,0xb6, 470 0xb7,0x09,0x88,0x7d,0xea,0x7f,0x03,0x1a,0x10,0x37,0x3b,0x8b,0x64,0xa7,0xc9,0xd9, 471 0x59,0x1c,0x10,0x37,0x3b,0x4b,0x02,0x62,0xde,0xce,0xd2,0x80,0xb8,0xfd,0x1d,0x8e, 472 0x65,0x01,0x6d,0x2f,0xd5,0x73,0x4d,0x60,0x4f,0x07,0xfc,0xfb,0x10,0xcb,0x74,0x2d, 473 0xe3,0xef,0xf8,0xfc,0x4d,0x7f,0xc3,0xa7,0x4f,0x56,0xc7,0x77,0x70,0x1e,0xd4,0x3c, 474 0xb2,0x7e,0xce,0x0b,0x5a,0xfe,0x0d,0x0e,0x7c,0x7e,0x93,0x45,0xf8,0xc8,0xac,0xfc, 475 0x3f,0x7c,0xcd,0xfd,0x34,0xf4,0x54,0x00,0x00 476}; 477 478// Generated from: 479// 480// #version 450 core 481// 482// #extension GL_GOOGLE_include_directive : require 483// 484// #extension GL_KHR_shader_subgroup_clustered : enable 485// #extension GL_KHR_shader_subgroup_shuffle : enable 486// 487// layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in; 488// layout(binding = 0)uniform highp usamplerBuffer uInputBuffer; 489// layout(binding = 1, rgba32ui)writeonly uniform uimage2D uOutput; 490// 491// layout(push_constant)uniform imagInfo { 492// 493// uint offsetX; 494// uint offsetY; 495// int texelOffset; 496// uint width; 497// uint height; 498// uint alphaBits; 499// uint isSigned; 500// uint isEacRg; 501// }; 502// 503// #line 1 "shaders/src/third_party/etc_decoder/etc_decoder.h" 504// 505// const ivec2 etc1_color_modifier_table[8]= ivec2[]( 506// ivec2(2, 8), 507// ivec2(5, 17), 508// ivec2(9, 29), 509// ivec2(13, 42), 510// ivec2(18, 60), 511// ivec2(24, 80), 512// ivec2(33, 106), 513// ivec2(47, 183)); 514// 515// const ivec4 etc2_alpha_modifier_table[16]= ivec4[]( 516// ivec4(2, 5, 8, 14), 517// ivec4(2, 6, 9, 12), 518// ivec4(1, 4, 7, 12), 519// ivec4(1, 3, 5, 12), 520// ivec4(2, 5, 7, 11), 521// ivec4(2, 6, 8, 10), 522// ivec4(3, 6, 7, 10), 523// ivec4(2, 4, 7, 10), 524// ivec4(1, 5, 7, 9), 525// ivec4(1, 4, 7, 9), 526// ivec4(1, 3, 7, 9), 527// ivec4(1, 4, 6, 9), 528// ivec4(2, 3, 6, 9), 529// ivec4(0, 1, 2, 9), 530// ivec4(3, 5, 7, 8), 531// ivec4(2, 4, 6, 8) 532// ); 533// 534// const int etc2_distance_table[8]= int[](3, 6, 11, 16, 23, 32, 41, 64); 535// 536// int decode_etc2_alpha(uvec2 payload, int linear_pixel) 537// { 538// int bit_offset = 45 - 3 * linear_pixel; 539// 540// int base = int(bitfieldExtract(payload . y, 24, 8)); 541// 542// int multiplier = int(bitfieldExtract(payload . y, 20, 4)); 543// int table = int(bitfieldExtract(payload . y, 16, 4)); 544// 545// int lsb_index = int(bitfieldExtract(payload[bit_offset >> 5], bit_offset & 31, 2)); 546// bit_offset += 2; 547// int msb = int((payload[bit_offset >> 5]>>(bit_offset & 31))& 1u); 548// int mod = etc2_alpha_modifier_table[table][lsb_index]^(msb - 1); 549// 550// int a = base + mod * multiplier; 551// return clamp(a, 0, 0xff); 552// 553// } 554// 555// ivec4 DecodeRGB(ivec2 pixel_coord, uvec2 color_payload, int linear_pixel, inout bool punchthrough){ 556// int alpha_result = 0xff; 557// ivec3 rgb_result; 558// ivec3 base_rgb; 559// uint flip = color_payload . y & 1u; 560// uint subblock = uint((pixel_coord[flip]& 2)>> 1); 561// bool etc1_compat = false; 562// 563// if(alphaBits != 1 &&(color_payload . y & 2u)== 0u) 564// { 565// 566// etc1_compat = true; 567// base_rgb = ivec3(color_payload . yyy >>(uvec3(28, 20, 12)- 4u * subblock)); 568// base_rgb &= 0xf; 569// base_rgb *= 0x11; 570// } 571// else 572// { 573// int r = int(bitfieldExtract(color_payload . y, 27, 5)); 574// int rd = bitfieldExtract(int(color_payload . y), 24, 3); 575// int g = int(bitfieldExtract(color_payload . y, 19, 5)); 576// int gd = bitfieldExtract(int(color_payload . y), 16, 3); 577// int b = int(bitfieldExtract(color_payload . y, 11, 5)); 578// int bd = bitfieldExtract(int(color_payload . y), 8, 3); 579// 580// int r1 = r + rd; 581// int g1 = g + gd; 582// int b1 = b + bd; 583// 584// if(uint(r1)> 31u) 585// { 586// int r1 = int(bitfieldExtract(color_payload . y, 56 - 32, 2))| 587// (int(bitfieldExtract(color_payload . y, 59 - 32, 2))<< 2); 588// int g1 = int(bitfieldExtract(color_payload . y, 52 - 32, 4)); 589// int b1 = int(bitfieldExtract(color_payload . y, 48 - 32, 4)); 590// int r2 = int(bitfieldExtract(color_payload . y, 44 - 32, 4)); 591// int g2 = int(bitfieldExtract(color_payload . y, 40 - 32, 4)); 592// int b2 = int(bitfieldExtract(color_payload . y, 36 - 32, 4)); 593// uint da =(bitfieldExtract(color_payload . y, 34 - 32, 2)<< 1)| 594// (color_payload . y & 1u); 595// int dist = etc2_distance_table[da]; 596// 597// int msb = int((color_payload . x >>(15 + linear_pixel))& 2u); 598// int lsb = int((color_payload . x >> linear_pixel)& 1u); 599// int index = msb | lsb; 600// 601// if(punchthrough) 602// punchthrough = index == 2; 603// 604// if(index == 0) 605// { 606// rgb_result = ivec3(r1, g1, b1); 607// rgb_result *= 0x11; 608// } 609// else 610// { 611// int mod = 2 - index; 612// ivec3 rgb = ivec3(r2, g2, b2)* 0x11 + mod * dist; 613// rgb_result = ivec3(clamp(rgb, ivec3(0), ivec3(255))); 614// } 615// } 616// else if(uint(g1)> 31u) 617// { 618// int r1 = int(bitfieldExtract(color_payload . y, 59 - 32, 4)); 619// int g1 =(int(bitfieldExtract(color_payload . y, 56 - 32, 3))<< 1)| 620// int((color_payload . y >> 20u)& 1u); 621// int b1 = int(bitfieldExtract(color_payload . y, 47 - 32, 3))| 622// int((color_payload . y >> 16u)& 8u); 623// int r2 = int(bitfieldExtract(color_payload . y, 43 - 32, 4)); 624// int g2 = int(bitfieldExtract(color_payload . y, 39 - 32, 4)); 625// int b2 = int(bitfieldExtract(color_payload . y, 35 - 32, 4)); 626// uint da = color_payload . y & 4u; 627// uint db = color_payload . y & 1u; 628// uint d = da + 2u * db; 629// d += uint((r1 * 0x10000 + g1 * 0x100 + b1)>=(r2 * 0x10000 + g2 * 0x100 + b2)); 630// int dist = etc2_distance_table[d]; 631// int msb = int((color_payload . x >>(15 + linear_pixel))& 2u); 632// int lsb = int((color_payload . x >> linear_pixel)& 1u); 633// 634// if(punchthrough) 635// punchthrough =(msb + lsb)== 2; 636// 637// ivec3 base = msb != 0 ? ivec3(r2, g2, b2): ivec3(r1, g1, b1); 638// base *= 0x11; 639// int mod = 1 - 2 * lsb; 640// base += mod * dist; 641// rgb_result = ivec3(clamp(base, ivec3(0), ivec3(0xff))); 642// } 643// else if(uint(b1)> 31u) 644// { 645// 646// int r = int(bitfieldExtract(color_payload . y, 57 - 32, 6)); 647// int g = int(bitfieldExtract(color_payload . y, 49 - 32, 6))| 648// (int(color_payload . y >> 18)& 0x40); 649// int b = int(bitfieldExtract(color_payload . y, 39 - 32, 3))| 650// (int(bitfieldExtract(color_payload . y, 43 - 32, 2))<< 3)| 651// (int(color_payload . y >> 11)& 0x20); 652// int rh = int(color_payload . y & 1u)| 653// (int(bitfieldExtract(color_payload . y, 2, 5))<< 1); 654// int rv = int(bitfieldExtract(color_payload . x, 13, 6)); 655// int gh = int(bitfieldExtract(color_payload . x, 25, 7)); 656// int gv = int(bitfieldExtract(color_payload . x, 6, 7)); 657// int bh = int(bitfieldExtract(color_payload . x, 19, 6)); 658// int bv = int(bitfieldExtract(color_payload . x, 0, 6)); 659// 660// r =(r << 2)|(r >> 4); 661// rh =(rh << 2)|(rh >> 4); 662// rv =(rv << 2)|(rv >> 4); 663// g =(g << 1)|(g >> 6); 664// gh =(gh << 1)|(gh >> 6); 665// gv =(gv << 1)|(gv >> 6); 666// b =(b << 2)|(b >> 4); 667// bh =(bh << 2)|(bh >> 4); 668// bv =(bv << 2)|(bv >> 4); 669// 670// ivec3 rgb = ivec3(r, g, b); 671// ivec3 dx = ivec3(rh, gh, bh)- rgb; 672// ivec3 dy = ivec3(rv, gv, bv)- rgb; 673// dx *= int(pixel_coord . x); 674// dy *= int(pixel_coord . y); 675// rgb = rgb +((dx + dy + 2)>> 2); 676// rgb = clamp(rgb, ivec3(0), ivec3(255)); 677// rgb_result = ivec3(rgb); 678// 679// punchthrough = false; 680// 681// } 682// else 683// { 684// 685// etc1_compat = true; 686// base_rgb = ivec3(r, g, b)+ int(subblock)* ivec3(rd, gd, bd); 687// base_rgb =(base_rgb << 3)|(base_rgb >> 2); 688// } 689// } 690// 691// if(etc1_compat) 692// { 693// uint etc1_table_index = bitfieldExtract(color_payload . y, 5 - 3 * int(subblock != 0u), 3); 694// int msb = int((color_payload . x >>(15 + linear_pixel))& 2u); 695// int lsb = int((color_payload . x >> linear_pixel)& 1u); 696// int sgn = 1 - msb; 697// 698// if(punchthrough) 699// { 700// sgn *= lsb; 701// punchthrough =(msb + lsb)== 2; 702// } 703// 704// int offset = etc1_color_modifier_table[etc1_table_index][lsb]* sgn; 705// base_rgb = clamp(base_rgb + offset, ivec3(0), ivec3(255)); 706// rgb_result = ivec3(base_rgb); 707// } 708// 709// if(alphaBits == 1 && punchthrough) 710// { 711// rgb_result = ivec3(0); 712// alpha_result = 0; 713// } 714// 715// return ivec4(rgb_result . r, rgb_result . g, rgb_result . b, alpha_result); 716// } 717// #line 77 "shaders/src/EtcToBc.comp" 718// 719// ivec2 build_coord() 720// { 721// uvec2 base =(gl_WorkGroupID . xy)* 8; 722// uint blockid = gl_LocalInvocationID . x >> 4u; 723// uint blockxy = gl_LocalInvocationID . x & 0xfu; 724// base . x += 4 *(blockid & 0x1); 725// base . y += 2 *(blockid & 0x2); 726// base += uvec2(blockxy & 0x3, blockxy >> 0x2); 727// return ivec2(base); 728// } 729// 730// uint flip_endian(uint v) 731// { 732// uvec4 words = uvec4(v)>> uvec4(0, 8, 16, 24); 733// words &= 0xffu; 734// return(words . x << 24u)|(words . y << 16u)|(words . z << 8u)|(words . w << 0u); 735// } 736// 737// uvec2 flip_endian(uvec2 v) 738// { 739// return uvec2(flip_endian(v . y), flip_endian(v . x)); 740// } 741// 742// uint GetIndicesRGB(vec3 color, vec3 minColor, vec3 maxColor, bool transparent) 743// { 744// vec3 dir = maxColor - minColor; 745// float distMin = dot(minColor, dir); 746// float distMax = dot(maxColor, dir); 747// float dist = dot(color, dir); 748// int ind = int(round(clamp((dist - distMin)/(distMax - distMin), 0.0, 1.0)*(transparent ? 2.0 : 3.0))); 749// 750// return bitfieldExtract(transparent ? 0x18u : 0x2du, ind * 2, 2); 751// } 752// 753// void ComputeMaxMinColor(uvec3 rgbColor, inout uvec3 minColor, inout uvec3 maxColor){ 754// ivec3 dx; 755// if(alphaBits == 1){ 756// int count = subgroupClusteredAdd(1, 16); 757// ivec3 avg = ivec3((subgroupClusteredAdd(rgbColor, 16)* 2 + count)/(2 * count)); 758// dx = ivec3(rgbColor)- avg; 759// } 760// else { 761// dx = ivec3(rgbColor)- ivec3(subgroupClusteredAdd(rgbColor, 16)+ 8 >> 4); 762// } 763// vec3 cov0 = vec3(subgroupClusteredAdd(dx . r * dx, 16)); 764// vec3 cov1 = vec3(subgroupClusteredAdd(dx . ggb * dx . gbb, 16)); 765// vec3 vg = vec3(subgroupClusteredMax(rgbColor, 16)- subgroupClusteredMin(rgbColor, 16)); 766// 767// mat3 covMat = mat3(cov0, 768// vec3(cov0 . y, cov1 . xy), 769// vec3(cov0 . z, cov1 . yz)); 770// 771// float eigenvalue = 0.0f; 772// for(int i = 0;i < 4;i ++){ 773// vg = covMat * vg; 774// eigenvalue = sqrt(dot(vg, vg)); 775// if(eigenvalue > 0.0f){ 776// float invNorm = 1.0f / eigenvalue; 777// vg *= invNorm; 778// } 779// } 780// const float kDefaultLuminanceThreshold = 4.0f * 255; 781// const float kQuantizeRange = 0.512f; 782// 783// if(eigenvalue < kDefaultLuminanceThreshold){ 784// vg = vec3(0.299f, 0.587f, 0.114f); 785// } 786// else { 787// float magn = max(max(abs(vg . r), abs(vg . g)), abs(vg . b)); 788// vg *= kQuantizeRange / magn; 789// } 790// float dist = dot(vec3(rgbColor), vg); 791// float min_dist = subgroupClusteredMin(dist, 16); 792// float max_dist = subgroupClusteredMax(dist, 16); 793// uvec2 indices = uvec2(dist == min_dist ? gl_SubgroupInvocationID : 0, 794// dist == max_dist ? gl_SubgroupInvocationID : 0); 795// uvec2 minMaxIndex = subgroupClusteredMax(indices, 16); 796// minColor = subgroupShuffle(rgbColor, minMaxIndex . x); 797// maxColor = subgroupShuffle(rgbColor, minMaxIndex . y); 798// } 799// 800// uint GetIndicesAlpha(int alpha, int minAlpha, int maxAlpha) 801// { 802// float dist = float(maxAlpha - minAlpha); 803// int ind = int(round(clamp((alpha - minAlpha)/ dist * 7.0f, 0.0, 7.0))); 804// 805// return bitfieldExtract(0x2345671u, ind * 4, 4); 806// } 807// 808// void ComputeMaxMin(int alpha, inout int minAlpha, inout int maxAlpha){ 809// minAlpha = subgroupClusteredMin(alpha, 16); 810// maxAlpha = subgroupClusteredMax(alpha, 16); 811// } 812// uvec2 EncodeBC4(int value, uint pid){ 813// int minValue, maxValue; 814// ComputeMaxMin(value, minValue, maxValue); 815// uint indices = 0; 816// if(minValue != maxValue) 817// indices = GetIndicesAlpha(value, minValue, maxValue); 818// 819// uvec2 mask = uvec2(pid <= 5 ? indices <<(16 + 3 * pid): 0x0, 820// pid >= 5 ?(indices << 29)>>(45 - 3 * pid): 0x0); 821// 822// mask = subgroupClusteredOr(mask, 16); 823// return uvec2((maxValue & 0xff)|((minValue & 0xff)<< 8)| mask . x, mask . y); 824// } 825// 826// uvec3 scaleColorToRGB565(uvec3 color){ 827// return uvec3(round(vec3(color)* vec3(31.0 / 255.0, 63.0 / 255.0, 31.0 / 255.0))); 828// } 829// 830// uvec3 convertRGB565ToRGB888(uvec3 color){ 831// return uvec3(color . x << 3 |(color . x >> 2), 832// color . y << 2 |(color . y >> 4), 833// color . z << 3 |(color . z >> 2)); 834// } 835// 836// uint packRGB565(uvec3 color565){ 837// return color565 . r << 11 |(color565 . g << 5)| color565 . b; 838// } 839// 840// void modifyMinMax(inout uvec3 minColor, inout uvec3 maxColor){ 841// uvec3 minColor565 = scaleColorToRGB565(minColor); 842// uvec3 maxColor565 = scaleColorToRGB565(maxColor); 843// if(all(equal(minColor565, maxColor565))){ 844// uvec3 simulatedColor = convertRGB565ToRGB888(minColor565); 845// ivec3 signMax = sign(ivec3(maxColor)- ivec3(simulatedColor)); 846// ivec3 signMin = sign(ivec3(minColor)- ivec3(simulatedColor)); 847// bvec3 needCorrect = greaterThan(signMax * signMin, ivec3(0, 0, 0)); 848// bvec3 positive = greaterThan(signMin, ivec3(0, 0, 0)); 849// maxColor565 . r += needCorrect . r && positive . r ? 1 : 0; 850// maxColor565 . g += needCorrect . g && positive . g ? 1 : 0; 851// maxColor565 . b += needCorrect . b && positive . b ? 1 : 0; 852// minColor565 . r -= needCorrect . r && ! positive . r ? 1 : 0; 853// minColor565 . g -= needCorrect . g && ! positive . g ? 1 : 0; 854// minColor565 . b -= needCorrect . b && ! positive . b ? 1 : 0; 855// } 856// minColor = minColor565; 857// maxColor = maxColor565; 858// } 859// 860// void swap(inout uint a, inout uint b){ 861// uint t = a; 862// a = b; 863// b = t; 864// } 865// 866// void main() 867// { 868// ivec2 coord = build_coord(); 869// if(any(greaterThanEqual(coord, ivec2(width, height)))) 870// return; 871// 872// ivec2 tile_coord = coord >> 2; 873// ivec2 pixel_coord = coord & 3; 874// int linear_pixel = 4 * pixel_coord . x + pixel_coord . y; 875// int pid = 4 * pixel_coord . y + pixel_coord . x; 876// uvec4 payload = texelFetch(uInputBuffer, tile_coord . y * int((width + 3)>> 2)+ tile_coord . x + texelOffset); 877// 878// ivec4 result; 879// 880// uvec2 color_payload = flip_endian(alphaBits == 8 ? payload . zw : payload . xy); 881// bool nonOpaque = alphaBits == 1 &&(color_payload . y & 2u)== 0u; 882// bool punchthrough = nonOpaque; 883// result = DecodeRGB(pixel_coord, color_payload, linear_pixel, punchthrough); 884// if(alphaBits == 8){ 885// uvec2 alpha_payload = flip_endian(payload . xy); 886// result . a = decode_etc2_alpha(alpha_payload, linear_pixel); 887// } 888// 889// uvec4 finalResult; 890// 891// uvec3 minColor, maxColor; 892// uint indices = 0; 893// uint color565 = 0; 894// 895// finalResult . ba = alphaBits == 8 ? EncodeBC4(result . a, pid): uvec2(0, 0); 896// 897// bool controlFlag = alphaBits != 1 || result . a > 0; 898// if(controlFlag) 899// { 900// ComputeMaxMinColor(uvec3(result . r, result . g, result . b), minColor, maxColor); 901// modifyMinMax(minColor, maxColor); 902// uint minColor565 = packRGB565(minColor); 903// uint maxColor565 = packRGB565(maxColor); 904// 905// if(minColor565 != maxColor565){ 906// indices = GetIndicesRGB(vec3(result . r, result . g, result . b), 907// vec3(convertRGB565ToRGB888(minColor)), 908// vec3(convertRGB565ToRGB888(maxColor)), 909// nonOpaque); 910// } 911// bool flip = maxColor565 < minColor565; 912// if(flip){ 913// indices ^= 1; 914// 915// if(nonOpaque && indices == 3){ 916// indices = 2; 917// } 918// } 919// if(flip != nonOpaque){ 920// swap(maxColor565, minColor565); 921// } 922// color565 = maxColor565 |(minColor565 << 16); 923// } 924// if(alphaBits == 1){ 925// int active_lane_index = subgroupClusteredMax(controlFlag ? int(gl_SubgroupInvocationID): - 1, 16); 926// if(active_lane_index != - 1){ 927// color565 = subgroupShuffle(color565, active_lane_index); 928// } 929// if(punchthrough && result . a == 0){ 930// indices = 3; 931// } 932// } 933// uint mask = subgroupClusteredOr(indices <<(2 * pid), 16); 934// 935// finalResult . rg = uvec2(color565, mask); 936// if(alphaBits == 8){ 937// finalResult = finalResult . barg; 938// } 939// 940// if(pid == 0){ 941// tile_coord += ivec2(offsetX / 4, offsetY / 4); 942// imageStore(uOutput, tile_coord, finalResult); 943// } 944// 945// } 946