# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: opencannabis/structs/labtesting/TestResults.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from opencannabis.content import Content_pb2 as opencannabis_dot_content_dot_Content__pb2
from opencannabis.temporal import Instant_pb2 as opencannabis_dot_temporal_dot_Instant__pb2
from opencannabis.structs.labtesting import Terpenes_pb2 as opencannabis_dot_structs_dot_labtesting_dot_Terpenes__pb2
from opencannabis.structs.labtesting import Cannabinoids_pb2 as opencannabis_dot_structs_dot_labtesting_dot_Cannabinoids__pb2
from opencannabis.structs.labtesting import TestValue_pb2 as opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='opencannabis/structs/labtesting/TestResults.proto',
  package='opencannabis.structs.labtesting',
  syntax='proto3',
  serialized_options=b'\n-io.opencannabis.schema.product.struct.testingB\nLabTestingH\001P\001\242\002\003OCS',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n1opencannabis/structs/labtesting/TestResults.proto\x12\x1fopencannabis.structs.labtesting\x1a\"opencannabis/content/Content.proto\x1a#opencannabis/temporal/Instant.proto\x1a.opencannabis/structs/labtesting/Terpenes.proto\x1a\x32opencannabis/structs/labtesting/Cannabinoids.proto\x1a/opencannabis/structs/labtesting/TestValue.proto\"\x9a\x02\n\x0c\x43ontaminants\x12?\n\npesticides\x18\x01 \x01(\x0b\x32+.opencannabis.structs.labtesting.Pesticides\x12\x37\n\x06metals\x18\x02 \x01(\x0b\x32\'.opencannabis.structs.labtesting.Metals\x12@\n\x0bmold_mildew\x18\x03 \x01(\x0b\x32+.opencannabis.structs.labtesting.MoldMildew\x12N\n\x12other_contaminants\x18\x04 \x01(\x0b\x32\x32.opencannabis.structs.labtesting.OtherContaminants\"\x99\x01\n\tTestSuite\x12;\n\x06method\x18\x01 \x01(\x0e\x32+.opencannabis.structs.labtesting.TestMethod\x12=\n\x07results\x18\x02 \x01(\x0b\x32,.opencannabis.structs.labtesting.TestResults\x12\x10\n\x08\x63omments\x18\x03 \x01(\t\"\xc4\x05\n\x0bTestResults\x12\x11\n\tavailable\x18\x01 \x01(\x08\x12\x39\n\x05media\x18\x02 \x03(\x0b\x32*.opencannabis.structs.labtesting.TestMedia\x12\x34\n\x0clast_updated\x18\x03 \x01(\x0b\x32\x1e.opencannabis.temporal.Instant\x12.\n\x06sealed\x18\x04 \x01(\x0b\x32\x1e.opencannabis.temporal.Instant\x12\x45\n\x0b\x63oordinates\x18\x05 \x01(\x0b\x32\x30.opencannabis.structs.labtesting.TestCoordinates\x12\x43\n\x0c\x63\x61nnabinoids\x18\x1e \x01(\x0b\x32-.opencannabis.structs.labtesting.Cannabinoids\x12;\n\x08terpenes\x18\x1f \x01(\x0b\x32).opencannabis.structs.labtesting.Terpenes\x12\x43\n\x0c\x63ontaminants\x18  \x01(\x0b\x32-.opencannabis.structs.labtesting.Contaminants\x12;\n\x08moisture\x18! \x01(\x0b\x32).opencannabis.structs.labtesting.Moisture\x12?\n\nsubjective\x18\" \x01(\x0b\x32+.opencannabis.structs.labtesting.Subjective\x12\x39\n\x05\x61roma\x18# \x03(\x0e\x32*.opencannabis.structs.labtesting.TasteNote\x12:\n\x04\x64\x61ta\x18$ \x03(\x0b\x32,.opencannabis.structs.labtesting.TestResults\"N\n\x0fTestCoordinates\x12\x0c\n\x04zone\x18\x01 \x01(\t\x12\x0b\n\x03lot\x18\x02 \x01(\t\x12\r\n\x05\x62\x61tch\x18\x03 \x01(\t\x12\x11\n\tsample_id\x18\x04 \x01(\t\"\xdb\x03\n\x0c\x43\x61nnabinoids\x12\x37\n\x03thc\x18\x01 \x01(\x0b\x32*.opencannabis.structs.labtesting.TestValue\x12\x37\n\x03\x63\x62\x64\x18\x02 \x01(\x0b\x32*.opencannabis.structs.labtesting.TestValue\x12\x45\n\x07results\x18\x03 \x03(\x0b\x32\x34.opencannabis.structs.labtesting.Cannabinoids.Result\x12@\n\x05ratio\x18\x04 \x01(\x0e\x32\x31.opencannabis.structs.labtesting.CannabinoidRatio\x12\x41\n\x07potency\x18\x05 \x01(\x0e\x32\x30.opencannabis.structs.labtesting.PotencyEstimate\x1a\x8c\x01\n\x06Result\x12\x41\n\x0b\x63\x61nnabinoid\x18\x01 \x01(\x0e\x32,.opencannabis.structs.labtesting.Cannabinoid\x12?\n\x0bmeasurement\x18\x03 \x01(\x0b\x32*.opencannabis.structs.labtesting.TestValue\"\xa7\x02\n\nSubjective\x12\x32\n\x0b\x64\x65scription\x18\x01 \x01(\x0b\x32\x1d.opencannabis.content.Content\x12,\n\x05taste\x18\x02 \x01(\x0b\x32\x1d.opencannabis.content.Content\x12\x41\n\x07potency\x18\x03 \x01(\x0e\x32\x30.opencannabis.structs.labtesting.PotencyEstimate\x12\x39\n\x07\x66\x65\x65ling\x18\x04 \x03(\x0e\x32(.opencannabis.structs.labtesting.Feeling\x12\x39\n\x05\x61roma\x18\x05 \x03(\x0e\x32*.opencannabis.structs.labtesting.TasteNote\"\xda\x01\n\nPesticides\x12\x16\n\x0epesticide_free\x18\x01 \x01(\x08\x12S\n\x0cmeasurements\x18\x02 \x03(\x0b\x32=.opencannabis.structs.labtesting.Pesticides.MeasurementsEntry\x1a_\n\x11MeasurementsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.opencannabis.structs.labtesting.TestValue:\x02\x38\x01\"\xce\x01\n\x06Metals\x12\x12\n\nmetal_free\x18\x01 \x01(\x08\x12O\n\x0cmeasurements\x18\x02 \x03(\x0b\x32\x39.opencannabis.structs.labtesting.Metals.MeasurementsEntry\x1a_\n\x11MeasurementsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.opencannabis.structs.labtesting.TestValue:\x02\x38\x01\"\xdc\x01\n\nMoldMildew\x12\x18\n\x10mold_mildew_free\x18\x01 \x01(\x08\x12S\n\x0cmeasurements\x18\x02 \x03(\x0b\x32=.opencannabis.structs.labtesting.MoldMildew.MeasurementsEntry\x1a_\n\x11MeasurementsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.opencannabis.structs.labtesting.TestValue:\x02\x38\x01\"\xd0\x01\n\x11OtherContaminants\x12Z\n\x0cmeasurements\x18\x01 \x03(\x0b\x32\x44.opencannabis.structs.labtesting.OtherContaminants.MeasurementsEntry\x1a_\n\x11MeasurementsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.opencannabis.structs.labtesting.TestValue:\x02\x38\x01\"K\n\x08Moisture\x12?\n\x0bmeasurement\x18\x01 \x01(\x0b\x32*.opencannabis.structs.labtesting.TestValue\"\xdd\x02\n\x08Terpenes\x12\x11\n\tavailable\x18\x01 \x01(\x08\x12\x41\n\x07terpene\x18\n \x03(\x0b\x32\x30.opencannabis.structs.labtesting.Terpenes.Result\x12\x39\n\x07\x66\x65\x65ling\x18\x02 \x03(\x0e\x32(.opencannabis.structs.labtesting.Feeling\x12\x39\n\x05\x61roma\x18\x03 \x03(\x0e\x32*.opencannabis.structs.labtesting.TasteNote\x1a\x84\x01\n\x06Result\x12\x39\n\x07terpene\x18\x01 \x01(\x0e\x32(.opencannabis.structs.labtesting.Terpene\x12?\n\x0bmeasurement\x18\x02 \x01(\x0b\x32*.opencannabis.structs.labtesting.TestValue*^\n\nTestMethod\x12\x16\n\x12UNSPECIFIED_METHOD\x10\x00\x12\x08\n\x04GCMS\x10\x01\x12\x08\n\x04LCMS\x10\x02\x12\x0f\n\x0b\x43LASSIC_PCR\x10\x03\x12\x08\n\x04qPCR\x10\x04\x12\t\n\x05\x45LISA\x10\x05*\x7f\n\x07\x46\x65\x65ling\x12\x19\n\x15NO_FEELING_PREFERENCE\x10\x00\x12\r\n\tGROUNDING\x10\x01\x12\t\n\x05SLEEP\x10\x02\x12\x0b\n\x07\x43\x41LMING\x10\x03\x12\x0f\n\x0bSTIMULATING\x10\x04\x12\t\n\x05\x46UNNY\x10\x05\x12\t\n\x05\x46OCUS\x10\x06\x12\x0b\n\x07PASSION\x10\x07*\x9f\x01\n\tTasteNote\x12\x17\n\x13NO_TASTE_PREFERENCE\x10\x00\x12\t\n\x05SWEET\x10\x01\x12\x08\n\x04SOUR\x10\x02\x12\t\n\x05SPICE\x10\x03\x12\n\n\x06SMOOTH\x10\x04\x12\n\n\x06\x43ITRUS\x10\x05\x12\x08\n\x04PINE\x10\x06\x12\t\n\x05\x46RUIT\x10\x07\x12\x0b\n\x07TROPICS\x10\x08\x12\n\n\x06\x46LORAL\x10\t\x12\x08\n\x04HERB\x10\n\x12\t\n\x05\x45\x41RTH\x10\x0b*>\n\x0fPotencyEstimate\x12\t\n\x05LIGHT\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\t\n\x05HEAVY\x10\x02\x12\t\n\x05SUPER\x10\x03\x42\x45\n-io.opencannabis.schema.product.struct.testingB\nLabTestingH\x01P\x01\xa2\x02\x03OCSb\x06proto3'
  ,
  dependencies=[opencannabis_dot_content_dot_Content__pb2.DESCRIPTOR,opencannabis_dot_temporal_dot_Instant__pb2.DESCRIPTOR,opencannabis_dot_structs_dot_labtesting_dot_Terpenes__pb2.DESCRIPTOR,opencannabis_dot_structs_dot_labtesting_dot_Cannabinoids__pb2.DESCRIPTOR,opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2.DESCRIPTOR,])

