digraph {
graph [overlap=false]
subgraph cluster_warnings {
	label="warnings";
	"warnings::import";
}
subgraph cluster_Moose_Exporter {
	label="Moose::Exporter";
	"Moose::Exporter::BEGIN@11";
}
subgraph cluster_Class_MOP_Mixin_HasMethods {
	label="Class::MOP::Mixin::HasMethods";
	"Class::MOP::Mixin::HasMethods::add_method";
	"Class::MOP::Mixin::HasMethods::method_metaclass";
	"Class::MOP::Mixin::HasMethods::get_method";
}
subgraph cluster_Moose {
	label="Moose";
	"Moose::BEGIN@18";
}
subgraph cluster_MooseX_ClassAttribute_Meta_Method_Accessor {
	label="MooseX::ClassAttribute::Meta::Method::Accessor";
	"MooseX::ClassAttribute::Meta::Method::Accessor::_inline_store";
	"MooseX::ClassAttribute::Meta::Method::Accessor::_inline_get";
	"MooseX::ClassAttribute::Meta::Method::Accessor::_inline_check_lazy";
}
subgraph cluster_Moose_Meta_Mixin_AttributeCore {
	label="Moose::Meta::Mixin::AttributeCore";
	"Moose::Meta::Mixin::AttributeCore::type_constraint";
	"Moose::Meta::Mixin::AttributeCore::should_auto_deref";
	"Moose::Meta::Mixin::AttributeCore::is_lazy";
	"Moose::Meta::Mixin::AttributeCore::has_handles";
}
subgraph cluster_Try_Tiny {
	label="Try::Tiny";
	"Try::Tiny::catch";
	"Try::Tiny::try";
}
subgraph cluster_Scalar_Util {
	label="Scalar::Util";
	"Scalar::Util::blessed";
	"Scalar::Util::weaken";
}
subgraph cluster_UNIVERSAL {
	label="UNIVERSAL";
	"UNIVERSAL::isa";
}
subgraph cluster_Moose_Meta_Class {
	label="Moose::Meta::Class";
	"Moose::Meta::Class::new_object";
}
subgraph cluster_Class_MOP_Method_Accessor {
	label="Class::MOP::Method::Accessor";
	"Class::MOP::Method::Accessor::_generate_accessor_method_inline";
	"Class::MOP::Method::Accessor::_generate_writer_method_inline";
	"Class::MOP::Method::Accessor::_generate_reader_method_inline";
	"Class::MOP::Method::Accessor::_generate_clearer_method_inline";
	"Class::MOP::Method::Accessor::new";
	"Class::MOP::Method::Accessor::_generate_predicate_method_inline";
}
subgraph cluster_base {
	label="base";
	"base::import";
}
subgraph cluster_strict {
	label="strict";
	"strict::import";
}
subgraph cluster_Class_MOP_Class {
	label="Class::MOP::Class";
	"Class::MOP::Class::_attach_attribute";
	"Class::MOP::Class::initialize";
	"Class::MOP::Class::_clone_instance";
	"Class::MOP::Class::instance_metaclass";
	"Class::MOP::Class::_construct_instance";
	"Class::MOP::Class::__ANON__[Class/MOP/Class.pm:515]";
	"Class::MOP::Class::get_meta_instance";
	"Class::MOP::Class::_inline_accessors";
	"Class::MOP::Class::new_object";
}
subgraph cluster_Class_MOP_Instance {
	label="Class::MOP::Instance";
	"Class::MOP::Instance::BUILDARGS";
	"Class::MOP::Instance::get_slot_value";
	"Class::MOP::Instance::set_slot_value";
	"Class::MOP::Instance::is_slot_initialized";
	"Class::MOP::Instance::is_inlinable";
}
subgraph cluster_Class_MOP {
	label="Class::MOP";
	"Class::MOP::BEGIN@19";
}
subgraph cluster_Exporter {
	label="Exporter";
	"Exporter::import";
}
subgraph cluster_Class_MOP_Class_Immutable_Class_MOP_Class {
	label="Class::MOP::Class::Immutable::Class::MOP::Class";
	"Class::MOP::Class::Immutable::Class::MOP::Class::get_meta_instance";
}
subgraph cluster_Class_MOP_Attribute {
	label="Class::MOP::Attribute";
	"Class::MOP::Attribute::attach_to_class";
	"Class::MOP::Attribute::BEGIN@5";
	"Class::MOP::Attribute::associated_methods";
	"Class::MOP::Attribute::_new";
	"Class::MOP::Attribute::associate_method";
	"Class::MOP::Attribute::has_value";
	"Class::MOP::Attribute::set_initial_value";
	"Class::MOP::Attribute::get_value";
	"Class::MOP::Attribute::BEGIN@17";
	"Class::MOP::Attribute::BEGIN@10";
	"Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]";
	"Class::MOP::Attribute::slots";
	"Class::MOP::Attribute::new";
	"Class::MOP::Attribute::set_value";
	"Class::MOP::Attribute::BEGIN@4";
	"Class::MOP::Attribute::associated_class";
	"Class::MOP::Attribute::get_write_method";
	"Class::MOP::Attribute::BEGIN@11";
	"Class::MOP::Attribute::BEGIN@7";
	"Class::MOP::Attribute::set_raw_value";
	"Class::MOP::Attribute::accessor_metaclass";
	"Class::MOP::Attribute::install_accessors";
	"Class::MOP::Attribute::_set_initial_slot_value";
	"Class::MOP::Attribute::get_read_method_ref";
	"Class::MOP::Attribute::get_raw_value";
	"Class::MOP::Attribute::_process_accessors";
	"Class::MOP::Attribute::BEGIN@9";
	"Class::MOP::Attribute::get_write_method_ref";
	"Class::MOP::Attribute::initialize_instance_slot";
	"Class::MOP::Attribute::get_read_method";
}
subgraph cluster_Class_MOP_Class_ {
	label="Class::MOP::Class:";
	"Class::MOP::Class:::after";
	"Class::MOP::Class:::around";
}
subgraph cluster_Class_MOP_Package {
	label="Class::MOP::Package";
	"Class::MOP::Package::name";
}
subgraph cluster_Class_MOP_Class___ANON___SERIAL_2 {
	label="Class::MOP::Class::__ANON__::SERIAL::2";
	"Class::MOP::Class::__ANON__::SERIAL::2::accessor_metaclass";
}
subgraph cluster_Moose_Meta_Attribute {
	label="Moose::Meta::Attribute";
	"Moose::Meta::Attribute::accessor_metaclass";
	"Moose::Meta::Attribute::initialize_instance_slot";
	"Moose::Meta::Attribute::_new";
	"Moose::Meta::Attribute::_set_initial_slot_value";
	"Moose::Meta::Attribute::new";
	"Moose::Meta::Attribute::_process_accessors";
	"Moose::Meta::Attribute::_check_associated_methods";
	"Moose::Meta::Attribute::install_accessors";
}
subgraph cluster_Class_MOP_Mixin_AttributeCore {
	label="Class::MOP::Mixin::AttributeCore";
	"Class::MOP::Mixin::AttributeCore::definition_context";
	"Class::MOP::Mixin::AttributeCore::has_writer";
	"Class::MOP::Mixin::AttributeCore::predicate";
	"Class::MOP::Mixin::AttributeCore::reader";
	"Class::MOP::Mixin::AttributeCore::accessor";
	"Class::MOP::Mixin::AttributeCore::default";
	"Class::MOP::Mixin::AttributeCore::has_initializer";
	"Class::MOP::Mixin::AttributeCore::has_clearer";
	"Class::MOP::Mixin::AttributeCore::has_accessor";
	"Class::MOP::Mixin::AttributeCore::has_predicate";
	"Class::MOP::Mixin::AttributeCore::writer";
	"Class::MOP::Mixin::AttributeCore::clearer";
	"Class::MOP::Mixin::AttributeCore::name";
	"Class::MOP::Mixin::AttributeCore::has_reader";
	"Class::MOP::Mixin::AttributeCore::is_default_a_coderef";
}
subgraph cluster_Class_MOP_Mixin_HasAttributes {
	label="Class::MOP::Mixin::HasAttributes";
	"Class::MOP::Mixin::HasAttributes::add_attribute";
}
subgraph cluster_Moose_Meta_Method_Accessor {
	label="Moose::Meta::Method::Accessor";
	"Moose::Meta::Method::Accessor::_inline_has";
	"Moose::Meta::Method::Accessor::_inline_get";
	"Moose::Meta::Method::Accessor::_inline_store";
	"Moose::Meta::Method::Accessor::_inline_get_old_value_for_trigger";
}
subgraph cluster_Class_MOP_Method {
	label="Class::MOP::Method";
	"Class::MOP::Method::wrap";
}
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::AttributeCore::predicate";
"Class::MOP::Attribute::new" -> "Class::MOP::Attribute::_new";
"Moose::Meta::Mixin::AttributeCore::has_handles" -> "Class::MOP::Attribute::has_value";
"Class::MOP::Attribute::_process_accessors" -> "Class::MOP::Instance::is_inlinable";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@10";
"Class::MOP::Attribute::_process_accessors" -> "Try::Tiny::try";
"Class::MOP::Class::_clone_instance" -> "Class::MOP::Attribute::set_value";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@11";
"Class::MOP::Attribute::_process_accessors" -> "Class::MOP::Method::wrap";
"Class::MOP::Attribute::get_write_method_ref" -> "Class::MOP::Method::wrap";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::AttributeCore::has_predicate";
"Class::MOP::Attribute::BEGIN@10" -> "Exporter::import";
"Class::MOP::Attribute::BEGIN@11" -> "Exporter::import";
"Class::MOP::Attribute::BEGIN@9" -> "Exporter::import";
"Class::MOP::Attribute::_process_accessors" -> "Class::MOP::Class::instance_metaclass";
"Class::MOP::Attribute::install_accessors" -> "Moose::Meta::Attribute::_process_accessors";
"Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]" -> "Moose::Meta::Attribute::accessor_metaclass";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@7";
"Class::MOP::Attribute::get_read_method_ref" -> "Class::MOP::Mixin::HasMethods::get_method";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::AttributeCore::has_clearer";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Attribute::_process_accessors";
"Moose::Meta::Attribute::_process_accessors" -> "Class::MOP::Attribute::_process_accessors";
"Class::MOP::Attribute::get_write_method_ref" -> "Class::MOP::Mixin::HasMethods::method_metaclass";
"Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]" -> "Class::MOP::Class::__ANON__::SERIAL::2::accessor_metaclass";
"Class::MOP::Attribute::_process_accessors" -> "Class::MOP::Attribute::associate_method";
"Class::MOP::Class:::after" -> "Class::MOP::Attribute::associate_method";
"Class::MOP::Attribute::set_raw_value" -> "Class::MOP::Instance::set_slot_value";
"Class::MOP::Attribute::_set_initial_slot_value" -> "Class::MOP::Instance::set_slot_value";
"Class::MOP::Attribute::attach_to_class" -> "Scalar::Util::blessed";
"Class::MOP::Attribute::new" -> "Class::MOP::Mixin::AttributeCore::is_default_a_coderef";
"Class::MOP::Attribute::_process_accessors" -> "Class::MOP::Mixin::AttributeCore::definition_context";
"Class::MOP::Attribute::get_raw_value" -> "Class::MOP::Instance::get_slot_value";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::AttributeCore::writer";
"Class::MOP::Attribute::get_write_method" -> "Class::MOP::Mixin::AttributeCore::writer";
"MooseX::ClassAttribute::Meta::Method::Accessor::_inline_get" -> "Class::MOP::Attribute::slots";
"MooseX::ClassAttribute::Meta::Method::Accessor::_inline_store" -> "Class::MOP::Attribute::slots";
"Moose::Meta::Method::Accessor::_inline_has" -> "Class::MOP::Attribute::slots";
"Class::MOP::Instance::BUILDARGS" -> "Class::MOP::Attribute::slots";
"Moose::Meta::Method::Accessor::_inline_get" -> "Class::MOP::Attribute::slots";
"Moose::Meta::Method::Accessor::_inline_store" -> "Class::MOP::Attribute::slots";
"Try::Tiny::try" -> "Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@4";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::AttributeCore::reader";
"Class::MOP::Attribute::get_read_method" -> "Class::MOP::Mixin::AttributeCore::reader";
"Class::MOP::Attribute::set_value" -> "Class::MOP::Attribute::set_raw_value";
"Class::MOP::Attribute::initialize_instance_slot" -> "Class::MOP::Mixin::AttributeCore::default";
"Class::MOP::Attribute::initialize_instance_slot" -> "Class::MOP::Attribute::_set_initial_slot_value";
"Class::MOP::Attribute::new" -> "Moose::Meta::Attribute::_new";
"Class::MOP::Attribute::get_value" -> "Class::MOP::Attribute::get_raw_value";
"Class::MOP::Class::_construct_instance" -> "Class::MOP::Attribute::initialize_instance_slot";
"Class::MOP::Attribute::_process_accessors" -> "Try::Tiny::catch";
"Class::MOP::Attribute::attach_to_class" -> "Scalar::Util::weaken";
"Class::MOP::Attribute::get_write_method_ref" -> "Class::MOP::Attribute::get_write_method";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::AttributeCore::has_writer";
"Class::MOP::Class:::after" -> "Class::MOP::Attribute::get_write_method_ref";
"Class::MOP::Attribute::_set_initial_slot_value" -> "Class::MOP::Mixin::AttributeCore::has_initializer";
"Class::MOP::Attribute::BEGIN@17" -> "base::import";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::AttributeCore::has_accessor";
"Class::MOP::Attribute::attach_to_class" -> "UNIVERSAL::isa";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@17";
"Moose::Meta::Method::Accessor::_inline_has" -> "Class::MOP::Attribute::associated_class";
"MooseX::ClassAttribute::Meta::Method::Accessor::_inline_check_lazy" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Class:::after" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Method::Accessor::_generate_clearer_method_inline" -> "Class::MOP::Attribute::associated_class";
"Moose::Meta::Attribute::_process_accessors" -> "Class::MOP::Attribute::associated_class";
"MooseX::ClassAttribute::Meta::Method::Accessor::_inline_store" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]" -> "Class::MOP::Attribute::associated_class";
"Moose::Meta::Method::Accessor::_inline_store" -> "Class::MOP::Attribute::associated_class";
"MooseX::ClassAttribute::Meta::Method::Accessor::_inline_get" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Method::Accessor::_generate_accessor_method_inline" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Method::Accessor::_generate_writer_method_inline" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Attribute::get_read_method_ref" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Attribute::_process_accessors" -> "Class::MOP::Attribute::associated_class";
"Moose::Meta::Method::Accessor::_inline_get" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Attribute::get_write_method_ref" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Method::Accessor::_generate_reader_method_inline" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Class:::around" -> "Class::MOP::Attribute::associated_class";
"Moose::Meta::Method::Accessor::_inline_get_old_value_for_trigger" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Method::Accessor::_generate_predicate_method_inline" -> "Class::MOP::Attribute::associated_class";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::AttributeCore::has_reader";
"Class::MOP::Attribute::set_initial_value" -> "Class::MOP::Class::Immutable::Class::MOP::Class::get_meta_instance";
"Class::MOP::Attribute::set_raw_value" -> "Class::MOP::Class::Immutable::Class::MOP::Class::get_meta_instance";
"Class::MOP::Attribute::has_value" -> "Class::MOP::Class::Immutable::Class::MOP::Class::get_meta_instance";
"Class::MOP::Attribute::get_raw_value" -> "Class::MOP::Class::Immutable::Class::MOP::Class::get_meta_instance";
"Class::MOP::Attribute::_process_accessors" -> "Class::MOP::Attribute::accessor_metaclass";
"Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]" -> "Class::MOP::Attribute::accessor_metaclass";
"Class::MOP::Attribute::BEGIN@5" -> "warnings::import";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::HasMethods::add_method";
"Class::MOP::Attribute::_new" -> "Class::MOP::Class::new_object";
"Class::MOP::Class::_attach_attribute" -> "Class::MOP::Attribute::attach_to_class";
"Class::MOP::Class:::around" -> "Class::MOP::Attribute::attach_to_class";
"Moose::Exporter::BEGIN@11" -> "Class::MOP::Attribute::new";
"Moose::BEGIN@18" -> "Class::MOP::Attribute::new";
"Class::MOP::Mixin::HasAttributes::add_attribute" -> "Class::MOP::Attribute::new";
"Moose::Meta::Attribute::new" -> "Class::MOP::Attribute::new";
"Class::MOP::Attribute::has_value" -> "Class::MOP::Mixin::AttributeCore::name";
"Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]" -> "Class::MOP::Mixin::AttributeCore::name";
"Class::MOP::Attribute::slots" -> "Class::MOP::Mixin::AttributeCore::name";
"Class::MOP::Attribute::set_raw_value" -> "Class::MOP::Mixin::AttributeCore::name";
"Class::MOP::Attribute::_set_initial_slot_value" -> "Class::MOP::Mixin::AttributeCore::name";
"Class::MOP::Attribute::get_raw_value" -> "Class::MOP::Mixin::AttributeCore::name";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::AttributeCore::clearer";
"Class::MOP::Class::__ANON__[Class/MOP/Class.pm:515]" -> "Class::MOP::Attribute::install_accessors";
"Moose::Meta::Attribute::install_accessors" -> "Class::MOP::Attribute::install_accessors";
"Class::MOP::Class::_inline_accessors" -> "Class::MOP::Attribute::install_accessors";
"Class::MOP::Attribute::has_value" -> "Class::MOP::Instance::is_slot_initialized";
"Class::MOP::Class:::after" -> "Class::MOP::Attribute::get_read_method_ref";
"Moose::Meta::Class::new_object" -> "Class::MOP::Attribute::get_read_method_ref";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@9";
"Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]" -> "Class::MOP::Package::name";
"Class::MOP::Attribute::_process_accessors" -> "Class::MOP::Package::name";
"Class::MOP::Attribute::get_write_method_ref" -> "Class::MOP::Package::name";
"Moose::Meta::Attribute::_check_associated_methods" -> "Class::MOP::Attribute::associated_methods";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@5";
"Class::MOP::Attribute::_new" -> "Class::MOP::Class::initialize";
"Class::MOP::Attribute::has_value" -> "Class::MOP::Class::initialize";
"Class::MOP::Attribute::set_initial_value" -> "Class::MOP::Class::initialize";
"Class::MOP::Attribute::set_raw_value" -> "Class::MOP::Class::initialize";
"Class::MOP::Attribute::get_raw_value" -> "Class::MOP::Class::initialize";
"Class::MOP::Attribute::set_initial_value" -> "Moose::Meta::Attribute::_set_initial_slot_value";
"Moose::Meta::Mixin::AttributeCore::should_auto_deref" -> "Class::MOP::Attribute::get_value";
"Moose::Meta::Mixin::AttributeCore::type_constraint" -> "Class::MOP::Attribute::get_value";
"Moose::Meta::Mixin::AttributeCore::is_lazy" -> "Class::MOP::Attribute::get_value";
"Moose::Meta::Attribute::initialize_instance_slot" -> "Class::MOP::Attribute::set_initial_value";
"Class::MOP::Attribute::set_raw_value" -> "Class::MOP::Class::get_meta_instance";
"Class::MOP::Attribute::has_value" -> "Class::MOP::Class::get_meta_instance";
"Class::MOP::Attribute::get_raw_value" -> "Class::MOP::Class::get_meta_instance";
"Class::MOP::Attribute::set_initial_value" -> "Class::MOP::Class::get_meta_instance";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::AttributeCore::accessor";
"Class::MOP::Attribute::get_read_method" -> "Class::MOP::Mixin::AttributeCore::accessor";
"Class::MOP::Attribute::get_write_method" -> "Class::MOP::Mixin::AttributeCore::accessor";
"Class::MOP::Attribute::BEGIN@4" -> "strict::import";
"Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]" -> "Class::MOP::Method::Accessor::new";
"Class::MOP::Attribute::get_read_method_ref" -> "Class::MOP::Attribute::get_read_method";
}
