# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: frameworks/base/tools/aapt2/Resources.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
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 . import Configuration_pb2 as frameworks_dot_base_dot_tools_dot_aapt2_dot_Configuration__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='frameworks/base/tools/aapt2/Resources.proto',
  package='aapt.pb',
  syntax='proto3',
  serialized_options=_b('\n\020com.android.aapt'),
  serialized_pb=_b('\n+frameworks/base/tools/aapt2/Resources.proto\x12\x07\x61\x61pt.pb\x1a/frameworks/base/tools/aapt2/Configuration.proto\"\x1a\n\nStringPool\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"<\n\x0eSourcePosition\x12\x13\n\x0bline_number\x18\x01 \x01(\r\x12\x15\n\rcolumn_number\x18\x02 \x01(\r\"E\n\x06Source\x12\x10\n\x08path_idx\x18\x01 \x01(\r\x12)\n\x08position\x18\x02 \x01(\x0b\x32\x17.aapt.pb.SourcePosition\"0\n\x0fToolFingerprint\x12\x0c\n\x04tool\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\"\xbb\x01\n\rResourceTable\x12(\n\x0bsource_pool\x18\x01 \x01(\x0b\x32\x13.aapt.pb.StringPool\x12!\n\x07package\x18\x02 \x03(\x0b\x32\x10.aapt.pb.Package\x12)\n\x0boverlayable\x18\x03 \x03(\x0b\x32\x14.aapt.pb.Overlayable\x12\x32\n\x10tool_fingerprint\x18\x04 \x03(\x0b\x32\x18.aapt.pb.ToolFingerprint\"\x17\n\tPackageId\x12\n\n\x02id\x18\x01 \x01(\r\"d\n\x07Package\x12&\n\npackage_id\x18\x01 \x01(\x0b\x32\x12.aapt.pb.PackageId\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\x12\x1b\n\x04type\x18\x03 \x03(\x0b\x32\r.aapt.pb.Type\"\x14\n\x06TypeId\x12\n\n\x02id\x18\x01 \x01(\r\"U\n\x04Type\x12 \n\x07type_id\x18\x01 \x01(\x0b\x32\x0f.aapt.pb.TypeId\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x1d\n\x05\x65ntry\x18\x03 \x03(\x0b\x32\x0e.aapt.pb.Entry\"\x97\x01\n\nVisibility\x12(\n\x05level\x18\x01 \x01(\x0e\x32\x19.aapt.pb.Visibility.Level\x12\x1f\n\x06source\x18\x02 \x01(\x0b\x32\x0f.aapt.pb.Source\x12\x0f\n\x07\x63omment\x18\x03 \x01(\t\"-\n\x05Level\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PRIVATE\x10\x01\x12\n\n\x06PUBLIC\x10\x02\"<\n\x08\x41llowNew\x12\x1f\n\x06source\x18\x01 \x01(\x0b\x32\x0f.aapt.pb.Source\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\"K\n\x0bOverlayable\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x06source\x18\x02 \x01(\x0b\x32\x0f.aapt.pb.Source\x12\r\n\x05\x61\x63tor\x18\x03 \x01(\t\"\xf3\x01\n\x0fOverlayableItem\x12\x1f\n\x06source\x18\x01 \x01(\x0b\x32\x0f.aapt.pb.Source\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12/\n\x06policy\x18\x03 \x03(\x0e\x32\x1f.aapt.pb.OverlayableItem.Policy\x12\x17\n\x0foverlayable_idx\x18\x04 \x01(\r\"d\n\x06Policy\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06PUBLIC\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\n\n\x06VENDOR\x10\x03\x12\x0b\n\x07PRODUCT\x10\x04\x12\r\n\tSIGNATURE\x10\x05\x12\x07\n\x03ODM\x10\x06\x12\x07\n\x03OEM\x10\x07\"\x15\n\x07\x45ntryId\x12\n\n\x02id\x18\x01 \x01(\r\"\xe8\x01\n\x05\x45ntry\x12\"\n\x08\x65ntry_id\x18\x01 \x01(\x0b\x32\x10.aapt.pb.EntryId\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\'\n\nvisibility\x18\x03 \x01(\x0b\x32\x13.aapt.pb.Visibility\x12$\n\tallow_new\x18\x04 \x01(\x0b\x32\x11.aapt.pb.AllowNew\x12\x32\n\x10overlayable_item\x18\x05 \x01(\x0b\x32\x18.aapt.pb.OverlayableItem\x12*\n\x0c\x63onfig_value\x18\x06 \x03(\x0b\x32\x14.aapt.pb.ConfigValue\"T\n\x0b\x43onfigValue\x12&\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x16.aapt.pb.Configuration\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.aapt.pb.Value\"\xa1\x01\n\x05Value\x12\x1f\n\x06source\x18\x01 \x01(\x0b\x32\x0f.aapt.pb.Source\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x0c\n\x04weak\x18\x03 \x01(\x08\x12\x1d\n\x04item\x18\x04 \x01(\x0b\x32\r.aapt.pb.ItemH\x00\x12\x30\n\x0e\x63ompound_value\x18\x05 \x01(\x0b\x32\x16.aapt.pb.CompoundValueH\x00\x42\x07\n\x05value\"\x8d\x02\n\x04Item\x12!\n\x03ref\x18\x01 \x01(\x0b\x32\x12.aapt.pb.ReferenceH\x00\x12\x1e\n\x03str\x18\x02 \x01(\x0b\x32\x0f.aapt.pb.StringH\x00\x12%\n\x07raw_str\x18\x03 \x01(\x0b\x32\x12.aapt.pb.RawStringH\x00\x12+\n\nstyled_str\x18\x04 \x01(\x0b\x32\x15.aapt.pb.StyledStringH\x00\x12&\n\x04\x66ile\x18\x05 \x01(\x0b\x32\x16.aapt.pb.FileReferenceH\x00\x12\x19\n\x02id\x18\x06 \x01(\x0b\x32\x0b.aapt.pb.IdH\x00\x12\"\n\x04prim\x18\x07 \x01(\x0b\x32\x12.aapt.pb.PrimitiveH\x00\x42\x07\n\x05value\"\xca\x01\n\rCompoundValue\x12\"\n\x04\x61ttr\x18\x01 \x01(\x0b\x32\x12.aapt.pb.AttributeH\x00\x12\x1f\n\x05style\x18\x02 \x01(\x0b\x32\x0e.aapt.pb.StyleH\x00\x12\'\n\tstyleable\x18\x03 \x01(\x0b\x32\x12.aapt.pb.StyleableH\x00\x12\x1f\n\x05\x61rray\x18\x04 \x01(\x0b\x32\x0e.aapt.pb.ArrayH\x00\x12!\n\x06plural\x18\x05 \x01(\x0b\x32\x0f.aapt.pb.PluralH\x00\x42\x07\n\x05value\"\x18\n\x07\x42oolean\x12\r\n\x05value\x18\x01 \x01(\x08\"\xa9\x01\n\tReference\x12%\n\x04type\x18\x01 \x01(\x0e\x32\x17.aapt.pb.Reference.Type\x12\n\n\x02id\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0f\n\x07private\x18\x04 \x01(\x08\x12$\n\nis_dynamic\x18\x05 \x01(\x0b\x32\x10.aapt.pb.Boolean\"$\n\x04Type\x12\r\n\tREFERENCE\x10\x00\x12\r\n\tATTRIBUTE\x10\x01\"\x04\n\x02Id\"\x17\n\x06String\x12\r\n\x05value\x18\x01 \x01(\t\"\x1a\n\tRawString\x12\r\n\x05value\x18\x01 \x01(\t\"\x83\x01\n\x0cStyledString\x12\r\n\x05value\x18\x01 \x01(\t\x12(\n\x04span\x18\x02 \x03(\x0b\x32\x1a.aapt.pb.StyledString.Span\x1a:\n\x04Span\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x12\n\nfirst_char\x18\x02 \x01(\r\x12\x11\n\tlast_char\x18\x03 \x01(\r\"\x85\x01\n\rFileReference\x12\x0c\n\x04path\x18\x01 \x01(\t\x12)\n\x04type\x18\x02 \x01(\x0e\x32\x1b.aapt.pb.FileReference.Type\";\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03PNG\x10\x01\x12\x0e\n\nBINARY_XML\x10\x02\x12\r\n\tPROTO_XML\x10\x03\"\x83\x04\n\tPrimitive\x12\x31\n\nnull_value\x18\x01 \x01(\x0b\x32\x1b.aapt.pb.Primitive.NullTypeH\x00\x12\x33\n\x0b\x65mpty_value\x18\x02 \x01(\x0b\x32\x1c.aapt.pb.Primitive.EmptyTypeH\x00\x12\x15\n\x0b\x66loat_value\x18\x03 \x01(\x02H\x00\x12\x19\n\x0f\x64imension_value\x18\r \x01(\rH\x00\x12\x18\n\x0e\x66raction_value\x18\x0e \x01(\rH\x00\x12\x1b\n\x11int_decimal_value\x18\x06 \x01(\x05H\x00\x12\x1f\n\x15int_hexadecimal_value\x18\x07 \x01(\rH\x00\x12\x17\n\rboolean_value\x18\x08 \x01(\x08H\x00\x12\x1b\n\x11\x63olor_argb8_value\x18\t \x01(\rH\x00\x12\x1a\n\x10\x63olor_rgb8_value\x18\n \x01(\rH\x00\x12\x1b\n\x11\x63olor_argb4_value\x18\x0b \x01(\rH\x00\x12\x1a\n\x10\x63olor_rgb4_value\x18\x0c \x01(\rH\x00\x12(\n\x1a\x64imension_value_deprecated\x18\x04 \x01(\x02\x42\x02\x18\x01H\x00\x12\'\n\x19\x66raction_value_deprecated\x18\x05 \x01(\x02\x42\x02\x18\x01H\x00\x1a\n\n\x08NullType\x1a\x0b\n\tEmptyTypeB\r\n\x0boneof_value\"\x90\x03\n\tAttribute\x12\x14\n\x0c\x66ormat_flags\x18\x01 \x01(\r\x12\x0f\n\x07min_int\x18\x02 \x01(\x05\x12\x0f\n\x07max_int\x18\x03 \x01(\x05\x12)\n\x06symbol\x18\x04 \x03(\x0b\x32\x19.aapt.pb.Attribute.Symbol\x1ay\n\x06Symbol\x12\x1f\n\x06source\x18\x01 \x01(\x0b\x32\x0f.aapt.pb.Source\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12 \n\x04name\x18\x03 \x01(\x0b\x32\x12.aapt.pb.Reference\x12\r\n\x05value\x18\x04 \x01(\r\x12\x0c\n\x04type\x18\x05 \x01(\r\"\xa4\x01\n\x0b\x46ormatFlags\x12\x08\n\x04NONE\x10\x00\x12\t\n\x03\x41NY\x10\xff\xff\x03\x12\r\n\tREFERENCE\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x0b\n\x07INTEGER\x10\x04\x12\x0b\n\x07\x42OOLEAN\x10\x08\x12\t\n\x05\x43OLOR\x10\x10\x12\t\n\x05\x46LOAT\x10 \x12\r\n\tDIMENSION\x10@\x12\r\n\x08\x46RACTION\x10\x80\x01\x12\n\n\x04\x45NUM\x10\x80\x80\x04\x12\x0b\n\x05\x46LAGS\x10\x80\x80\x08\"\xf1\x01\n\x05Style\x12\"\n\x06parent\x18\x01 \x01(\x0b\x32\x12.aapt.pb.Reference\x12&\n\rparent_source\x18\x02 \x01(\x0b\x32\x0f.aapt.pb.Source\x12#\n\x05\x65ntry\x18\x03 \x03(\x0b\x32\x14.aapt.pb.Style.Entry\x1aw\n\x05\x45ntry\x12\x1f\n\x06source\x18\x01 \x01(\x0b\x32\x0f.aapt.pb.Source\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x1f\n\x03key\x18\x03 \x01(\x0b\x32\x12.aapt.pb.Reference\x12\x1b\n\x04item\x18\x04 \x01(\x0b\x32\r.aapt.pb.Item\"\x91\x01\n\tStyleable\x12\'\n\x05\x65ntry\x18\x01 \x03(\x0b\x32\x18.aapt.pb.Styleable.Entry\x1a[\n\x05\x45ntry\x12\x1f\n\x06source\x18\x01 \x01(\x0b\x32\x0f.aapt.pb.Source\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12 \n\x04\x61ttr\x18\x03 \x01(\x0b\x32\x12.aapt.pb.Reference\"\x8a\x01\n\x05\x41rray\x12\'\n\x07\x65lement\x18\x01 \x03(\x0b\x32\x16.aapt.pb.Array.Element\x1aX\n\x07\x45lement\x12\x1f\n\x06source\x18\x01 \x01(\x0b\x32\x0f.aapt.pb.Source\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12\x1b\n\x04item\x18\x03 \x01(\x0b\x32\r.aapt.pb.Item\"\xef\x01\n\x06Plural\x12$\n\x05\x65ntry\x18\x01 \x03(\x0b\x32\x15.aapt.pb.Plural.Entry\x1a|\n\x05\x45ntry\x12\x1f\n\x06source\x18\x01 \x01(\x0b\x32\x0f.aapt.pb.Source\x12\x0f\n\x07\x63omment\x18\x02 \x01(\t\x12$\n\x05\x61rity\x18\x03 \x01(\x0e\x32\x15.aapt.pb.Plural.Arity\x12\x1b\n\x04item\x18\x04 \x01(\x0b\x32\r.aapt.pb.Item\"A\n\x05\x41rity\x12\x08\n\x04ZERO\x10\x00\x12\x07\n\x03ONE\x10\x01\x12\x07\n\x03TWO\x10\x02\x12\x07\n\x03\x46\x45W\x10\x03\x12\x08\n\x04MANY\x10\x04\x12\t\n\x05OTHER\x10\x05\"r\n\x07XmlNode\x12&\n\x07\x65lement\x18\x01 \x01(\x0b\x32\x13.aapt.pb.XmlElementH\x00\x12\x0e\n\x04text\x18\x02 \x01(\tH\x00\x12\'\n\x06source\x18\x03 \x01(\x0b\x32\x17.aapt.pb.SourcePositionB\x06\n\x04node\"\xb2\x01\n\nXmlElement\x12\x34\n\x15namespace_declaration\x18\x01 \x03(\x0b\x32\x15.aapt.pb.XmlNamespace\x12\x15\n\rnamespace_uri\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12(\n\tattribute\x18\x04 \x03(\x0b\x32\x15.aapt.pb.XmlAttribute\x12\x1f\n\x05\x63hild\x18\x05 \x03(\x0b\x32\x10.aapt.pb.XmlNode\"T\n\x0cXmlNamespace\x12\x0e\n\x06prefix\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\'\n\x06source\x18\x03 \x01(\x0b\x32\x17.aapt.pb.SourcePosition\"\xa6\x01\n\x0cXmlAttribute\x12\x15\n\rnamespace_uri\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\'\n\x06source\x18\x04 \x01(\x0b\x32\x17.aapt.pb.SourcePosition\x12\x13\n\x0bresource_id\x18\x05 \x01(\r\x12$\n\rcompiled_item\x18\x06 \x01(\x0b\x32\r.aapt.pb.ItemB\x12\n\x10\x63om.android.aaptb\x06proto3')
  ,
  dependencies=[frameworks_dot_base_dot_tools_dot_aapt2_dot_Configuration__pb2.DESCRIPTOR,])



