/*
 *
 *    Copyright (c) 2020 Project CHIP Authors
 *    Copyright (c) 2020 Google LLC.
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

/********************************************************************
 * Autogenerated file, do not edit.
 *******************************************************************/

#include "sli_bt_gattdb_def.h"
#include <stdint.h>

#define GATT_HEADER(F) F
#define GATT_DATA(F) F
GATT_DATA(const uint16_t gattdb_uuidtable_16_map[]) = {
    0x2800, 0x2801, 0x2803, 0x2a00, 0x2a01, 0x2a29, 0x2a24, 0x2a23, 0x2a05, 0x2b2a, 0x2b29, 0x2902,
};

GATT_DATA(const uint8_t gattdb_uuidtable_128_map[]) = {
    0x11, 0x9d, 0x9f, 0x42, 0x9c, 0x4f, 0x9f, 0x95, 0x59, 0x45, 0x3d, 0x26, 0xf5, 0x2e, 0xee, 0x18,
    0x12, 0x9d, 0x9f, 0x42, 0x9c, 0x4f, 0x9f, 0x95, 0x59, 0x45, 0x3d, 0x26, 0xf5, 0x2e, 0xee, 0x18,
    0x04, 0x8f, 0x21, 0x83, 0x8a, 0x74, 0x7d, 0xb8, 0xf2, 0x45, 0x72, 0x87, 0x38, 0x02, 0x63, 0x64,
    0x63, 0x60, 0x32, 0xe0, 0x37, 0x5e, 0xa4, 0x88, 0x53, 0x4e, 0x6d, 0xfb, 0x64, 0x35, 0xbf, 0xf7,
};
GATT_DATA(const sli_bt_gattdb_value_t gattdb_attribute_field_28) = { .len  = 16,
                                                                     .data = {
                                                                         0xf0,
                                                                         0x19,
                                                                         0x21,
                                                                         0xb4,
                                                                         0x47,
                                                                         0x8f,
                                                                         0xa4,
                                                                         0xbf,
                                                                         0xa1,
                                                                         0x4f,
                                                                         0x63,
                                                                         0xfd,
                                                                         0xee,
                                                                         0xd6,
                                                                         0x14,
                                                                         0x1d,
                                                                     } };
GATT_DATA(sli_bt_gattdb_attribute_chrvalue_t
              gattdb_attribute_field_24)                         = { .properties = 0x2e,
                                             .max_len    = 247,
                                             .len        = 1,
                                             .data       = {
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                             } };
GATT_DATA(sli_bt_gattdb_attribute_chrvalue_t
              gattdb_attribute_field_22)                         = { .properties = 0x0a,
                                             .max_len    = 247,
                                             .len        = 1,
                                             .data       = {
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                             } };
GATT_DATA(const sli_bt_gattdb_value_t gattdb_attribute_field_20) = { .len  = 2,
                                                                     .data = {
                                                                         0xf6,
                                                                         0xff,
                                                                     } };
GATT_DATA(const sli_bt_gattdb_value_t gattdb_attribute_field_19) = { .len  = 6,
                                                                     .data = {
                                                                         0x00,
                                                                         0x01,
                                                                         0x02,
                                                                         0x03,
                                                                         0x04,
                                                                         0x05,
                                                                     } };
GATT_DATA(const sli_bt_gattdb_value_t gattdb_attribute_field_17) = { .len  = 10,
                                                                     .data = {
                                                                         0x42,
                                                                         0x6c,
                                                                         0x75,
                                                                         0x65,
                                                                         0x20,
                                                                         0x47,
                                                                         0x65,
                                                                         0x63,
                                                                         0x6b,
                                                                         0x6f,
                                                                     } };
GATT_DATA(const sli_bt_gattdb_value_t gattdb_attribute_field_15) = { .len  = 12,
                                                                     .data = {
                                                                         0x53,
                                                                         0x69,
                                                                         0x6c,
                                                                         0x69,
                                                                         0x63,
                                                                         0x6f,
                                                                         0x6e,
                                                                         0x20,
                                                                         0x4c,
                                                                         0x61,
                                                                         0x62,
                                                                         0x73,
                                                                     } };
GATT_DATA(const sli_bt_gattdb_value_t gattdb_attribute_field_13) = { .len  = 2,
                                                                     .data = {
                                                                         0x0a,
                                                                         0x18,
                                                                     } };
GATT_DATA(const sli_bt_gattdb_value_t gattdb_attribute_field_12) = { .len  = 2,
                                                                     .data = {
                                                                         0x00,
                                                                         0x00,
                                                                     } };
GATT_DATA(sli_bt_gattdb_attribute_chrvalue_t gattdb_attribute_field_10) = {
  .properties = 0x0a,
  .max_len = 13,
  .data = { 0x45, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, },
};
GATT_DATA(const sli_bt_gattdb_value_t gattdb_attribute_field_8) = { .len  = 2,
                                                                    .data = {
                                                                        0x00,
                                                                        0x18,
                                                                    } };
GATT_DATA(sli_bt_gattdb_attribute_chrvalue_t gattdb_attribute_field_7) = {
  .properties = 0x0a,
  .max_len = 1,
  .data = { 0x00, },
};
GATT_DATA(sli_bt_gattdb_attribute_chrvalue_t gattdb_attribute_field_5) = {
  .properties = 0x02,
  .max_len = 16,
  .data = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, },
};
GATT_DATA(sli_bt_gattdb_attribute_chrvalue_t gattdb_attribute_field_2) = {
  .properties = 0x20,
  .max_len = 4,
  .data = { 0x00, 0x00, 0x00, 0x00, },
};
GATT_DATA(const sli_bt_gattdb_value_t gattdb_attribute_field_0) = { .len  = 2,
                                                                    .data = {
                                                                        0x01,
                                                                        0x18,
                                                                    } };

