| // GENERATED FILE - DO NOT EDIT. |
| // Generated by gen_vk_internal_shaders.py. |
| // |
| // Copyright 2018 The ANGLE Project Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| // shaders/gen/EtcToBc.comp.00000000.inc: |
| // Pre-generated shader for the ANGLE Vulkan back-end. |
| |
| #pragma once |
| constexpr uint8_t kEtcToBc_comp_00000000[] = { |
| 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x02,0xff,0x6d,0x5c,0x09,0xb8,0x54,0xc5, |
| 0x95,0xee,0x7e,0xfd,0xfa,0xae,0xdd,0x71,0x8b,0xb8,0x06,0x44,0xa2,0xa0,0x22,0xe2, |
| 0x1a,0x47,0x5c,0x13,0x15,0xe3,0x44,0x51,0x1c,0x93,0x90,0x51,0x50,0x30,0x92,0xc0, |
| 0x88,0x8a,0x1b,0x46,0x88,0xca,0xa2,0x06,0x67,0x54,0x02,0x2a,0xe0,0x63,0x31,0x68, |
| 0x00,0x11,0xdc,0x63,0x40,0x40,0x76,0xb7,0xc4,0x05,0x5c,0x50,0x51,0xdc,0x40,0x05, |
| 0x54,0x34,0xd1,0x80,0x44,0x99,0xfb,0xf7,0xff,0x9f,0x77,0xcf,0x6b,0xe1,0xfb,0x8a, |
| 0xee,0xfa,0xcf,0x7f,0x4e,0x9d,0x3a,0x55,0xf7,0x54,0xdd,0xba,0xb7,0x5f,0xa9,0xa1, |
| 0x5d,0x58,0x28,0x15,0x0b,0x49,0x21,0x2a,0x2c,0xae,0x16,0x6a,0xff,0x76,0x28,0x34, |
| 0x14,0x8a,0xfa,0xec,0xa4,0xcf,0x63,0xf4,0x79,0x82,0x3e,0x7f,0x92,0x7d,0xa6,0x85, |
| 0xa0,0xc6,0xeb,0xfa,0xb3,0xb3,0x7e,0xd6,0xe9,0xb2,0xcb,0x2f,0xe8,0x74,0xd8,0xe1, |
| 0x9d,0xa1,0xff,0xbd,0x42,0xa9,0x66,0x07,0xb2,0xed,0x32,0xbb,0xe5,0xec,0xb3,0x31, |
| 0x2b,0x17,0x9d,0xff,0xdb,0x01,0xc0,0xcf,0xca,0xc4,0x3d,0xb2,0x72,0x59,0x06,0x6e, |
| 0x9f,0xd9,0x68,0xac,0xd9,0x2c,0x14,0x8e,0x97,0x0e,0xca,0x29,0x99,0xd6,0x72,0xba, |
| 0x53,0x68,0xa7,0x4f,0xc3,0x8a,0xc2,0x1a,0x1d,0xd6,0x20,0x2c,0x72,0x58,0x49,0x58, |
| 0xc5,0x61,0x8d,0xc2,0xb6,0x77,0x58,0x59,0xd8,0xf7,0x1d,0x16,0x08,0xdb,0xd5,0x61, |
| 0xa1,0xb0,0x3d,0xd1,0xe7,0xcc,0xba,0xb5,0xdb,0x35,0xb3,0x8a,0x3e,0xa5,0xd9,0xf7, |
| 0xdd,0x55,0xef,0xa1,0xfa,0x1e,0xe2,0xa2,0xaf,0x05,0xc9,0xf0,0x1d,0xb2,0xfd,0x54, |
| 0x9f,0x93,0x39,0xb0,0x77,0x21,0x97,0xa3,0xde,0xb6,0xb9,0x5e,0x2a,0x8c,0x0a,0x72, |
| 0xd9,0x73,0x41,0x4b,0x2e,0xea,0x6d,0x15,0x13,0x70,0x51,0xdf,0x4d,0xb2,0x17,0x03, |
| 0xb6,0xb3,0x9b,0x64,0xff,0x4e,0xa8,0xb7,0x53,0xe6,0x35,0xfc,0x6e,0x9b,0x61,0x25, |
| 0xf5,0x61,0xe7,0x8c,0x8f,0x66,0xf6,0x92,0xed,0x5d,0xb2,0x7a,0xa8,0x38,0x34,0xd4, |
| 0xf0,0xc6,0x5a,0x6c,0x43,0x15,0xf0,0x63,0xf1,0x8b,0x92,0x27,0x92,0xc5,0xd2,0xdf, |
| 0x5e,0xdf,0x4d,0x7f,0x07,0xc9,0xb7,0xaf,0xc5,0xba,0xa1,0xb0,0xa3,0x78,0xdf,0x17, |
| 0xaf,0x51,0xbc,0x36,0xe2,0xa1,0xed,0x56,0x99,0x87,0x1d,0xd4,0x0e,0xb8,0x88,0x59, |
| 0x07,0x8d,0x2d,0xea,0x87,0x88,0x87,0xfa,0x01,0xf2,0xe9,0xfc,0xac,0x1c,0xe8,0xea, |
| 0xbd,0x9d,0x1c,0xdc,0xbe,0xf2,0xd9,0xe4,0xfd,0x34,0xce,0x56,0xef,0xaf,0x79,0x64, |
| 0xf5,0x4b,0x35,0x37,0xac,0x3e,0x50,0xbe,0x5a,0x7d,0x90,0xfa,0x64,0xf5,0x21,0x9a, |
| 0x53,0x56,0x1f,0x9a,0x95,0x36,0xae,0x3e,0x5c,0x31,0x31,0x7f,0xc6,0x48,0x7f,0xcf, |
| 0xac,0x7e,0xbb,0xda,0x1a,0xe3,0xf8,0x77,0xd4,0xae,0xa9,0x42,0xa1,0x63,0x16,0x15, |
| 0xc8,0xee,0x94,0x8d,0x21,0xf2,0xf5,0x0e,0xc7,0x1d,0xab,0x78,0x58,0x7d,0x9c,0x62, |
| 0x6b,0xf5,0xf1,0xba,0x1e,0xcc,0xd6,0x5d,0xb2,0x35,0x56,0xdc,0xf1,0x8e,0xdb,0x54, |
| 0x17,0xa7,0x09,0x1a,0x17,0xd3,0x9d,0x28,0xce,0x40,0xc9,0xc6,0x3b,0xd9,0x24,0xc9, |
| 0x7a,0xcb,0x4f,0x6f,0x77,0x72,0x81,0xf3,0xd2,0xb8,0x77,0xbb,0xfe,0x4c,0x90,0xdc, |
| 0xb8,0x7f,0xca,0x4a,0xe2,0xb8,0x53,0x9c,0xbf,0xfd,0x25,0x37,0xd9,0x3d,0x6a,0x6f, |
| 0xac,0xec,0x78,0xd9,0xbd,0xd2,0x1b,0xb8,0x0d,0xd9,0x9f,0xe5,0xab,0xb5,0x3f,0xce, |
| 0xc9,0xa6,0xd6,0xf5,0xd1,0xcb,0xa6,0xb9,0x3e,0xd6,0xcb,0xa6,0x3b,0xbd,0xb1,0x75, |
| 0xb2,0xfb,0xe4,0x4b,0x6f,0x27,0xb3,0xfe,0xce,0xd0,0xf5,0x67,0xdc,0xfb,0x85,0x35, |
| 0x49,0xc7,0xdb,0x99,0xe9,0xe2,0x3b,0x41,0xf1,0x30,0xd9,0x2c,0xd7,0xdf,0xb1,0xcd, |
| 0xb2,0x9d,0x6a,0xf3,0xeb,0x01,0xcd,0xa1,0xbb,0x34,0x86,0x93,0x34,0x06,0x53,0x14, |
| 0xc3,0x7b,0x15,0x93,0xa9,0xea,0xe3,0x74,0xf9,0x7c,0xbf,0xda,0x9c,0xa5,0xeb,0xf4, |
| 0x61,0xcd,0x87,0xdb,0x9d,0xff,0x0b,0xb2,0xb2,0x35,0x2b,0xfb,0x67,0x57,0x1c,0xae, |
| 0xef,0x97,0xb2,0xd2,0x3a,0x1b,0x41,0xcb,0xa9,0x81,0xe6,0x63,0xb0,0x8d,0x02,0x9b, |
| 0x2b,0x24,0x07,0xbf,0x8b,0xea,0x2f,0x0b,0x83,0xfc,0x15,0xa7,0x6f,0xd7,0xcf,0x5b, |
| 0x75,0xd7,0xd3,0x6a,0xc5,0x70,0x3f,0xf9,0xf0,0x81,0x72,0xc5,0x1a,0xe9,0xfa,0x5c, |
| 0xb0,0x4e,0xf9,0xdc,0xea,0xeb,0xdd,0xb5,0x8e,0xfa,0x86,0xe6,0xeb,0x25,0xa8,0xe5, |
| 0x9a,0x4f,0xa4,0xb3,0x5e,0x32,0xe3,0x7d,0x5a,0x97,0x13,0xbe,0xac,0xad,0x7d,0x79, |
| 0x7d,0xb3,0xd6,0x38,0xab,0x17,0x8b,0x5c,0x1b,0xac,0x5e,0x29,0x22,0x2f,0xe7,0xf6, |
| 0x3a,0x16,0xf3,0x9c,0x81,0x7a,0xcf,0x22,0x73,0x12,0x72,0x44,0xaf,0x22,0xfb,0x01, |
| 0xcc,0xf4,0xcf,0x2b,0xa2,0x8f,0x2e,0x07,0x16,0x99,0x33,0x9b,0x73,0x60,0x91,0xeb, |
| 0x8d,0xd5,0xfb,0x14,0xb9,0xde,0x76,0xcc,0xae,0x44,0xd8,0xbb,0xa0,0x98,0xcf,0xc7, |
| 0xc9,0xca,0x69,0xb0,0x09,0x3b,0xd0,0xed,0x53,0x64,0xfc,0x2f,0x2c,0x72,0xcc,0xa1, |
| 0x83,0x98,0x20,0xa6,0x93,0x8a,0x9c,0xa3,0x56,0x0c,0x9f,0x5c,0xe4,0x7c,0xb0,0x62, |
| 0x6d,0xaf,0x29,0x72,0x77,0x60,0xf5,0x8f,0xb4,0xe8,0x5b,0xfd,0xb8,0x06,0xae,0x59, |
| 0x56,0xff,0x69,0x56,0xdf,0xd1,0xd5,0x2f,0xca,0xea,0x55,0xc5,0x62,0xcf,0x12,0x73, |
| 0x67,0xcf,0x9a,0x3f,0xe5,0xda,0xf7,0x1f,0x94,0x38,0xf7,0x39,0xe7,0x89,0xb5,0x2e, |
| 0xf1,0x3a,0xd9,0xec,0xec,0xb4,0xc9,0xb0,0x1f,0x38,0xce,0x5e,0x25,0x5e,0x5f,0xc0, |
| 0x8d,0xd3,0xb6,0x84,0xb9,0x9c,0x73,0xf6,0x2e,0xb1,0xfd,0xb6,0x8e,0xd3,0x2e,0xfb, |
| 0x7e,0xb4,0xe3,0xfc,0xb0,0x44,0x9f,0xdb,0x39,0xce,0x3e,0xd9,0xf7,0x33,0x1c,0x67, |
| 0xdf,0x12,0xd7,0x9d,0x7d,0x1c,0xa7,0x7d,0x89,0x6b,0xb9,0xd5,0x3b,0x88,0x63,0x3a, |
| 0xfb,0x95,0xc8,0xe9,0xe0,0x74,0xf6,0xcf,0xbe,0x1f,0xe4,0x74,0x0e,0xc8,0xea,0x8f, |
| 0x3b,0x9d,0x8e,0x25,0x72,0x80,0x63,0xac,0x11,0xaf,0x03,0x4b,0x8c,0x11,0x62,0x82, |
| 0x3e,0xa3,0x4f,0xf0,0x19,0x3e,0xa1,0x0d,0xe8,0x60,0xac,0x3b,0x97,0x38,0xd6,0x7b, |
| 0xaa,0xde,0xbd,0xc4,0xf5,0xe0,0x10,0x5d,0x9b,0xa8,0x9f,0x25,0xcc,0xea,0x3d,0x4a, |
| 0xf9,0x7e,0xe0,0x57,0xfa,0xee,0xaf,0xd5,0xf3,0x4b,0xf9,0x75,0x81,0xfa,0xc0,0x52, |
| 0xbe,0x96,0x0f,0x29,0x91,0xdb,0xe8,0xe4,0x43,0x4b,0x5c,0x9b,0x91,0xd7,0x20,0x1f, |
| 0x56,0xe2,0xf5,0x8d,0xf1,0x1e,0x23,0xb9,0x71,0x47,0x94,0x98,0x7b,0x50,0xc7,0x1e, |
| 0x61,0x3e,0xb7,0xa1,0xcd,0xf5,0x27,0x6b,0xf5,0xeb,0x8e,0xb3,0xfa,0x22,0xca,0x8f, |
| 0xb7,0xfa,0xe2,0x5a,0xfd,0xf8,0xe3,0xcd,0xde,0x33,0x25,0xee,0x23,0x76,0xcd,0xea, |
| 0xd5,0x46,0x5e,0x3f,0x25,0x67,0xef,0xd4,0xda,0x9e,0xee,0xda,0x13,0xad,0x7e,0x7a, |
| 0x56,0xbf,0xb1,0xd5,0xb8,0x63,0xad,0xde,0x2d,0xab,0xff,0xe9,0xa4,0x56,0xcd,0xed, |
| 0x9d,0x91,0xd5,0x5f,0x19,0xf4,0xf1,0x31,0xb8,0x3e,0x60,0xeb,0xcc,0x46,0xea,0x80, |
| 0x07,0x99,0xf1,0x7a,0x65,0xdf,0x2f,0xde,0xb1,0x74,0x5c,0x17,0xc5,0x10,0xfb,0xc5, |
| 0xa2,0x6b,0x77,0x74,0xad,0xdd,0x77,0x9a,0xfd,0x1c,0x9b,0xd5,0x2f,0xfd,0xf9,0x61, |
| 0x0d,0x56,0x9f,0xdb,0x98,0xef,0x3f,0xc0,0xff,0x38,0xab,0x6f,0xde,0xb4,0xe9,0x18, |
| 0xab,0xaf,0xcb,0xea,0xdf,0xfc,0x7b,0xf0,0xb1,0xe6,0xc7,0xfa,0x46,0x72,0xd6,0xe9, |
| 0x13,0x63,0xd1,0xa6,0xcc,0x6b,0xce,0xc6,0x66,0xbc,0xea,0x0d,0xb5,0xfd,0x64,0x5c, |
| 0x78,0xbc,0xcc,0xb1,0x2a,0x17,0x5a,0xfe,0x2b,0xea,0x73,0x8f,0x4c,0xf3,0xaf,0x99, |
| 0x10,0x3c,0xcc,0x85,0xd9,0x22,0x02,0xeb,0xa2,0xfa,0x1c,0x61,0x90,0x3f,0x55,0x66, |
| 0x4e,0x8b,0x35,0x77,0x31,0xef,0x5a,0x05,0x1c,0xeb,0xd5,0x6e,0x7e,0x8f,0xc9,0xb0, |
| 0xad,0xd9,0x3f,0xf8,0xf0,0x4c,0x40,0x1f,0x8a,0x75,0x3e,0x34,0xd4,0xd6,0x1c,0xda, |
| 0x7d,0x56,0x7b,0x67,0x70,0xbb,0xa8,0xfe,0x5c,0x90,0xcf,0x0b,0x7c,0x7d,0x21,0xb0, |
| 0x5c,0xc8,0x1c,0x8f,0x7d,0x33,0xb0,0xbe,0xda,0x2b,0x9a,0x3f,0x73,0x2a,0x9c,0x77, |
| 0x3e,0xd7,0x3c,0x51,0x61,0xae,0x19,0xee,0xae,0xb9,0xb9,0x15,0xe6,0xd2,0xde,0x6e, |
| 0xde,0xce,0xab,0x70,0x7e,0xfa,0x62,0x79,0x72,0xbe,0xe3,0xf7,0x76,0xf9,0xf3,0x49, |
| 0x67,0x7b,0xb8,0xc3,0x17,0x54,0x98,0xc7,0xac,0x18,0xbe,0xb0,0xc2,0x75,0xc7,0x8a, |
| 0xf5,0x67,0x91,0xf3,0xbb,0xa7,0xcb,0xdb,0x8b,0x2b,0xdc,0x1f,0x58,0x31,0xfe,0x92, |
| 0x0a,0xd7,0x54,0x2b,0xc5,0x6c,0x2c,0xc1,0x7f,0xaf,0xc2,0xef,0x35,0x9b,0x59,0x02, |
| 0x3e,0x22,0xeb,0x6f,0x83,0xae,0xd7,0x82,0xe6,0xca,0xa6,0x0c,0x29,0x2b,0x1f,0x60, |
| 0x7f,0xf0,0x7c,0xcc,0x1c,0xd2,0x45,0x6b,0xc7,0x7f,0x86,0x2d,0xeb,0xe7,0xb8,0x3a, |
| 0xf2,0xcd,0x65,0xae,0x8e,0xf5,0x72,0x7d,0x39,0xaf,0x63,0xfd,0xdb,0xaa,0xfa,0xbf, |
| 0xb2,0xd6,0x5e,0xd2,0x38,0x6e,0xc9,0xbe,0x63,0x8e,0x2c,0x0f,0xd8,0x3e,0x3e,0x8f, |
| 0xd1,0xbd,0xc1,0xeb,0x01,0x73,0x54,0xb7,0x4c,0x0b,0x7a,0x6f,0x04,0xc4,0x5e,0x0f, |
| 0xf2,0xf9,0x3a,0x5c,0xe3,0xbb,0x2a,0xa0,0x1c,0xe3,0x7c,0x42,0x86,0xe1,0xda,0x7b, |
| 0x2b,0x60,0x4e,0x83,0xfd,0x63,0x34,0x5f,0xde,0x0e,0x88,0x2f,0xca,0x38,0xb5,0xfd, |
| 0x46,0x40,0x0c,0x7b,0x80,0xa7,0x84,0xbd,0x27,0x0c,0xf9,0xce,0xb0,0x0f,0x02,0x72, |
| 0xfb,0xaa,0x4d,0x60,0x6b,0xa4,0x07,0xd9,0x99,0xc2,0x3e,0x0c,0xe8,0x4b,0x2d,0x5b, |
| 0x09,0xfb,0x28,0x20,0x0e,0x7e,0xf7,0x0c,0x81,0xbf,0xad,0x2b,0xc4,0x8d,0x6b,0xed, |
| 0xac,0x57,0x3b,0x6f,0xb9,0x76,0x36,0xa8,0xbe,0xde,0xb5,0xf3,0xa9,0x74,0x8b,0xae, |
| 0x9d,0xcf,0x02,0xe2,0x1b,0x5c,0x3b,0x6d,0x2b,0xc4,0x5b,0x57,0xc8,0xb5,0x76,0xbe, |
| 0x08,0xd8,0x4f,0xe4,0x70,0x8b,0xc5,0x3f,0x85,0x61,0xbe,0x9e,0xa1,0xb8,0x7e,0x19, |
| 0x90,0x0b,0xd9,0x75,0xc2,0xfe,0x15,0xd0,0x2e,0x64,0x83,0x75,0xaf,0xb8,0x39,0x20, |
| 0x8e,0xd8,0x63,0x9f,0x37,0xba,0xcc,0xbd,0x5f,0x6f,0x17,0xfb,0x31,0x65,0xe2,0x83, |
| 0x95,0x0f,0x6e,0x2f,0x13,0x33,0x9d,0x3b,0xa4,0x33,0xd0,0xe9,0xdc,0x59,0x26,0x6e, |
| 0x3a,0x63,0xcb,0xc4,0xce,0xd0,0xf5,0x3a,0xae,0x4c,0x3b,0xc0,0x1f,0xc8,0x30,0xe4, |
| 0xba,0xbb,0xca,0xf4,0x07,0xb2,0xf1,0x99,0x1e,0x72,0x5f,0x93,0x70,0xcc,0xbd,0x89, |
| 0xca,0x5d,0x5f,0x67,0x32,0xe0,0x13,0xb2,0x02,0x0c,0xf3,0x0f,0xdf,0x37,0x67,0x9f, |
| 0x2f,0x69,0x3e,0x02,0x5f,0xac,0xb6,0xa6,0xc8,0x2e,0xf2,0xc6,0x53,0xc2,0xa6,0x0a, |
| 0x43,0xde,0xc0,0xd8,0xc0,0xc7,0xfb,0xca,0xc4,0x0b,0x1a,0xc3,0xda,0xbd,0x41,0x99, |
| 0xfd,0x82,0xcc,0x78,0x33,0xc5,0xb3,0x31,0x04,0x36,0xab,0x4c,0x2e,0x64,0xa6,0xfb, |
| 0xb0,0x74,0x81,0x19,0xef,0xb1,0x32,0x71,0xd8,0x43,0xac,0x90,0x9b,0x9f,0x50,0x5e, |
| 0x36,0xfb,0xf3,0xca,0xf4,0xd9,0xcf,0x91,0x05,0x8a,0xb9,0x1f,0xf7,0x85,0x65,0xe2, |
| 0x18,0x77,0x8b,0xf3,0xa2,0x32,0x71,0xf3,0x61,0x71,0x99,0xf6,0x16,0x39,0xfb,0x4b, |
| 0x65,0xbf,0xe0,0xfc,0x5f,0x56,0x26,0x77,0xa9,0xc6,0x15,0x6b,0xc3,0xd3,0x1a,0xd7, |
| 0xe1,0x1a,0x57,0xf0,0x9e,0x11,0x6e,0x7a,0xcf,0x96,0xa9,0x0b,0xfc,0x82,0x8c,0x83, |
| 0xb5,0xe7,0x39,0xf5,0xa9,0x57,0xc6,0x41,0x1e,0xfe,0x9b,0xb0,0x67,0xdd,0x9c,0x79, |
| 0x5e,0xb6,0x87,0xb8,0x39,0xf3,0x42,0x99,0xf8,0x7d,0x19,0x07,0x63,0xff,0x62,0x99, |
| 0x18,0xf2,0x27,0xc6,0x7f,0x85,0x1b,0x7f,0xc8,0x96,0x67,0xe5,0x55,0x8d,0x3f,0xbe, |
| 0x5b,0xbe,0x79,0xa5,0xcc,0x36,0x51,0x1a,0x94,0x23,0x31,0x37,0x56,0x88,0xfb,0xaa, |
| 0xe3,0xae,0x74,0x5c,0xcb,0x4d,0x9e,0x8b,0xcf,0x2f,0xc5,0x5d,0x5a,0xa1,0x6d,0xb4, |
| 0xb5,0x52,0x6d,0xdb,0x75,0xbd,0x35,0xa0,0xbc,0x58,0xbb,0x06,0xb9,0xfe,0xc4,0x21, |
| 0x71,0x5f,0x16,0x29,0x26,0x49,0x48,0xf9,0x30,0xe5,0x2a,0x60,0xd5,0x90,0xf8,0xbc, |
| 0x4a,0x6e,0x77,0xbb,0x90,0x38,0xfe,0x2d,0x11,0xb6,0x7d,0x48,0x1c,0xfb,0x30,0xe3, |
| 0xed,0x28,0x5e,0xd1,0xf1,0x76,0x0a,0x89,0x63,0xcf,0xb6,0x54,0xd8,0xf7,0x43,0xea, |
| 0x43,0x66,0xba,0xad,0xa4,0xdb,0xe0,0x74,0x77,0x09,0x89,0x23,0xf6,0xa6,0xbb,0x6b, |
| 0x48,0xfd,0x5d,0x9c,0xee,0xee,0xd2,0x2d,0x39,0xdd,0x3d,0x42,0xe2,0xab,0x5d,0xbb, |
| 0x7b,0x86,0xd4,0xdf,0xc3,0xe9,0x36,0x84,0x8c,0x59,0xc1,0xc5,0xac,0x6d,0x48,0xdc, |
| 0x17,0x8b,0xd9,0xde,0x21,0xe5,0x3e,0x66,0xfb,0x84,0xc4,0x7d,0xcc,0xda,0x87,0xc4, |
| 0x7d,0xcc,0x3a,0x84,0xc4,0x7d,0xcc,0xf6,0x17,0xcf,0xc7,0xec,0x80,0x90,0xb8,0x8f, |
| 0x59,0xc7,0x90,0xfa,0x07,0x38,0xdf,0x3b,0x49,0xd7,0xc7,0xec,0xa0,0x90,0xb8,0x8f, |
| 0x59,0xe7,0x90,0xfa,0x07,0x39,0xdd,0x43,0xa4,0xeb,0x63,0x76,0x68,0x48,0xdc,0xc7, |
| 0xec,0xb0,0x90,0xfa,0x90,0x59,0x5e,0x6f,0x0c,0x19,0x4b,0xc8,0xec,0x3a,0x59,0xad, |
| 0xeb,0xa4,0xaf,0xd6,0xe8,0x77,0xdd,0x75,0x02,0xd9,0x3b,0x59,0x79,0x57,0xf3,0x19, |
| 0xdf,0x9b,0xd7,0xc6,0x32,0xed,0xbc,0x55,0xc8,0x6d,0xad,0x29,0x13,0x5f,0xad,0xeb, |
| 0xc0,0xf4,0xde,0xd5,0x75,0x00,0xce,0xda,0x32,0xdb,0xc4,0xb5,0xb1,0x46,0xf6,0x8f, |
| 0xcd,0xda,0x5d,0xaf,0xbc,0x68,0xf6,0x07,0xc9,0x4f,0xf8,0x85,0xeb,0x1e,0x67,0x4a, |
| 0xbf,0x0b,0xb9,0xbf,0x80,0xcc,0x72,0xca,0x35,0x21,0xf1,0xa7,0x94,0x53,0x06,0x87, |
| 0xc4,0x90,0x77,0x16,0x0b,0x1b,0x12,0x12,0x6f,0x52,0xae,0x83,0xfd,0xdf,0x87,0xc4, |
| 0x67,0xc8,0xf7,0xeb,0xc3,0x96,0x71,0xb8,0x31,0xcc,0xe3,0x00,0xd9,0xd0,0xac,0x00, |
| 0x43,0x7f,0x86,0x86,0xb9,0x9f,0x23,0xc2,0xef,0xc6,0xe1,0x86,0x90,0xb8,0xc5,0xc1, |
| 0xf4,0xf0,0x69,0x71,0xb8,0x29,0x64,0x9b,0x88,0xcd,0x0d,0xb2,0x8f,0x76,0x4f,0x89, |
| 0xf3,0x76,0xc1,0xf9,0x43,0x56,0xc6,0x4a,0x1f,0xdf,0xbb,0x65,0xbb,0x2a,0xec,0x93, |
| 0x6e,0x0e,0x39,0x9e,0x8d,0x61,0x7e,0x06,0x5f,0x74,0xfb,0x87,0xff,0x0b,0xb9,0x4f, |
| 0xf9,0x7d,0x6d,0xfc,0xb9,0x4f,0xbc,0x25,0x24,0x6e,0x65,0x68,0xc6,0x05,0x7e,0x6b, |
| 0xc8,0x73,0x92,0x5b,0x74,0xbd,0x00,0xbb,0x2d,0x64,0x1b,0x90,0x0d,0xd6,0x59,0xcc, |
| 0xa8,0x90,0x38,0xfa,0x8e,0xfa,0x98,0x90,0xd8,0xc2,0x0a,0xdb,0x05,0x76,0x67,0x48, |
| 0x9c,0x7b,0xde,0x86,0x5a,0x7f,0xe0,0x3b,0xfa,0xf0,0x5c,0xe6,0x07,0x7c,0xbb,0x4b, |
| 0x31,0xc3,0x99,0xca,0x10,0xb7,0xfe,0x34,0x85,0x94,0x59,0x7d,0x92,0x78,0xcf,0x66, |
| 0x5a,0xb5,0x73,0xc8,0x90,0x58,0x3f,0xed,0x31,0xcc,0xde,0x14,0xf1,0x2a,0x75,0xf6, |
| 0xee,0x09,0x29,0x33,0xfd,0x69,0xd2,0x1f,0x54,0xa7,0x3f,0x43,0xfa,0x93,0x0b,0x2d, |
| 0xf5,0xef,0x0f,0x29,0x33,0xfd,0x07,0xa5,0xdf,0x5f,0xfa,0xb6,0x8e,0x3d,0x12,0xd2, |
| 0x77,0xf8,0x67,0xd8,0x5f,0x42,0xb6,0x3f,0xcd,0x61,0xb3,0x43,0xda,0x7c,0x30,0xcc, |
| 0xe7,0xe1,0x13,0x21,0xf5,0xef,0xd7,0xdc,0x99,0x1b,0x12,0xeb,0xa8,0x75,0xab,0xab, |
| 0x9b,0x0f,0x90,0xcd,0x43,0x1e,0x8c,0x18,0xd3,0x79,0x2e,0xa6,0x0b,0xd4,0x87,0x7e, |
| 0x85,0x96,0x6b,0xfa,0xc2,0x90,0x32,0xe3,0x2d,0x71,0xb1,0xf7,0xbc,0xa5,0x21,0x65, |
| 0x4b,0x6c,0x4d,0x0f,0x89,0x0d,0x57,0x4e,0x01,0xf6,0x54,0x48,0x7b,0xcb,0x9c,0xbd, |
| 0x67,0x65,0xef,0x52,0xed,0xe1,0xcc,0xde,0x73,0x21,0x65,0xc6,0x7b,0x5e,0xbc,0x41, |
| 0x75,0xbc,0x17,0x42,0xca,0x8c,0xb7,0x5c,0xbc,0xf1,0x75,0xbc,0x15,0x21,0x65,0xc6, |
| 0x7b,0x55,0xbc,0xfe,0x75,0xbc,0xd7,0x42,0xca,0x8c,0xf7,0x86,0x78,0x03,0xeb,0x78, |
| 0x6f,0x86,0x94,0x19,0xef,0x6d,0xf1,0xec,0xde,0xcd,0x72,0xeb,0xea,0x90,0xb2,0x26, |
| 0x97,0x5b,0xdf,0x0f,0x89,0x23,0x0f,0x21,0x77,0xe1,0x1e,0x09,0xe7,0x71,0x96,0xa7, |
| 0xd6,0x84,0xbc,0x6f,0x7a,0xdf,0xe5,0xa9,0xb5,0x21,0x71,0x9b,0x0b,0xeb,0x42,0xde, |
| 0xf3,0x61,0xef,0x67,0x7b,0xb2,0xf5,0xca,0xcf,0xeb,0x5c,0x7e,0xd9,0x10,0x12,0x7f, |
| 0xcb,0xf9,0xfe,0x49,0x48,0xdc,0xf4,0x3e,0x97,0xde,0x2c,0x97,0x3f,0xbf,0x08,0x89, |
| 0xf7,0x75,0x7a,0xff,0x08,0x89,0xdb,0x78,0x7e,0x15,0xd2,0xd6,0x3f,0x94,0x7b,0xb6, |
| 0xb8,0x9c,0x87,0x3c,0xbd,0x29,0xab,0x6f,0x51,0xee,0xd9,0xe4,0xd6,0x8c,0xaf,0x43, |
| 0xea,0x0e,0x57,0x7e,0x33,0xce,0x16,0x97,0xdf,0x5e,0xae,0x30,0xd7,0x63,0x8e,0x82, |
| 0xef,0xf5,0xbf,0x91,0xfe,0x0c,0xe5,0xda,0xdd,0xa3,0xbc,0x5d,0xc8,0xbe,0xcd,0x4a, |
| 0xa0,0x39,0xfe,0xad,0xf2,0x17,0x72,0x4b,0x43,0xc4,0x39,0x88,0xb9,0xf5,0x42,0x98, |
| 0xe7,0x9c,0x72,0x44,0x99,0xe5,0x9c,0xdd,0xa5,0x0b,0x1b,0x43,0xd5,0xd7,0x28,0xa2, |
| 0xbf,0x5f,0x39,0x7b,0x95,0x88,0xf3,0x0a,0x73,0xe6,0x4d,0x67,0xef,0x7b,0x11,0x65, |
| 0x0b,0x2a,0xf9,0x5e,0x78,0x87,0x88,0x36,0xd6,0x3a,0xfd,0x1d,0x23,0xe2,0x56,0xae, |
| 0x93,0xfe,0x4e,0x11,0x6d,0x40,0x5e,0xc9,0xf2,0x35,0xb0,0x9d,0x23,0xe6,0xe7,0x03, |
| 0x25,0xc7,0x19,0x2c,0xce,0x5b,0xbd,0xbf,0xf8,0x44,0xfc,0xc0,0xdf,0x58,0x61,0xbf, |
| 0xd0,0x7f,0xe8,0xa2,0x2f,0xe0,0x76,0x55,0x3e,0x45,0x0e,0xb0,0x1c,0xf2,0x83,0x88, |
| 0xf9,0xc6,0x72,0x48,0xeb,0x88,0x98,0xe5,0x90,0x93,0x5d,0x0e,0x81,0xac,0x4d,0x56, |
| 0xc6,0xaa,0x4d,0x7c,0xb7,0x6b,0x60,0xef,0x28,0xcf,0x0d,0xfe,0x5a,0x69,0x17,0x51, |
| 0x66,0xbc,0x7d,0xa3,0x3c,0xd7,0xf4,0x76,0xbc,0xf6,0x11,0x65,0x96,0x43,0x3a,0x44, |
| 0xc4,0x70,0xed,0xd8,0x5c,0x3d,0x40,0xba,0xeb,0xdd,0x7d,0x69,0xc7,0x88,0xb8,0x9f, |
| 0xab,0x07,0x46,0xc4,0x6d,0xae,0x76,0x8a,0x68,0xef,0x40,0xe7,0xc7,0xc1,0xb2,0xf5, |
| 0x65,0x9d,0x1f,0x87,0x44,0x94,0x59,0x9b,0x87,0x8b,0x37,0xc6,0xb5,0x79,0x44,0x44, |
| 0x1c,0xfb,0x2d,0xd3,0xfb,0x51,0x44,0xdc,0xda,0x3c,0x32,0xa2,0xad,0x1f,0xb9,0x36, |
| 0xbb,0x44,0xf9,0x5a,0xe1,0x63,0x74,0x74,0x44,0x99,0xf1,0x8e,0x13,0x6f,0x42,0x1d, |
| 0xef,0xf8,0x88,0x32,0xe3,0xfd,0x44,0xbc,0xde,0x75,0xbc,0x13,0x23,0xca,0xcc,0xdf, |
| 0xae,0xe2,0x7d,0xea,0xd6,0xf8,0xd3,0x22,0xe6,0x85,0x41,0x61,0x7e,0xaf,0x77,0x7a, |
| 0x44,0xee,0x69,0x51,0x3e,0x77,0xcf,0x88,0x38,0x86,0x6b,0x8a,0x39,0xd6,0x3d,0x62, |
| 0x4c,0x71,0x96,0x6f,0x39,0xe9,0xac,0x88,0xdc,0xee,0x51,0x8e,0x9d,0x1d,0x11,0x3f, |
| 0xd2,0xd9,0xfb,0x45,0xc4,0xfe,0x7a,0x7b,0x3d,0x22,0xf6,0xcd,0xdb,0xfb,0x55,0x44, |
| 0x6e,0x0f,0x67,0xef,0x9c,0x88,0x38,0xfa,0xf7,0x80,0xe6,0xeb,0xb9,0x11,0xdb,0x81, |
| 0x6c,0xba,0xe2,0xd2,0x33,0x22,0xde,0x57,0xe7,0x89,0xd6,0xbf,0xf3,0x22,0xf6,0x11, |
| 0x72,0xe4,0xde,0x73,0xea,0x72,0x6f,0xef,0x88,0x67,0x54,0xe0,0x59,0xee,0xed,0x13, |
| 0x11,0x37,0x1f,0xfa,0x46,0xdf,0xcd,0xbd,0xbf,0x89,0x98,0x43,0xfb,0xba,0x98,0xff, |
| 0x36,0x22,0xee,0x73,0x6f,0xbf,0x88,0xb8,0xe9,0x0d,0x88,0xbe,0x9b,0x7b,0x2f,0x8e, |
| 0x88,0xfb,0xf9,0x7c,0x49,0x44,0x1c,0xd7,0xe3,0x55,0x51,0xcb,0x3c,0x3b,0x30,0xab, |
| 0x5f,0xa5,0xeb,0x71,0xa0,0xf3,0xf3,0x8a,0x88,0xed,0x41,0xd7,0x72,0xe7,0x95,0x11, |
| 0x71,0xcb,0xbd,0xa6,0x77,0x55,0x94,0xe7,0xde,0xd7,0x94,0x7b,0x71,0x6d,0x83,0x0f, |
| 0x9b,0xb6,0xcf,0xbd,0x5a,0x36,0x2d,0xf7,0x0e,0x77,0xbe,0x40,0xf6,0xbb,0xac,0x5c, |
| 0x2b,0x9b,0xf8,0x6e,0xb9,0xee,0xf7,0x1a,0xf3,0xe3,0x35,0x76,0x68,0x7b,0xb8,0x78, |
| 0xd7,0x3a,0xde,0x30,0xcd,0xb5,0x4e,0x9a,0x33,0x9e,0x37,0xdc,0xe5,0xb7,0xa7,0x2a, |
| 0xb4,0x89,0x36,0x86,0xa9,0x4d,0xcb,0xbf,0x37,0x45,0x94,0xfb,0xfc,0x3b,0x52,0x7d, |
| 0xbe,0xc4,0xe5,0xf4,0x9b,0x95,0x5b,0x46,0xba,0xb9,0x79,0x4b,0x44,0xbc,0x8f,0xf3, |
| 0xe9,0xb6,0x88,0xb8,0x15,0xcb,0xd3,0xa3,0x22,0xb6,0x75,0x9b,0xcb,0xd3,0xa3,0x5d, |
| 0x9e,0x1e,0x55,0x97,0xa7,0x4f,0xb6,0xbd,0xac,0xcb,0xbd,0xe3,0x23,0xed,0xeb,0x14, |
| 0xdf,0xbb,0x22,0x62,0x96,0x7b,0x4f,0x72,0xb9,0x17,0xb2,0xa6,0xac,0x74,0x96,0x9d, |
| 0x26,0x97,0x07,0x26,0xe9,0xfa,0xc6,0xb3,0xb4,0xb1,0x6e,0xde,0x4c,0x8e,0x28,0x6b, |
| 0xde,0xeb,0x8a,0xb7,0xb9,0xd0,0x92,0x77,0x4f,0x44,0x99,0xcd,0xcb,0xa9,0xe2,0xe1, |
| 0xb9,0x96,0x71,0xa6,0x45,0xc4,0xed,0x5e,0x69,0x7a,0x44,0xac,0x4f,0x31,0xcf,0x79, |
| 0xf7,0x45,0xb4,0x35,0xdd,0xb5,0x39,0xd3,0xe5,0x32,0x9f,0x67,0x67,0x45,0x94,0x19, |
| 0xef,0x21,0x97,0x1b,0xfd,0xde,0xf2,0xe1,0x88,0x32,0x5b,0x17,0x1e,0x89,0x88,0xf5, |
| 0x76,0x7b,0xcb,0x47,0x23,0xda,0x7b,0xc4,0xf5,0xe1,0x71,0x67,0xcf,0x6c,0xfd,0x35, |
| 0x22,0x6e,0x7d,0x98,0x1d,0x11,0x3b,0xdf,0xf5,0x61,0x4e,0x44,0x7b,0xb3,0xa3,0x5c, |
| 0x6f,0x7e,0xc4,0x3c,0x69,0xbe,0x2e,0x8c,0xf2,0xfd,0x9e,0xdf,0xf3,0x2f,0x8a,0x28, |
| 0x33,0x5f,0x17,0x47,0xc4,0x9a,0x9c,0xaf,0x4b,0x22,0xda,0x5b,0xec,0xfa,0xfe,0x94, |
| 0xf2,0xc0,0x45,0x75,0xe3,0xf7,0x74,0x44,0x99,0xf1,0x9e,0x13,0x0f,0xe3,0x3c,0xc1, |
| 0xf1,0xfe,0x16,0x51,0x66,0xbc,0x17,0xc4,0xb3,0x77,0x23,0x8c,0xf7,0x62,0x44,0x99, |
| 0xf1,0x56,0x88,0x87,0x7b,0x1f,0xdf,0xee,0xcb,0x11,0x65,0xc6,0x7b,0x4d,0xbc,0x19, |
| 0x75,0xf3,0x66,0x65,0x44,0x99,0xf5,0xf7,0x8d,0x88,0x73,0xce,0xdf,0x3f,0xaf,0x12, |
| 0x36,0xd0,0xc5,0xe0,0xad,0x88,0xdc,0x55,0x4e,0x77,0x75,0xc4,0xd8,0x78,0xdd,0x77, |
| 0x85,0x79,0xdd,0xf7,0x22,0x72,0xdf,0x75,0xba,0x1f,0x44,0x8c,0x95,0xd7,0x5d,0x2b, |
| 0xcc,0xeb,0x7e,0x18,0x91,0xbb,0xd6,0xe9,0x7e,0x1c,0x71,0xde,0x36,0x39,0xdd,0xf5, |
| 0xc2,0xc6,0x3a,0xdd,0x0d,0x11,0xb9,0xeb,0x9d,0xee,0xa7,0x11,0x63,0xef,0x75,0x37, |
| 0x0a,0xf3,0xba,0x9f,0x47,0xe4,0x6e,0x74,0xba,0xff,0x88,0x38,0x1e,0x5e,0xf7,0x4b, |
| 0x61,0x5e,0xf7,0xab,0x88,0xdc,0x2f,0x9d,0xee,0xa6,0x88,0xf3,0xd4,0xf7,0xf7,0x6b, |
| 0x61,0xbe,0xbf,0x5b,0x22,0x72,0xbf,0x76,0xba,0xdf,0x44,0x1c,0x5f,0xaf,0xbb,0x55, |
| 0x98,0xd7,0xc5,0x7f,0xe0,0x6e,0x75,0xba,0x0d,0x31,0xc7,0xdc,0xeb,0x36,0x0a,0xf3, |
| 0xba,0xe5,0x98,0x5c,0xc8,0x2c,0x8f,0xc6,0x31,0xc7,0x1d,0x71,0xdc,0xe2,0xf2,0x6b, |
| 0x35,0xe6,0x98,0x22,0x46,0x50,0x1e,0xaa,0xfc,0xba,0x5d,0x4c,0x59,0xec,0x6c,0xec, |
| 0x14,0x73,0x0c,0x11,0x93,0xb2,0xe3,0xee,0x1c,0x53,0x06,0xae,0xad,0xe5,0xad,0x62, |
| 0x9e,0xf7,0xac,0x76,0x67,0xc8,0xbb,0xc4,0xc4,0xcd,0xde,0x6e,0x31,0x31,0x2b,0xb6, |
| 0x86,0xec,0x1e,0xb3,0xfd,0xdd,0x9c,0xbd,0x3d,0x64,0xaf,0xaf,0xb3,0xb7,0x67,0x4c, |
| 0xdc,0xec,0xb5,0x8e,0x89,0x59,0x31,0x7b,0x6d,0x62,0xfa,0x08,0xb9,0xad,0x1f,0xed, |
| 0x62,0xb6,0xd3,0xc6,0x61,0xfb,0xc4,0xc4,0xf1,0x2c,0x70,0xb1,0xb0,0xf6,0x31,0x71, |
| 0x60,0xc6,0xeb,0xa0,0xbe,0x42,0x66,0x6b,0xcf,0xfe,0x71,0xbe,0xf6,0x40,0xee,0xd7, |
| 0x9e,0x93,0xb4,0x66,0x74,0x76,0xbe,0x1e,0x16,0xf3,0xdc,0xe1,0x1e,0x9d,0x2b,0xd8, |
| 0x35,0x7d,0x44,0x9c,0x9f,0xfb,0x80,0x77,0x54,0xcc,0xb3,0x89,0x69,0x3a,0x7b,0x30, |
| 0xbc,0x4b,0x4c,0xae,0x15,0xeb,0xeb,0xd1,0x31,0x65,0x47,0xb9,0x7e,0x1d,0x13,0xb3, |
| 0x3d,0xc8,0x96,0x08,0x3b,0x3e,0x26,0x3e,0xdf,0xf5,0xf5,0x27,0xc2,0xd0,0xd7,0xa5, |
| 0xc2,0x4e,0x8c,0xc9,0x85,0xcc,0xf7,0x05,0x9f,0xb6,0x1f,0xf8,0xa2,0xc2,0xfe,0x63, |
| 0x4d,0xc4,0x73,0xcb,0xce,0x4e,0xb6,0xb6,0x42,0x0c,0x32,0xd8,0x82,0x0c,0xfb,0x44, |
| 0xac,0xb7,0xb3,0xab,0x5c,0x73,0x5f,0xd2,0xd9,0xa2,0xe1,0x73,0x1c,0xfe,0x41,0xa1, |
| 0xe5,0xfa,0x7d,0xb2,0xb3,0xfd,0x79,0x85,0x6b,0x3e,0xf6,0x26,0xf0,0xc1,0xfb,0xf4, |
| 0xbe,0xda,0x85,0x6c,0xad,0x93,0xc1,0xfe,0x2b,0x15,0xee,0xb3,0x20,0x83,0x0f,0x5e, |
| 0xf6,0xf7,0x0a,0xdb,0x85,0x6c,0x8e,0x64,0xfe,0xde,0xad,0xab,0x6b,0xe3,0xb3,0x0a, |
| 0xef,0xf5,0x70,0xef,0x07,0x5f,0xbc,0x6f,0xab,0xd4,0x3e,0x64,0xef,0x3b,0x19,0xda, |
| 0x58,0x5e,0xe1,0x3d,0x36,0x64,0xaf,0xd4,0xc9,0x9e,0x51,0xfb,0x90,0xfd,0x5d,0x32, |
| 0x7f,0x16,0x77,0x8a,0x6b,0x63,0xbd,0xda,0xc0,0xd9,0x22,0x7c,0xf1,0xbe,0xbd,0x59, |
| 0xe1,0x79,0x1e,0x64,0xab,0x9c,0xac,0xf6,0x9e,0x98,0xf6,0x98,0x90,0x2d,0xaf,0x93, |
| 0x3d,0x5d,0x61,0xcc,0x21,0x7b,0x46,0x32,0xec,0x85,0x06,0xbb,0xbd,0x10,0x38,0xa7, |
| 0x66,0xf5,0xc1,0xf2,0x09,0xdf,0x6d,0x8f,0x7a,0xba,0xe6,0xef,0xea,0x02,0xc7,0x13, |
| 0x6a,0xdd,0x62,0xe2,0x4d,0x7a,0x67,0xa9,0xf9,0xde,0x26,0xe6,0x3e,0xa2,0x5b,0x9c, |
| 0xef,0x0b,0xcf,0x8c,0xb9,0xa6,0x43,0x66,0xeb,0x5f,0xf7,0x98,0xeb,0xfd,0x99,0x71, |
| 0xcb,0xb3,0xbb,0x9f,0xc7,0xdf,0xbd,0x17,0xf8,0x45,0xcc,0xb5,0x12,0x32,0xdb,0xd3, |
| 0xff,0x32,0x26,0xee,0xef,0x05,0x7a,0xc4,0xc4,0x4d,0xef,0xdc,0xf8,0xbb,0xf7,0x02, |
| 0x3d,0x63,0xe2,0xfe,0x5e,0xa0,0x57,0x4c,0xdc,0xfc,0x3d,0x5f,0xfd,0xea,0xa1,0x38, |
| 0xf5,0x77,0x71,0x42,0x9c,0xfb,0x64,0xf5,0xfe,0x8a,0x53,0x9f,0x38,0xef,0xfb,0x85, |
| 0x31,0x75,0x7b,0xc5,0x79,0x7f,0x7e,0x1b,0xd3,0x0e,0x30,0xbb,0x67,0xe8,0x17,0x13, |
| 0xb7,0x7b,0x06,0xb3,0xd5,0xdf,0x8d,0xd9,0x47,0x15,0x8e,0x29,0xc6,0x01,0xfc,0x3e, |
| 0x92,0xc1,0xe6,0xeb,0x15,0xb6,0x03,0xd9,0x85,0x92,0xe1,0xde,0x0b,0xcf,0xfe,0xf1, |
| 0x6e,0xd2,0x09,0x59,0x4f,0x91,0x5f,0x07,0xc4,0x7c,0x1f,0xa0,0xbb,0xda,0xb7,0x1c, |
| 0x7b,0x71,0x4c,0x99,0xf9,0x7d,0x69,0x4c,0x0c,0x76,0x2d,0x17,0x5d,0x1e,0x13,0xb7, |
| 0x62,0x79,0xe7,0x8a,0x98,0xf3,0xf0,0x72,0x97,0x27,0xaf,0x74,0x79,0xf2,0x8a,0xba, |
| 0x3c,0x69,0xf3,0x69,0xb0,0x9b,0xc7,0xeb,0x2a,0x9c,0xe7,0x98,0xf7,0x57,0x2a,0x96, |
| 0xd6,0xef,0x0f,0xd5,0x6f,0xc8,0x10,0x03,0xc8,0xa6,0xda,0x33,0x81,0x98,0xcf,0x2a, |
| 0x3e,0xd4,0xb9,0xd2,0x30,0xd9,0x1e,0x16,0xe7,0xf3,0xf2,0x89,0x2a,0x79,0x33,0xf4, |
| 0xce,0x1c,0xfa,0x83,0x77,0x71,0xe6,0x0a,0xb7,0x32,0x5d,0xfd,0x9c,0x57,0xa5,0x0c, |
| 0x3e,0xaf,0x73,0xcf,0x8f,0x47,0xc4,0x94,0xe1,0x9f,0x61,0x37,0x0a,0x2b,0x3a,0xec, |
| 0x0f,0xc2,0x1a,0xf4,0xdc,0x0b,0xef,0x3e,0xde,0x1c,0x53,0x1f,0x7c,0xc8,0xe1,0x13, |
| 0xe6,0xd1,0xe6,0xba,0x67,0x9e,0x9b,0xf0,0xdc,0x5a,0xcf,0x64,0x36,0xb9,0xe7,0x8f, |
| 0xa3,0x62,0x3e,0xc3,0xf4,0xcf,0x1f,0xef,0x8a,0x89,0xfb,0x62,0xcf,0xd2,0x9a,0x62, |
| 0xca,0xfd,0xb3,0xb4,0x49,0x31,0x71,0xff,0x2c,0xed,0xee,0x98,0xb8,0x7f,0x96,0xf6, |
| 0xa7,0x98,0xb8,0x7f,0x96,0x76,0x8f,0x78,0xfe,0x59,0xda,0xbd,0x31,0x71,0xff,0x2c, |
| 0xed,0xcf,0x31,0xf5,0x21,0x33,0xdd,0x69,0xd2,0xf5,0xcf,0xd2,0xa6,0xc7,0xc4,0xfd, |
| 0xb3,0xb4,0xfb,0x62,0xea,0x4f,0x77,0xba,0xf7,0x4b,0xd7,0x3f,0x4b,0x9b,0x19,0x13, |
| 0xf7,0xcf,0xd2,0x66,0xc5,0xd4,0x9f,0xe9,0x74,0xc7,0xc4,0xf9,0x73,0x5f,0x8b,0xd9, |
| 0x23,0x31,0x71,0x5f,0x2c,0x66,0x8f,0xc6,0x94,0xfb,0x98,0x3d,0x1e,0x13,0xf7,0x31, |
| 0x9b,0x1d,0x13,0xf7,0x31,0x9b,0x13,0x13,0xf7,0x31,0x9b,0x2b,0x9e,0x8f,0xd9,0xbc, |
| 0x98,0xb8,0x8f,0xd9,0xfc,0x98,0xfa,0xf3,0x9c,0xef,0x0b,0xa4,0xeb,0x63,0xb6,0x30, |
| 0x26,0xee,0x63,0xb6,0x28,0xa6,0xfe,0x42,0xa7,0xbb,0x44,0xba,0x3e,0x66,0x4b,0x63, |
| 0xe2,0x3e,0x66,0xcb,0x62,0xea,0x2f,0x8d,0xf3,0xe7,0x8f,0x77,0xc4,0x8c,0xe5,0x32, |
| 0xe5,0x0f,0xbc,0x1b,0x74,0x87,0xcb,0x0b,0x2b,0x94,0x9b,0x91,0x3f,0x2d,0x37,0xbe, |
| 0x1c,0xf3,0xf7,0x01,0x2b,0xb4,0x8f,0xc3,0x3b,0xb6,0xaf,0xc4,0x7c,0xaf,0xa8,0xaf, |
| 0x7b,0xfe,0xff,0x6a,0x4c,0xbc,0xf9,0x7e,0x27,0x26,0xd6,0x4f,0xef,0x95,0x36,0xdf, |
| 0xef,0xc4,0x94,0x99,0xde,0x1b,0x75,0x7a,0x6f,0xc6,0xc4,0xea,0x9f,0x67,0xac,0x8a, |
| 0x29,0x6b,0x7e,0xa7,0xa8,0x4e,0x6f,0x75,0x4c,0xac,0xfe,0xf9,0xc6,0x3b,0x31,0x65, |
| 0xb6,0xd7,0x7e,0x2f,0x66,0x9f,0x86,0x14,0xf2,0xfe,0xbc,0xaf,0xfe,0xbc,0xe7,0xec, |
| 0x7f,0x10,0x13,0xb7,0xfb,0xdc,0xb5,0xd2,0x1b,0xea,0x9e,0x5b,0x7d,0x18,0x93,0xb7, |
| 0x36,0x6e,0x79,0xbf,0xfd,0x51,0x4c,0x99,0xc5,0x70,0x5d,0xcc,0x77,0x4a,0x57,0x38, |
| 0x3f,0x36,0xc4,0xc4,0xbd,0x1f,0x9f,0xc8,0x8f,0x0d,0xce,0x8f,0x4f,0x63,0xe2,0xe6, |
| 0xc7,0x46,0xe9,0x0d,0x75,0x67,0xba,0x9f,0xc7,0xe4,0x6d,0x74,0xeb,0xe5,0x17,0x31, |
| 0xf1,0x16,0xcf,0x1f,0x62,0xe2,0x18,0x7b,0xbc,0x67,0xf6,0x40,0x21,0x5f,0x3b,0xbe, |
| 0x8a,0xf9,0xee,0x19,0xe2,0xf5,0x91,0x5b,0x3b,0xfe,0x15,0x53,0x66,0x7d,0xd9,0x1c, |
| 0xd3,0x0e,0xd6,0xcb,0x65,0x76,0xdf,0x14,0x93,0xb7,0xd9,0xcd,0xa5,0x6f,0x63,0xe2, |
| 0xab,0xdc,0xda,0xb8,0x35,0xe6,0xf8,0x7f,0xab,0xb5,0xa4,0xf6,0x5e,0x77,0x92,0xaf, |
| 0x25,0x5b,0x5d,0x1e,0xc7,0xbb,0x54,0xc8,0xad,0x97,0x54,0xc8,0xb9,0x39,0xce,0xdf, |
| 0x05,0xb1,0x1c,0xba,0x59,0xcf,0xb5,0xc1,0xc3,0x0b,0xce,0xe0,0x60,0x6d,0x80,0xce, |
| 0x26,0xbd,0x77,0x54,0x0d,0x5a,0xe6,0xe0,0x4a,0x56,0xdf,0x59,0xef,0x19,0x55,0x82, |
| 0xfc,0x1c,0x69,0xbb,0x80,0xef,0xf7,0x58,0x9e,0xdf,0x31,0xa0,0xcd,0x52,0xed,0xdd, |
| 0x70,0xae,0xc3,0xa7,0x24,0xf9,0xfb,0xb7,0x90,0xe3,0x3a,0xbf,0x40,0xb2,0x53,0xb7, |
| 0x21,0xb3,0xfd,0xd4,0xae,0x09,0x75,0xc1,0x81,0x4f,0xad,0x93,0xdc,0x27,0xc8,0x76, |
| 0xcb,0x0a,0x30,0xf8,0x84,0xef,0xcd,0xfb,0x28,0xe9,0x40,0xf7,0x62,0xbd,0x8b,0xda, |
| 0x3d,0x21,0x6e,0x9c,0xb3,0x13,0xb6,0xe7,0x39,0x3f,0x4f,0x88,0xdf,0x94,0x71,0x50, |
| 0xff,0x65,0x42,0x0c,0xba,0x23,0x84,0xf5,0x48,0x88,0xe3,0xdd,0x58,0x8c,0x05,0xb0, |
| 0x5f,0x25,0xf6,0xde,0x2c,0xe5,0x78,0x1f,0x98,0xf2,0xa0,0x26,0xff,0xef,0x24,0x7f, |
| 0xce,0x0d,0xee,0x00,0xcd,0x91,0x73,0x12,0xca,0x6c,0xec,0x7b,0x26,0xc4,0x06,0xba, |
| 0x6b,0xa5,0x57,0xc2,0xf7,0x6e,0x7b,0x0a,0xc7,0x38,0x5a,0x9f,0xf1,0x89,0x71,0xac, |
| 0xbd,0x9b,0x5a,0x65,0x1e,0xc3,0xd8,0xf4,0x52,0x6c,0x1e,0x56,0x1c,0xf7,0x4a,0x38, |
| 0x4e,0x78,0x5f,0x17,0x71,0xec,0xe0,0xe2,0x08,0x59,0xdb,0xac,0xb4,0x97,0xcd,0xb6, |
| 0x49,0x7e,0x4e,0xff,0x43,0x8d,0xcd,0x76,0x41,0x7e,0x8e,0xbd,0x4f,0xc2,0x31,0x82, |
| 0xcc,0xf2,0xe8,0xbe,0x09,0xdb,0x87,0x0c,0xfe,0x75,0x90,0xad,0xf6,0x75,0xf5,0x0e, |
| 0xce,0xdf,0x86,0x2a,0xf5,0xd0,0x1e,0xfc,0x06,0x77,0x96,0xfc,0x3d,0xa0,0xce,0xdf, |
| 0xc3,0x9c,0xbf,0x90,0x75,0xcc,0xca,0xa1,0xb2,0xd9,0xd1,0xf9,0xd1,0x49,0x7e,0xb4, |
| 0x29,0xe5,0x7d,0xe8,0xec,0xfa,0x30,0x54,0xd8,0xc1,0x09,0xdf,0xb9,0x86,0xcc,0x72, |
| 0xc1,0x21,0x09,0xf5,0x0f,0x96,0xcf,0x87,0xc9,0xfe,0xa1,0x75,0xf5,0xc3,0x5c,0x1f, |
| 0x1a,0xab,0xd4,0xeb,0xa8,0x3e,0x80,0x6b,0x6b,0xc6,0x11,0x09,0xfb,0x08,0xce,0x6f, |
| 0x8a,0x7c,0x97,0xea,0x48,0x37,0xd7,0x8f,0x48,0xf2,0xe7,0x3a,0x18,0xfb,0xa3,0x34, |
| 0x67,0x17,0x38,0xec,0x68,0xcd,0xe1,0x05,0x85,0xfc,0x1c,0xe4,0x98,0x84,0x78,0x7f, |
| 0x77,0xe6,0x71,0x6c,0x42,0x7d,0xc8,0xec,0xba,0x3c,0x2e,0x21,0x6e,0xeb,0xdf,0x09, |
| 0x09,0xdb,0x2f,0xb8,0xb5,0xee,0xc7,0x09,0x79,0x27,0x38,0xde,0x89,0xe2,0x15,0xdd, |
| 0x7b,0x95,0x27,0x25,0xe4,0x9e,0xa8,0x58,0x54,0x95,0x07,0x90,0x0f,0x7c,0x1d,0x9f, |
| 0xf6,0xde,0x58,0xb9,0x4a,0x3d,0xc4,0xab,0x95,0x72,0xc7,0x34,0xbd,0xdf,0xd8,0x3a, |
| 0xe0,0x3b,0x24,0x18,0xdb,0xbd,0x5c,0x9e,0x01,0xde,0x26,0x2b,0x7b,0xc9,0x5e,0x9b, |
| 0x20,0xcf,0x2b,0x7b,0xbb,0xbc,0x32,0x53,0xf3,0xa4,0x5d,0x40,0x7c,0x86,0xae,0x0b, |
| 0xd3,0xdb,0x2b,0xc8,0xf7,0xc9,0x3f,0x54,0x5b,0xf0,0xad,0x9d,0xec,0xa3,0xdd,0xf6, |
| 0xae,0x5d,0x70,0xf6,0xcd,0x4a,0x7b,0xe9,0xef,0xeb,0xda,0xdd,0x4f,0xed,0x16,0xdc, |
| 0x3b,0x38,0xfb,0x07,0xc4,0x8d,0xd3,0x51,0x9c,0xa2,0xe3,0x1c,0x18,0x10,0x37,0xce, |
| 0x41,0xe2,0x34,0x38,0x4e,0xe7,0x80,0xb8,0xbd,0xe7,0x72,0x70,0x40,0xdb,0xd0,0xed, |
| 0x2c,0x3f,0x47,0x27,0x2d,0xdf,0x6b,0xba,0x1c,0xf9,0x49,0x73,0x11,0xdf,0xcf,0x55, |
| 0x1e,0xbd,0xc2,0xcd,0xad,0x26,0xfd,0xae,0x0f,0x32,0xd8,0xbd,0xca,0xc9,0x0e,0x56, |
| 0x8e,0x1d,0xae,0xf7,0x65,0xae,0x4e,0x28,0xc7,0xbb,0xd8,0xe6,0xd7,0x35,0x09,0xed, |
| 0x99,0x5f,0x83,0x13,0x62,0x56,0xae,0x93,0xee,0x90,0x84,0xfa,0x83,0x5d,0x0e,0xbb, |
| 0x36,0xe1,0x9a,0x7e,0x85,0x9b,0x8b,0xd7,0x25,0xc4,0xcd,0xde,0xf5,0x09,0x31,0x2b, |
| 0x37,0xc8,0xde,0xd0,0x84,0x36,0xaf,0x4f,0xf2,0x77,0x77,0x86,0x25,0xc4,0xad,0x3e, |
| 0x22,0x61,0x1f,0xec,0xfc,0xed,0xc6,0x84,0xd8,0x30,0xcd,0xcd,0xd1,0x8a,0xcd,0x4d, |
| 0x4e,0x67,0xa4,0x74,0x2c,0x1e,0xff,0xbb,0x8d,0x78,0x58,0x9f,0x6e,0x49,0x28,0xc7, |
| 0xbb,0xec,0xcd,0xef,0x14,0x25,0xc4,0x17,0x57,0xdc,0x3b,0x45,0x09,0x71,0xf3,0xe3, |
| 0x8f,0x09,0xdb,0x19,0x55,0xe7,0xc7,0xe8,0x24,0xbf,0x9f,0x6b,0x53,0xa5,0xbf,0x18, |
| 0xb7,0x3f,0x6a,0x1c,0x6d,0x7e,0xdc,0x9e,0x50,0x5e,0x28,0xe4,0xf7,0x96,0x77,0x26, |
| 0xc4,0xad,0xd8,0x39,0xd7,0xd8,0x84,0x32,0xf0,0xd1,0x27,0x60,0xe3,0x5c,0x9f,0xc6, |
| 0x2a,0xb7,0x5c,0xac,0xdf,0xb1,0x8e,0x4f,0x28,0xef,0xa6,0xfb,0xd0,0x26,0xe9,0xb6, |
| 0xa9,0xe6,0xeb,0x12,0xe6,0xa5,0xc9,0x27,0xd6,0xc9,0x1b,0x54,0xac,0xfd,0x49,0x09, |
| 0x6d,0x4c,0x4c,0xf2,0xf6,0x27,0xbb,0xf6,0x27,0xd5,0xb5,0x7f,0x77,0x42,0xf9,0xaf, |
| 0x15,0xff,0x29,0xdb,0x88,0x7f,0x6f,0xc9,0xee,0xdd,0x86,0xcc,0xde,0xf7,0xfa,0x73, |
| 0x42,0x5d,0x70,0x2e,0x91,0xed,0xa9,0x09,0xf1,0x33,0xb5,0x3e,0xdf,0x97,0xb0,0xbf, |
| 0x76,0xef,0x09,0x6c,0x66,0x42,0x1f,0x0a,0x0e,0x9b,0x25,0xcc,0xf3,0x1e,0x92,0x6e, |
| 0x83,0xc3,0x1e,0x13,0xaf,0x41,0xe3,0x82,0x36,0x17,0x26,0x6c,0x07,0x76,0x67,0x25, |
| 0x39,0xbe,0x28,0xa1,0x0d,0x60,0x8f,0x09,0xc7,0xef,0x79,0x16,0xcb,0x2e,0xf4,0x16, |
| 0x69,0x7e,0x2c,0xd1,0xfc,0x58,0xa2,0xf9,0x01,0xfd,0xbd,0xab,0xec,0x0f,0xe6,0xcc, |
| 0x23,0xd9,0xf7,0xd7,0x25,0x83,0x1f,0x6d,0xab,0xda,0x57,0x64,0xd8,0x0b,0x49,0x2e, |
| 0xab,0xfd,0x5e,0xb1,0xca,0x1c,0x08,0xd9,0x9b,0x92,0x3d,0xa4,0x1c,0xf9,0x54,0x42, |
| 0x39,0xf6,0x0e,0x5f,0x65,0x31,0x5b,0x25,0xb9,0xe5,0x14,0xc8,0x9f,0xce,0xca,0x2a, |
| 0xf9,0x83,0xef,0xa3,0x32,0x5d,0xf8,0xf3,0x5c,0x42,0xdf,0xe1,0xd7,0x18,0xc5,0xe3, |
| 0xf9,0x84,0x38,0x8a,0xed,0x6f,0x5e,0x50,0x1c,0xdb,0x48,0x3e,0x47,0x6d,0xbf,0x24, |
| 0x5f,0xe1,0x37,0x72,0xd9,0x4a,0xd7,0x2e,0x64,0xcb,0xb3,0xb2,0x52,0xed,0x2e,0x77, |
| 0xfb,0xae,0x97,0x13,0xfe,0x86,0x0a,0xba,0xb7,0xc8,0x97,0xd7,0xd4,0xe6,0xcb,0x8a, |
| 0x9f,0xe9,0xad,0x74,0xf1,0x43,0xcc,0x9e,0x53,0x7f,0x5e,0x93,0x7d,0x70,0x5f,0x17, |
| 0xf7,0xf5,0x24,0xdf,0x53,0xbf,0xa9,0xb8,0x34,0x15,0x5a,0x8e,0x07,0xe2,0xf0,0x57, |
| 0xf9,0xff,0x76,0xc2,0xb8,0x9f,0xaa,0x7d,0xc8,0x46,0xe7,0x3f,0x64,0xab,0xb3,0xf2, |
| 0x8e,0xf4,0x56,0xab,0xad,0x8d,0xaa,0xbf,0xe3,0xe6,0xe4,0x7b,0x8a,0x61,0xa1,0x90, |
| 0xc7,0xec,0x7d,0xc5,0xac,0x51,0x72,0xe3,0xae,0x11,0xb7,0xe8,0xb8,0x6b,0x1d,0x77, |
| 0x4d,0x2d,0xee,0x9c,0x13,0x1f,0x0a,0x37,0x7b,0x6b,0x9d,0x9d,0x8f,0x65,0xa7,0xc1, |
| 0xd9,0x59,0xe7,0xec,0x7c,0xec,0xec,0xac,0x77,0x76,0x60,0x73,0x9d,0x1b,0x8b,0x4f, |
| 0x12,0xfe,0x4e,0x6c,0xbd,0x1b,0x8b,0xcf,0x64,0xfb,0x93,0xba,0x3e,0x6f,0x74,0x63, |
| 0xd1,0xae,0xca,0xdf,0x9d,0x21,0x2e,0x9f,0x29,0x4e,0x76,0xcd,0x7e,0x91,0xd8,0xb5, |
| 0xcd,0x36,0xfe,0x99,0x10,0x83,0x4e,0x9f,0x22,0x7d,0xfa,0xca,0xe5,0x81,0x7f,0x2a, |
| 0x9f,0x5c,0x28,0xd9,0xa6,0x6d,0xc8,0x1e,0xd5,0x98,0x6d,0x49,0x88,0x41,0xdf,0xee, |
| 0x05,0xf1,0xf7,0x08,0xf0,0xdb,0x36,0x7b,0x47,0xe3,0x9b,0x84,0xbc,0x7f,0x6b,0xdf, |
| 0x66,0xba,0xf8,0xb1,0x38,0x74,0x61,0xdf,0xb8,0x0d,0x29,0x71,0xe3,0xda,0x9e,0xa8, |
| 0x94,0xd2,0x0e,0xe4,0xbf,0xd6,0xfe,0xae,0x9c,0xe6,0x7e,0x41,0x3e,0xa6,0x90,0xef, |
| 0xab,0xa2,0x94,0x72,0xfc,0xeb,0x51,0xe4,0x3a,0x18,0x8b,0x8f,0x58,0x40,0x6e,0xdc, |
| 0x8a,0xb8,0x45,0xc7,0xad,0x3a,0x2e,0xe4,0x16,0xcb,0x1b,0x53,0xda,0x19,0xa1,0xb1, |
| 0xb9,0x29,0x25,0xb6,0x5e,0xf7,0x1f,0xc0,0xfe,0x90,0xe6,0x79,0x1e,0xf2,0x8b,0xf4, |
| 0x9b,0xa5,0x91,0x29,0x65,0x66,0xeb,0x96,0x94,0xed,0x98,0xad,0x5b,0x53,0x62,0xde, |
| 0xd6,0x6d,0xce,0xd6,0xad,0xce,0xd6,0xa8,0x94,0x32,0x9c,0xdd,0xe2,0x1c,0xb1,0x4d, |
| 0x4a,0xfb,0xc0,0xef,0xd2,0xbe,0x6f,0xaf,0x94,0x38,0xae,0xa5,0xeb,0x53,0x77,0x0f, |
| 0x92,0x7d,0x6f,0x9b,0x15,0x60,0xb5,0x7b,0x10,0x17,0x8b,0xdb,0x65,0xc7,0x9f,0x2b, |
| 0xdd,0x91,0x12,0xef,0xed,0xee,0xe5,0xc7,0x09,0x1b,0xee,0xf6,0xb7,0xe3,0x53,0x72, |
| 0xc7,0x39,0x7b,0x4d,0xb2,0xe7,0xcf,0x9f,0x26,0xa4,0xc4,0x87,0x3b,0x7b,0x93,0x85, |
| 0x0d,0x74,0xf6,0xee,0x4e,0xc9,0x9d,0xec,0xec,0x4d,0x91,0x3d,0x7f,0x26,0x75,0x4f, |
| 0x4a,0xdc,0xfb,0x37,0x55,0x98,0xf7,0x6f,0x5a,0x4a,0x2e,0x64,0xb6,0x37,0x9a,0x9e, |
| 0xd2,0x6f,0xb4,0x05,0xb9,0xed,0x37,0xf6,0xd1,0xd8,0x58,0xbd,0x7d,0x4a,0xae,0xed, |
| 0x3f,0x3a,0xa4,0xe4,0x00,0xaf,0x68,0xff,0xb0,0x9f,0xfa,0x19,0x4a,0x6e,0xba,0x07, |
| 0x68,0xce,0x98,0x6e,0xa7,0x94,0x98,0xd7,0x3d,0xc8,0xe9,0x76,0x4a,0xf3,0xb5,0xff, |
| 0x90,0x94,0x76,0x21,0x9f,0xa9,0xb1,0x3e,0x34,0x25,0x8e,0xb3,0x61,0xc3,0x0e,0x17, |
| 0x07,0xd8,0x99,0xba,0xbe,0x7e,0x94,0x92,0x6b,0xeb,0x30,0xb0,0xff,0x48,0xc9,0x2d, |
| 0x14,0xf2,0xf3,0xeb,0xa3,0x52,0x72,0x21,0xb3,0xf3,0xea,0x2e,0x29,0x71,0x7b,0x8e, |
| 0x62,0x7b,0xcb,0xa3,0x53,0xca,0x6c,0x3c,0x8e,0xd5,0x9c,0xf3,0xbf,0x69,0x3b,0x2e, |
| 0x25,0x0e,0x6e,0x77,0xc5,0x79,0x64,0x85,0xf8,0xa2,0x6a,0x4b,0x7f,0x7e,0x2c,0x1f, |
| 0x8b,0x0e,0x3b,0x51,0x3e,0x16,0x9d,0x8f,0x27,0xa5,0xe4,0x9e,0xe8,0x7c,0x3c,0x39, |
| 0x25,0x5e,0xef,0x63,0xd7,0x94,0x32,0xf3,0xf1,0xa7,0xf2,0xd1,0xff,0xd6,0xe9,0xd4, |
| 0x94,0x78,0x57,0xe7,0xe3,0xad,0x15,0xe2,0x23,0x2b,0x2d,0xfd,0x39,0x4d,0x3e,0x36, |
| 0x38,0xac,0x9b,0x7c,0x6c,0x70,0x3e,0x9e,0x91,0x92,0xdb,0xcd,0xf9,0x78,0x66,0x4a, |
| 0xbc,0xde,0xc7,0xee,0x29,0x65,0xe6,0xe3,0x7f,0xc9,0xc7,0x06,0xe7,0xe3,0xd9,0x29, |
| 0xf1,0xee,0xce,0xc7,0x31,0x15,0xe2,0xf0,0xb5,0x41,0xef,0x66,0x9d,0xeb,0xae,0x6d, |
| 0x8c,0x63,0x8f,0xac,0x9c,0xab,0x6b,0x1b,0xdf,0xed,0x3e,0xf0,0x1c,0x8d,0x31,0xd6, |
| 0x10,0x93,0xe3,0xd3,0xee,0xdd,0x7a,0x6a,0x1e,0x20,0x1f,0x9c,0x23,0x3b,0xd6,0x8f, |
| 0x5e,0x29,0xe5,0xf5,0xfd,0x38,0x2f,0xa5,0xcc,0xee,0xf5,0xfb,0x28,0x2f,0x9c,0xe7, |
| 0x7c,0x1e,0x57,0x21,0x6e,0x63,0x5f,0x7b,0x76,0xe5,0x7c,0xc6,0xb8,0xf6,0xcd,0x4a, |
| 0x7f,0xf9,0xd4,0xd7,0xf9,0xdc,0x4f,0x63,0x5e,0x7b,0x1e,0x25,0x79,0x7f,0xe7,0xf3, |
| 0xff,0x68,0x5e,0xa0,0x1f,0xfd,0x64,0xc7,0x7c,0xbe,0x28,0xa5,0xbc,0xde,0xe7,0x01, |
| 0x29,0x65,0xe6,0xf3,0xa5,0xca,0x3d,0x03,0x9c,0xcf,0x13,0x2b,0xc4,0xc7,0x69,0x2e, |
| 0xc0,0xe7,0xab,0x9d,0xcf,0x18,0xe7,0x2b,0xb2,0x72,0xb5,0x7c,0xba,0xc2,0xf9,0x3c, |
| 0x48,0x73,0x00,0x3e,0x9b,0xfc,0x6a,0xe7,0xf3,0xef,0x34,0x4f,0xd0,0x8f,0x41,0xb2, |
| 0x63,0x3e,0x5f,0x93,0x52,0x5e,0xef,0xf3,0xe0,0x94,0x32,0xf3,0xf9,0x5a,0xe5,0xb7, |
| 0xc1,0xce,0xe7,0x29,0x15,0xe2,0x13,0x35,0x37,0xd0,0xbe,0xe5,0xf8,0xeb,0xd5,0x3e, |
| 0x78,0x1d,0xaa,0x9c,0x6b,0xd8,0x3f,0x60,0x3e,0x5d,0xed,0x64,0xed,0xab,0xcc,0xaf, |
| 0x90,0x4d,0x91,0xcc,0xe6,0xe8,0xcc,0x94,0x72,0xbf,0x36,0xcc,0x4a,0x89,0x4f,0x76, |
| 0x6b,0xef,0x83,0xe2,0xf9,0x9c,0xff,0x50,0x4a,0x7c,0x88,0xcb,0xc7,0x0f,0xa7,0xd4, |
| 0x7f,0xc8,0xb5,0xf1,0xa8,0x74,0x1b,0x1c,0xef,0xb1,0x94,0xdc,0x47,0x1d,0x6f,0x76, |
| 0xca,0x7e,0xb4,0x78,0xfe,0x91,0x12,0xf7,0xbe,0xcc,0x15,0xaf,0xc5,0xf3,0x8f,0x94, |
| 0xb8,0xf7,0x65,0x7e,0x4a,0xfd,0x79,0xae,0x8d,0x05,0xd2,0xf5,0xbe,0x2c,0x4c,0xc9, |
| 0x85,0xcc,0xce,0x4d,0x4f,0x0b,0xe8,0xe3,0x42,0xad,0xb5,0xdd,0xdc,0x59,0x07,0x64, |
| 0xa7,0x67,0xa5,0x9b,0xce,0x3a,0xf0,0xbd,0xf9,0x8c,0x54,0xe7,0x1a,0x56,0x3f,0x5b, |
| 0x67,0x18,0x56,0xff,0xa5,0x3b,0xaf,0xc0,0x5e,0xa0,0x47,0x40,0x1d,0xf0,0x20,0xb3, |
| 0xfe,0x2c,0xd3,0x18,0xf8,0xf5,0xef,0x19,0x61,0x7e,0xfd,0x7b,0x36,0x25,0x17,0x32, |
| 0xd3,0xfd,0xbb,0xc6,0xc5,0xaf,0xc5,0x2f,0x0a,0xf3,0x6b,0xf1,0x4b,0x29,0xb9,0x2f, |
| 0x3a,0xdd,0x97,0x35,0x26,0xbe,0xdd,0xd7,0x84,0xf9,0x76,0x57,0xa6,0xe4,0xbe,0xe6, |
| 0xd6,0xdd,0xd7,0x53,0xfa,0x03,0xbb,0x2b,0xdd,0x9e,0xe8,0xdc,0x80,0x32,0x6b,0xe3, |
| 0x6d,0x8d,0xa9,0x6f,0xe3,0x5d,0x61,0xbe,0x8d,0xf7,0x52,0x72,0xdf,0x75,0xba,0x6b, |
| 0x34,0xce,0xbe,0x6f,0x1f,0x09,0xf3,0x7d,0xfb,0x38,0x25,0xf7,0x23,0xa7,0xbb,0x41, |
| 0x63,0xec,0xdb,0xfd,0x4c,0x98,0x6f,0x77,0x63,0x4a,0xee,0x67,0xae,0x6f,0x9f,0xa7, |
| 0xf4,0x07,0x76,0x37,0xba,0xbe,0x9d,0x1f,0x50,0x36,0x4c,0xfb,0xbd,0x2d,0x29,0xb1, |
| 0x73,0xdd,0xde,0xfc,0xdb,0x94,0xf5,0x2d,0x69,0x8e,0x15,0x2b,0xe4,0x79,0xac,0xb1, |
| 0xc2,0xf9,0xb0,0x45,0xf6,0x80,0x85,0x15,0xe2,0xdf,0x3a,0x2c,0xa9,0x50,0x1f,0x98, |
| 0xdd,0x63,0xa4,0x15,0x72,0x21,0xb3,0x33,0xf5,0x4a,0x25,0x3f,0x53,0x87,0x1c,0xf7, |
| 0x90,0xb8,0x27,0x9c,0xae,0x7b,0x99,0xef,0xe9,0x3d,0x0e,0xfc,0x6d,0x0d,0xfc,0x3d, |
| 0x0d,0x3b,0x9f,0xdf,0xae,0x42,0xdd,0xef,0x55,0xf2,0xfb,0x9e,0xed,0x2b,0xf9,0x9e, |
| 0x15,0x72,0x3b,0x7f,0xdf,0xa1,0x42,0x99,0xed,0xf5,0x77,0x92,0x4d,0x3c,0xaf,0x7c, |
| 0xa6,0x94,0x9f,0x69,0xed,0x5c,0x21,0x77,0xb8,0x3b,0x97,0x6f,0x55,0x21,0x7f,0xe7, |
| 0x4a,0xfe,0x7e,0x82,0x5d,0x53,0xdd,0x82,0xfc,0x8c,0xf8,0x70,0x9d,0xcb,0x23,0xdf, |
| 0x41,0x07,0xd7,0xdb,0x83,0xba,0x4e,0xfb,0x07,0xbc,0x46,0x1f,0xd3,0x75,0x3a,0xc0, |
| 0x5d,0xa7,0x90,0x5d,0x94,0x95,0x01,0xb2,0x89,0xef,0xcb,0x34,0xc6,0x97,0x04,0xb4, |
| 0xdb,0xd7,0xfd,0x76,0xef,0xb2,0x80,0x38,0xee,0x11,0x6c,0xfd,0xbf,0x3c,0x60,0x7f, |
| 0x2e,0xd3,0x39,0xed,0x95,0xb2,0x85,0x4f,0xeb,0xf3,0xfc,0x2a,0x79,0x6f,0xc9,0x2e, |
| 0x78,0xd6,0xe6,0x00,0xd7,0x8f,0x01,0x55,0xb6,0x89,0xbe,0x41,0x07,0x36,0xee,0xb5, |
| 0x77,0xb3,0x03,0xf6,0x65,0xad,0x7e,0x8f,0x7e,0x8d,0xf4,0xaf,0x71,0xed,0x3c,0x59, |
| 0x25,0xcf,0xfa,0x6b,0xf8,0x02,0xe1,0x96,0xaf,0x6c,0xbe,0x8f,0x08,0xa8,0x33,0xc8, |
| 0xcd,0xed,0x1b,0x02,0xf2,0x47,0xc8,0x4f,0x3b,0xaf,0x6d,0xef,0xfc,0xfc,0x1f,0xc5, |
| 0x1b,0x67,0xc0,0xf0,0xf9,0x1a,0x27,0x3b,0xd5,0xc9,0x60,0xeb,0x1a,0x9d,0xb1,0xde, |
| 0x1c,0xb4,0x3c,0x63,0x1d,0x99,0xd5,0x6f,0x96,0xed,0x91,0xe2,0xdc,0x56,0x77,0x5e, |
| 0x7c,0x6b,0x56,0x46,0x8b,0x73,0x6b,0x90,0xdf,0x6b,0xe2,0x6f,0xe8,0xe1,0x5e,0xd3, |
| 0x9e,0x1d,0xfe,0x31,0x20,0x06,0x7f,0x6f,0x13,0x7f,0x74,0x5d,0xfd,0xb6,0x20,0x3f, |
| 0xcb,0x39,0xa5,0x4a,0x1d,0xd8,0x1c,0xa3,0x36,0xec,0x59,0xd9,0x1d,0x41,0x7e,0x7f, |
| 0x79,0x4a,0xb5,0xe5,0xb3,0xb2,0xb1,0x01,0xe5,0x63,0xe4,0xef,0x78,0xe7,0x2f,0x64, |
| 0xe3,0xb2,0x32,0x5e,0xed,0x8d,0x73,0xcf,0xef,0x26,0x48,0x0f,0xf7,0x99,0xa8,0x4f, |
| 0x54,0x1b,0x88,0xd5,0x04,0xf9,0x69,0x7a,0xe3,0x5d,0x2c,0xaf,0xaa,0x92,0x03,0xdf, |
| 0x27,0xca,0x3e,0xda,0xbd,0xdb,0xb5,0x8b,0xf7,0x4f,0x26,0x67,0xf5,0xbb,0xa5,0x3f, |
| 0xd9,0x9d,0x87,0x4f,0x71,0xe7,0xf9,0x36,0x87,0xef,0x09,0x88,0xdb,0x79,0xbe,0xe9, |
| 0xdd,0xed,0xce,0xf3,0xef,0x0d,0xf8,0x5e,0x0b,0x7c,0x01,0x7f,0xb2,0x7c,0x9c,0x2a, |
| 0xee,0x54,0x37,0xe7,0x16,0x56,0xc9,0x47,0x7f,0x30,0x2f,0xc0,0xb3,0x71,0xbd,0xd9, |
| 0xf5,0xe5,0x72,0xf5,0x05,0xf3,0x08,0xfd,0x9a,0xea,0x64,0xfd,0xab,0xd4,0x85,0x6c, |
| 0xa1,0x64,0xcd,0x7f,0x27,0x41,0x7f,0x7f,0x02,0xcf,0x3f,0x6d,0xde,0xde,0x1f,0x50, |
| 0x07,0x32,0x3c,0xf7,0xa9,0xed,0x53,0xdc,0xb8,0xdd,0xaf,0x33,0x4d,0x3b,0x47,0x78, |
| 0x30,0x60,0xfb,0xe0,0x74,0xcb,0xac,0xe2,0xfd,0x8a,0x87,0x03,0x3e,0x3f,0x81,0xcc, |
| 0x7e,0xcb,0x6f,0xbf,0xd3,0x47,0x8c,0x1f,0xaf,0x7b,0x36,0xfb,0x97,0xac,0xfe,0xb8, |
| 0xfa,0xf5,0x17,0x67,0x67,0x76,0x40,0x5b,0x0f,0x6f,0xc3,0x0e,0x62,0x61,0x3a,0x8f, |
| 0xab,0xbf,0xd0,0x79,0xb0,0x4a,0x3e,0xe2,0x03,0x7d,0xd8,0xb3,0xf1,0x79,0x42,0xcf, |
| 0x7a,0xed,0x37,0x18,0xf3,0x9c,0x1f,0x90,0xcd,0xcd,0xca,0x3c,0xd9,0x9c,0xeb,0xfe, |
| 0xbe,0xc6,0xfc,0x80,0x7f,0xf7,0x60,0x86,0x7b,0xef,0xe1,0xc9,0x80,0xf8,0x0d,0xb6, |
| 0xb7,0x09,0x88,0x7d,0xea,0x7f,0x03,0x1a,0x10,0x37,0x3b,0x8b,0x64,0xa7,0xc9,0xd9, |
| 0x59,0x1c,0x10,0x37,0x3b,0x4b,0x02,0x62,0xde,0xce,0xd2,0x80,0xb8,0xfd,0x1d,0x8e, |
| 0x65,0x01,0x6d,0x2f,0xd5,0x73,0x4d,0x60,0x4f,0x07,0xfc,0xfb,0x10,0xcb,0x74,0x2d, |
| 0xe3,0xef,0xf8,0xfc,0x4d,0x7f,0xc3,0xa7,0x4f,0x56,0xc7,0x77,0x70,0x1e,0xd4,0x3c, |
| 0xb2,0x7e,0xce,0x0b,0x5a,0xfe,0x0d,0x0e,0x7c,0x7e,0x93,0x45,0xf8,0xc8,0xac,0xfc, |
| 0x3f,0x7c,0xcd,0xfd,0x34,0xf4,0x54,0x00,0x00 |
| }; |
| |
| // Generated from: |
| // |
| // #version 450 core |
| // |
| // #extension GL_GOOGLE_include_directive : require |
| // |
| // #extension GL_KHR_shader_subgroup_clustered : enable |
| // #extension GL_KHR_shader_subgroup_shuffle : enable |
| // |
| // layout(local_size_x = 64, local_size_y = 1, local_size_z = 1)in; |
| // layout(binding = 0)uniform highp usamplerBuffer uInputBuffer; |
| // layout(binding = 1, rgba32ui)writeonly uniform uimage2D uOutput; |
| // |
| // layout(push_constant)uniform imagInfo { |
| // |
| // uint offsetX; |
| // uint offsetY; |
| // int texelOffset; |
| // uint width; |
| // uint height; |
| // uint alphaBits; |
| // uint isSigned; |
| // uint isEacRg; |
| // }; |
| // |
| // #line 1 "shaders/src/third_party/etc_decoder/etc_decoder.h" |
| // |
| // const ivec2 etc1_color_modifier_table[8]= ivec2[]( |
| // ivec2(2, 8), |
| // ivec2(5, 17), |
| // ivec2(9, 29), |
| // ivec2(13, 42), |
| // ivec2(18, 60), |
| // ivec2(24, 80), |
| // ivec2(33, 106), |
| // ivec2(47, 183)); |
| // |
| // const ivec4 etc2_alpha_modifier_table[16]= ivec4[]( |
| // ivec4(2, 5, 8, 14), |
| // ivec4(2, 6, 9, 12), |
| // ivec4(1, 4, 7, 12), |
| // ivec4(1, 3, 5, 12), |
| // ivec4(2, 5, 7, 11), |
| // ivec4(2, 6, 8, 10), |
| // ivec4(3, 6, 7, 10), |
| // ivec4(2, 4, 7, 10), |
| // ivec4(1, 5, 7, 9), |
| // ivec4(1, 4, 7, 9), |
| // ivec4(1, 3, 7, 9), |
| // ivec4(1, 4, 6, 9), |
| // ivec4(2, 3, 6, 9), |
| // ivec4(0, 1, 2, 9), |
| // ivec4(3, 5, 7, 8), |
| // ivec4(2, 4, 6, 8) |
| // ); |
| // |
| // const int etc2_distance_table[8]= int[](3, 6, 11, 16, 23, 32, 41, 64); |
| // |
| // int decode_etc2_alpha(uvec2 payload, int linear_pixel) |
| // { |
| // int bit_offset = 45 - 3 * linear_pixel; |
| // |
| // int base = int(bitfieldExtract(payload . y, 24, 8)); |
| // |
| // int multiplier = int(bitfieldExtract(payload . y, 20, 4)); |
| // int table = int(bitfieldExtract(payload . y, 16, 4)); |
| // |
| // int lsb_index = int(bitfieldExtract(payload[bit_offset >> 5], bit_offset & 31, 2)); |
| // bit_offset += 2; |
| // int msb = int((payload[bit_offset >> 5]>>(bit_offset & 31))& 1u); |
| // int mod = etc2_alpha_modifier_table[table][lsb_index]^(msb - 1); |
| // |
| // int a = base + mod * multiplier; |
| // return clamp(a, 0, 0xff); |
| // |
| // } |
| // |
| // ivec4 DecodeRGB(ivec2 pixel_coord, uvec2 color_payload, int linear_pixel, inout bool punchthrough){ |
| // int alpha_result = 0xff; |
| // ivec3 rgb_result; |
| // ivec3 base_rgb; |
| // uint flip = color_payload . y & 1u; |
| // uint subblock = uint((pixel_coord[flip]& 2)>> 1); |
| // bool etc1_compat = false; |
| // |
| // if(alphaBits != 1 &&(color_payload . y & 2u)== 0u) |
| // { |
| // |
| // etc1_compat = true; |
| // base_rgb = ivec3(color_payload . yyy >>(uvec3(28, 20, 12)- 4u * subblock)); |
| // base_rgb &= 0xf; |
| // base_rgb *= 0x11; |
| // } |
| // else |
| // { |
| // int r = int(bitfieldExtract(color_payload . y, 27, 5)); |
| // int rd = bitfieldExtract(int(color_payload . y), 24, 3); |
| // int g = int(bitfieldExtract(color_payload . y, 19, 5)); |
| // int gd = bitfieldExtract(int(color_payload . y), 16, 3); |
| // int b = int(bitfieldExtract(color_payload . y, 11, 5)); |
| // int bd = bitfieldExtract(int(color_payload . y), 8, 3); |
| // |
| // int r1 = r + rd; |
| // int g1 = g + gd; |
| // int b1 = b + bd; |
| // |
| // if(uint(r1)> 31u) |
| // { |
| // int r1 = int(bitfieldExtract(color_payload . y, 56 - 32, 2))| |
| // (int(bitfieldExtract(color_payload . y, 59 - 32, 2))<< 2); |
| // int g1 = int(bitfieldExtract(color_payload . y, 52 - 32, 4)); |
| // int b1 = int(bitfieldExtract(color_payload . y, 48 - 32, 4)); |
| // int r2 = int(bitfieldExtract(color_payload . y, 44 - 32, 4)); |
| // int g2 = int(bitfieldExtract(color_payload . y, 40 - 32, 4)); |
| // int b2 = int(bitfieldExtract(color_payload . y, 36 - 32, 4)); |
| // uint da =(bitfieldExtract(color_payload . y, 34 - 32, 2)<< 1)| |
| // (color_payload . y & 1u); |
| // int dist = etc2_distance_table[da]; |
| // |
| // int msb = int((color_payload . x >>(15 + linear_pixel))& 2u); |
| // int lsb = int((color_payload . x >> linear_pixel)& 1u); |
| // int index = msb | lsb; |
| // |
| // if(punchthrough) |
| // punchthrough = index == 2; |
| // |
| // if(index == 0) |
| // { |
| // rgb_result = ivec3(r1, g1, b1); |
| // rgb_result *= 0x11; |
| // } |
| // else |
| // { |
| // int mod = 2 - index; |
| // ivec3 rgb = ivec3(r2, g2, b2)* 0x11 + mod * dist; |
| // rgb_result = ivec3(clamp(rgb, ivec3(0), ivec3(255))); |
| // } |
| // } |
| // else if(uint(g1)> 31u) |
| // { |
| // int r1 = int(bitfieldExtract(color_payload . y, 59 - 32, 4)); |
| // int g1 =(int(bitfieldExtract(color_payload . y, 56 - 32, 3))<< 1)| |
| // int((color_payload . y >> 20u)& 1u); |
| // int b1 = int(bitfieldExtract(color_payload . y, 47 - 32, 3))| |
| // int((color_payload . y >> 16u)& 8u); |
| // int r2 = int(bitfieldExtract(color_payload . y, 43 - 32, 4)); |
| // int g2 = int(bitfieldExtract(color_payload . y, 39 - 32, 4)); |
| // int b2 = int(bitfieldExtract(color_payload . y, 35 - 32, 4)); |
| // uint da = color_payload . y & 4u; |
| // uint db = color_payload . y & 1u; |
| // uint d = da + 2u * db; |
| // d += uint((r1 * 0x10000 + g1 * 0x100 + b1)>=(r2 * 0x10000 + g2 * 0x100 + b2)); |
| // int dist = etc2_distance_table[d]; |
| // int msb = int((color_payload . x >>(15 + linear_pixel))& 2u); |
| // int lsb = int((color_payload . x >> linear_pixel)& 1u); |
| // |
| // if(punchthrough) |
| // punchthrough =(msb + lsb)== 2; |
| // |
| // ivec3 base = msb != 0 ? ivec3(r2, g2, b2): ivec3(r1, g1, b1); |
| // base *= 0x11; |
| // int mod = 1 - 2 * lsb; |
| // base += mod * dist; |
| // rgb_result = ivec3(clamp(base, ivec3(0), ivec3(0xff))); |
| // } |
| // else if(uint(b1)> 31u) |
| // { |
| // |
| // int r = int(bitfieldExtract(color_payload . y, 57 - 32, 6)); |
| // int g = int(bitfieldExtract(color_payload . y, 49 - 32, 6))| |
| // (int(color_payload . y >> 18)& 0x40); |
| // int b = int(bitfieldExtract(color_payload . y, 39 - 32, 3))| |
| // (int(bitfieldExtract(color_payload . y, 43 - 32, 2))<< 3)| |
| // (int(color_payload . y >> 11)& 0x20); |
| // int rh = int(color_payload . y & 1u)| |
| // (int(bitfieldExtract(color_payload . y, 2, 5))<< 1); |
| // int rv = int(bitfieldExtract(color_payload . x, 13, 6)); |
| // int gh = int(bitfieldExtract(color_payload . x, 25, 7)); |
| // int gv = int(bitfieldExtract(color_payload . x, 6, 7)); |
| // int bh = int(bitfieldExtract(color_payload . x, 19, 6)); |
| // int bv = int(bitfieldExtract(color_payload . x, 0, 6)); |
| // |
| // r =(r << 2)|(r >> 4); |
| // rh =(rh << 2)|(rh >> 4); |
| // rv =(rv << 2)|(rv >> 4); |
| // g =(g << 1)|(g >> 6); |
| // gh =(gh << 1)|(gh >> 6); |
| // gv =(gv << 1)|(gv >> 6); |
| // b =(b << 2)|(b >> 4); |
| // bh =(bh << 2)|(bh >> 4); |
| // bv =(bv << 2)|(bv >> 4); |
| // |
| // ivec3 rgb = ivec3(r, g, b); |
| // ivec3 dx = ivec3(rh, gh, bh)- rgb; |
| // ivec3 dy = ivec3(rv, gv, bv)- rgb; |
| // dx *= int(pixel_coord . x); |
| // dy *= int(pixel_coord . y); |
| // rgb = rgb +((dx + dy + 2)>> 2); |
| // rgb = clamp(rgb, ivec3(0), ivec3(255)); |
| // rgb_result = ivec3(rgb); |
| // |
| // punchthrough = false; |
| // |
| // } |
| // else |
| // { |
| // |
| // etc1_compat = true; |
| // base_rgb = ivec3(r, g, b)+ int(subblock)* ivec3(rd, gd, bd); |
| // base_rgb =(base_rgb << 3)|(base_rgb >> 2); |
| // } |
| // } |
| // |
| // if(etc1_compat) |
| // { |
| // uint etc1_table_index = bitfieldExtract(color_payload . y, 5 - 3 * int(subblock != 0u), 3); |
| // int msb = int((color_payload . x >>(15 + linear_pixel))& 2u); |
| // int lsb = int((color_payload . x >> linear_pixel)& 1u); |
| // int sgn = 1 - msb; |
| // |
| // if(punchthrough) |
| // { |
| // sgn *= lsb; |
| // punchthrough =(msb + lsb)== 2; |
| // } |
| // |
| // int offset = etc1_color_modifier_table[etc1_table_index][lsb]* sgn; |
| // base_rgb = clamp(base_rgb + offset, ivec3(0), ivec3(255)); |
| // rgb_result = ivec3(base_rgb); |
| // } |
| // |
| // if(alphaBits == 1 && punchthrough) |
| // { |
| // rgb_result = ivec3(0); |
| // alpha_result = 0; |
| // } |
| // |
| // return ivec4(rgb_result . r, rgb_result . g, rgb_result . b, alpha_result); |
| // } |
| // #line 77 "shaders/src/EtcToBc.comp" |
| // |
| // ivec2 build_coord() |
| // { |
| // uvec2 base =(gl_WorkGroupID . xy)* 8; |
| // uint blockid = gl_LocalInvocationID . x >> 4u; |
| // uint blockxy = gl_LocalInvocationID . x & 0xfu; |
| // base . x += 4 *(blockid & 0x1); |
| // base . y += 2 *(blockid & 0x2); |
| // base += uvec2(blockxy & 0x3, blockxy >> 0x2); |
| // return ivec2(base); |
| // } |
| // |
| // uint flip_endian(uint v) |
| // { |
| // uvec4 words = uvec4(v)>> uvec4(0, 8, 16, 24); |
| // words &= 0xffu; |
| // return(words . x << 24u)|(words . y << 16u)|(words . z << 8u)|(words . w << 0u); |
| // } |
| // |
| // uvec2 flip_endian(uvec2 v) |
| // { |
| // return uvec2(flip_endian(v . y), flip_endian(v . x)); |
| // } |
| // |
| // uint GetIndicesRGB(vec3 color, vec3 minColor, vec3 maxColor, bool transparent) |
| // { |
| // vec3 dir = maxColor - minColor; |
| // float distMin = dot(minColor, dir); |
| // float distMax = dot(maxColor, dir); |
| // float dist = dot(color, dir); |
| // int ind = int(round(clamp((dist - distMin)/(distMax - distMin), 0.0, 1.0)*(transparent ? 2.0 : 3.0))); |
| // |
| // return bitfieldExtract(transparent ? 0x18u : 0x2du, ind * 2, 2); |
| // } |
| // |
| // void ComputeMaxMinColor(uvec3 rgbColor, inout uvec3 minColor, inout uvec3 maxColor){ |
| // ivec3 dx; |
| // if(alphaBits == 1){ |
| // int count = subgroupClusteredAdd(1, 16); |
| // ivec3 avg = ivec3((subgroupClusteredAdd(rgbColor, 16)* 2 + count)/(2 * count)); |
| // dx = ivec3(rgbColor)- avg; |
| // } |
| // else { |
| // dx = ivec3(rgbColor)- ivec3(subgroupClusteredAdd(rgbColor, 16)+ 8 >> 4); |
| // } |
| // vec3 cov0 = vec3(subgroupClusteredAdd(dx . r * dx, 16)); |
| // vec3 cov1 = vec3(subgroupClusteredAdd(dx . ggb * dx . gbb, 16)); |
| // vec3 vg = vec3(subgroupClusteredMax(rgbColor, 16)- subgroupClusteredMin(rgbColor, 16)); |
| // |
| // mat3 covMat = mat3(cov0, |
| // vec3(cov0 . y, cov1 . xy), |
| // vec3(cov0 . z, cov1 . yz)); |
| // |
| // float eigenvalue = 0.0f; |
| // for(int i = 0;i < 4;i ++){ |
| // vg = covMat * vg; |
| // eigenvalue = sqrt(dot(vg, vg)); |
| // if(eigenvalue > 0.0f){ |
| // float invNorm = 1.0f / eigenvalue; |
| // vg *= invNorm; |
| // } |
| // } |
| // const float kDefaultLuminanceThreshold = 4.0f * 255; |
| // const float kQuantizeRange = 0.512f; |
| // |
| // if(eigenvalue < kDefaultLuminanceThreshold){ |
| // vg = vec3(0.299f, 0.587f, 0.114f); |
| // } |
| // else { |
| // float magn = max(max(abs(vg . r), abs(vg . g)), abs(vg . b)); |
| // vg *= kQuantizeRange / magn; |
| // } |
| // float dist = dot(vec3(rgbColor), vg); |
| // float min_dist = subgroupClusteredMin(dist, 16); |
| // float max_dist = subgroupClusteredMax(dist, 16); |
| // uvec2 indices = uvec2(dist == min_dist ? gl_SubgroupInvocationID : 0, |
| // dist == max_dist ? gl_SubgroupInvocationID : 0); |
| // uvec2 minMaxIndex = subgroupClusteredMax(indices, 16); |
| // minColor = subgroupShuffle(rgbColor, minMaxIndex . x); |
| // maxColor = subgroupShuffle(rgbColor, minMaxIndex . y); |
| // } |
| // |
| // uint GetIndicesAlpha(int alpha, int minAlpha, int maxAlpha) |
| // { |
| // float dist = float(maxAlpha - minAlpha); |
| // int ind = int(round(clamp((alpha - minAlpha)/ dist * 7.0f, 0.0, 7.0))); |
| // |
| // return bitfieldExtract(0x2345671u, ind * 4, 4); |
| // } |
| // |
| // void ComputeMaxMin(int alpha, inout int minAlpha, inout int maxAlpha){ |
| // minAlpha = subgroupClusteredMin(alpha, 16); |
| // maxAlpha = subgroupClusteredMax(alpha, 16); |
| // } |
| // uvec2 EncodeBC4(int value, uint pid){ |
| // int minValue, maxValue; |
| // ComputeMaxMin(value, minValue, maxValue); |
| // uint indices = 0; |
| // if(minValue != maxValue) |
| // indices = GetIndicesAlpha(value, minValue, maxValue); |
| // |
| // uvec2 mask = uvec2(pid <= 5 ? indices <<(16 + 3 * pid): 0x0, |
| // pid >= 5 ?(indices << 29)>>(45 - 3 * pid): 0x0); |
| // |
| // mask = subgroupClusteredOr(mask, 16); |
| // return uvec2((maxValue & 0xff)|((minValue & 0xff)<< 8)| mask . x, mask . y); |
| // } |
| // |
| // uvec3 scaleColorToRGB565(uvec3 color){ |
| // return uvec3(round(vec3(color)* vec3(31.0 / 255.0, 63.0 / 255.0, 31.0 / 255.0))); |
| // } |
| // |
| // uvec3 convertRGB565ToRGB888(uvec3 color){ |
| // return uvec3(color . x << 3 |(color . x >> 2), |
| // color . y << 2 |(color . y >> 4), |
| // color . z << 3 |(color . z >> 2)); |
| // } |
| // |
| // uint packRGB565(uvec3 color565){ |
| // return color565 . r << 11 |(color565 . g << 5)| color565 . b; |
| // } |
| // |
| // void modifyMinMax(inout uvec3 minColor, inout uvec3 maxColor){ |
| // uvec3 minColor565 = scaleColorToRGB565(minColor); |
| // uvec3 maxColor565 = scaleColorToRGB565(maxColor); |
| // if(all(equal(minColor565, maxColor565))){ |
| // uvec3 simulatedColor = convertRGB565ToRGB888(minColor565); |
| // ivec3 signMax = sign(ivec3(maxColor)- ivec3(simulatedColor)); |
| // ivec3 signMin = sign(ivec3(minColor)- ivec3(simulatedColor)); |
| // bvec3 needCorrect = greaterThan(signMax * signMin, ivec3(0, 0, 0)); |
| // bvec3 positive = greaterThan(signMin, ivec3(0, 0, 0)); |
| // maxColor565 . r += needCorrect . r && positive . r ? 1 : 0; |
| // maxColor565 . g += needCorrect . g && positive . g ? 1 : 0; |
| // maxColor565 . b += needCorrect . b && positive . b ? 1 : 0; |
| // minColor565 . r -= needCorrect . r && ! positive . r ? 1 : 0; |
| // minColor565 . g -= needCorrect . g && ! positive . g ? 1 : 0; |
| // minColor565 . b -= needCorrect . b && ! positive . b ? 1 : 0; |
| // } |
| // minColor = minColor565; |
| // maxColor = maxColor565; |
| // } |
| // |
| // void swap(inout uint a, inout uint b){ |
| // uint t = a; |
| // a = b; |
| // b = t; |
| // } |
| // |
| // void main() |
| // { |
| // ivec2 coord = build_coord(); |
| // if(any(greaterThanEqual(coord, ivec2(width, height)))) |
| // return; |
| // |
| // ivec2 tile_coord = coord >> 2; |
| // ivec2 pixel_coord = coord & 3; |
| // int linear_pixel = 4 * pixel_coord . x + pixel_coord . y; |
| // int pid = 4 * pixel_coord . y + pixel_coord . x; |
| // uvec4 payload = texelFetch(uInputBuffer, tile_coord . y * int((width + 3)>> 2)+ tile_coord . x + texelOffset); |
| // |
| // ivec4 result; |
| // |
| // uvec2 color_payload = flip_endian(alphaBits == 8 ? payload . zw : payload . xy); |
| // bool nonOpaque = alphaBits == 1 &&(color_payload . y & 2u)== 0u; |
| // bool punchthrough = nonOpaque; |
| // result = DecodeRGB(pixel_coord, color_payload, linear_pixel, punchthrough); |
| // if(alphaBits == 8){ |
| // uvec2 alpha_payload = flip_endian(payload . xy); |
| // result . a = decode_etc2_alpha(alpha_payload, linear_pixel); |
| // } |
| // |
| // uvec4 finalResult; |
| // |
| // uvec3 minColor, maxColor; |
| // uint indices = 0; |
| // uint color565 = 0; |
| // |
| // finalResult . ba = alphaBits == 8 ? EncodeBC4(result . a, pid): uvec2(0, 0); |
| // |
| // bool controlFlag = alphaBits != 1 || result . a > 0; |
| // if(controlFlag) |
| // { |
| // ComputeMaxMinColor(uvec3(result . r, result . g, result . b), minColor, maxColor); |
| // modifyMinMax(minColor, maxColor); |
| // uint minColor565 = packRGB565(minColor); |
| // uint maxColor565 = packRGB565(maxColor); |
| // |
| // if(minColor565 != maxColor565){ |
| // indices = GetIndicesRGB(vec3(result . r, result . g, result . b), |
| // vec3(convertRGB565ToRGB888(minColor)), |
| // vec3(convertRGB565ToRGB888(maxColor)), |
| // nonOpaque); |
| // } |
| // bool flip = maxColor565 < minColor565; |
| // if(flip){ |
| // indices ^= 1; |
| // |
| // if(nonOpaque && indices == 3){ |
| // indices = 2; |
| // } |
| // } |
| // if(flip != nonOpaque){ |
| // swap(maxColor565, minColor565); |
| // } |
| // color565 = maxColor565 |(minColor565 << 16); |
| // } |
| // if(alphaBits == 1){ |
| // int active_lane_index = subgroupClusteredMax(controlFlag ? int(gl_SubgroupInvocationID): - 1, 16); |
| // if(active_lane_index != - 1){ |
| // color565 = subgroupShuffle(color565, active_lane_index); |
| // } |
| // if(punchthrough && result . a == 0){ |
| // indices = 3; |
| // } |
| // } |
| // uint mask = subgroupClusteredOr(indices <<(2 * pid), 16); |
| // |
| // finalResult . rg = uvec2(color565, mask); |
| // if(alphaBits == 8){ |
| // finalResult = finalResult . barg; |
| // } |
| // |
| // if(pid == 0){ |
| // tile_coord += ivec2(offsetX / 4, offsetY / 4); |
| // imageStore(uOutput, tile_coord, finalResult); |
| // } |
| // |
| // } |