_VISIBILITY_LEVEL = _descriptor.EnumDescriptor(
  name='Level',
  full_name='aapt.pb.Visibility.Level',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PRIVATE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PUBLIC', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=849,
  serialized_end=894,
)
_sym_db.RegisterEnumDescriptor(_VISIBILITY_LEVEL)

_OVERLAYABLEITEM_POLICY = _descriptor.EnumDescriptor(
  name='Policy',
  full_name='aapt.pb.OverlayableItem.Policy',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PUBLIC', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SYSTEM', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VENDOR', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PRODUCT', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SIGNATURE', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ODM', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OEM', index=7, number=7,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1179,
  serialized_end=1279,
)
_sym_db.RegisterEnumDescriptor(_OVERLAYABLEITEM_POLICY)

_REFERENCE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='aapt.pb.Reference.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='REFERENCE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ATTRIBUTE', index=1, number=1,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2426,
  serialized_end=2462,
)
_sym_db.RegisterEnumDescriptor(_REFERENCE_TYPE)

_FILEREFERENCE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='aapt.pb.FileReference.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PNG', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BINARY_XML', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROTO_XML', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2732,
  serialized_end=2791,
)
_sym_db.RegisterEnumDescriptor(_FILEREFERENCE_TYPE)

_ATTRIBUTE_FORMATFLAGS = _descriptor.EnumDescriptor(
  name='FormatFlags',
  full_name='aapt.pb.Attribute.FormatFlags',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ANY', index=1, number=65535,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REFERENCE', index=2, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='STRING', index=3, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INTEGER', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BOOLEAN', index=5, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='COLOR', index=6, number=16,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FLOAT', index=7, number=32,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DIMENSION', index=8, number=64,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FRACTION', index=9, number=128,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ENUM', index=10, number=65536,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FLAGS', index=11, number=131072,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3548,
  serialized_end=3712,
)
_sym_db.RegisterEnumDescriptor(_ATTRIBUTE_FORMATFLAGS)