GATT_DATA(const sli_bt_gattdb_attribute_t gattdb_attributes_map[]) = {
    { .handle      = 0x01,
      .uuid        = 0x0000,
      .permissions = 0x801,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x00,
      .constdata   = &gattdb_attribute_field_0 },
    { .handle         = 0x02,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x20, .char_uuid = 0x0008 } },
    { .handle      = 0x03,
      .uuid        = 0x0008,
      .permissions = 0x800,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x01,
      .dynamicdata = &gattdb_attribute_field_2 },
    { .handle      = 0x04,
      .uuid        = 0x000b,
      .permissions = 0x803,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x03,
      .configdata  = { .flags = 0x02, .clientconfig_index = 0x00 } },
    { .handle         = 0x05,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x02, .char_uuid = 0x0009 } },
    { .handle      = 0x06,
      .uuid        = 0x0009,
      .permissions = 0x801,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x01,
      .dynamicdata = &gattdb_attribute_field_5 },
    { .handle         = 0x07,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x0a, .char_uuid = 0x000a } },
    { .handle      = 0x08,
      .uuid        = 0x000a,
      .permissions = 0x803,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x01,
      .dynamicdata = &gattdb_attribute_field_7 },
    { .handle      = 0x09,
      .uuid        = 0x0000,
      .permissions = 0x801,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x00,
      .constdata   = &gattdb_attribute_field_8 },
    { .handle         = 0x0a,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x0a, .char_uuid = 0x0003 } },
    { .handle      = 0x0b,
      .uuid        = 0x0003,
      .permissions = 0x803,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x01,
      .dynamicdata = &gattdb_attribute_field_10 },
    { .handle         = 0x0c,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x02, .char_uuid = 0x0004 } },
    { .handle      = 0x0d,
      .uuid        = 0x0004,
      .permissions = 0x801,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x00,
      .constdata   = &gattdb_attribute_field_12 },
    { .handle      = 0x0e,
      .uuid        = 0x0000,
      .permissions = 0x801,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x00,
      .constdata   = &gattdb_attribute_field_13 },
    { .handle         = 0x0f,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x02, .char_uuid = 0x0005 } },
    { .handle      = 0x10,
      .uuid        = 0x0005,
      .permissions = 0x801,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x00,
      .constdata   = &gattdb_attribute_field_15 },
    { .handle         = 0x11,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x02, .char_uuid = 0x0006 } },
    { .handle      = 0x12,
      .uuid        = 0x0006,
      .permissions = 0x801,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x00,
      .constdata   = &gattdb_attribute_field_17 },
    { .handle         = 0x13,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x02, .char_uuid = 0x0007 } },
    { .handle      = 0x14,
      .uuid        = 0x0007,
      .permissions = 0x801,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x00,
      .constdata   = &gattdb_attribute_field_19 },
    { .handle      = 0x15,
      .uuid        = 0x0000,
      .permissions = 0x801,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x00,
      .constdata   = &gattdb_attribute_field_20 },
    { .handle         = 0x16,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x0a, .char_uuid = 0x8000 } },
    { .handle      = 0x17,
      .uuid        = 0x8000,
      .permissions = 0x803,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x02,
      .dynamicdata = &gattdb_attribute_field_22 },
    { .handle         = 0x18,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x2e, .char_uuid = 0x8001 } },
    { .handle      = 0x19,
      .uuid        = 0x8001,
      .permissions = 0x807,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x02,
      .dynamicdata = &gattdb_attribute_field_24 },
    { .handle      = 0x1a,
      .uuid        = 0x000b,
      .permissions = 0x803,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x03,
      .configdata  = { .flags = 0x02, .clientconfig_index = 0x01 } },
    { .handle         = 0x1b,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x02, .char_uuid = 0x8002 } },
    { .handle = 0x1c, .uuid = 0x8002, .permissions = 0x801, .caps = 0xffff, .state = 0x00, .datatype = 0x07, .dynamicdata = NULL },
    { .handle      = 0x1d,
      .uuid        = 0x0000,
      .permissions = 0x801,
      .caps        = 0xffff,
      .state       = 0x00,
      .datatype    = 0x00,
      .constdata   = &gattdb_attribute_field_28 },
    { .handle         = 0x1e,
      .uuid           = 0x0002,
      .permissions    = 0x801,
      .caps           = 0xffff,
      .state          = 0x00,
      .datatype       = 0x05,
      .characteristic = { .properties = 0x08, .char_uuid = 0x8003 } },
    { .handle = 0x1f, .uuid = 0x8003, .permissions = 0x802, .caps = 0xffff, .state = 0x00, .datatype = 0x07, .dynamicdata = NULL },
};

GATT_HEADER(const sli_bt_gattdb_t gattdb) = {
    .attributes           = gattdb_attributes_map,
    .attribute_table_size = 31,
    .attribute_num        = 31,
    .uuid16               = gattdb_uuidtable_16_map,
    .uuid16_table_size    = 12,
    .uuid16_num           = 12,
    .uuid128              = gattdb_uuidtable_128_map,
    .uuid128_table_size   = 4,
    .uuid128_num          = 4,
    .num_ccfg             = 2,
    .caps_mask            = 0xffff,
    .enabled_caps         = 0xffff,
};
const sli_bt_gattdb_t * static_gattdb = &gattdb;
