/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: Model.proto */

/* Do not generate deprecated warnings for self */
#ifndef PROTOBUF_C__NO_DEPRECATED
#define PROTOBUF_C__NO_DEPRECATED
#endif

#include "Model.pb-c.h"
void   core_ml__specification__feature_description__init
                     (CoreML__Specification__FeatureDescription         *message)
{
  static const CoreML__Specification__FeatureDescription init_value = CORE_ML__SPECIFICATION__FEATURE_DESCRIPTION__INIT;
  *message = init_value;
}
size_t core_ml__specification__feature_description__get_packed_size
                     (const CoreML__Specification__FeatureDescription *message)
{
  assert(message->base.descriptor == &core_ml__specification__feature_description__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t core_ml__specification__feature_description__pack
                     (const CoreML__Specification__FeatureDescription *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &core_ml__specification__feature_description__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t core_ml__specification__feature_description__pack_to_buffer
                     (const CoreML__Specification__FeatureDescription *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &core_ml__specification__feature_description__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CoreML__Specification__FeatureDescription *
       core_ml__specification__feature_description__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CoreML__Specification__FeatureDescription *)
     protobuf_c_message_unpack (&core_ml__specification__feature_description__descriptor,
                                allocator, len, data);
}
void   core_ml__specification__feature_description__free_unpacked
                     (CoreML__Specification__FeatureDescription *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &core_ml__specification__feature_description__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   core_ml__specification__metadata__user_defined_entry__init
                     (CoreML__Specification__Metadata__UserDefinedEntry         *message)
{
  static const CoreML__Specification__Metadata__UserDefinedEntry init_value = CORE_ML__SPECIFICATION__METADATA__USER_DEFINED_ENTRY__INIT;
  *message = init_value;
}
void   core_ml__specification__metadata__init
                     (CoreML__Specification__Metadata         *message)
{
  static const CoreML__Specification__Metadata init_value = CORE_ML__SPECIFICATION__METADATA__INIT;
  *message = init_value;
}
size_t core_ml__specification__metadata__get_packed_size
                     (const CoreML__Specification__Metadata *message)
{
  assert(message->base.descriptor == &core_ml__specification__metadata__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t core_ml__specification__metadata__pack
                     (const CoreML__Specification__Metadata *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &core_ml__specification__metadata__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t core_ml__specification__metadata__pack_to_buffer
                     (const CoreML__Specification__Metadata *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &core_ml__specification__metadata__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CoreML__Specification__Metadata *
       core_ml__specification__metadata__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CoreML__Specification__Metadata *)
     protobuf_c_message_unpack (&core_ml__specification__metadata__descriptor,
                                allocator, len, data);
}
void   core_ml__specification__metadata__free_unpacked
                     (CoreML__Specification__Metadata *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &core_ml__specification__metadata__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   core_ml__specification__model_description__init
                     (CoreML__Specification__ModelDescription         *message)
{
  static const CoreML__Specification__ModelDescription init_value = CORE_ML__SPECIFICATION__MODEL_DESCRIPTION__INIT;
  *message = init_value;
}
size_t core_ml__specification__model_description__get_packed_size
                     (const CoreML__Specification__ModelDescription *message)
{
  assert(message->base.descriptor == &core_ml__specification__model_description__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t core_ml__specification__model_description__pack
                     (const CoreML__Specification__ModelDescription *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &core_ml__specification__model_description__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t core_ml__specification__model_description__pack_to_buffer
                     (const CoreML__Specification__ModelDescription *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &core_ml__specification__model_description__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CoreML__Specification__ModelDescription *
       core_ml__specification__model_description__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CoreML__Specification__ModelDescription *)
     protobuf_c_message_unpack (&core_ml__specification__model_description__descriptor,
                                allocator, len, data);
}
void   core_ml__specification__model_description__free_unpacked
                     (CoreML__Specification__ModelDescription *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &core_ml__specification__model_description__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   core_ml__specification__serialized_model__init
                     (CoreML__Specification__SerializedModel         *message)
{
  static const CoreML__Specification__SerializedModel init_value = CORE_ML__SPECIFICATION__SERIALIZED_MODEL__INIT;
  *message = init_value;
}
size_t core_ml__specification__serialized_model__get_packed_size
                     (const CoreML__Specification__SerializedModel *message)
{
  assert(message->base.descriptor == &core_ml__specification__serialized_model__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t core_ml__specification__serialized_model__pack
                     (const CoreML__Specification__SerializedModel *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &core_ml__specification__serialized_model__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t core_ml__specification__serialized_model__pack_to_buffer
                     (const CoreML__Specification__SerializedModel *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &core_ml__specification__serialized_model__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CoreML__Specification__SerializedModel *
       core_ml__specification__serialized_model__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CoreML__Specification__SerializedModel *)
     protobuf_c_message_unpack (&core_ml__specification__serialized_model__descriptor,
                                allocator, len, data);
}
void   core_ml__specification__serialized_model__free_unpacked
                     (CoreML__Specification__SerializedModel *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &core_ml__specification__serialized_model__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   core_ml__specification__model__init
                     (CoreML__Specification__Model         *message)
{
  static const CoreML__Specification__Model init_value = CORE_ML__SPECIFICATION__MODEL__INIT;
  *message = init_value;
}
size_t core_ml__specification__model__get_packed_size
                     (const CoreML__Specification__Model *message)
{
  assert(message->base.descriptor == &core_ml__specification__model__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t core_ml__specification__model__pack
                     (const CoreML__Specification__Model *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &core_ml__specification__model__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t core_ml__specification__model__pack_to_buffer
                     (const CoreML__Specification__Model *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &core_ml__specification__model__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CoreML__Specification__Model *
       core_ml__specification__model__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CoreML__Specification__Model *)
     protobuf_c_message_unpack (&core_ml__specification__model__descriptor,
                                allocator, len, data);
}
void   core_ml__specification__model__free_unpacked
                     (CoreML__Specification__Model *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &core_ml__specification__model__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor core_ml__specification__feature_description__field_descriptors[3] =
{
  {
    "name",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__FeatureDescription, name),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "shortDescription",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__FeatureDescription, shortdescription),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "type",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__FeatureDescription, type),
    &core_ml__specification__feature_type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned core_ml__specification__feature_description__field_indices_by_name[] = {
  0,   /* field[0] = name */
  1,   /* field[1] = shortDescription */
  2,   /* field[2] = type */
};
static const ProtobufCIntRange core_ml__specification__feature_description__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor core_ml__specification__feature_description__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "CoreML.Specification.FeatureDescription",
  "FeatureDescription",
  "CoreML__Specification__FeatureDescription",
  "CoreML.Specification",
  sizeof(CoreML__Specification__FeatureDescription),
  3,
  core_ml__specification__feature_description__field_descriptors,
  core_ml__specification__feature_description__field_indices_by_name,
  1,  core_ml__specification__feature_description__number_ranges,
  (ProtobufCMessageInit) core_ml__specification__feature_description__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor core_ml__specification__metadata__user_defined_entry__field_descriptors[2] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__Metadata__UserDefinedEntry, key),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "value",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__Metadata__UserDefinedEntry, value),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned core_ml__specification__metadata__user_defined_entry__field_indices_by_name[] = {
  0,   /* field[0] = key */
  1,   /* field[1] = value */
};
static const ProtobufCIntRange core_ml__specification__metadata__user_defined_entry__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor core_ml__specification__metadata__user_defined_entry__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "CoreML.Specification.Metadata.UserDefinedEntry",
  "UserDefinedEntry",
  "CoreML__Specification__Metadata__UserDefinedEntry",
  "CoreML.Specification",
  sizeof(CoreML__Specification__Metadata__UserDefinedEntry),
  2,
  core_ml__specification__metadata__user_defined_entry__field_descriptors,
  core_ml__specification__metadata__user_defined_entry__field_indices_by_name,
  1,  core_ml__specification__metadata__user_defined_entry__number_ranges,
  (ProtobufCMessageInit) core_ml__specification__metadata__user_defined_entry__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor core_ml__specification__metadata__field_descriptors[5] =
{
  {
    "shortDescription",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__Metadata, shortdescription),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "versionString",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__Metadata, versionstring),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "author",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__Metadata, author),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "license",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__Metadata, license),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "userDefined",
    100,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CoreML__Specification__Metadata, n_userdefined),
    offsetof(CoreML__Specification__Metadata, userdefined),
    &core_ml__specification__metadata__user_defined_entry__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned core_ml__specification__metadata__field_indices_by_name[] = {
  2,   /* field[2] = author */
  3,   /* field[3] = license */
  0,   /* field[0] = shortDescription */
  4,   /* field[4] = userDefined */
  1,   /* field[1] = versionString */
};
static const ProtobufCIntRange core_ml__specification__metadata__number_ranges[2 + 1] =
{
  { 1, 0 },
  { 100, 4 },
  { 0, 5 }
};
const ProtobufCMessageDescriptor core_ml__specification__metadata__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "CoreML.Specification.Metadata",
  "Metadata",
  "CoreML__Specification__Metadata",
  "CoreML.Specification",
  sizeof(CoreML__Specification__Metadata),
  5,
  core_ml__specification__metadata__field_descriptors,
  core_ml__specification__metadata__field_indices_by_name,
  2,  core_ml__specification__metadata__number_ranges,
  (ProtobufCMessageInit) core_ml__specification__metadata__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor core_ml__specification__model_description__field_descriptors[6] =
{
  {
    "input",
    1,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CoreML__Specification__ModelDescription, n_input),
    offsetof(CoreML__Specification__ModelDescription, input),
    &core_ml__specification__feature_description__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "output",
    10,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CoreML__Specification__ModelDescription, n_output),
    offsetof(CoreML__Specification__ModelDescription, output),
    &core_ml__specification__feature_description__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "predictedFeatureName",
    11,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__ModelDescription, predictedfeaturename),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "predictedProbabilitiesName",
    12,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__ModelDescription, predictedprobabilitiesname),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "trainingInput",
    50,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CoreML__Specification__ModelDescription, n_traininginput),
    offsetof(CoreML__Specification__ModelDescription, traininginput),
    &core_ml__specification__feature_description__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "metadata",
    100,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__ModelDescription, metadata),
    &core_ml__specification__metadata__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned core_ml__specification__model_description__field_indices_by_name[] = {
  0,   /* field[0] = input */
  5,   /* field[5] = metadata */
  1,   /* field[1] = output */
  2,   /* field[2] = predictedFeatureName */
  3,   /* field[3] = predictedProbabilitiesName */
  4,   /* field[4] = trainingInput */
};
static const ProtobufCIntRange core_ml__specification__model_description__number_ranges[4 + 1] =
{
  { 1, 0 },
  { 10, 1 },
  { 50, 4 },
  { 100, 5 },
  { 0, 6 }
};
const ProtobufCMessageDescriptor core_ml__specification__model_description__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "CoreML.Specification.ModelDescription",
  "ModelDescription",
  "CoreML__Specification__ModelDescription",
  "CoreML.Specification",
  sizeof(CoreML__Specification__ModelDescription),
  6,
  core_ml__specification__model_description__field_descriptors,
  core_ml__specification__model_description__field_indices_by_name,
  4,  core_ml__specification__model_description__number_ranges,
  (ProtobufCMessageInit) core_ml__specification__model_description__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor core_ml__specification__serialized_model__field_descriptors[2] =
{
  {
    "identifier",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__SerializedModel, identifier),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "model",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__SerializedModel, model),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned core_ml__specification__serialized_model__field_indices_by_name[] = {
  0,   /* field[0] = identifier */
  1,   /* field[1] = model */
};
static const ProtobufCIntRange core_ml__specification__serialized_model__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor core_ml__specification__serialized_model__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "CoreML.Specification.SerializedModel",
  "SerializedModel",
  "CoreML__Specification__SerializedModel",
  "CoreML.Specification",
  sizeof(CoreML__Specification__SerializedModel),
  2,
  core_ml__specification__serialized_model__field_descriptors,
  core_ml__specification__serialized_model__field_indices_by_name,
  1,  core_ml__specification__serialized_model__number_ranges,
  (ProtobufCMessageInit) core_ml__specification__serialized_model__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor core_ml__specification__model__field_descriptors[4] =
{
  {
    "specificationVersion",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__Model, specificationversion),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "description",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__Model, description),
    &core_ml__specification__model_description__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "isUpdatable",
    10,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(CoreML__Specification__Model, isupdatable),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "neuralNetwork",
    500,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CoreML__Specification__Model, type_case),
    offsetof(CoreML__Specification__Model, neuralnetwork),
    &core_ml__specification__neural_network__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned core_ml__specification__model__field_indices_by_name[] = {
  1,   /* field[1] = description */
  2,   /* field[2] = isUpdatable */
  3,   /* field[3] = neuralNetwork */
  0,   /* field[0] = specificationVersion */
};
static const ProtobufCIntRange core_ml__specification__model__number_ranges[3 + 1] =
{
  { 1, 0 },
  { 10, 2 },
  { 500, 3 },
  { 0, 4 }
};
const ProtobufCMessageDescriptor core_ml__specification__model__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "CoreML.Specification.Model",
  "Model",
  "CoreML__Specification__Model",
  "CoreML.Specification",
  sizeof(CoreML__Specification__Model),
  4,
  core_ml__specification__model__field_descriptors,
  core_ml__specification__model__field_indices_by_name,
  3,  core_ml__specification__model__number_ranges,
  (ProtobufCMessageInit) core_ml__specification__model__init,
  NULL,NULL,NULL    /* reserved[123] */
};