_PLURAL_ARITY = _descriptor.EnumDescriptor(
  name='Arity',
  full_name='aapt.pb.Plural.Arity',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ZERO', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ONE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TWO', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FEW', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MANY', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OTHER', index=5, number=5,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4422,
  serialized_end=4487,
)
_sym_db.RegisterEnumDescriptor(_PLURAL_ARITY)


_STRINGPOOL = _descriptor.Descriptor(
  name='StringPool',
  full_name='aapt.pb.StringPool',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='aapt.pb.StringPool.data', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=105,
  serialized_end=131,
)


_SOURCEPOSITION = _descriptor.Descriptor(
  name='SourcePosition',
  full_name='aapt.pb.SourcePosition',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='line_number', full_name='aapt.pb.SourcePosition.line_number', index=0,
      number=1, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='column_number', full_name='aapt.pb.SourcePosition.column_number', index=1,
      number=2, type=13, cpp_type=3, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=133,
  serialized_end=193,
)


_SOURCE = _descriptor.Descriptor(
  name='Source',
  full_name='aapt.pb.Source',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path_idx', full_name='aapt.pb.Source.path_idx', index=0,
      number=1, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='position', full_name='aapt.pb.Source.position', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=195,
  serialized_end=264,
)


_TOOLFINGERPRINT = _descriptor.Descriptor(
  name='ToolFingerprint',
  full_name='aapt.pb.ToolFingerprint',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tool', full_name='aapt.pb.ToolFingerprint.tool', 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),
    _descriptor.FieldDescriptor(
      name='version', full_name='aapt.pb.ToolFingerprint.version', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=266,
  serialized_end=314,
)


_RESOURCETABLE = _descriptor.Descriptor(
  name='ResourceTable',
  full_name='aapt.pb.ResourceTable',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source_pool', full_name='aapt.pb.ResourceTable.source_pool', 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),
    _descriptor.FieldDescriptor(
      name='package', full_name='aapt.pb.ResourceTable.package', 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),
    _descriptor.FieldDescriptor(
      name='overlayable', full_name='aapt.pb.ResourceTable.overlayable', 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),
    _descriptor.FieldDescriptor(
      name='tool_fingerprint', full_name='aapt.pb.ResourceTable.tool_fingerprint', index=3,
      number=4, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=317,
  serialized_end=504,
)


_PACKAGEID = _descriptor.Descriptor(
  name='PackageId',
  full_name='aapt.pb.PackageId',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='aapt.pb.PackageId.id', index=0,
      number=1, type=13, cpp_type=3, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=506,
  serialized_end=529,
)


_PACKAGE = _descriptor.Descriptor(
  name='Package',
  full_name='aapt.pb.Package',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='package_id', full_name='aapt.pb.Package.package_id', 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),
    _descriptor.FieldDescriptor(
      name='package_name', full_name='aapt.pb.Package.package_name', 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),
    _descriptor.FieldDescriptor(
      name='type', full_name='aapt.pb.Package.type', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=531,
  serialized_end=631,
)


_TYPEID = _descriptor.Descriptor(
  name='TypeId',
  full_name='aapt.pb.TypeId',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='aapt.pb.TypeId.id', index=0,
      number=1, type=13, cpp_type=3, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=633,
  serialized_end=653,
)


_TYPE = _descriptor.Descriptor(
  name='Type',
  full_name='aapt.pb.Type',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type_id', full_name='aapt.pb.Type.type_id', 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),
    _descriptor.FieldDescriptor(
      name='name', full_name='aapt.pb.Type.name', 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),
    _descriptor.FieldDescriptor(
      name='entry', full_name='aapt.pb.Type.entry', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=655,
  serialized_end=740,
)


_VISIBILITY = _descriptor.Descriptor(
  name='Visibility',
  full_name='aapt.pb.Visibility',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='level', full_name='aapt.pb.Visibility.level', 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),
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.Visibility.source', 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),
    _descriptor.FieldDescriptor(
      name='comment', full_name='aapt.pb.Visibility.comment', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _VISIBILITY_LEVEL,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=743,
  serialized_end=894,
)


_ALLOWNEW = _descriptor.Descriptor(
  name='AllowNew',
  full_name='aapt.pb.AllowNew',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.AllowNew.source', 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),
    _descriptor.FieldDescriptor(
      name='comment', full_name='aapt.pb.AllowNew.comment', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=896,
  serialized_end=956,
)


_OVERLAYABLE = _descriptor.Descriptor(
  name='Overlayable',
  full_name='aapt.pb.Overlayable',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='aapt.pb.Overlayable.name', 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),
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.Overlayable.source', 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),
    _descriptor.FieldDescriptor(
      name='actor', full_name='aapt.pb.Overlayable.actor', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=958,
  serialized_end=1033,
)


_OVERLAYABLEITEM = _descriptor.Descriptor(
  name='OverlayableItem',
  full_name='aapt.pb.OverlayableItem',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.OverlayableItem.source', 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),
    _descriptor.FieldDescriptor(
      name='comment', full_name='aapt.pb.OverlayableItem.comment', 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),
    _descriptor.FieldDescriptor(
      name='policy', full_name='aapt.pb.OverlayableItem.policy', index=2,
      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),
    _descriptor.FieldDescriptor(
      name='overlayable_idx', full_name='aapt.pb.OverlayableItem.overlayable_idx', index=3,
      number=4, type=13, cpp_type=3, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _OVERLAYABLEITEM_POLICY,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1036,
  serialized_end=1279,
)


_ENTRYID = _descriptor.Descriptor(
  name='EntryId',
  full_name='aapt.pb.EntryId',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='aapt.pb.EntryId.id', index=0,
      number=1, type=13, cpp_type=3, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1281,
  serialized_end=1302,
)


_ENTRY = _descriptor.Descriptor(
  name='Entry',
  full_name='aapt.pb.Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='entry_id', full_name='aapt.pb.Entry.entry_id', 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),
    _descriptor.FieldDescriptor(
      name='name', full_name='aapt.pb.Entry.name', 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),
    _descriptor.FieldDescriptor(
      name='visibility', full_name='aapt.pb.Entry.visibility', 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),
    _descriptor.FieldDescriptor(
      name='allow_new', full_name='aapt.pb.Entry.allow_new', 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),
    _descriptor.FieldDescriptor(
      name='overlayable_item', full_name='aapt.pb.Entry.overlayable_item', 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),
    _descriptor.FieldDescriptor(
      name='config_value', full_name='aapt.pb.Entry.config_value', index=5,
      number=6, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1305,
  serialized_end=1537,
)


_CONFIGVALUE = _descriptor.Descriptor(
  name='ConfigValue',
  full_name='aapt.pb.ConfigValue',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='config', full_name='aapt.pb.ConfigValue.config', 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),
    _descriptor.FieldDescriptor(
      name='value', full_name='aapt.pb.ConfigValue.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1539,
  serialized_end=1623,
)


_VALUE = _descriptor.Descriptor(
  name='Value',
  full_name='aapt.pb.Value',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.Value.source', 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),
    _descriptor.FieldDescriptor(
      name='comment', full_name='aapt.pb.Value.comment', 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),
    _descriptor.FieldDescriptor(
      name='weak', full_name='aapt.pb.Value.weak', index=2,
      number=3, 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),
    _descriptor.FieldDescriptor(
      name='item', full_name='aapt.pb.Value.item', 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),
    _descriptor.FieldDescriptor(
      name='compound_value', full_name='aapt.pb.Value.compound_value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='aapt.pb.Value.value',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1626,
  serialized_end=1787,
)


_ITEM = _descriptor.Descriptor(
  name='Item',
  full_name='aapt.pb.Item',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ref', full_name='aapt.pb.Item.ref', 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),
    _descriptor.FieldDescriptor(
      name='str', full_name='aapt.pb.Item.str', 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),
    _descriptor.FieldDescriptor(
      name='raw_str', full_name='aapt.pb.Item.raw_str', 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),
    _descriptor.FieldDescriptor(
      name='styled_str', full_name='aapt.pb.Item.styled_str', 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),
    _descriptor.FieldDescriptor(
      name='file', full_name='aapt.pb.Item.file', 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),
    _descriptor.FieldDescriptor(
      name='id', full_name='aapt.pb.Item.id', index=5,
      number=6, 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),
    _descriptor.FieldDescriptor(
      name='prim', full_name='aapt.pb.Item.prim', index=6,
      number=7, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='aapt.pb.Item.value',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1790,
  serialized_end=2059,
)


_COMPOUNDVALUE = _descriptor.Descriptor(
  name='CompoundValue',
  full_name='aapt.pb.CompoundValue',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='attr', full_name='aapt.pb.CompoundValue.attr', 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),
    _descriptor.FieldDescriptor(
      name='style', full_name='aapt.pb.CompoundValue.style', 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),
    _descriptor.FieldDescriptor(
      name='styleable', full_name='aapt.pb.CompoundValue.styleable', 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),
    _descriptor.FieldDescriptor(
      name='array', full_name='aapt.pb.CompoundValue.array', 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),
    _descriptor.FieldDescriptor(
      name='plural', full_name='aapt.pb.CompoundValue.plural', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='aapt.pb.CompoundValue.value',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=2062,
  serialized_end=2264,
)


_BOOLEAN = _descriptor.Descriptor(
  name='Boolean',
  full_name='aapt.pb.Boolean',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='aapt.pb.Boolean.value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2266,
  serialized_end=2290,
)


_REFERENCE = _descriptor.Descriptor(
  name='Reference',
  full_name='aapt.pb.Reference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='aapt.pb.Reference.type', 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),
    _descriptor.FieldDescriptor(
      name='id', full_name='aapt.pb.Reference.id', index=1,
      number=2, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='name', full_name='aapt.pb.Reference.name', 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),
    _descriptor.FieldDescriptor(
      name='private', full_name='aapt.pb.Reference.private', index=3,
      number=4, 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),
    _descriptor.FieldDescriptor(
      name='is_dynamic', full_name='aapt.pb.Reference.is_dynamic', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _REFERENCE_TYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2293,
  serialized_end=2462,
)


_ID = _descriptor.Descriptor(
  name='Id',
  full_name='aapt.pb.Id',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2464,
  serialized_end=2468,
)


_STRING = _descriptor.Descriptor(
  name='String',
  full_name='aapt.pb.String',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='aapt.pb.String.value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2470,
  serialized_end=2493,
)


_RAWSTRING = _descriptor.Descriptor(
  name='RawString',
  full_name='aapt.pb.RawString',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='aapt.pb.RawString.value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2495,
  serialized_end=2521,
)


_STYLEDSTRING_SPAN = _descriptor.Descriptor(
  name='Span',
  full_name='aapt.pb.StyledString.Span',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tag', full_name='aapt.pb.StyledString.Span.tag', 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),
    _descriptor.FieldDescriptor(
      name='first_char', full_name='aapt.pb.StyledString.Span.first_char', index=1,
      number=2, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='last_char', full_name='aapt.pb.StyledString.Span.last_char', index=2,
      number=3, type=13, cpp_type=3, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2597,
  serialized_end=2655,
)

_STYLEDSTRING = _descriptor.Descriptor(
  name='StyledString',
  full_name='aapt.pb.StyledString',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='aapt.pb.StyledString.value', 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),
    _descriptor.FieldDescriptor(
      name='span', full_name='aapt.pb.StyledString.span', 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),
  ],
  extensions=[
  ],
  nested_types=[_STYLEDSTRING_SPAN, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2524,
  serialized_end=2655,
)


_FILEREFERENCE = _descriptor.Descriptor(
  name='FileReference',
  full_name='aapt.pb.FileReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path', full_name='aapt.pb.FileReference.path', 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),
    _descriptor.FieldDescriptor(
      name='type', full_name='aapt.pb.FileReference.type', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FILEREFERENCE_TYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2658,
  serialized_end=2791,
)


_PRIMITIVE_NULLTYPE = _descriptor.Descriptor(
  name='NullType',
  full_name='aapt.pb.Primitive.NullType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3271,
  serialized_end=3281,
)

_PRIMITIVE_EMPTYTYPE = _descriptor.Descriptor(
  name='EmptyType',
  full_name='aapt.pb.Primitive.EmptyType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3283,
  serialized_end=3294,
)

_PRIMITIVE = _descriptor.Descriptor(
  name='Primitive',
  full_name='aapt.pb.Primitive',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='null_value', full_name='aapt.pb.Primitive.null_value', 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),
    _descriptor.FieldDescriptor(
      name='empty_value', full_name='aapt.pb.Primitive.empty_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),
    _descriptor.FieldDescriptor(
      name='float_value', full_name='aapt.pb.Primitive.float_value', index=2,
      number=3, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='dimension_value', full_name='aapt.pb.Primitive.dimension_value', index=3,
      number=13, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='fraction_value', full_name='aapt.pb.Primitive.fraction_value', index=4,
      number=14, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='int_decimal_value', full_name='aapt.pb.Primitive.int_decimal_value', index=5,
      number=6, type=5, cpp_type=1, 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),
    _descriptor.FieldDescriptor(
      name='int_hexadecimal_value', full_name='aapt.pb.Primitive.int_hexadecimal_value', index=6,
      number=7, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='boolean_value', full_name='aapt.pb.Primitive.boolean_value', index=7,
      number=8, 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),
    _descriptor.FieldDescriptor(
      name='color_argb8_value', full_name='aapt.pb.Primitive.color_argb8_value', index=8,
      number=9, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='color_rgb8_value', full_name='aapt.pb.Primitive.color_rgb8_value', index=9,
      number=10, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='color_argb4_value', full_name='aapt.pb.Primitive.color_argb4_value', index=10,
      number=11, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='color_rgb4_value', full_name='aapt.pb.Primitive.color_rgb4_value', index=11,
      number=12, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='dimension_value_deprecated', full_name='aapt.pb.Primitive.dimension_value_deprecated', index=12,
      number=4, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\030\001'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fraction_value_deprecated', full_name='aapt.pb.Primitive.fraction_value_deprecated', index=13,
      number=5, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\030\001'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_PRIMITIVE_NULLTYPE, _PRIMITIVE_EMPTYTYPE, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='oneof_value', full_name='aapt.pb.Primitive.oneof_value',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=2794,
  serialized_end=3309,
)


_ATTRIBUTE_SYMBOL = _descriptor.Descriptor(
  name='Symbol',
  full_name='aapt.pb.Attribute.Symbol',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.Attribute.Symbol.source', 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),
    _descriptor.FieldDescriptor(
      name='comment', full_name='aapt.pb.Attribute.Symbol.comment', 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),
    _descriptor.FieldDescriptor(
      name='name', full_name='aapt.pb.Attribute.Symbol.name', 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),
    _descriptor.FieldDescriptor(
      name='value', full_name='aapt.pb.Attribute.Symbol.value', index=3,
      number=4, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='type', full_name='aapt.pb.Attribute.Symbol.type', index=4,
      number=5, type=13, cpp_type=3, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3424,
  serialized_end=3545,
)

_ATTRIBUTE = _descriptor.Descriptor(
  name='Attribute',
  full_name='aapt.pb.Attribute',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='format_flags', full_name='aapt.pb.Attribute.format_flags', index=0,
      number=1, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='min_int', full_name='aapt.pb.Attribute.min_int', index=1,
      number=2, type=5, cpp_type=1, 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),
    _descriptor.FieldDescriptor(
      name='max_int', full_name='aapt.pb.Attribute.max_int', index=2,
      number=3, type=5, cpp_type=1, 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),
    _descriptor.FieldDescriptor(
      name='symbol', full_name='aapt.pb.Attribute.symbol', index=3,
      number=4, 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),
  ],
  extensions=[
  ],
  nested_types=[_ATTRIBUTE_SYMBOL, ],
  enum_types=[
    _ATTRIBUTE_FORMATFLAGS,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3312,
  serialized_end=3712,
)


_STYLE_ENTRY = _descriptor.Descriptor(
  name='Entry',
  full_name='aapt.pb.Style.Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.Style.Entry.source', 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),
    _descriptor.FieldDescriptor(
      name='comment', full_name='aapt.pb.Style.Entry.comment', 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),
    _descriptor.FieldDescriptor(
      name='key', full_name='aapt.pb.Style.Entry.key', 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),
    _descriptor.FieldDescriptor(
      name='item', full_name='aapt.pb.Style.Entry.item', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3837,
  serialized_end=3956,
)

_STYLE = _descriptor.Descriptor(
  name='Style',
  full_name='aapt.pb.Style',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='parent', full_name='aapt.pb.Style.parent', 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),
    _descriptor.FieldDescriptor(
      name='parent_source', full_name='aapt.pb.Style.parent_source', 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),
    _descriptor.FieldDescriptor(
      name='entry', full_name='aapt.pb.Style.entry', 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),
  ],
  extensions=[
  ],
  nested_types=[_STYLE_ENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3715,
  serialized_end=3956,
)


_STYLEABLE_ENTRY = _descriptor.Descriptor(
  name='Entry',
  full_name='aapt.pb.Styleable.Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.Styleable.Entry.source', 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),
    _descriptor.FieldDescriptor(
      name='comment', full_name='aapt.pb.Styleable.Entry.comment', 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),
    _descriptor.FieldDescriptor(
      name='attr', full_name='aapt.pb.Styleable.Entry.attr', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4013,
  serialized_end=4104,
)

_STYLEABLE = _descriptor.Descriptor(
  name='Styleable',
  full_name='aapt.pb.Styleable',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='entry', full_name='aapt.pb.Styleable.entry', 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),
  ],
  extensions=[
  ],
  nested_types=[_STYLEABLE_ENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3959,
  serialized_end=4104,
)


_ARRAY_ELEMENT = _descriptor.Descriptor(
  name='Element',
  full_name='aapt.pb.Array.Element',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.Array.Element.source', 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),
    _descriptor.FieldDescriptor(
      name='comment', full_name='aapt.pb.Array.Element.comment', 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),
    _descriptor.FieldDescriptor(
      name='item', full_name='aapt.pb.Array.Element.item', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4157,
  serialized_end=4245,
)

_ARRAY = _descriptor.Descriptor(
  name='Array',
  full_name='aapt.pb.Array',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='element', full_name='aapt.pb.Array.element', 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),
  ],
  extensions=[
  ],
  nested_types=[_ARRAY_ELEMENT, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4107,
  serialized_end=4245,
)


_PLURAL_ENTRY = _descriptor.Descriptor(
  name='Entry',
  full_name='aapt.pb.Plural.Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.Plural.Entry.source', 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),
    _descriptor.FieldDescriptor(
      name='comment', full_name='aapt.pb.Plural.Entry.comment', 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),
    _descriptor.FieldDescriptor(
      name='arity', full_name='aapt.pb.Plural.Entry.arity', 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),
    _descriptor.FieldDescriptor(
      name='item', full_name='aapt.pb.Plural.Entry.item', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4296,
  serialized_end=4420,
)

_PLURAL = _descriptor.Descriptor(
  name='Plural',
  full_name='aapt.pb.Plural',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='entry', full_name='aapt.pb.Plural.entry', 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),
  ],
  extensions=[
  ],
  nested_types=[_PLURAL_ENTRY, ],
  enum_types=[
    _PLURAL_ARITY,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4248,
  serialized_end=4487,
)


_XMLNODE = _descriptor.Descriptor(
  name='XmlNode',
  full_name='aapt.pb.XmlNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='element', full_name='aapt.pb.XmlNode.element', 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),
    _descriptor.FieldDescriptor(
      name='text', full_name='aapt.pb.XmlNode.text', 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),
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.XmlNode.source', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='node', full_name='aapt.pb.XmlNode.node',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=4489,
  serialized_end=4603,
)


_XMLELEMENT = _descriptor.Descriptor(
  name='XmlElement',
  full_name='aapt.pb.XmlElement',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='namespace_declaration', full_name='aapt.pb.XmlElement.namespace_declaration', 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),
    _descriptor.FieldDescriptor(
      name='namespace_uri', full_name='aapt.pb.XmlElement.namespace_uri', 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),
    _descriptor.FieldDescriptor(
      name='name', full_name='aapt.pb.XmlElement.name', 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),
    _descriptor.FieldDescriptor(
      name='attribute', full_name='aapt.pb.XmlElement.attribute', index=3,
      number=4, 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),
    _descriptor.FieldDescriptor(
      name='child', full_name='aapt.pb.XmlElement.child', index=4,
      number=5, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4606,
  serialized_end=4784,
)


_XMLNAMESPACE = _descriptor.Descriptor(
  name='XmlNamespace',
  full_name='aapt.pb.XmlNamespace',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='prefix', full_name='aapt.pb.XmlNamespace.prefix', 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),
    _descriptor.FieldDescriptor(
      name='uri', full_name='aapt.pb.XmlNamespace.uri', 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),
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.XmlNamespace.source', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4786,
  serialized_end=4870,
)


_XMLATTRIBUTE = _descriptor.Descriptor(
  name='XmlAttribute',
  full_name='aapt.pb.XmlAttribute',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='namespace_uri', full_name='aapt.pb.XmlAttribute.namespace_uri', 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),
    _descriptor.FieldDescriptor(
      name='name', full_name='aapt.pb.XmlAttribute.name', 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),
    _descriptor.FieldDescriptor(
      name='value', full_name='aapt.pb.XmlAttribute.value', 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),
    _descriptor.FieldDescriptor(
      name='source', full_name='aapt.pb.XmlAttribute.source', 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),
    _descriptor.FieldDescriptor(
      name='resource_id', full_name='aapt.pb.XmlAttribute.resource_id', index=4,
      number=5, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='compiled_item', full_name='aapt.pb.XmlAttribute.compiled_item', index=5,
      number=6, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4873,
  serialized_end=5039,
)

_SOURCE.fields_by_name['position'].message_type = _SOURCEPOSITION
_RESOURCETABLE.fields_by_name['source_pool'].message_type = _STRINGPOOL
_RESOURCETABLE.fields_by_name['package'].message_type = _PACKAGE
_RESOURCETABLE.fields_by_name['overlayable'].message_type = _OVERLAYABLE
_RESOURCETABLE.fields_by_name['tool_fingerprint'].message_type = _TOOLFINGERPRINT
_PACKAGE.fields_by_name['package_id'].message_type = _PACKAGEID
_PACKAGE.fields_by_name['type'].message_type = _TYPE
_TYPE.fields_by_name['type_id'].message_type = _TYPEID
_TYPE.fields_by_name['entry'].message_type = _ENTRY
_VISIBILITY.fields_by_name['level'].enum_type = _VISIBILITY_LEVEL
_VISIBILITY.fields_by_name['source'].message_type = _SOURCE
_VISIBILITY_LEVEL.containing_type = _VISIBILITY
_ALLOWNEW.fields_by_name['source'].message_type = _SOURCE
_OVERLAYABLE.fields_by_name['source'].message_type = _SOURCE
_OVERLAYABLEITEM.fields_by_name['source'].message_type = _SOURCE
_OVERLAYABLEITEM.fields_by_name['policy'].enum_type = _OVERLAYABLEITEM_POLICY
_OVERLAYABLEITEM_POLICY.containing_type = _OVERLAYABLEITEM
_ENTRY.fields_by_name['entry_id'].message_type = _ENTRYID
_ENTRY.fields_by_name['visibility'].message_type = _VISIBILITY
_ENTRY.fields_by_name['allow_new'].message_type = _ALLOWNEW
_ENTRY.fields_by_name['overlayable_item'].message_type = _OVERLAYABLEITEM
_ENTRY.fields_by_name['config_value'].message_type = _CONFIGVALUE
_CONFIGVALUE.fields_by_name['config'].message_type = frameworks_dot_base_dot_tools_dot_aapt2_dot_Configuration__pb2._CONFIGURATION
_CONFIGVALUE.fields_by_name['value'].message_type = _VALUE
_VALUE.fields_by_name['source'].message_type = _SOURCE
_VALUE.fields_by_name['item'].message_type = _ITEM
_VALUE.fields_by_name['compound_value'].message_type = _COMPOUNDVALUE
_VALUE.oneofs_by_name['value'].fields.append(
  _VALUE.fields_by_name['item'])
_VALUE.fields_by_name['item'].containing_oneof = _VALUE.oneofs_by_name['value']
_VALUE.oneofs_by_name['value'].fields.append(
  _VALUE.fields_by_name['compound_value'])
_VALUE.fields_by_name['compound_value'].containing_oneof = _VALUE.oneofs_by_name['value']
_ITEM.fields_by_name['ref'].message_type = _REFERENCE
_ITEM.fields_by_name['str'].message_type = _STRING
_ITEM.fields_by_name['raw_str'].message_type = _RAWSTRING
_ITEM.fields_by_name['styled_str'].message_type = _STYLEDSTRING
_ITEM.fields_by_name['file'].message_type = _FILEREFERENCE
_ITEM.fields_by_name['id'].message_type = _ID
_ITEM.fields_by_name['prim'].message_type = _PRIMITIVE
_ITEM.oneofs_by_name['value'].fields.append(
  _ITEM.fields_by_name['ref'])
_ITEM.fields_by_name['ref'].containing_oneof = _ITEM.oneofs_by_name['value']
_ITEM.oneofs_by_name['value'].fields.append(
  _ITEM.fields_by_name['str'])
_ITEM.fields_by_name['str'].containing_oneof = _ITEM.oneofs_by_name['value']
_ITEM.oneofs_by_name['value'].fields.append(
  _ITEM.fields_by_name['raw_str'])
_ITEM.fields_by_name['raw_str'].containing_oneof = _ITEM.oneofs_by_name['value']
_ITEM.oneofs_by_name['value'].fields.append(
  _ITEM.fields_by_name['styled_str'])
_ITEM.fields_by_name['styled_str'].containing_oneof = _ITEM.oneofs_by_name['value']
_ITEM.oneofs_by_name['value'].fields.append(
  _ITEM.fields_by_name['file'])
_ITEM.fields_by_name['file'].containing_oneof = _ITEM.oneofs_by_name['value']
_ITEM.oneofs_by_name['value'].fields.append(
  _ITEM.fields_by_name['id'])
_ITEM.fields_by_name['id'].containing_oneof = _ITEM.oneofs_by_name['value']
_ITEM.oneofs_by_name['value'].fields.append(
  _ITEM.fields_by_name['prim'])
_ITEM.fields_by_name['prim'].containing_oneof = _ITEM.oneofs_by_name['value']
_COMPOUNDVALUE.fields_by_name['attr'].message_type = _ATTRIBUTE
_COMPOUNDVALUE.fields_by_name['style'].message_type = _STYLE
_COMPOUNDVALUE.fields_by_name['styleable'].message_type = _STYLEABLE
_COMPOUNDVALUE.fields_by_name['array'].message_type = _ARRAY
_COMPOUNDVALUE.fields_by_name['plural'].message_type = _PLURAL
_COMPOUNDVALUE.oneofs_by_name['value'].fields.append(
  _COMPOUNDVALUE.fields_by_name['attr'])
_COMPOUNDVALUE.fields_by_name['attr'].containing_oneof = _COMPOUNDVALUE.oneofs_by_name['value']
_COMPOUNDVALUE.oneofs_by_name['value'].fields.append(
  _COMPOUNDVALUE.fields_by_name['style'])
_COMPOUNDVALUE.fields_by_name['style'].containing_oneof = _COMPOUNDVALUE.oneofs_by_name['value']
_COMPOUNDVALUE.oneofs_by_name['value'].fields.append(
  _COMPOUNDVALUE.fields_by_name['styleable'])
_COMPOUNDVALUE.fields_by_name['styleable'].containing_oneof = _COMPOUNDVALUE.oneofs_by_name['value']
_COMPOUNDVALUE.oneofs_by_name['value'].fields.append(
  _COMPOUNDVALUE.fields_by_name['array'])
_COMPOUNDVALUE.fields_by_name['array'].containing_oneof = _COMPOUNDVALUE.oneofs_by_name['value']
_COMPOUNDVALUE.oneofs_by_name['value'].fields.append(
  _COMPOUNDVALUE.fields_by_name['plural'])
_COMPOUNDVALUE.fields_by_name['plural'].containing_oneof = _COMPOUNDVALUE.oneofs_by_name['value']
_REFERENCE.fields_by_name['type'].enum_type = _REFERENCE_TYPE
_REFERENCE.fields_by_name['is_dynamic'].message_type = _BOOLEAN
_REFERENCE_TYPE.containing_type = _REFERENCE
_STYLEDSTRING_SPAN.containing_type = _STYLEDSTRING
_STYLEDSTRING.fields_by_name['span'].message_type = _STYLEDSTRING_SPAN
_FILEREFERENCE.fields_by_name['type'].enum_type = _FILEREFERENCE_TYPE
_FILEREFERENCE_TYPE.containing_type = _FILEREFERENCE
_PRIMITIVE_NULLTYPE.containing_type = _PRIMITIVE
_PRIMITIVE_EMPTYTYPE.containing_type = _PRIMITIVE
_PRIMITIVE.fields_by_name['null_value'].message_type = _PRIMITIVE_NULLTYPE
_PRIMITIVE.fields_by_name['empty_value'].message_type = _PRIMITIVE_EMPTYTYPE
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['null_value'])
_PRIMITIVE.fields_by_name['null_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['empty_value'])
_PRIMITIVE.fields_by_name['empty_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['float_value'])
_PRIMITIVE.fields_by_name['float_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['dimension_value'])
_PRIMITIVE.fields_by_name['dimension_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['fraction_value'])
_PRIMITIVE.fields_by_name['fraction_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['int_decimal_value'])
_PRIMITIVE.fields_by_name['int_decimal_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['int_hexadecimal_value'])
_PRIMITIVE.fields_by_name['int_hexadecimal_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['boolean_value'])
_PRIMITIVE.fields_by_name['boolean_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['color_argb8_value'])
_PRIMITIVE.fields_by_name['color_argb8_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['color_rgb8_value'])
_PRIMITIVE.fields_by_name['color_rgb8_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['color_argb4_value'])
_PRIMITIVE.fields_by_name['color_argb4_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['color_rgb4_value'])
_PRIMITIVE.fields_by_name['color_rgb4_value'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['dimension_value_deprecated'])
_PRIMITIVE.fields_by_name['dimension_value_deprecated'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_PRIMITIVE.oneofs_by_name['oneof_value'].fields.append(
  _PRIMITIVE.fields_by_name['fraction_value_deprecated'])
_PRIMITIVE.fields_by_name['fraction_value_deprecated'].containing_oneof = _PRIMITIVE.oneofs_by_name['oneof_value']
_ATTRIBUTE_SYMBOL.fields_by_name['source'].message_type = _SOURCE
_ATTRIBUTE_SYMBOL.fields_by_name['name'].message_type = _REFERENCE
_ATTRIBUTE_SYMBOL.containing_type = _ATTRIBUTE
_ATTRIBUTE.fields_by_name['symbol'].message_type = _ATTRIBUTE_SYMBOL
_ATTRIBUTE_FORMATFLAGS.containing_type = _ATTRIBUTE
_STYLE_ENTRY.fields_by_name['source'].message_type = _SOURCE
_STYLE_ENTRY.fields_by_name['key'].message_type = _REFERENCE
_STYLE_ENTRY.fields_by_name['item'].message_type = _ITEM
_STYLE_ENTRY.containing_type = _STYLE
_STYLE.fields_by_name['parent'].message_type = _REFERENCE
_STYLE.fields_by_name['parent_source'].message_type = _SOURCE
_STYLE.fields_by_name['entry'].message_type = _STYLE_ENTRY
_STYLEABLE_ENTRY.fields_by_name['source'].message_type = _SOURCE
_STYLEABLE_ENTRY.fields_by_name['attr'].message_type = _REFERENCE
_STYLEABLE_ENTRY.containing_type = _STYLEABLE
_STYLEABLE.fields_by_name['entry'].message_type = _STYLEABLE_ENTRY
_ARRAY_ELEMENT.fields_by_name['source'].message_type = _SOURCE
_ARRAY_ELEMENT.fields_by_name['item'].message_type = _ITEM
_ARRAY_ELEMENT.containing_type = _ARRAY
_ARRAY.fields_by_name['element'].message_type = _ARRAY_ELEMENT
_PLURAL_ENTRY.fields_by_name['source'].message_type = _SOURCE
_PLURAL_ENTRY.fields_by_name['arity'].enum_type = _PLURAL_ARITY
_PLURAL_ENTRY.fields_by_name['item'].message_type = _ITEM
_PLURAL_ENTRY.containing_type = _PLURAL
_PLURAL.fields_by_name['entry'].message_type = _PLURAL_ENTRY
_PLURAL_ARITY.containing_type = _PLURAL
_XMLNODE.fields_by_name['element'].message_type = _XMLELEMENT
_XMLNODE.fields_by_name['source'].message_type = _SOURCEPOSITION
_XMLNODE.oneofs_by_name['node'].fields.append(
  _XMLNODE.fields_by_name['element'])
_XMLNODE.fields_by_name['element'].containing_oneof = _XMLNODE.oneofs_by_name['node']
_XMLNODE.oneofs_by_name['node'].fields.append(
  _XMLNODE.fields_by_name['text'])
_XMLNODE.fields_by_name['text'].containing_oneof = _XMLNODE.oneofs_by_name['node']
_XMLELEMENT.fields_by_name['namespace_declaration'].message_type = _XMLNAMESPACE
_XMLELEMENT.fields_by_name['attribute'].message_type = _XMLATTRIBUTE
_XMLELEMENT.fields_by_name['child'].message_type = _XMLNODE
_XMLNAMESPACE.fields_by_name['source'].message_type = _SOURCEPOSITION
_XMLATTRIBUTE.fields_by_name['source'].message_type = _SOURCEPOSITION
_XMLATTRIBUTE.fields_by_name['compiled_item'].message_type = _ITEM
DESCRIPTOR.message_types_by_name['StringPool'] = _STRINGPOOL
DESCRIPTOR.message_types_by_name['SourcePosition'] = _SOURCEPOSITION
DESCRIPTOR.message_types_by_name['Source'] = _SOURCE
DESCRIPTOR.message_types_by_name['ToolFingerprint'] = _TOOLFINGERPRINT
DESCRIPTOR.message_types_by_name['ResourceTable'] = _RESOURCETABLE
DESCRIPTOR.message_types_by_name['PackageId'] = _PACKAGEID
DESCRIPTOR.message_types_by_name['Package'] = _PACKAGE
DESCRIPTOR.message_types_by_name['TypeId'] = _TYPEID
DESCRIPTOR.message_types_by_name['Type'] = _TYPE
DESCRIPTOR.message_types_by_name['Visibility'] = _VISIBILITY
DESCRIPTOR.message_types_by_name['AllowNew'] = _ALLOWNEW
DESCRIPTOR.message_types_by_name['Overlayable'] = _OVERLAYABLE
DESCRIPTOR.message_types_by_name['OverlayableItem'] = _OVERLAYABLEITEM
DESCRIPTOR.message_types_by_name['EntryId'] = _ENTRYID
DESCRIPTOR.message_types_by_name['Entry'] = _ENTRY
DESCRIPTOR.message_types_by_name['ConfigValue'] = _CONFIGVALUE
DESCRIPTOR.message_types_by_name['Value'] = _VALUE
DESCRIPTOR.message_types_by_name['Item'] = _ITEM
DESCRIPTOR.message_types_by_name['CompoundValue'] = _COMPOUNDVALUE
DESCRIPTOR.message_types_by_name['Boolean'] = _BOOLEAN
DESCRIPTOR.message_types_by_name['Reference'] = _REFERENCE
DESCRIPTOR.message_types_by_name['Id'] = _ID
DESCRIPTOR.message_types_by_name['String'] = _STRING
DESCRIPTOR.message_types_by_name['RawString'] = _RAWSTRING
DESCRIPTOR.message_types_by_name['StyledString'] = _STYLEDSTRING
DESCRIPTOR.message_types_by_name['FileReference'] = _FILEREFERENCE
DESCRIPTOR.message_types_by_name['Primitive'] = _PRIMITIVE
DESCRIPTOR.message_types_by_name['Attribute'] = _ATTRIBUTE
DESCRIPTOR.message_types_by_name['Style'] = _STYLE
DESCRIPTOR.message_types_by_name['Styleable'] = _STYLEABLE
DESCRIPTOR.message_types_by_name['Array'] = _ARRAY
DESCRIPTOR.message_types_by_name['Plural'] = _PLURAL
DESCRIPTOR.message_types_by_name['XmlNode'] = _XMLNODE
DESCRIPTOR.message_types_by_name['XmlElement'] = _XMLELEMENT
DESCRIPTOR.message_types_by_name['XmlNamespace'] = _XMLNAMESPACE
DESCRIPTOR.message_types_by_name['XmlAttribute'] = _XMLATTRIBUTE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

StringPool = _reflection.GeneratedProtocolMessageType('StringPool', (_message.Message,), {
  'DESCRIPTOR' : _STRINGPOOL,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.StringPool)
  })
_sym_db.RegisterMessage(StringPool)

SourcePosition = _reflection.GeneratedProtocolMessageType('SourcePosition', (_message.Message,), {
  'DESCRIPTOR' : _SOURCEPOSITION,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.SourcePosition)
  })
_sym_db.RegisterMessage(SourcePosition)

Source = _reflection.GeneratedProtocolMessageType('Source', (_message.Message,), {
  'DESCRIPTOR' : _SOURCE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Source)
  })
_sym_db.RegisterMessage(Source)

ToolFingerprint = _reflection.GeneratedProtocolMessageType('ToolFingerprint', (_message.Message,), {
  'DESCRIPTOR' : _TOOLFINGERPRINT,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.ToolFingerprint)
  })
_sym_db.RegisterMessage(ToolFingerprint)

ResourceTable = _reflection.GeneratedProtocolMessageType('ResourceTable', (_message.Message,), {
  'DESCRIPTOR' : _RESOURCETABLE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.ResourceTable)
  })
_sym_db.RegisterMessage(ResourceTable)

PackageId = _reflection.GeneratedProtocolMessageType('PackageId', (_message.Message,), {
  'DESCRIPTOR' : _PACKAGEID,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.PackageId)
  })
_sym_db.RegisterMessage(PackageId)

Package = _reflection.GeneratedProtocolMessageType('Package', (_message.Message,), {
  'DESCRIPTOR' : _PACKAGE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Package)
  })
_sym_db.RegisterMessage(Package)

TypeId = _reflection.GeneratedProtocolMessageType('TypeId', (_message.Message,), {
  'DESCRIPTOR' : _TYPEID,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.TypeId)
  })
_sym_db.RegisterMessage(TypeId)

Type = _reflection.GeneratedProtocolMessageType('Type', (_message.Message,), {
  'DESCRIPTOR' : _TYPE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Type)
  })
_sym_db.RegisterMessage(Type)

Visibility = _reflection.GeneratedProtocolMessageType('Visibility', (_message.Message,), {
  'DESCRIPTOR' : _VISIBILITY,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Visibility)
  })
_sym_db.RegisterMessage(Visibility)

AllowNew = _reflection.GeneratedProtocolMessageType('AllowNew', (_message.Message,), {
  'DESCRIPTOR' : _ALLOWNEW,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.AllowNew)
  })
_sym_db.RegisterMessage(AllowNew)

Overlayable = _reflection.GeneratedProtocolMessageType('Overlayable', (_message.Message,), {
  'DESCRIPTOR' : _OVERLAYABLE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Overlayable)
  })
_sym_db.RegisterMessage(Overlayable)

OverlayableItem = _reflection.GeneratedProtocolMessageType('OverlayableItem', (_message.Message,), {
  'DESCRIPTOR' : _OVERLAYABLEITEM,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.OverlayableItem)
  })
_sym_db.RegisterMessage(OverlayableItem)

EntryId = _reflection.GeneratedProtocolMessageType('EntryId', (_message.Message,), {
  'DESCRIPTOR' : _ENTRYID,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.EntryId)
  })
_sym_db.RegisterMessage(EntryId)

Entry = _reflection.GeneratedProtocolMessageType('Entry', (_message.Message,), {
  'DESCRIPTOR' : _ENTRY,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Entry)
  })
_sym_db.RegisterMessage(Entry)

ConfigValue = _reflection.GeneratedProtocolMessageType('ConfigValue', (_message.Message,), {
  'DESCRIPTOR' : _CONFIGVALUE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.ConfigValue)
  })
_sym_db.RegisterMessage(ConfigValue)

Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), {
  'DESCRIPTOR' : _VALUE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Value)
  })