_TESTMETHOD = _descriptor.EnumDescriptor(
  name='TestMethod',
  full_name='opencannabis.structs.labtesting.TestMethod',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED_METHOD', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='GCMS', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='LCMS', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CLASSIC_PCR', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='qPCR', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ELISA', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3609,
  serialized_end=3703,
)
_sym_db.RegisterEnumDescriptor(_TESTMETHOD)

TestMethod = enum_type_wrapper.EnumTypeWrapper(_TESTMETHOD)
_FEELING = _descriptor.EnumDescriptor(
  name='Feeling',
  full_name='opencannabis.structs.labtesting.Feeling',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NO_FEELING_PREFERENCE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='GROUNDING', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SLEEP', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CALMING', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='STIMULATING', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FUNNY', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FOCUS', index=6, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='PASSION', index=7, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3705,
  serialized_end=3832,
)
_sym_db.RegisterEnumDescriptor(_FEELING)

Feeling = enum_type_wrapper.EnumTypeWrapper(_FEELING)
_TASTENOTE = _descriptor.EnumDescriptor(
  name='TasteNote',
  full_name='opencannabis.structs.labtesting.TasteNote',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NO_TASTE_PREFERENCE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SWEET', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SOUR', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SPICE', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SMOOTH', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CITRUS', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='PINE', index=6, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FRUIT', index=7, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='TROPICS', index=8, number=8,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FLORAL', index=9, number=9,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='HERB', index=10, number=10,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='EARTH', index=11, number=11,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3835,
  serialized_end=3994,
)
_sym_db.RegisterEnumDescriptor(_TASTENOTE)

