# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: cerbos/policy/v1/policy.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'cerbos/policy/v1/policy.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
from cerbos.effect.v1 import effect_pb2 as cerbos_dot_effect_dot_v1_dot_effect__pb2
from cerbos.engine.v1 import engine_pb2 as cerbos_dot_engine_dot_v1_dot_engine__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63\x65rbos/policy/v1/policy.proto\x12\x10\x63\x65rbos.policy.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1d\x63\x65rbos/effect/v1/effect.proto\x1a\x1d\x63\x65rbos/engine/v1/engine.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xbe\x06\n\x06Policy\x12<\n\x0b\x61pi_version\x18\x01 \x01(\tB\x1b\xbaH\x18r\x13\n\x11\x61pi.cerbos.dev/v1\xc8\x01\x01R\napiVersion\x12\x1a\n\x08\x64isabled\x18\x02 \x01(\x08R\x08\x64isabled\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x36\n\x08metadata\x18\x04 \x01(\x0b\x32\x1a.cerbos.policy.v1.MetadataR\x08metadata\x12K\n\x0fresource_policy\x18\x05 \x01(\x0b\x32 .cerbos.policy.v1.ResourcePolicyH\x00R\x0eresourcePolicy\x12N\n\x10principal_policy\x18\x06 \x01(\x0b\x32!.cerbos.policy.v1.PrincipalPolicyH\x00R\x0fprincipalPolicy\x12\x45\n\rderived_roles\x18\x07 \x01(\x0b\x32\x1e.cerbos.policy.v1.DerivedRolesH\x00R\x0c\x64\x65rivedRoles\x12N\n\x10\x65xport_variables\x18\n \x01(\x0b\x32!.cerbos.policy.v1.ExportVariablesH\x00R\x0f\x65xportVariables\x12?\n\x0brole_policy\x18\x0b \x01(\x0b\x32\x1c.cerbos.policy.v1.RolePolicyH\x00R\nrolePolicy\x12N\n\x10\x65xport_constants\x18\x0c \x01(\x0b\x32!.cerbos.policy.v1.ExportConstantsH\x00R\x0f\x65xportConstants\x12I\n\tvariables\x18\x08 \x03(\x0b\x32\'.cerbos.policy.v1.Policy.VariablesEntryB\x02\x18\x01R\tvariables\x12\x1c\n\x0bjson_schema\x18\t \x01(\tR\x07$schema\x1a<\n\x0eVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x14\n\x0bpolicy_type\x12\x05\xbaH\x02\x08\x01\"\xbd\x01\n\x10SourceAttributes\x12R\n\nattributes\x18\x01 \x03(\x0b\x32\x32.cerbos.policy.v1.SourceAttributes.AttributesEntryR\nattributes\x1aU\n\x0f\x41ttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\"\x95\x03\n\x08Metadata\x12\x1f\n\x0bsource_file\x18\x01 \x01(\tR\nsourceFile\x12M\n\x0b\x61nnotations\x18\x02 \x03(\x0b\x32+.cerbos.policy.v1.Metadata.AnnotationsEntryR\x0b\x61nnotations\x12\x30\n\x04hash\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt64ValueR\x04hash\x12+\n\x0fstore_identifer\x18\x04 \x01(\tB\x02\x18\x01R\x0estoreIdentifer\x12)\n\x10store_identifier\x18\x05 \x01(\tR\x0fstoreIdentifier\x12O\n\x11source_attributes\x18\x06 \x01(\x0b\x32\".cerbos.policy.v1.SourceAttributesR\x10sourceAttributes\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xbe\x04\n\x0eResourcePolicy\x12&\n\x08resource\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x08resource\x12\x31\n\x07version\x18\x02 \x01(\tB\x17\xbaH\x14r\x0f\x32\r^[[:word:]]+$\xc8\x01\x01R\x07version\x12Q\n\x14import_derived_roles\x18\x03 \x03(\tB\x1f\xbaH\x1c\x92\x01\x19\x18\x01\"\x15r\x13\x32\x11^[[:word:]\\-\\.]+$R\x12importDerivedRoles\x12\x34\n\x05rules\x18\x04 \x03(\x0b\x32\x1e.cerbos.policy.v1.ResourceRuleR\x05rules\x12L\n\x05scope\x18\x05 \x01(\tB6\xbaH3r12/^([[:alnum:]][[:word:]\\-]*(\\.[[:word:]\\-]*)*)*$R\x05scope\x12\x33\n\x07schemas\x18\x06 \x01(\x0b\x32\x19.cerbos.policy.v1.SchemasR\x07schemas\x12\x39\n\tvariables\x18\x07 \x01(\x0b\x32\x1b.cerbos.policy.v1.VariablesR\tvariables\x12O\n\x11scope_permissions\x18\x08 \x01(\x0e\x32\".cerbos.policy.v1.ScopePermissionsR\x10scopePermissions\x12\x39\n\tconstants\x18\t \x01(\x0b\x32\x1b.cerbos.policy.v1.ConstantsR\tconstants\"\x95\x03\n\x0cResourceRule\x12-\n\x07\x61\x63tions\x18\x01 \x03(\tB\x13\xbaH\x10\x92\x01\n\x08\x01\x18\x01\"\x04r\x02\x10\x01\xc8\x01\x01R\x07\x61\x63tions\x12\x44\n\rderived_roles\x18\x02 \x03(\tB\x1f\xbaH\x1c\x92\x01\x19\x18\x01\"\x15r\x13\x32\x11^[[:word:]\\-\\.]+$R\x0c\x64\x65rivedRoles\x12$\n\x05roles\x18\x03 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x18\x01\"\x04r\x02\x10\x01R\x05roles\x12\x39\n\tcondition\x18\x04 \x01(\x0b\x32\x1b.cerbos.policy.v1.ConditionR\tcondition\x12?\n\x06\x65\x66\x66\x65\x63t\x18\x05 \x01(\x0e\x32\x18.cerbos.effect.v1.EffectB\r\xbaH\n\x82\x01\x04\x18\x01\x18\x02\xc8\x01\x01R\x06\x65\x66\x66\x65\x63t\x12<\n\x04name\x18\x06 \x01(\tB(\xbaH%r#2!^([[:alpha:]][[:word:]\\@\\.\\-]*)*$R\x04name\x12\x30\n\x06output\x18\x07 \x01(\x0b\x32\x18.cerbos.policy.v1.OutputR\x06output\"\xd3\x02\n\nRolePolicy\x12\x1d\n\x04role\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01H\x00R\x04role\x12\x31\n\x0cparent_roles\x18\x05 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x18\x01\"\x04r\x02\x10\x01R\x0bparentRoles\x12L\n\x05scope\x18\x02 \x01(\tB6\xbaH3r12/^([[:alnum:]][[:word:]\\-]*(\\.[[:word:]\\-]*)*)*$R\x05scope\x12\x30\n\x05rules\x18\x03 \x03(\x0b\x32\x1a.cerbos.policy.v1.RoleRuleR\x05rules\x12]\n\x11scope_permissions\x18\x04 \x01(\x0e\x32\".cerbos.policy.v1.ScopePermissionsB\x0c\x18\x01\xbaH\x07\x82\x01\x04\x18\x00\x18\x02R\x10scopePermissionsB\x14\n\x0bpolicy_type\x12\x05\xbaH\x02\x08\x01\"\xa7\x01\n\x08RoleRule\x12&\n\x08resource\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x08resource\x12\x38\n\rallow_actions\x18\x02 \x03(\tB\x13\xbaH\x10\x92\x01\n\x08\x01\x18\x01\"\x04r\x02\x10\x01\xc8\x01\x01R\x0c\x61llowActions\x12\x39\n\tcondition\x18\x03 \x01(\x0b\x32\x1b.cerbos.policy.v1.ConditionR\tcondition\"\xba\x03\n\x0fPrincipalPolicy\x12(\n\tprincipal\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\tprincipal\x12\x31\n\x07version\x18\x02 \x01(\tB\x17\xbaH\x14r\x0f\x32\r^[[:word:]]+$\xc8\x01\x01R\x07version\x12\x35\n\x05rules\x18\x03 \x03(\x0b\x32\x1f.cerbos.policy.v1.PrincipalRuleR\x05rules\x12L\n\x05scope\x18\x04 \x01(\tB6\xbaH3r12/^([[:alnum:]][[:word:]\\-]*(\\.[[:word:]\\-]*)*)*$R\x05scope\x12\x39\n\tvariables\x18\x05 \x01(\x0b\x32\x1b.cerbos.policy.v1.VariablesR\tvariables\x12O\n\x11scope_permissions\x18\x06 \x01(\x0e\x32\".cerbos.policy.v1.ScopePermissionsR\x10scopePermissions\x12\x39\n\tconstants\x18\x07 \x01(\x0b\x32\x1b.cerbos.policy.v1.ConstantsR\tconstants\"\xa1\x03\n\rPrincipalRule\x12&\n\x08resource\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x08resource\x12M\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32&.cerbos.policy.v1.PrincipalRule.ActionB\x0b\xbaH\x08\x92\x01\x02\x08\x01\xc8\x01\x01R\x07\x61\x63tions\x1a\x98\x02\n\x06\x41\x63tion\x12\"\n\x06\x61\x63tion\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x06\x61\x63tion\x12\x39\n\tcondition\x18\x02 \x01(\x0b\x32\x1b.cerbos.policy.v1.ConditionR\tcondition\x12?\n\x06\x65\x66\x66\x65\x63t\x18\x03 \x01(\x0e\x32\x18.cerbos.effect.v1.EffectB\r\xbaH\n\x82\x01\x04\x18\x01\x18\x02\xc8\x01\x01R\x06\x65\x66\x66\x65\x63t\x12<\n\x04name\x18\x04 \x01(\tB(\xbaH%r#2!^([[:alpha:]][[:word:]\\@\\.\\-]*)*$R\x04name\x12\x30\n\x06output\x18\x05 \x01(\x0b\x32\x18.cerbos.policy.v1.OutputR\x06output\"\x81\x02\n\x0c\x44\x65rivedRoles\x12\x31\n\x04name\x18\x01 \x01(\tB\x1d\xbaH\x1ar\x15\x10\x01\x32\x11^[[:word:]\\-\\.]+$\xc8\x01\x01R\x04name\x12H\n\x0b\x64\x65\x66initions\x18\x02 \x03(\x0b\x32\x19.cerbos.policy.v1.RoleDefB\x0b\xbaH\x08\x92\x01\x02\x08\x01\xc8\x01\x01R\x0b\x64\x65\x66initions\x12\x39\n\tvariables\x18\x03 \x01(\x0b\x32\x1b.cerbos.policy.v1.VariablesR\tvariables\x12\x39\n\tconstants\x18\x04 \x01(\x0b\x32\x1b.cerbos.policy.v1.ConstantsR\tconstants\"\xad\x01\n\x07RoleDef\x12/\n\x04name\x18\x01 \x01(\tB\x1b\xbaH\x18r\x13\x32\x11^[[:word:]\\-\\.]+$\xc8\x01\x01R\x04name\x12\x36\n\x0cparent_roles\x18\x02 \x03(\tB\x13\xbaH\x10\x92\x01\n\x08\x01\x18\x01\"\x04r\x02\x10\x01\xc8\x01\x01R\x0bparentRoles\x12\x39\n\tcondition\x18\x03 \x01(\x0b\x32\x1b.cerbos.policy.v1.ConditionR\tcondition\"\xf2\x01\n\x0f\x45xportConstants\x12\x31\n\x04name\x18\x01 \x01(\tB\x1d\xbaH\x1ar\x15\x10\x01\x32\x11^[[:word:]\\-\\.]+$\xc8\x01\x01R\x04name\x12T\n\x0b\x64\x65\x66initions\x18\x02 \x03(\x0b\x32\x32.cerbos.policy.v1.ExportConstants.DefinitionsEntryR\x0b\x64\x65\x66initions\x1aV\n\x10\x44\x65\x66initionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\"\xd4\x01\n\tConstants\x12\x37\n\x06import\x18\x01 \x03(\tB\x1f\xbaH\x1c\x92\x01\x19\x18\x01\"\x15r\x13\x32\x11^[[:word:]\\-\\.]+$R\x06import\x12<\n\x05local\x18\x02 \x03(\x0b\x32&.cerbos.policy.v1.Constants.LocalEntryR\x05local\x1aP\n\nLocalEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\"\xda\x01\n\x0f\x45xportVariables\x12\x31\n\x04name\x18\x01 \x01(\tB\x1d\xbaH\x1ar\x15\x10\x01\x32\x11^[[:word:]\\-\\.]+$\xc8\x01\x01R\x04name\x12T\n\x0b\x64\x65\x66initions\x18\x02 \x03(\x0b\x32\x32.cerbos.policy.v1.ExportVariables.DefinitionsEntryR\x0b\x64\x65\x66initions\x1a>\n\x10\x44\x65\x66initionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xbc\x01\n\tVariables\x12\x37\n\x06import\x18\x01 \x03(\tB\x1f\xbaH\x1c\x92\x01\x19\x18\x01\"\x15r\x13\x32\x11^[[:word:]\\-\\.]+$R\x06import\x12<\n\x05local\x18\x02 \x03(\x0b\x32&.cerbos.policy.v1.Variables.LocalEntryR\x05local\x1a\x38\n\nLocalEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"j\n\tCondition\x12/\n\x05match\x18\x01 \x01(\x0b\x32\x17.cerbos.policy.v1.MatchH\x00R\x05match\x12\x18\n\x06script\x18\x02 \x01(\tH\x00R\x06scriptB\x12\n\tcondition\x12\x05\xbaH\x02\x08\x01\"\x90\x02\n\x05Match\x12\x34\n\x03\x61ll\x18\x01 \x01(\x0b\x32 .cerbos.policy.v1.Match.ExprListH\x00R\x03\x61ll\x12\x34\n\x03\x61ny\x18\x02 \x01(\x0b\x32 .cerbos.policy.v1.Match.ExprListH\x00R\x03\x61ny\x12\x36\n\x04none\x18\x03 \x01(\x0b\x32 .cerbos.policy.v1.Match.ExprListH\x00R\x04none\x12\x14\n\x04\x65xpr\x18\x04 \x01(\tH\x00R\x04\x65xpr\x1a@\n\x08\x45xprList\x12\x34\n\x02of\x18\x01 \x03(\x0b\x32\x17.cerbos.policy.v1.MatchB\x0b\xbaH\x08\x92\x01\x02\x08\x01\xc8\x01\x01R\x02ofB\x0b\n\x02op\x12\x05\xbaH\x02\x08\x01\"\xae\x01\n\x06Output\x12\x16\n\x04\x65xpr\x18\x01 \x01(\tB\x02\x18\x01R\x04\x65xpr\x12\x31\n\x04when\x18\x02 \x01(\x0b\x32\x1d.cerbos.policy.v1.Output.WhenR\x04when\x1aY\n\x04When\x12%\n\x0erule_activated\x18\x01 \x01(\tR\rruleActivated\x12*\n\x11\x63ondition_not_met\x18\x02 \x01(\tR\x0f\x63onditionNotMet\"\xcd\x02\n\x07Schemas\x12K\n\x10principal_schema\x18\x01 \x01(\x0b\x32 .cerbos.policy.v1.Schemas.SchemaR\x0fprincipalSchema\x12I\n\x0fresource_schema\x18\x02 \x01(\x0b\x32 .cerbos.policy.v1.Schemas.SchemaR\x0eresourceSchema\x1a;\n\nIgnoreWhen\x12-\n\x07\x61\x63tions\x18\x01 \x03(\tB\x13\xbaH\x10\x92\x01\n\x08\x01\x18\x01\"\x04r\x02\x10\x01\xc8\x01\x01R\x07\x61\x63tions\x1am\n\x06Schema\x12\x1c\n\x03ref\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x03ref\x12\x45\n\x0bignore_when\x18\x02 \x01(\x0b\x32$.cerbos.policy.v1.Schemas.IgnoreWhenR\nignoreWhen\"\xd0\x08\n\x0bTestFixture\x1a\xbd\x03\n\nPrincipals\x12X\n\nprincipals\x18\x01 \x03(\x0b\x32\x38.cerbos.policy.v1.TestFixture.Principals.PrincipalsEntryR\nprincipals\x12\x1c\n\x0bjson_schema\x18\x02 \x01(\tR\x07$schema\x12h\n\x10principal_groups\x18\x03 \x03(\x0b\x32=.cerbos.policy.v1.TestFixture.Principals.PrincipalGroupsEntryR\x0fprincipalGroups\x1aZ\n\x0fPrincipalsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x31\n\x05value\x18\x02 \x01(\x0b\x32\x1b.cerbos.engine.v1.PrincipalR\x05value:\x02\x38\x01\x1aq\n\x14PrincipalGroupsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32-.cerbos.policy.v1.TestFixtureGroup.PrincipalsR\x05value:\x02\x38\x01\x1a\xb0\x03\n\tResources\x12T\n\tresources\x18\x01 \x03(\x0b\x32\x36.cerbos.policy.v1.TestFixture.Resources.ResourcesEntryR\tresources\x12\x1c\n\x0bjson_schema\x18\x02 \x01(\tR\x07$schema\x12\x64\n\x0fresource_groups\x18\x03 \x03(\x0b\x32;.cerbos.policy.v1.TestFixture.Resources.ResourceGroupsEntryR\x0eresourceGroups\x1aX\n\x0eResourcesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x30\n\x05value\x18\x02 \x01(\x0b\x32\x1a.cerbos.engine.v1.ResourceR\x05value:\x02\x38\x01\x1ao\n\x13ResourceGroupsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x42\n\x05value\x18\x02 \x01(\x0b\x32,.cerbos.policy.v1.TestFixtureGroup.ResourcesR\x05value:\x02\x38\x01\x1a\xcd\x01\n\x07\x41uxData\x12M\n\x08\x61ux_data\x18\x01 \x03(\x0b\x32\x32.cerbos.policy.v1.TestFixture.AuxData.AuxDataEntryR\x07\x61uxData\x12\x1c\n\x0bjson_schema\x18\x02 \x01(\tR\x07$schema\x1aU\n\x0c\x41uxDataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12/\n\x05value\x18\x02 \x01(\x0b\x32\x19.cerbos.engine.v1.AuxDataR\x05value:\x02\x38\x01\"\x95\x01\n\x10TestFixtureGroup\x1a\x41\n\nPrincipals\x12\x33\n\nprincipals\x18\x01 \x03(\tB\x13\xbaH\x10\x92\x01\n\x08\x01\x18\x01\"\x04r\x02\x10\x01\xc8\x01\x01R\nprincipals\x1a>\n\tResources\x12\x31\n\tresources\x18\x01 \x03(\tB\x13\xbaH\x10\x92\x01\n\x08\x01\x18\x01\"\x04r\x02\x10\x01\xc8\x01\x01R\tresources\"\xbd\x02\n\x0bTestOptions\x12,\n\x03now\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x03now\x12\x30\n\x14lenient_scope_search\x18\x02 \x01(\x08R\x12lenientScopeSearch\x12\x44\n\x07globals\x18\x03 \x03(\x0b\x32*.cerbos.policy.v1.TestOptions.GlobalsEntryR\x07globals\x12\x34\n\x16\x64\x65\x66\x61ult_policy_version\x18\x04 \x01(\tR\x14\x64\x65\x66\x61ultPolicyVersion\x1aR\n\x0cGlobalsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\"\x9d\t\n\tTestSuite\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x04name\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04skip\x18\x03 \x01(\x08R\x04skip\x12\x1f\n\x0bskip_reason\x18\x04 \x01(\tR\nskipReason\x12>\n\x05tests\x18\x05 \x03(\x0b\x32\x1b.cerbos.policy.v1.TestTableB\x0b\xbaH\x08\x92\x01\x02\x08\x01\xc8\x01\x01R\x05tests\x12K\n\nprincipals\x18\x06 \x03(\x0b\x32+.cerbos.policy.v1.TestSuite.PrincipalsEntryR\nprincipals\x12H\n\tresources\x18\x07 \x03(\x0b\x32*.cerbos.policy.v1.TestSuite.ResourcesEntryR\tresources\x12\x43\n\x08\x61ux_data\x18\x08 \x03(\x0b\x32(.cerbos.policy.v1.TestSuite.AuxDataEntryR\x07\x61uxData\x12\x37\n\x07options\x18\t \x01(\x0b\x32\x1d.cerbos.policy.v1.TestOptionsR\x07options\x12\x1c\n\x0bjson_schema\x18\n \x01(\tR\x07$schema\x12[\n\x10principal_groups\x18\x0b \x03(\x0b\x32\x30.cerbos.policy.v1.TestSuite.PrincipalGroupsEntryR\x0fprincipalGroups\x12X\n\x0fresource_groups\x18\x0c \x03(\x0b\x32/.cerbos.policy.v1.TestSuite.ResourceGroupsEntryR\x0eresourceGroups\x1aZ\n\x0fPrincipalsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x31\n\x05value\x18\x02 \x01(\x0b\x32\x1b.cerbos.engine.v1.PrincipalR\x05value:\x02\x38\x01\x1aX\n\x0eResourcesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x30\n\x05value\x18\x02 \x01(\x0b\x32\x1a.cerbos.engine.v1.ResourceR\x05value:\x02\x38\x01\x1aU\n\x0c\x41uxDataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12/\n\x05value\x18\x02 \x01(\x0b\x32\x19.cerbos.engine.v1.AuxDataR\x05value:\x02\x38\x01\x1aq\n\x14PrincipalGroupsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32-.cerbos.policy.v1.TestFixtureGroup.PrincipalsR\x05value:\x02\x38\x01\x1ao\n\x13ResourceGroupsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x42\n\x05value\x18\x02 \x01(\x0b\x32,.cerbos.policy.v1.TestFixtureGroup.ResourcesR\x05value:\x02\x38\x01\"\x99\x11\n\tTestTable\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x04name\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04skip\x18\x03 \x01(\x08R\x04skip\x12\x1f\n\x0bskip_reason\x18\x04 \x01(\tR\nskipReason\x12?\n\x05input\x18\x05 \x01(\x0b\x32!.cerbos.policy.v1.TestTable.InputB\x06\xbaH\x03\xc8\x01\x01R\x05input\x12P\n\x08\x65xpected\x18\x06 \x03(\x0b\x32\'.cerbos.policy.v1.TestTable.ExpectationB\x0b\xbaH\x08\x92\x01\x02\x08\x01\xc8\x01\x01R\x08\x65xpected\x12\x37\n\x07options\x18\x07 \x01(\x0b\x32\x1d.cerbos.policy.v1.TestOptionsR\x07options\x1a\xa7\x04\n\x05Input\x12.\n\nprincipals\x18\x01 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x18\x01\"\x04r\x02\x10\x01R\nprincipals\x12,\n\tresources\x18\x02 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x18\x01\"\x04r\x02\x10\x01R\tresources\x12-\n\x07\x61\x63tions\x18\x03 \x03(\tB\x13\xbaH\x10\x92\x01\n\x08\x01\x18\x01\"\x04r\x02\x10\x01\xc8\x01\x01R\x07\x61\x63tions\x12\x19\n\x08\x61ux_data\x18\x04 \x01(\tR\x07\x61uxData\x12\x39\n\x10principal_groups\x18\x05 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x18\x01\"\x04r\x02\x10\x01R\x0fprincipalGroups\x12\x37\n\x0fresource_groups\x18\x06 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x18\x01\"\x04r\x02\x10\x01R\x0eresourceGroups:\x81\x02\xbaH\xfd\x01\x1a\x7f\n\x10input.principals\x12-principals or principalGroups must be present\x1a<size(this.principals) > 0 || size(this.principal_groups) > 0\x1az\n\x0finput.resources\x12+resources or resourceGroups must be present\x1a:size(this.resources) > 0 || size(this.resource_groups) > 0\x1a\x80\x01\n\x12OutputExpectations\x12\"\n\x06\x61\x63tion\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x06\x61\x63tion\x12\x46\n\x08\x65xpected\x18\x02 \x03(\x0b\x32\x1d.cerbos.engine.v1.OutputEntryB\x0b\xbaH\x08\x92\x01\x02\x08\x01\xc8\x01\x01R\x08\x65xpected\x1a\x9b\t\n\x0b\x45xpectation\x12\x1c\n\tprincipal\x18\x01 \x01(\tR\tprincipal\x12\x1a\n\x08resource\x18\x02 \x01(\tR\x08resource\x12j\n\x07\x61\x63tions\x18\x03 \x03(\x0b\x32\x34.cerbos.policy.v1.TestTable.Expectation.ActionsEntryB\x1a\xbaH\x17\x9a\x01\x11\x08\x01\"\x04r\x02\x10\x01*\x07\x82\x01\x04\x18\x01\x18\x02\xc8\x01\x01R\x07\x61\x63tions\x12H\n\x07outputs\x18\x04 \x03(\x0b\x32..cerbos.policy.v1.TestTable.OutputExpectationsR\x07outputs\x12.\n\nprincipals\x18\x05 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x18\x01\"\x04r\x02\x10\x01R\nprincipals\x12,\n\tresources\x18\x06 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x18\x01\"\x04r\x02\x10\x01R\tresources\x12\x39\n\x10principal_groups\x18\x07 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x18\x01\"\x04r\x02\x10\x01R\x0fprincipalGroups\x12\x37\n\x0fresource_groups\x18\x08 \x03(\tB\x0e\xbaH\x0b\x92\x01\x08\x18\x01\"\x04r\x02\x10\x01R\x0eresourceGroups\x1aT\n\x0c\x41\x63tionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12.\n\x05value\x18\x02 \x01(\x0e\x32\x18.cerbos.effect.v1.EffectR\x05value:\x02\x38\x01:\xf3\x04\xbaH\xef\x04\x1a\xa9\x01\n\x16\x65xpectation.principals\x12\x39principal, principals, or principalGroups must be present\x1aTthis.principal != \'\' || size(this.principals) > 0 || size(this.principal_groups) > 0\x1a\x8f\x01\n%expectation.principal_nand_principals\x12\x30principal and principals may not both be present\x1a\x34!(this.principal != \'\' && size(this.principals) > 0)\x1a\xa2\x01\n\x15\x65xpectation.resources\x12\x36resource, resources, or resourceGroups must be present\x1aQthis.resource != \'\' || size(this.resources) > 0 || size(this.resource_groups) > 0\x1a\x89\x01\n#expectation.resource_nand_resources\x12.resource and resources may not both be present\x1a\x32!(this.resource != \'\' && size(this.resources) > 0)\"\xda\x07\n\x04Test\x12;\n\x04name\x18\x01 \x01(\x0b\x32\x1f.cerbos.policy.v1.Test.TestNameB\x06\xbaH\x03\xc8\x01\x01R\x04name\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04skip\x18\x03 \x01(\x08R\x04skip\x12\x1f\n\x0bskip_reason\x18\x04 \x01(\tR\nskipReason\x12:\n\x05input\x18\x05 \x01(\x0b\x32\x1c.cerbos.engine.v1.CheckInputB\x06\xbaH\x03\xc8\x01\x01R\x05input\x12\\\n\x08\x65xpected\x18\x06 \x03(\x0b\x32$.cerbos.policy.v1.Test.ExpectedEntryB\x1a\xbaH\x17\x9a\x01\x11\x08\x01\"\x04r\x02\x10\x01*\x07\x82\x01\x04\x18\x01\x18\x02\xc8\x01\x01R\x08\x65xpected\x12\x37\n\x07options\x18\x07 \x01(\x0b\x32\x1d.cerbos.policy.v1.TestOptionsR\x07options\x12V\n\x10\x65xpected_outputs\x18\x08 \x03(\x0b\x32+.cerbos.policy.v1.Test.ExpectedOutputsEntryR\x0f\x65xpectedOutputs\x1a\x9e\x01\n\x08TestName\x12\x32\n\x0ftest_table_name\x18\x01 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\rtestTableName\x12/\n\rprincipal_key\x18\x02 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x0cprincipalKey\x12-\n\x0cresource_key\x18\x03 \x01(\tB\n\xbaH\x07r\x02\x10\x01\xc8\x01\x01R\x0bresourceKey\x1a\xb0\x01\n\rOutputEntries\x12K\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x31.cerbos.policy.v1.Test.OutputEntries.EntriesEntryR\x07\x65ntries\x1aR\n\x0c\x45ntriesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x05value:\x02\x38\x01\x1aU\n\rExpectedEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12.\n\x05value\x18\x02 \x01(\x0e\x32\x18.cerbos.effect.v1.EffectR\x05value:\x02\x38\x01\x1ah\n\x14\x45xpectedOutputsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12:\n\x05value\x18\x02 \x01(\x0b\x32$.cerbos.policy.v1.Test.OutputEntriesR\x05value:\x02\x38\x01\"\xad\x12\n\x0bTestResults\x12;\n\x06suites\x18\x01 \x03(\x0b\x32#.cerbos.policy.v1.TestResults.SuiteR\x06suites\x12?\n\x07summary\x18\x02 \x01(\x0b\x32%.cerbos.policy.v1.TestResults.SummaryR\x07summary\x1a[\n\x05Tally\x12<\n\x06result\x18\x01 \x01(\x0e\x32$.cerbos.policy.v1.TestResults.ResultR\x06result\x12\x14\n\x05\x63ount\x18\x02 \x01(\rR\x05\x63ount\x1a\xc1\x01\n\x07Summary\x12K\n\x0eoverall_result\x18\x01 \x01(\x0e\x32$.cerbos.policy.v1.TestResults.ResultR\roverallResult\x12\x1f\n\x0btests_count\x18\x02 \x01(\rR\ntestsCount\x12H\n\rresult_counts\x18\x03 \x03(\x0b\x32#.cerbos.policy.v1.TestResults.TallyR\x0cresultCounts\x1a\xdd\x02\n\x05Suite\x12\x12\n\x04\x66ile\x18\x01 \x01(\tR\x04\x66ile\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12K\n\nprincipals\x18\x03 \x03(\x0b\x32\'.cerbos.policy.v1.TestResults.PrincipalB\x02\x18\x01R\nprincipals\x12?\n\x07summary\x18\x04 \x01(\x0b\x32%.cerbos.policy.v1.TestResults.SummaryR\x07summary\x12\x14\n\x05\x65rror\x18\x05 \x01(\tR\x05\x65rror\x12\x45\n\ntest_cases\x18\x06 \x03(\x0b\x32&.cerbos.policy.v1.TestResults.TestCaseR\ttestCases\x12 \n\x0b\x64\x65scription\x18\x07 \x01(\tR\x0b\x64\x65scription\x12\x1f\n\x0bskip_reason\x18\x08 \x01(\tR\nskipReason\x1ag\n\x08TestCase\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12G\n\nprincipals\x18\x02 \x03(\x0b\x32\'.cerbos.policy.v1.TestResults.PrincipalR\nprincipals\x1a\x65\n\tPrincipal\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x44\n\tresources\x18\x02 \x03(\x0b\x32&.cerbos.policy.v1.TestResults.ResourceR\tresources\x1a^\n\x08Resource\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12>\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32$.cerbos.policy.v1.TestResults.ActionR\x07\x61\x63tions\x1a]\n\x06\x41\x63tion\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12?\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32%.cerbos.policy.v1.TestResults.DetailsR\x07\x64\x65tails\x1a\xcf\x02\n\x07\x44\x65tails\x12<\n\x06result\x18\x01 \x01(\x0e\x32$.cerbos.policy.v1.TestResults.ResultR\x06result\x12\x41\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32%.cerbos.policy.v1.TestResults.FailureH\x00R\x07\x66\x61ilure\x12\x16\n\x05\x65rror\x18\x03 \x01(\tH\x00R\x05\x65rror\x12\x41\n\x07success\x18\x05 \x01(\x0b\x32%.cerbos.policy.v1.TestResults.SuccessH\x00R\x07success\x12!\n\x0bskip_reason\x18\x06 \x01(\tH\x00R\nskipReason\x12:\n\x0c\x65ngine_trace\x18\x04 \x03(\x0b\x32\x17.cerbos.engine.v1.TraceR\x0b\x65ngineTraceB\t\n\x07outcome\x1a\x9c\x03\n\rOutputFailure\x12\x10\n\x03src\x18\x01 \x01(\tR\x03src\x12]\n\nmismatched\x18\x02 \x01(\x0b\x32;.cerbos.policy.v1.TestResults.OutputFailure.MismatchedValueH\x00R\nmismatched\x12T\n\x07missing\x18\x03 \x01(\x0b\x32\x38.cerbos.policy.v1.TestResults.OutputFailure.MissingValueH\x00R\x07missing\x1au\n\x0fMismatchedValue\x12\x32\n\x08\x65xpected\x18\x01 \x01(\x0b\x32\x16.google.protobuf.ValueR\x08\x65xpected\x12.\n\x06\x61\x63tual\x18\x02 \x01(\x0b\x32\x16.google.protobuf.ValueR\x06\x61\x63tual\x1a\x42\n\x0cMissingValue\x12\x32\n\x08\x65xpected\x18\x01 \x01(\x0b\x32\x16.google.protobuf.ValueR\x08\x65xpectedB\t\n\x07outcome\x1a\xb8\x01\n\x07\x46\x61ilure\x12\x34\n\x08\x65xpected\x18\x01 \x01(\x0e\x32\x18.cerbos.effect.v1.EffectR\x08\x65xpected\x12\x30\n\x06\x61\x63tual\x18\x02 \x01(\x0e\x32\x18.cerbos.effect.v1.EffectR\x06\x61\x63tual\x12\x45\n\x07outputs\x18\x03 \x03(\x0b\x32+.cerbos.policy.v1.TestResults.OutputFailureR\x07outputs\x1at\n\x07Success\x12\x30\n\x06\x65\x66\x66\x65\x63t\x18\x01 \x01(\x0e\x32\x18.cerbos.effect.v1.EffectR\x06\x65\x66\x66\x65\x63t\x12\x37\n\x07outputs\x18\x02 \x03(\x0b\x32\x1d.cerbos.engine.v1.OutputEntryR\x07outputs\"n\n\x06Result\x12\x16\n\x12RESULT_UNSPECIFIED\x10\x00\x12\x12\n\x0eRESULT_SKIPPED\x10\x01\x12\x11\n\rRESULT_PASSED\x10\x02\x12\x11\n\rRESULT_FAILED\x10\x03\x12\x12\n\x0eRESULT_ERRORED\x10\x04*\xa7\x01\n\x04Kind\x12\x14\n\x10KIND_UNSPECIFIED\x10\x00\x12\x16\n\x12KIND_DERIVED_ROLES\x10\x01\x12\x19\n\x15KIND_EXPORT_VARIABLES\x10\x02\x12\x12\n\x0eKIND_PRINCIPAL\x10\x03\x12\x11\n\rKIND_RESOURCE\x10\x04\x12\x14\n\x10KIND_ROLE_POLICY\x10\x05\x12\x19\n\x15KIND_EXPORT_CONSTANTS\x10\x06*\x97\x01\n\x10ScopePermissions\x12!\n\x1dSCOPE_PERMISSIONS_UNSPECIFIED\x10\x00\x12%\n!SCOPE_PERMISSIONS_OVERRIDE_PARENT\x10\x01\x12\x39\n5SCOPE_PERMISSIONS_REQUIRE_PARENTAL_CONSENT_FOR_ALLOWS\x10\x02\x42o\n\x18\x64\x65v.cerbos.api.v1.policyZ<github.com/cerbos/cerbos/api/genpb/cerbos/policy/v1;policyv1\xaa\x02\x14\x43\x65rbos.Api.V1.Policyb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cerbos.policy.v1.policy_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\030dev.cerbos.api.v1.policyZ<github.com/cerbos/cerbos/api/genpb/cerbos/policy/v1;policyv1\252\002\024Cerbos.Api.V1.Policy'
  _globals['_POLICY_VARIABLESENTRY']._loaded_options = None
  _globals['_POLICY_VARIABLESENTRY']._serialized_options = b'8\001'
  _globals['_POLICY'].oneofs_by_name['policy_type']._loaded_options = None
  _globals['_POLICY'].oneofs_by_name['policy_type']._serialized_options = b'\272H\002\010\001'
  _globals['_POLICY'].fields_by_name['api_version']._loaded_options = None
  _globals['_POLICY'].fields_by_name['api_version']._serialized_options = b'\272H\030r\023\n\021api.cerbos.dev/v1\310\001\001'
  _globals['_POLICY'].fields_by_name['variables']._loaded_options = None
  _globals['_POLICY'].fields_by_name['variables']._serialized_options = b'\030\001'
  _globals['_SOURCEATTRIBUTES_ATTRIBUTESENTRY']._loaded_options = None
  _globals['_SOURCEATTRIBUTES_ATTRIBUTESENTRY']._serialized_options = b'8\001'
  _globals['_METADATA_ANNOTATIONSENTRY']._loaded_options = None
  _globals['_METADATA_ANNOTATIONSENTRY']._serialized_options = b'8\001'
  _globals['_METADATA'].fields_by_name['store_identifer']._loaded_options = None
  _globals['_METADATA'].fields_by_name['store_identifer']._serialized_options = b'\030\001'
  _globals['_RESOURCEPOLICY'].fields_by_name['resource']._loaded_options = None
  _globals['_RESOURCEPOLICY'].fields_by_name['resource']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_RESOURCEPOLICY'].fields_by_name['version']._loaded_options = None
  _globals['_RESOURCEPOLICY'].fields_by_name['version']._serialized_options = b'\272H\024r\0172\r^[[:word:]]+$\310\001\001'
  _globals['_RESOURCEPOLICY'].fields_by_name['import_derived_roles']._loaded_options = None
  _globals['_RESOURCEPOLICY'].fields_by_name['import_derived_roles']._serialized_options = b'\272H\034\222\001\031\030\001\"\025r\0232\021^[[:word:]\\-\\.]+$'
  _globals['_RESOURCEPOLICY'].fields_by_name['scope']._loaded_options = None
  _globals['_RESOURCEPOLICY'].fields_by_name['scope']._serialized_options = b'\272H3r12/^([[:alnum:]][[:word:]\\-]*(\\.[[:word:]\\-]*)*)*$'
  _globals['_RESOURCERULE'].fields_by_name['actions']._loaded_options = None
  _globals['_RESOURCERULE'].fields_by_name['actions']._serialized_options = b'\272H\020\222\001\n\010\001\030\001\"\004r\002\020\001\310\001\001'
  _globals['_RESOURCERULE'].fields_by_name['derived_roles']._loaded_options = None
  _globals['_RESOURCERULE'].fields_by_name['derived_roles']._serialized_options = b'\272H\034\222\001\031\030\001\"\025r\0232\021^[[:word:]\\-\\.]+$'
  _globals['_RESOURCERULE'].fields_by_name['roles']._loaded_options = None
  _globals['_RESOURCERULE'].fields_by_name['roles']._serialized_options = b'\272H\013\222\001\010\030\001\"\004r\002\020\001'
  _globals['_RESOURCERULE'].fields_by_name['effect']._loaded_options = None
  _globals['_RESOURCERULE'].fields_by_name['effect']._serialized_options = b'\272H\n\202\001\004\030\001\030\002\310\001\001'
  _globals['_RESOURCERULE'].fields_by_name['name']._loaded_options = None
  _globals['_RESOURCERULE'].fields_by_name['name']._serialized_options = b'\272H%r#2!^([[:alpha:]][[:word:]\\@\\.\\-]*)*$'
  _globals['_ROLEPOLICY'].oneofs_by_name['policy_type']._loaded_options = None
  _globals['_ROLEPOLICY'].oneofs_by_name['policy_type']._serialized_options = b'\272H\002\010\001'
  _globals['_ROLEPOLICY'].fields_by_name['role']._loaded_options = None
  _globals['_ROLEPOLICY'].fields_by_name['role']._serialized_options = b'\272H\004r\002\020\001'
  _globals['_ROLEPOLICY'].fields_by_name['parent_roles']._loaded_options = None
  _globals['_ROLEPOLICY'].fields_by_name['parent_roles']._serialized_options = b'\272H\013\222\001\010\030\001\"\004r\002\020\001'
  _globals['_ROLEPOLICY'].fields_by_name['scope']._loaded_options = None
  _globals['_ROLEPOLICY'].fields_by_name['scope']._serialized_options = b'\272H3r12/^([[:alnum:]][[:word:]\\-]*(\\.[[:word:]\\-]*)*)*$'
  _globals['_ROLEPOLICY'].fields_by_name['scope_permissions']._loaded_options = None
  _globals['_ROLEPOLICY'].fields_by_name['scope_permissions']._serialized_options = b'\030\001\272H\007\202\001\004\030\000\030\002'
  _globals['_ROLERULE'].fields_by_name['resource']._loaded_options = None
  _globals['_ROLERULE'].fields_by_name['resource']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_ROLERULE'].fields_by_name['allow_actions']._loaded_options = None
  _globals['_ROLERULE'].fields_by_name['allow_actions']._serialized_options = b'\272H\020\222\001\n\010\001\030\001\"\004r\002\020\001\310\001\001'
  _globals['_PRINCIPALPOLICY'].fields_by_name['principal']._loaded_options = None
  _globals['_PRINCIPALPOLICY'].fields_by_name['principal']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_PRINCIPALPOLICY'].fields_by_name['version']._loaded_options = None
  _globals['_PRINCIPALPOLICY'].fields_by_name['version']._serialized_options = b'\272H\024r\0172\r^[[:word:]]+$\310\001\001'
  _globals['_PRINCIPALPOLICY'].fields_by_name['scope']._loaded_options = None
  _globals['_PRINCIPALPOLICY'].fields_by_name['scope']._serialized_options = b'\272H3r12/^([[:alnum:]][[:word:]\\-]*(\\.[[:word:]\\-]*)*)*$'
  _globals['_PRINCIPALRULE_ACTION'].fields_by_name['action']._loaded_options = None
  _globals['_PRINCIPALRULE_ACTION'].fields_by_name['action']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_PRINCIPALRULE_ACTION'].fields_by_name['effect']._loaded_options = None
  _globals['_PRINCIPALRULE_ACTION'].fields_by_name['effect']._serialized_options = b'\272H\n\202\001\004\030\001\030\002\310\001\001'
  _globals['_PRINCIPALRULE_ACTION'].fields_by_name['name']._loaded_options = None
  _globals['_PRINCIPALRULE_ACTION'].fields_by_name['name']._serialized_options = b'\272H%r#2!^([[:alpha:]][[:word:]\\@\\.\\-]*)*$'
  _globals['_PRINCIPALRULE'].fields_by_name['resource']._loaded_options = None
  _globals['_PRINCIPALRULE'].fields_by_name['resource']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_PRINCIPALRULE'].fields_by_name['actions']._loaded_options = None
  _globals['_PRINCIPALRULE'].fields_by_name['actions']._serialized_options = b'\272H\010\222\001\002\010\001\310\001\001'
  _globals['_DERIVEDROLES'].fields_by_name['name']._loaded_options = None
  _globals['_DERIVEDROLES'].fields_by_name['name']._serialized_options = b'\272H\032r\025\020\0012\021^[[:word:]\\-\\.]+$\310\001\001'
  _globals['_DERIVEDROLES'].fields_by_name['definitions']._loaded_options = None
  _globals['_DERIVEDROLES'].fields_by_name['definitions']._serialized_options = b'\272H\010\222\001\002\010\001\310\001\001'
  _globals['_ROLEDEF'].fields_by_name['name']._loaded_options = None
  _globals['_ROLEDEF'].fields_by_name['name']._serialized_options = b'\272H\030r\0232\021^[[:word:]\\-\\.]+$\310\001\001'
  _globals['_ROLEDEF'].fields_by_name['parent_roles']._loaded_options = None
  _globals['_ROLEDEF'].fields_by_name['parent_roles']._serialized_options = b'\272H\020\222\001\n\010\001\030\001\"\004r\002\020\001\310\001\001'
  _globals['_EXPORTCONSTANTS_DEFINITIONSENTRY']._loaded_options = None
  _globals['_EXPORTCONSTANTS_DEFINITIONSENTRY']._serialized_options = b'8\001'
  _globals['_EXPORTCONSTANTS'].fields_by_name['name']._loaded_options = None
  _globals['_EXPORTCONSTANTS'].fields_by_name['name']._serialized_options = b'\272H\032r\025\020\0012\021^[[:word:]\\-\\.]+$\310\001\001'
  _globals['_CONSTANTS_LOCALENTRY']._loaded_options = None
  _globals['_CONSTANTS_LOCALENTRY']._serialized_options = b'8\001'
  _globals['_CONSTANTS'].fields_by_name['import']._loaded_options = None
  _globals['_CONSTANTS'].fields_by_name['import']._serialized_options = b'\272H\034\222\001\031\030\001\"\025r\0232\021^[[:word:]\\-\\.]+$'
  _globals['_EXPORTVARIABLES_DEFINITIONSENTRY']._loaded_options = None
  _globals['_EXPORTVARIABLES_DEFINITIONSENTRY']._serialized_options = b'8\001'
  _globals['_EXPORTVARIABLES'].fields_by_name['name']._loaded_options = None
  _globals['_EXPORTVARIABLES'].fields_by_name['name']._serialized_options = b'\272H\032r\025\020\0012\021^[[:word:]\\-\\.]+$\310\001\001'
  _globals['_VARIABLES_LOCALENTRY']._loaded_options = None
  _globals['_VARIABLES_LOCALENTRY']._serialized_options = b'8\001'
  _globals['_VARIABLES'].fields_by_name['import']._loaded_options = None
  _globals['_VARIABLES'].fields_by_name['import']._serialized_options = b'\272H\034\222\001\031\030\001\"\025r\0232\021^[[:word:]\\-\\.]+$'
  _globals['_CONDITION'].oneofs_by_name['condition']._loaded_options = None
  _globals['_CONDITION'].oneofs_by_name['condition']._serialized_options = b'\272H\002\010\001'
  _globals['_MATCH_EXPRLIST'].fields_by_name['of']._loaded_options = None
  _globals['_MATCH_EXPRLIST'].fields_by_name['of']._serialized_options = b'\272H\010\222\001\002\010\001\310\001\001'
  _globals['_MATCH'].oneofs_by_name['op']._loaded_options = None
  _globals['_MATCH'].oneofs_by_name['op']._serialized_options = b'\272H\002\010\001'
  _globals['_OUTPUT'].fields_by_name['expr']._loaded_options = None
  _globals['_OUTPUT'].fields_by_name['expr']._serialized_options = b'\030\001'
  _globals['_SCHEMAS_IGNOREWHEN'].fields_by_name['actions']._loaded_options = None
  _globals['_SCHEMAS_IGNOREWHEN'].fields_by_name['actions']._serialized_options = b'\272H\020\222\001\n\010\001\030\001\"\004r\002\020\001\310\001\001'
  _globals['_SCHEMAS_SCHEMA'].fields_by_name['ref']._loaded_options = None
  _globals['_SCHEMAS_SCHEMA'].fields_by_name['ref']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_TESTFIXTURE_PRINCIPALS_PRINCIPALSENTRY']._loaded_options = None
  _globals['_TESTFIXTURE_PRINCIPALS_PRINCIPALSENTRY']._serialized_options = b'8\001'
  _globals['_TESTFIXTURE_PRINCIPALS_PRINCIPALGROUPSENTRY']._loaded_options = None
  _globals['_TESTFIXTURE_PRINCIPALS_PRINCIPALGROUPSENTRY']._serialized_options = b'8\001'
  _globals['_TESTFIXTURE_RESOURCES_RESOURCESENTRY']._loaded_options = None
  _globals['_TESTFIXTURE_RESOURCES_RESOURCESENTRY']._serialized_options = b'8\001'
  _globals['_TESTFIXTURE_RESOURCES_RESOURCEGROUPSENTRY']._loaded_options = None
  _globals['_TESTFIXTURE_RESOURCES_RESOURCEGROUPSENTRY']._serialized_options = b'8\001'
  _globals['_TESTFIXTURE_AUXDATA_AUXDATAENTRY']._loaded_options = None
  _globals['_TESTFIXTURE_AUXDATA_AUXDATAENTRY']._serialized_options = b'8\001'
  _globals['_TESTFIXTUREGROUP_PRINCIPALS'].fields_by_name['principals']._loaded_options = None
  _globals['_TESTFIXTUREGROUP_PRINCIPALS'].fields_by_name['principals']._serialized_options = b'\272H\020\222\001\n\010\001\030\001\"\004r\002\020\001\310\001\001'
  _globals['_TESTFIXTUREGROUP_RESOURCES'].fields_by_name['resources']._loaded_options = None
  _globals['_TESTFIXTUREGROUP_RESOURCES'].fields_by_name['resources']._serialized_options = b'\272H\020\222\001\n\010\001\030\001\"\004r\002\020\001\310\001\001'
  _globals['_TESTOPTIONS_GLOBALSENTRY']._loaded_options = None
  _globals['_TESTOPTIONS_GLOBALSENTRY']._serialized_options = b'8\001'
  _globals['_TESTSUITE_PRINCIPALSENTRY']._loaded_options = None
  _globals['_TESTSUITE_PRINCIPALSENTRY']._serialized_options = b'8\001'
  _globals['_TESTSUITE_RESOURCESENTRY']._loaded_options = None
  _globals['_TESTSUITE_RESOURCESENTRY']._serialized_options = b'8\001'
  _globals['_TESTSUITE_AUXDATAENTRY']._loaded_options = None
  _globals['_TESTSUITE_AUXDATAENTRY']._serialized_options = b'8\001'
  _globals['_TESTSUITE_PRINCIPALGROUPSENTRY']._loaded_options = None
  _globals['_TESTSUITE_PRINCIPALGROUPSENTRY']._serialized_options = b'8\001'
  _globals['_TESTSUITE_RESOURCEGROUPSENTRY']._loaded_options = None
  _globals['_TESTSUITE_RESOURCEGROUPSENTRY']._serialized_options = b'8\001'
  _globals['_TESTSUITE'].fields_by_name['name']._loaded_options = None
  _globals['_TESTSUITE'].fields_by_name['name']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_TESTSUITE'].fields_by_name['tests']._loaded_options = None
  _globals['_TESTSUITE'].fields_by_name['tests']._serialized_options = b'\272H\010\222\001\002\010\001\310\001\001'
  _globals['_TESTTABLE_INPUT'].fields_by_name['principals']._loaded_options = None
  _globals['_TESTTABLE_INPUT'].fields_by_name['principals']._serialized_options = b'\272H\013\222\001\010\030\001\"\004r\002\020\001'
  _globals['_TESTTABLE_INPUT'].fields_by_name['resources']._loaded_options = None
  _globals['_TESTTABLE_INPUT'].fields_by_name['resources']._serialized_options = b'\272H\013\222\001\010\030\001\"\004r\002\020\001'
  _globals['_TESTTABLE_INPUT'].fields_by_name['actions']._loaded_options = None
  _globals['_TESTTABLE_INPUT'].fields_by_name['actions']._serialized_options = b'\272H\020\222\001\n\010\001\030\001\"\004r\002\020\001\310\001\001'
  _globals['_TESTTABLE_INPUT'].fields_by_name['principal_groups']._loaded_options = None
  _globals['_TESTTABLE_INPUT'].fields_by_name['principal_groups']._serialized_options = b'\272H\013\222\001\010\030\001\"\004r\002\020\001'
  _globals['_TESTTABLE_INPUT'].fields_by_name['resource_groups']._loaded_options = None
  _globals['_TESTTABLE_INPUT'].fields_by_name['resource_groups']._serialized_options = b'\272H\013\222\001\010\030\001\"\004r\002\020\001'
  _globals['_TESTTABLE_INPUT']._loaded_options = None
  _globals['_TESTTABLE_INPUT']._serialized_options = b'\272H\375\001\032\177\n\020input.principals\022-principals or principalGroups must be present\032<size(this.principals) > 0 || size(this.principal_groups) > 0\032z\n\017input.resources\022+resources or resourceGroups must be present\032:size(this.resources) > 0 || size(this.resource_groups) > 0'
  _globals['_TESTTABLE_OUTPUTEXPECTATIONS'].fields_by_name['action']._loaded_options = None
  _globals['_TESTTABLE_OUTPUTEXPECTATIONS'].fields_by_name['action']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_TESTTABLE_OUTPUTEXPECTATIONS'].fields_by_name['expected']._loaded_options = None
  _globals['_TESTTABLE_OUTPUTEXPECTATIONS'].fields_by_name['expected']._serialized_options = b'\272H\010\222\001\002\010\001\310\001\001'
  _globals['_TESTTABLE_EXPECTATION_ACTIONSENTRY']._loaded_options = None
  _globals['_TESTTABLE_EXPECTATION_ACTIONSENTRY']._serialized_options = b'8\001'
  _globals['_TESTTABLE_EXPECTATION'].fields_by_name['actions']._loaded_options = None
  _globals['_TESTTABLE_EXPECTATION'].fields_by_name['actions']._serialized_options = b'\272H\027\232\001\021\010\001\"\004r\002\020\001*\007\202\001\004\030\001\030\002\310\001\001'
  _globals['_TESTTABLE_EXPECTATION'].fields_by_name['principals']._loaded_options = None
  _globals['_TESTTABLE_EXPECTATION'].fields_by_name['principals']._serialized_options = b'\272H\013\222\001\010\030\001\"\004r\002\020\001'
  _globals['_TESTTABLE_EXPECTATION'].fields_by_name['resources']._loaded_options = None
  _globals['_TESTTABLE_EXPECTATION'].fields_by_name['resources']._serialized_options = b'\272H\013\222\001\010\030\001\"\004r\002\020\001'
  _globals['_TESTTABLE_EXPECTATION'].fields_by_name['principal_groups']._loaded_options = None
  _globals['_TESTTABLE_EXPECTATION'].fields_by_name['principal_groups']._serialized_options = b'\272H\013\222\001\010\030\001\"\004r\002\020\001'
  _globals['_TESTTABLE_EXPECTATION'].fields_by_name['resource_groups']._loaded_options = None
  _globals['_TESTTABLE_EXPECTATION'].fields_by_name['resource_groups']._serialized_options = b'\272H\013\222\001\010\030\001\"\004r\002\020\001'
  _globals['_TESTTABLE_EXPECTATION']._loaded_options = None
  _globals['_TESTTABLE_EXPECTATION']._serialized_options = b'\272H\357\004\032\251\001\n\026expectation.principals\0229principal, principals, or principalGroups must be present\032Tthis.principal != \'\' || size(this.principals) > 0 || size(this.principal_groups) > 0\032\217\001\n%expectation.principal_nand_principals\0220principal and principals may not both be present\0324!(this.principal != \'\' && size(this.principals) > 0)\032\242\001\n\025expectation.resources\0226resource, resources, or resourceGroups must be present\032Qthis.resource != \'\' || size(this.resources) > 0 || size(this.resource_groups) > 0\032\211\001\n#expectation.resource_nand_resources\022.resource and resources may not both be present\0322!(this.resource != \'\' && size(this.resources) > 0)'
  _globals['_TESTTABLE'].fields_by_name['name']._loaded_options = None
  _globals['_TESTTABLE'].fields_by_name['name']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_TESTTABLE'].fields_by_name['input']._loaded_options = None
  _globals['_TESTTABLE'].fields_by_name['input']._serialized_options = b'\272H\003\310\001\001'
  _globals['_TESTTABLE'].fields_by_name['expected']._loaded_options = None
  _globals['_TESTTABLE'].fields_by_name['expected']._serialized_options = b'\272H\010\222\001\002\010\001\310\001\001'
  _globals['_TEST_TESTNAME'].fields_by_name['test_table_name']._loaded_options = None
  _globals['_TEST_TESTNAME'].fields_by_name['test_table_name']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_TEST_TESTNAME'].fields_by_name['principal_key']._loaded_options = None
  _globals['_TEST_TESTNAME'].fields_by_name['principal_key']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_TEST_TESTNAME'].fields_by_name['resource_key']._loaded_options = None
  _globals['_TEST_TESTNAME'].fields_by_name['resource_key']._serialized_options = b'\272H\007r\002\020\001\310\001\001'
  _globals['_TEST_OUTPUTENTRIES_ENTRIESENTRY']._loaded_options = None
  _globals['_TEST_OUTPUTENTRIES_ENTRIESENTRY']._serialized_options = b'8\001'
  _globals['_TEST_EXPECTEDENTRY']._loaded_options = None
  _globals['_TEST_EXPECTEDENTRY']._serialized_options = b'8\001'
  _globals['_TEST_EXPECTEDOUTPUTSENTRY']._loaded_options = None
  _globals['_TEST_EXPECTEDOUTPUTSENTRY']._serialized_options = b'8\001'
  _globals['_TEST'].fields_by_name['name']._loaded_options = None
  _globals['_TEST'].fields_by_name['name']._serialized_options = b'\272H\003\310\001\001'
  _globals['_TEST'].fields_by_name['input']._loaded_options = None
  _globals['_TEST'].fields_by_name['input']._serialized_options = b'\272H\003\310\001\001'
  _globals['_TEST'].fields_by_name['expected']._loaded_options = None
  _globals['_TEST'].fields_by_name['expected']._serialized_options = b'\272H\027\232\001\021\010\001\"\004r\002\020\001*\007\202\001\004\030\001\030\002\310\001\001'
  _globals['_TESTRESULTS_SUITE'].fields_by_name['principals']._loaded_options = None
  _globals['_TESTRESULTS_SUITE'].fields_by_name['principals']._serialized_options = b'\030\001'
  _globals['_KIND']._serialized_start=14545
  _globals['_KIND']._serialized_end=14712
  _globals['_SCOPEPERMISSIONS']._serialized_start=14715
  _globals['_SCOPEPERMISSIONS']._serialized_end=14866
  _globals['_POLICY']._serialized_start=238
  _globals['_POLICY']._serialized_end=1068
  _globals['_POLICY_VARIABLESENTRY']._serialized_start=986
  _globals['_POLICY_VARIABLESENTRY']._serialized_end=1046
  _globals['_SOURCEATTRIBUTES']._serialized_start=1071
  _globals['_SOURCEATTRIBUTES']._serialized_end=1260
  _globals['_SOURCEATTRIBUTES_ATTRIBUTESENTRY']._serialized_start=1175
  _globals['_SOURCEATTRIBUTES_ATTRIBUTESENTRY']._serialized_end=1260
  _globals['_METADATA']._serialized_start=1263
  _globals['_METADATA']._serialized_end=1668
  _globals['_METADATA_ANNOTATIONSENTRY']._serialized_start=1606
  _globals['_METADATA_ANNOTATIONSENTRY']._serialized_end=1668
  _globals['_RESOURCEPOLICY']._serialized_start=1671
  _globals['_RESOURCEPOLICY']._serialized_end=2245
  _globals['_RESOURCERULE']._serialized_start=2248
  _globals['_RESOURCERULE']._serialized_end=2653
  _globals['_ROLEPOLICY']._serialized_start=2656
  _globals['_ROLEPOLICY']._serialized_end=2995
  _globals['_ROLERULE']._serialized_start=2998
  _globals['_ROLERULE']._serialized_end=3165
  _globals['_PRINCIPALPOLICY']._serialized_start=3168
  _globals['_PRINCIPALPOLICY']._serialized_end=3610
  _globals['_PRINCIPALRULE']._serialized_start=3613
  _globals['_PRINCIPALRULE']._serialized_end=4030
  _globals['_PRINCIPALRULE_ACTION']._serialized_start=3750
  _globals['_PRINCIPALRULE_ACTION']._serialized_end=4030
  _globals['_DERIVEDROLES']._serialized_start=4033
  _globals['_DERIVEDROLES']._serialized_end=4290
  _globals['_ROLEDEF']._serialized_start=4293
  _globals['_ROLEDEF']._serialized_end=4466
  _globals['_EXPORTCONSTANTS']._serialized_start=4469
  _globals['_EXPORTCONSTANTS']._serialized_end=4711
  _globals['_EXPORTCONSTANTS_DEFINITIONSENTRY']._serialized_start=4625
  _globals['_EXPORTCONSTANTS_DEFINITIONSENTRY']._serialized_end=4711
  _globals['_CONSTANTS']._serialized_start=4714
  _globals['_CONSTANTS']._serialized_end=4926
  _globals['_CONSTANTS_LOCALENTRY']._serialized_start=4846
  _globals['_CONSTANTS_LOCALENTRY']._serialized_end=4926
  _globals['_EXPORTVARIABLES']._serialized_start=4929
  _globals['_EXPORTVARIABLES']._serialized_end=5147
  _globals['_EXPORTVARIABLES_DEFINITIONSENTRY']._serialized_start=5085
  _globals['_EXPORTVARIABLES_DEFINITIONSENTRY']._serialized_end=5147
  _globals['_VARIABLES']._serialized_start=5150
  _globals['_VARIABLES']._serialized_end=5338
  _globals['_VARIABLES_LOCALENTRY']._serialized_start=5282
  _globals['_VARIABLES_LOCALENTRY']._serialized_end=5338
  _globals['_CONDITION']._serialized_start=5340
  _globals['_CONDITION']._serialized_end=5446
  _globals['_MATCH']._serialized_start=5449
  _globals['_MATCH']._serialized_end=5721
  _globals['_MATCH_EXPRLIST']._serialized_start=5644
  _globals['_MATCH_EXPRLIST']._serialized_end=5708
  _globals['_OUTPUT']._serialized_start=5724
  _globals['_OUTPUT']._serialized_end=5898
  _globals['_OUTPUT_WHEN']._serialized_start=5809
  _globals['_OUTPUT_WHEN']._serialized_end=5898
  _globals['_SCHEMAS']._serialized_start=5901
  _globals['_SCHEMAS']._serialized_end=6234
  _globals['_SCHEMAS_IGNOREWHEN']._serialized_start=6064
  _globals['_SCHEMAS_IGNOREWHEN']._serialized_end=6123
  _globals['_SCHEMAS_SCHEMA']._serialized_start=6125
  _globals['_SCHEMAS_SCHEMA']._serialized_end=6234
  _globals['_TESTFIXTURE']._serialized_start=6237
  _globals['_TESTFIXTURE']._serialized_end=7341
  _globals['_TESTFIXTURE_PRINCIPALS']._serialized_start=6253
  _globals['_TESTFIXTURE_PRINCIPALS']._serialized_end=6698
  _globals['_TESTFIXTURE_PRINCIPALS_PRINCIPALSENTRY']._serialized_start=6493
  _globals['_TESTFIXTURE_PRINCIPALS_PRINCIPALSENTRY']._serialized_end=6583
  _globals['_TESTFIXTURE_PRINCIPALS_PRINCIPALGROUPSENTRY']._serialized_start=6585
  _globals['_TESTFIXTURE_PRINCIPALS_PRINCIPALGROUPSENTRY']._serialized_end=6698
  _globals['_TESTFIXTURE_RESOURCES']._serialized_start=6701
  _globals['_TESTFIXTURE_RESOURCES']._serialized_end=7133
  _globals['_TESTFIXTURE_RESOURCES_RESOURCESENTRY']._serialized_start=6932
  _globals['_TESTFIXTURE_RESOURCES_RESOURCESENTRY']._serialized_end=7020
  _globals['_TESTFIXTURE_RESOURCES_RESOURCEGROUPSENTRY']._serialized_start=7022
  _globals['_TESTFIXTURE_RESOURCES_RESOURCEGROUPSENTRY']._serialized_end=7133
  _globals['_TESTFIXTURE_AUXDATA']._serialized_start=7136
  _globals['_TESTFIXTURE_AUXDATA']._serialized_end=7341
  _globals['_TESTFIXTURE_AUXDATA_AUXDATAENTRY']._serialized_start=7256
  _globals['_TESTFIXTURE_AUXDATA_AUXDATAENTRY']._serialized_end=7341
  _globals['_TESTFIXTUREGROUP']._serialized_start=7344
  _globals['_TESTFIXTUREGROUP']._serialized_end=7493
  _globals['_TESTFIXTUREGROUP_PRINCIPALS']._serialized_start=7364
  _globals['_TESTFIXTUREGROUP_PRINCIPALS']._serialized_end=7429
  _globals['_TESTFIXTUREGROUP_RESOURCES']._serialized_start=7431
  _globals['_TESTFIXTUREGROUP_RESOURCES']._serialized_end=7493
  _globals['_TESTOPTIONS']._serialized_start=7496
  _globals['_TESTOPTIONS']._serialized_end=7813
  _globals['_TESTOPTIONS_GLOBALSENTRY']._serialized_start=7731
  _globals['_TESTOPTIONS_GLOBALSENTRY']._serialized_end=7813
  _globals['_TESTSUITE']._serialized_start=7816
  _globals['_TESTSUITE']._serialized_end=8997
  _globals['_TESTSUITE_PRINCIPALSENTRY']._serialized_start=6493
  _globals['_TESTSUITE_PRINCIPALSENTRY']._serialized_end=6583
  _globals['_TESTSUITE_RESOURCESENTRY']._serialized_start=6932
  _globals['_TESTSUITE_RESOURCESENTRY']._serialized_end=7020
  _globals['_TESTSUITE_AUXDATAENTRY']._serialized_start=7256
  _globals['_TESTSUITE_AUXDATAENTRY']._serialized_end=7341
  _globals['_TESTSUITE_PRINCIPALGROUPSENTRY']._serialized_start=6585
  _globals['_TESTSUITE_PRINCIPALGROUPSENTRY']._serialized_end=6698
  _globals['_TESTSUITE_RESOURCEGROUPSENTRY']._serialized_start=7022
  _globals['_TESTSUITE_RESOURCEGROUPSENTRY']._serialized_end=7133
  _globals['_TESTTABLE']._serialized_start=9000
  _globals['_TESTTABLE']._serialized_end=11201
  _globals['_TESTTABLE_INPUT']._serialized_start=9337
  _globals['_TESTTABLE_INPUT']._serialized_end=9888
  _globals['_TESTTABLE_OUTPUTEXPECTATIONS']._serialized_start=9891
  _globals['_TESTTABLE_OUTPUTEXPECTATIONS']._serialized_end=10019
  _globals['_TESTTABLE_EXPECTATION']._serialized_start=10022
  _globals['_TESTTABLE_EXPECTATION']._serialized_end=11201
  _globals['_TESTTABLE_EXPECTATION_ACTIONSENTRY']._serialized_start=10487
  _globals['_TESTTABLE_EXPECTATION_ACTIONSENTRY']._serialized_end=10571
  _globals['_TEST']._serialized_start=11204
  _globals['_TEST']._serialized_end=12190
  _globals['_TEST_TESTNAME']._serialized_start=11660
  _globals['_TEST_TESTNAME']._serialized_end=11818
  _globals['_TEST_OUTPUTENTRIES']._serialized_start=11821
  _globals['_TEST_OUTPUTENTRIES']._serialized_end=11997
  _globals['_TEST_OUTPUTENTRIES_ENTRIESENTRY']._serialized_start=11915
  _globals['_TEST_OUTPUTENTRIES_ENTRIESENTRY']._serialized_end=11997
  _globals['_TEST_EXPECTEDENTRY']._serialized_start=11999
  _globals['_TEST_EXPECTEDENTRY']._serialized_end=12084
  _globals['_TEST_EXPECTEDOUTPUTSENTRY']._serialized_start=12086
  _globals['_TEST_EXPECTEDOUTPUTSENTRY']._serialized_end=12190
  _globals['_TESTRESULTS']._serialized_start=12193
  _globals['_TESTRESULTS']._serialized_end=14542
  _globals['_TESTRESULTS_TALLY']._serialized_start=12334
  _globals['_TESTRESULTS_TALLY']._serialized_end=12425
  _globals['_TESTRESULTS_SUMMARY']._serialized_start=12428
  _globals['_TESTRESULTS_SUMMARY']._serialized_end=12621
  _globals['_TESTRESULTS_SUITE']._serialized_start=12624
  _globals['_TESTRESULTS_SUITE']._serialized_end=12973
  _globals['_TESTRESULTS_TESTCASE']._serialized_start=12975
  _globals['_TESTRESULTS_TESTCASE']._serialized_end=13078
  _globals['_TESTRESULTS_PRINCIPAL']._serialized_start=13080
  _globals['_TESTRESULTS_PRINCIPAL']._serialized_end=13181
  _globals['_TESTRESULTS_RESOURCE']._serialized_start=13183
  _globals['_TESTRESULTS_RESOURCE']._serialized_end=13277
  _globals['_TESTRESULTS_ACTION']._serialized_start=13279
  _globals['_TESTRESULTS_ACTION']._serialized_end=13372
  _globals['_TESTRESULTS_DETAILS']._serialized_start=13375
  _globals['_TESTRESULTS_DETAILS']._serialized_end=13710
  _globals['_TESTRESULTS_OUTPUTFAILURE']._serialized_start=13713
  _globals['_TESTRESULTS_OUTPUTFAILURE']._serialized_end=14125
  _globals['_TESTRESULTS_OUTPUTFAILURE_MISMATCHEDVALUE']._serialized_start=13929
  _globals['_TESTRESULTS_OUTPUTFAILURE_MISMATCHEDVALUE']._serialized_end=14046
  _globals['_TESTRESULTS_OUTPUTFAILURE_MISSINGVALUE']._serialized_start=14048
  _globals['_TESTRESULTS_OUTPUTFAILURE_MISSINGVALUE']._serialized_end=14114
  _globals['_TESTRESULTS_FAILURE']._serialized_start=14128
  _globals['_TESTRESULTS_FAILURE']._serialized_end=14312
  _globals['_TESTRESULTS_SUCCESS']._serialized_start=14314
  _globals['_TESTRESULTS_SUCCESS']._serialized_end=14430
  _globals['_TESTRESULTS_RESULT']._serialized_start=14432
  _globals['_TESTRESULTS_RESULT']._serialized_end=14542
# @@protoc_insertion_point(module_scope)