_sym_db.RegisterMessage(Value)

Item = _reflection.GeneratedProtocolMessageType('Item', (_message.Message,), {
  'DESCRIPTOR' : _ITEM,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Item)
  })
_sym_db.RegisterMessage(Item)

CompoundValue = _reflection.GeneratedProtocolMessageType('CompoundValue', (_message.Message,), {
  'DESCRIPTOR' : _COMPOUNDVALUE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.CompoundValue)
  })
_sym_db.RegisterMessage(CompoundValue)

Boolean = _reflection.GeneratedProtocolMessageType('Boolean', (_message.Message,), {
  'DESCRIPTOR' : _BOOLEAN,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Boolean)
  })
_sym_db.RegisterMessage(Boolean)

Reference = _reflection.GeneratedProtocolMessageType('Reference', (_message.Message,), {
  'DESCRIPTOR' : _REFERENCE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Reference)
  })
_sym_db.RegisterMessage(Reference)

Id = _reflection.GeneratedProtocolMessageType('Id', (_message.Message,), {
  'DESCRIPTOR' : _ID,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Id)
  })
_sym_db.RegisterMessage(Id)

String = _reflection.GeneratedProtocolMessageType('String', (_message.Message,), {
  'DESCRIPTOR' : _STRING,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.String)
  })