TasteNote = enum_type_wrapper.EnumTypeWrapper(_TASTENOTE)
_POTENCYESTIMATE = _descriptor.EnumDescriptor(
  name='PotencyEstimate',
  full_name='opencannabis.structs.labtesting.PotencyEstimate',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='LIGHT', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='MEDIUM', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='HEAVY', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SUPER', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3996,
  serialized_end=4058,
)
_sym_db.RegisterEnumDescriptor(_POTENCYESTIMATE)

PotencyEstimate = enum_type_wrapper.EnumTypeWrapper(_POTENCYESTIMATE)
UNSPECIFIED_METHOD = 0
GCMS = 1
LCMS = 2
CLASSIC_PCR = 3
qPCR = 4
ELISA = 5
NO_FEELING_PREFERENCE = 0
GROUNDING = 1
SLEEP = 2
CALMING = 3
STIMULATING = 4
FUNNY = 5
FOCUS = 6
PASSION = 7
NO_TASTE_PREFERENCE = 0
SWEET = 1
SOUR = 2
SPICE = 3
SMOOTH = 4
CITRUS = 5
PINE = 6
FRUIT = 7
TROPICS = 8
FLORAL = 9
HERB = 10
EARTH = 11
LIGHT = 0
MEDIUM = 1
HEAVY = 2
SUPER = 3