_sym_db.RegisterMessage(String)

RawString = _reflection.GeneratedProtocolMessageType('RawString', (_message.Message,), {
  'DESCRIPTOR' : _RAWSTRING,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.RawString)
  })
_sym_db.RegisterMessage(RawString)

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

  'Span' : _reflection.GeneratedProtocolMessageType('Span', (_message.Message,), {
    'DESCRIPTOR' : _STYLEDSTRING_SPAN,
    '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
    # @@protoc_insertion_point(class_scope:aapt.pb.StyledString.Span)
    })
  ,
  'DESCRIPTOR' : _STYLEDSTRING,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.StyledString)
  })
_sym_db.RegisterMessage(StyledString)
_sym_db.RegisterMessage(StyledString.Span)

FileReference = _reflection.GeneratedProtocolMessageType('FileReference', (_message.Message,), {
  'DESCRIPTOR' : _FILEREFERENCE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.FileReference)
  })
_sym_db.RegisterMessage(FileReference)

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

  'NullType' : _reflection.GeneratedProtocolMessageType('NullType', (_message.Message,), {
    'DESCRIPTOR' : _PRIMITIVE_NULLTYPE,
    '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
    # @@protoc_insertion_point(class_scope:aapt.pb.Primitive.NullType)
    })
  ,

  'EmptyType' : _reflection.GeneratedProtocolMessageType('EmptyType', (_message.Message,), {
    'DESCRIPTOR' : _PRIMITIVE_EMPTYTYPE,
    '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
    # @@protoc_insertion_point(class_scope:aapt.pb.Primitive.EmptyType)
    })
  ,
  'DESCRIPTOR' : _PRIMITIVE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Primitive)
  })
_sym_db.RegisterMessage(Primitive)
_sym_db.RegisterMessage(Primitive.NullType)
_sym_db.RegisterMessage(Primitive.EmptyType)

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

  'Symbol' : _reflection.GeneratedProtocolMessageType('Symbol', (_message.Message,), {
    'DESCRIPTOR' : _ATTRIBUTE_SYMBOL,
    '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
    # @@protoc_insertion_point(class_scope:aapt.pb.Attribute.Symbol)
    })
  ,
  'DESCRIPTOR' : _ATTRIBUTE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Attribute)
  })
_sym_db.RegisterMessage(Attribute)
_sym_db.RegisterMessage(Attribute.Symbol)

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

  'Entry' : _reflection.GeneratedProtocolMessageType('Entry', (_message.Message,), {
    'DESCRIPTOR' : _STYLE_ENTRY,
    '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
    # @@protoc_insertion_point(class_scope:aapt.pb.Style.Entry)
    })
  ,
  'DESCRIPTOR' : _STYLE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Style)
  })
_sym_db.RegisterMessage(Style)
_sym_db.RegisterMessage(Style.Entry)

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

  'Entry' : _reflection.GeneratedProtocolMessageType('Entry', (_message.Message,), {
    'DESCRIPTOR' : _STYLEABLE_ENTRY,
    '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
    # @@protoc_insertion_point(class_scope:aapt.pb.Styleable.Entry)
    })
  ,
  'DESCRIPTOR' : _STYLEABLE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Styleable)
  })