_CONTAMINANTS = _descriptor.Descriptor(
  name='Contaminants',
  full_name='opencannabis.structs.labtesting.Contaminants',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='pesticides', full_name='opencannabis.structs.labtesting.Contaminants.pesticides', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='metals', full_name='opencannabis.structs.labtesting.Contaminants.metals', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='mold_mildew', full_name='opencannabis.structs.labtesting.Contaminants.mold_mildew', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='other_contaminants', full_name='opencannabis.structs.labtesting.Contaminants.other_contaminants', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=309,
  serialized_end=591,
)


_TESTSUITE = _descriptor.Descriptor(
  name='TestSuite',
  full_name='opencannabis.structs.labtesting.TestSuite',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='method', full_name='opencannabis.structs.labtesting.TestSuite.method', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='results', full_name='opencannabis.structs.labtesting.TestSuite.results', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='comments', full_name='opencannabis.structs.labtesting.TestSuite.comments', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=594,
  serialized_end=747,
)


_TESTRESULTS = _descriptor.Descriptor(
  name='TestResults',
  full_name='opencannabis.structs.labtesting.TestResults',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='available', full_name='opencannabis.structs.labtesting.TestResults.available', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='media', full_name='opencannabis.structs.labtesting.TestResults.media', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='last_updated', full_name='opencannabis.structs.labtesting.TestResults.last_updated', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='sealed', full_name='opencannabis.structs.labtesting.TestResults.sealed', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='coordinates', full_name='opencannabis.structs.labtesting.TestResults.coordinates', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='cannabinoids', full_name='opencannabis.structs.labtesting.TestResults.cannabinoids', index=5,
      number=30, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='terpenes', full_name='opencannabis.structs.labtesting.TestResults.terpenes', index=6,
      number=31, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='contaminants', full_name='opencannabis.structs.labtesting.TestResults.contaminants', index=7,
      number=32, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='moisture', full_name='opencannabis.structs.labtesting.TestResults.moisture', index=8,
      number=33, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='subjective', full_name='opencannabis.structs.labtesting.TestResults.subjective', index=9,
      number=34, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='aroma', full_name='opencannabis.structs.labtesting.TestResults.aroma', index=10,
      number=35, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='data', full_name='opencannabis.structs.labtesting.TestResults.data', index=11,
      number=36, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=750,
  serialized_end=1458,
)


_TESTCOORDINATES = _descriptor.Descriptor(
  name='TestCoordinates',
  full_name='opencannabis.structs.labtesting.TestCoordinates',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='zone', full_name='opencannabis.structs.labtesting.TestCoordinates.zone', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='lot', full_name='opencannabis.structs.labtesting.TestCoordinates.lot', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='batch', full_name='opencannabis.structs.labtesting.TestCoordinates.batch', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='sample_id', full_name='opencannabis.structs.labtesting.TestCoordinates.sample_id', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1460,
  serialized_end=1538,
)


_CANNABINOIDS_RESULT = _descriptor.Descriptor(
  name='Result',
  full_name='opencannabis.structs.labtesting.Cannabinoids.Result',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='cannabinoid', full_name='opencannabis.structs.labtesting.Cannabinoids.Result.cannabinoid', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='measurement', full_name='opencannabis.structs.labtesting.Cannabinoids.Result.measurement', index=1,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1876,
  serialized_end=2016,
)

_CANNABINOIDS = _descriptor.Descriptor(
  name='Cannabinoids',
  full_name='opencannabis.structs.labtesting.Cannabinoids',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='thc', full_name='opencannabis.structs.labtesting.Cannabinoids.thc', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='cbd', full_name='opencannabis.structs.labtesting.Cannabinoids.cbd', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='results', full_name='opencannabis.structs.labtesting.Cannabinoids.results', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ratio', full_name='opencannabis.structs.labtesting.Cannabinoids.ratio', index=3,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='potency', full_name='opencannabis.structs.labtesting.Cannabinoids.potency', index=4,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_CANNABINOIDS_RESULT, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1541,
  serialized_end=2016,
)


_SUBJECTIVE = _descriptor.Descriptor(
  name='Subjective',
  full_name='opencannabis.structs.labtesting.Subjective',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='description', full_name='opencannabis.structs.labtesting.Subjective.description', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='taste', full_name='opencannabis.structs.labtesting.Subjective.taste', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='potency', full_name='opencannabis.structs.labtesting.Subjective.potency', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='feeling', full_name='opencannabis.structs.labtesting.Subjective.feeling', index=3,
      number=4, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='aroma', full_name='opencannabis.structs.labtesting.Subjective.aroma', index=4,
      number=5, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2019,
  serialized_end=2314,
)


_PESTICIDES_MEASUREMENTSENTRY = _descriptor.Descriptor(
  name='MeasurementsEntry',
  full_name='opencannabis.structs.labtesting.Pesticides.MeasurementsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='opencannabis.structs.labtesting.Pesticides.MeasurementsEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='opencannabis.structs.labtesting.Pesticides.MeasurementsEntry.value', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2440,
  serialized_end=2535,
)

_PESTICIDES = _descriptor.Descriptor(
  name='Pesticides',
  full_name='opencannabis.structs.labtesting.Pesticides',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='pesticide_free', full_name='opencannabis.structs.labtesting.Pesticides.pesticide_free', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='measurements', full_name='opencannabis.structs.labtesting.Pesticides.measurements', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_PESTICIDES_MEASUREMENTSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2317,
  serialized_end=2535,
)


_METALS_MEASUREMENTSENTRY = _descriptor.Descriptor(
  name='MeasurementsEntry',
  full_name='opencannabis.structs.labtesting.Metals.MeasurementsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='opencannabis.structs.labtesting.Metals.MeasurementsEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='opencannabis.structs.labtesting.Metals.MeasurementsEntry.value', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2440,
  serialized_end=2535,
)

_METALS = _descriptor.Descriptor(
  name='Metals',
  full_name='opencannabis.structs.labtesting.Metals',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='metal_free', full_name='opencannabis.structs.labtesting.Metals.metal_free', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='measurements', full_name='opencannabis.structs.labtesting.Metals.measurements', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_METALS_MEASUREMENTSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2538,
  serialized_end=2744,
)


_MOLDMILDEW_MEASUREMENTSENTRY = _descriptor.Descriptor(
  name='MeasurementsEntry',
  full_name='opencannabis.structs.labtesting.MoldMildew.MeasurementsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='opencannabis.structs.labtesting.MoldMildew.MeasurementsEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='opencannabis.structs.labtesting.MoldMildew.MeasurementsEntry.value', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2440,
  serialized_end=2535,
)

_MOLDMILDEW = _descriptor.Descriptor(
  name='MoldMildew',
  full_name='opencannabis.structs.labtesting.MoldMildew',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='mold_mildew_free', full_name='opencannabis.structs.labtesting.MoldMildew.mold_mildew_free', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='measurements', full_name='opencannabis.structs.labtesting.MoldMildew.measurements', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_MOLDMILDEW_MEASUREMENTSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2747,
  serialized_end=2967,
)


_OTHERCONTAMINANTS_MEASUREMENTSENTRY = _descriptor.Descriptor(
  name='MeasurementsEntry',
  full_name='opencannabis.structs.labtesting.OtherContaminants.MeasurementsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='opencannabis.structs.labtesting.OtherContaminants.MeasurementsEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='opencannabis.structs.labtesting.OtherContaminants.MeasurementsEntry.value', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2440,
  serialized_end=2535,
)

_OTHERCONTAMINANTS = _descriptor.Descriptor(
  name='OtherContaminants',
  full_name='opencannabis.structs.labtesting.OtherContaminants',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='measurements', full_name='opencannabis.structs.labtesting.OtherContaminants.measurements', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_OTHERCONTAMINANTS_MEASUREMENTSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2970,
  serialized_end=3178,
)


_MOISTURE = _descriptor.Descriptor(
  name='Moisture',
  full_name='opencannabis.structs.labtesting.Moisture',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='measurement', full_name='opencannabis.structs.labtesting.Moisture.measurement', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3180,
  serialized_end=3255,
)