_sym_db.RegisterMessage(Styleable)
_sym_db.RegisterMessage(Styleable.Entry)

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

  'Element' : _reflection.GeneratedProtocolMessageType('Element', (_message.Message,), {
    'DESCRIPTOR' : _ARRAY_ELEMENT,
    '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
    # @@protoc_insertion_point(class_scope:aapt.pb.Array.Element)
    })
  ,
  'DESCRIPTOR' : _ARRAY,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Array)
  })
_sym_db.RegisterMessage(Array)
_sym_db.RegisterMessage(Array.Element)

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

  'Entry' : _reflection.GeneratedProtocolMessageType('Entry', (_message.Message,), {
    'DESCRIPTOR' : _PLURAL_ENTRY,
    '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
    # @@protoc_insertion_point(class_scope:aapt.pb.Plural.Entry)
    })
  ,
  'DESCRIPTOR' : _PLURAL,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.Plural)
  })
_sym_db.RegisterMessage(Plural)
_sym_db.RegisterMessage(Plural.Entry)

XmlNode = _reflection.GeneratedProtocolMessageType('XmlNode', (_message.Message,), {
  'DESCRIPTOR' : _XMLNODE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.XmlNode)
  })
_sym_db.RegisterMessage(XmlNode)

XmlElement = _reflection.GeneratedProtocolMessageType('XmlElement', (_message.Message,), {
  'DESCRIPTOR' : _XMLELEMENT,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.XmlElement)
  })
_sym_db.RegisterMessage(XmlElement)

XmlNamespace = _reflection.GeneratedProtocolMessageType('XmlNamespace', (_message.Message,), {
  'DESCRIPTOR' : _XMLNAMESPACE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.XmlNamespace)
  })
_sym_db.RegisterMessage(XmlNamespace)

XmlAttribute = _reflection.GeneratedProtocolMessageType('XmlAttribute', (_message.Message,), {
  'DESCRIPTOR' : _XMLATTRIBUTE,
  '__module__' : 'frameworks.base.tools.aapt2.Resources_pb2'
  # @@protoc_insertion_point(class_scope:aapt.pb.XmlAttribute)
  })
_sym_db.RegisterMessage(XmlAttribute)


DESCRIPTOR._options = None
_PRIMITIVE.fields_by_name['dimension_value_deprecated']._options = None
_PRIMITIVE.fields_by_name['fraction_value_deprecated']._options = None
# @@protoc_insertion_point(module_scope)