_TERPENES_RESULT = _descriptor.Descriptor(
  name='Result',
  full_name='opencannabis.structs.labtesting.Terpenes.Result',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='terpene', full_name='opencannabis.structs.labtesting.Terpenes.Result.terpene', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='measurement', full_name='opencannabis.structs.labtesting.Terpenes.Result.measurement', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3475,
  serialized_end=3607,
)

_TERPENES = _descriptor.Descriptor(
  name='Terpenes',
  full_name='opencannabis.structs.labtesting.Terpenes',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='available', full_name='opencannabis.structs.labtesting.Terpenes.available', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='terpene', full_name='opencannabis.structs.labtesting.Terpenes.terpene', index=1,
      number=10, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='feeling', full_name='opencannabis.structs.labtesting.Terpenes.feeling', index=2,
      number=2, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='aroma', full_name='opencannabis.structs.labtesting.Terpenes.aroma', index=3,
      number=3, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_TERPENES_RESULT, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3258,
  serialized_end=3607,
)

_CONTAMINANTS.fields_by_name['pesticides'].message_type = _PESTICIDES
_CONTAMINANTS.fields_by_name['metals'].message_type = _METALS
_CONTAMINANTS.fields_by_name['mold_mildew'].message_type = _MOLDMILDEW
_CONTAMINANTS.fields_by_name['other_contaminants'].message_type = _OTHERCONTAMINANTS
_TESTSUITE.fields_by_name['method'].enum_type = _TESTMETHOD
_TESTSUITE.fields_by_name['results'].message_type = _TESTRESULTS
_TESTRESULTS.fields_by_name['media'].message_type = opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2._TESTMEDIA
_TESTRESULTS.fields_by_name['last_updated'].message_type = opencannabis_dot_temporal_dot_Instant__pb2._INSTANT
_TESTRESULTS.fields_by_name['sealed'].message_type = opencannabis_dot_temporal_dot_Instant__pb2._INSTANT
_TESTRESULTS.fields_by_name['coordinates'].message_type = _TESTCOORDINATES
_TESTRESULTS.fields_by_name['cannabinoids'].message_type = _CANNABINOIDS
_TESTRESULTS.fields_by_name['terpenes'].message_type = _TERPENES
_TESTRESULTS.fields_by_name['contaminants'].message_type = _CONTAMINANTS
_TESTRESULTS.fields_by_name['moisture'].message_type = _MOISTURE
_TESTRESULTS.fields_by_name['subjective'].message_type = _SUBJECTIVE
_TESTRESULTS.fields_by_name['aroma'].enum_type = _TASTENOTE
_TESTRESULTS.fields_by_name['data'].message_type = _TESTRESULTS
_CANNABINOIDS_RESULT.fields_by_name['cannabinoid'].enum_type = opencannabis_dot_structs_dot_labtesting_dot_Cannabinoids__pb2._CANNABINOID
_CANNABINOIDS_RESULT.fields_by_name['measurement'].message_type = opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2._TESTVALUE
_CANNABINOIDS_RESULT.containing_type = _CANNABINOIDS
_CANNABINOIDS.fields_by_name['thc'].message_type = opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2._TESTVALUE
_CANNABINOIDS.fields_by_name['cbd'].message_type = opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2._TESTVALUE
_CANNABINOIDS.fields_by_name['results'].message_type = _CANNABINOIDS_RESULT
_CANNABINOIDS.fields_by_name['ratio'].enum_type = opencannabis_dot_structs_dot_labtesting_dot_Cannabinoids__pb2._CANNABINOIDRATIO
_CANNABINOIDS.fields_by_name['potency'].enum_type = _POTENCYESTIMATE
_SUBJECTIVE.fields_by_name['description'].message_type = opencannabis_dot_content_dot_Content__pb2._CONTENT
_SUBJECTIVE.fields_by_name['taste'].message_type = opencannabis_dot_content_dot_Content__pb2._CONTENT
_SUBJECTIVE.fields_by_name['potency'].enum_type = _POTENCYESTIMATE
_SUBJECTIVE.fields_by_name['feeling'].enum_type = _FEELING
_SUBJECTIVE.fields_by_name['aroma'].enum_type = _TASTENOTE
_PESTICIDES_MEASUREMENTSENTRY.fields_by_name['value'].message_type = opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2._TESTVALUE
_PESTICIDES_MEASUREMENTSENTRY.containing_type = _PESTICIDES
_PESTICIDES.fields_by_name['measurements'].message_type = _PESTICIDES_MEASUREMENTSENTRY
_METALS_MEASUREMENTSENTRY.fields_by_name['value'].message_type = opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2._TESTVALUE
_METALS_MEASUREMENTSENTRY.containing_type = _METALS
_METALS.fields_by_name['measurements'].message_type = _METALS_MEASUREMENTSENTRY
_MOLDMILDEW_MEASUREMENTSENTRY.fields_by_name['value'].message_type = opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2._TESTVALUE
_MOLDMILDEW_MEASUREMENTSENTRY.containing_type = _MOLDMILDEW
_MOLDMILDEW.fields_by_name['measurements'].message_type = _MOLDMILDEW_MEASUREMENTSENTRY
_OTHERCONTAMINANTS_MEASUREMENTSENTRY.fields_by_name['value'].message_type = opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2._TESTVALUE
_OTHERCONTAMINANTS_MEASUREMENTSENTRY.containing_type = _OTHERCONTAMINANTS
_OTHERCONTAMINANTS.fields_by_name['measurements'].message_type = _OTHERCONTAMINANTS_MEASUREMENTSENTRY
_MOISTURE.fields_by_name['measurement'].message_type = opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2._TESTVALUE
_TERPENES_RESULT.fields_by_name['terpene'].enum_type = opencannabis_dot_structs_dot_labtesting_dot_Terpenes__pb2._TERPENE
_TERPENES_RESULT.fields_by_name['measurement'].message_type = opencannabis_dot_structs_dot_labtesting_dot_TestValue__pb2._TESTVALUE
_TERPENES_RESULT.containing_type = _TERPENES
_TERPENES.fields_by_name['terpene'].message_type = _TERPENES_RESULT
_TERPENES.fields_by_name['feeling'].enum_type = _FEELING
_TERPENES.fields_by_name['aroma'].enum_type = _TASTENOTE
DESCRIPTOR.message_types_by_name['Contaminants'] = _CONTAMINANTS
DESCRIPTOR.message_types_by_name['TestSuite'] = _TESTSUITE
DESCRIPTOR.message_types_by_name['TestResults'] = _TESTRESULTS
DESCRIPTOR.message_types_by_name['TestCoordinates'] = _TESTCOORDINATES
DESCRIPTOR.message_types_by_name['Cannabinoids'] = _CANNABINOIDS
DESCRIPTOR.message_types_by_name['Subjective'] = _SUBJECTIVE
DESCRIPTOR.message_types_by_name['Pesticides'] = _PESTICIDES
DESCRIPTOR.message_types_by_name['Metals'] = _METALS
DESCRIPTOR.message_types_by_name['MoldMildew'] = _MOLDMILDEW
DESCRIPTOR.message_types_by_name['OtherContaminants'] = _OTHERCONTAMINANTS
DESCRIPTOR.message_types_by_name['Moisture'] = _MOISTURE
DESCRIPTOR.message_types_by_name['Terpenes'] = _TERPENES
DESCRIPTOR.enum_types_by_name['TestMethod'] = _TESTMETHOD
DESCRIPTOR.enum_types_by_name['Feeling'] = _FEELING
DESCRIPTOR.enum_types_by_name['TasteNote'] = _TASTENOTE
DESCRIPTOR.enum_types_by_name['PotencyEstimate'] = _POTENCYESTIMATE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Contaminants = _reflection.GeneratedProtocolMessageType('Contaminants', (_message.Message,), {
  'DESCRIPTOR' : _CONTAMINANTS,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Contaminants)
  })
_sym_db.RegisterMessage(Contaminants)

TestSuite = _reflection.GeneratedProtocolMessageType('TestSuite', (_message.Message,), {
  'DESCRIPTOR' : _TESTSUITE,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.TestSuite)
  })
_sym_db.RegisterMessage(TestSuite)

TestResults = _reflection.GeneratedProtocolMessageType('TestResults', (_message.Message,), {
  'DESCRIPTOR' : _TESTRESULTS,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.TestResults)
  })
_sym_db.RegisterMessage(TestResults)

TestCoordinates = _reflection.GeneratedProtocolMessageType('TestCoordinates', (_message.Message,), {
  'DESCRIPTOR' : _TESTCOORDINATES,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.TestCoordinates)
  })
_sym_db.RegisterMessage(TestCoordinates)

Cannabinoids = _reflection.GeneratedProtocolMessageType('Cannabinoids', (_message.Message,), {

  'Result' : _reflection.GeneratedProtocolMessageType('Result', (_message.Message,), {
    'DESCRIPTOR' : _CANNABINOIDS_RESULT,
    '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
    # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Cannabinoids.Result)
    })
  ,
  'DESCRIPTOR' : _CANNABINOIDS,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Cannabinoids)
  })
_sym_db.RegisterMessage(Cannabinoids)
_sym_db.RegisterMessage(Cannabinoids.Result)

Subjective = _reflection.GeneratedProtocolMessageType('Subjective', (_message.Message,), {
  'DESCRIPTOR' : _SUBJECTIVE,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Subjective)
  })
_sym_db.RegisterMessage(Subjective)

Pesticides = _reflection.GeneratedProtocolMessageType('Pesticides', (_message.Message,), {

  'MeasurementsEntry' : _reflection.GeneratedProtocolMessageType('MeasurementsEntry', (_message.Message,), {
    'DESCRIPTOR' : _PESTICIDES_MEASUREMENTSENTRY,
    '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
    # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Pesticides.MeasurementsEntry)
    })
  ,
  'DESCRIPTOR' : _PESTICIDES,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Pesticides)
  })
_sym_db.RegisterMessage(Pesticides)
_sym_db.RegisterMessage(Pesticides.MeasurementsEntry)

Metals = _reflection.GeneratedProtocolMessageType('Metals', (_message.Message,), {

  'MeasurementsEntry' : _reflection.GeneratedProtocolMessageType('MeasurementsEntry', (_message.Message,), {
    'DESCRIPTOR' : _METALS_MEASUREMENTSENTRY,
    '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
    # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Metals.MeasurementsEntry)
    })
  ,
  'DESCRIPTOR' : _METALS,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Metals)
  })
_sym_db.RegisterMessage(Metals)
_sym_db.RegisterMessage(Metals.MeasurementsEntry)

MoldMildew = _reflection.GeneratedProtocolMessageType('MoldMildew', (_message.Message,), {

  'MeasurementsEntry' : _reflection.GeneratedProtocolMessageType('MeasurementsEntry', (_message.Message,), {
    'DESCRIPTOR' : _MOLDMILDEW_MEASUREMENTSENTRY,
    '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
    # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.MoldMildew.MeasurementsEntry)
    })
  ,
  'DESCRIPTOR' : _MOLDMILDEW,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.MoldMildew)
  })
_sym_db.RegisterMessage(MoldMildew)
_sym_db.RegisterMessage(MoldMildew.MeasurementsEntry)

OtherContaminants = _reflection.GeneratedProtocolMessageType('OtherContaminants', (_message.Message,), {

  'MeasurementsEntry' : _reflection.GeneratedProtocolMessageType('MeasurementsEntry', (_message.Message,), {
    'DESCRIPTOR' : _OTHERCONTAMINANTS_MEASUREMENTSENTRY,
    '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
    # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.OtherContaminants.MeasurementsEntry)
    })
  ,
  'DESCRIPTOR' : _OTHERCONTAMINANTS,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.OtherContaminants)
  })
_sym_db.RegisterMessage(OtherContaminants)
_sym_db.RegisterMessage(OtherContaminants.MeasurementsEntry)

Moisture = _reflection.GeneratedProtocolMessageType('Moisture', (_message.Message,), {
  'DESCRIPTOR' : _MOISTURE,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Moisture)
  })
_sym_db.RegisterMessage(Moisture)

Terpenes = _reflection.GeneratedProtocolMessageType('Terpenes', (_message.Message,), {

  'Result' : _reflection.GeneratedProtocolMessageType('Result', (_message.Message,), {
    'DESCRIPTOR' : _TERPENES_RESULT,
    '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
    # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Terpenes.Result)
    })
  ,
  'DESCRIPTOR' : _TERPENES,
  '__module__' : 'opencannabis.structs.labtesting.TestResults_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.structs.labtesting.Terpenes)
  })
_sym_db.RegisterMessage(Terpenes)
_sym_db.RegisterMessage(Terpenes.Result)


DESCRIPTOR._options = None
_PESTICIDES_MEASUREMENTSENTRY._options = None
_METALS_MEASUREMENTSENTRY._options = None
_MOLDMILDEW_MEASUREMENTSENTRY._options = None
_OTHERCONTAMINANTS_MEASUREMENTSENTRY._options = None
# @@protoc_insertion_point(module_scope)
