digraph {
graph [overlap=false]
subgraph cluster_Moose_Meta_Role_Application_ToRole {
	label="Moose::Meta::Role::Application::ToRole";
	"Moose::Meta::Role::Application::ToRole::apply_methods";
}
subgraph cluster_DynaLoader {
	label="DynaLoader";
	"DynaLoader::bootstrap";
}
subgraph cluster_List_MoreUtils {
	label="List::MoreUtils";
	"List::MoreUtils::all";
}
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::BEGIN@14";
	"Class::MOP::Mixin::HasMethods::BEGIN@12";
	"Class::MOP::Mixin::HasMethods::CORE:match";
	"Class::MOP::Mixin::HasMethods::get_method";
	"Class::MOP::Mixin::HasMethods::has_method";
	"Class::MOP::Mixin::HasMethods::_code_is_mine";
	"Class::MOP::Mixin::HasMethods::add_method";
	"Class::MOP::Mixin::HasMethods::BEGIN@4";
	"Class::MOP::Mixin::HasMethods::get_method_list";
	"Class::MOP::Mixin::HasMethods::BEGIN@11";
	"Class::MOP::Mixin::HasMethods::method_metaclass";
	"Class::MOP::Mixin::HasMethods::BEGIN@3";
	"Class::MOP::Mixin::HasMethods::_method_map";
	"Class::MOP::Mixin::HasMethods::wrapped_method_metaclass";
	"Class::MOP::Mixin::HasMethods::wrap_method_body";
	"Class::MOP::Mixin::HasMethods::BEGIN@10";
}
subgraph cluster_Moose_Meta_Role {
	label="Moose::Meta::Role";
	"Moose::Meta::Role::find_method_by_name";
	"Moose::Meta::Role::method_metaclass";
}
subgraph cluster_Moose {
	label="Moose";
	"Moose::BEGIN@26";
	"Moose::BEGIN@37";
	"Moose::init_meta";
}
subgraph cluster_Sub_Name {
	label="Sub::Name";
	"Sub::Name::BEGIN@45";
	"Sub::Name::subname";
	"Sub::Name::BEGIN@44";
	"Sub::Name::BEGIN@42";
	"Sub::Name::BEGIN@50";
	"Sub::Name::BEGIN@49";
}
subgraph cluster_metaclass {
	label="metaclass";
	"metaclass::import";
}
subgraph cluster_Scalar_Util {
	label="Scalar::Util";
	"Scalar::Util::blessed";
}
subgraph cluster_UNIVERSAL {
	label="UNIVERSAL";
	"UNIVERSAL::can";
}
subgraph cluster_Moose_Meta_Class {
	label="Moose::Meta::Class";
	"Moose::Meta::Class::_reinitialize_with";
	"Moose::Meta::Class::reinitialize";
}
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::find_all_methods_by_name";
	"Class::MOP::Class::find_next_method_by_name";
	"Class::MOP::Class::_inline_constructor";
	"Class::MOP::Class::__ANON__[Class/MOP/Class.pm:678]";
	"Class::MOP::Class::is_pristine";
	"Class::MOP::Class::create";
	"Class::MOP::Class::find_method_by_name";
	"Class::MOP::Class::_immutable_metaclass";
	"Class::MOP::Class::_inline_destructor";
	"Class::MOP::Class::get_all_methods";
}
subgraph cluster_Class_MOP {
	label="Class::MOP";
	"Class::MOP::BEGIN@17";
	"Class::MOP::get_code_info";
}
subgraph cluster_Exporter {
	label="Exporter";
	"Exporter::import";
}
subgraph cluster_Class_MOP_Attribute {
	label="Class::MOP::Attribute";
	"Class::MOP::Attribute::get_write_method_ref";
	"Class::MOP::Attribute::install_accessors";
	"Class::MOP::Attribute::get_read_method_ref";
}
subgraph cluster_Moose_Role {
	label="Moose::Role";
	"Moose::Role::init_meta";
}
subgraph cluster_MooseX_AttributeHelpers_Trait_Base {
	label="MooseX::AttributeHelpers::Trait::Base";
	"MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:51]";
}
subgraph cluster_Class_MOP_Class_ {
	label="Class::MOP::Class:";
	"Class::MOP::Class:::after";
}
subgraph cluster_Class_MOP_Package {
	label="Class::MOP::Package";
	"Class::MOP::Package::add_package_symbol";
	"Class::MOP::Package::namespace";
	"Class::MOP::Package::name";
	"Class::MOP::Package::get_package_symbol";
}
subgraph cluster_Moose_Meta_Attribute {
	label="Moose::Meta::Attribute";
	"Moose::Meta::Attribute::_process_accessors";
}
subgraph cluster_Class_MOP_Method {
	label="Class::MOP::Method";
	"Class::MOP::Method::clone";
	"Class::MOP::Method::body";
	"Class::MOP::Method::attach_to_class";
	"Class::MOP::Method::wrap";
	"Class::MOP::Method::package_name";
}
subgraph cluster_Moose_Meta_Role_Application_ToClass {
	label="Moose::Meta::Role::Application::ToClass";
	"Moose::Meta::Role::Application::ToClass::apply_methods";
}
"Class::MOP::Mixin::HasMethods::get_method_list" -> "Class::MOP::Package::namespace";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasMethods::BEGIN@14";
"Class::MOP::Mixin::HasMethods::add_method" -> "Class::MOP::Mixin::HasMethods::CORE:match";
"Class::MOP::Mixin::HasMethods::add_method" -> "Class::MOP::Method::package_name";
"Class::MOP::Mixin::HasMethods::wrap_method_body" -> "Class::MOP::Method::wrap";
"Class::MOP::Mixin::HasMethods::BEGIN@12" -> "Exporter::import";
"Class::MOP::Mixin::HasMethods::BEGIN@11" -> "Exporter::import";
"Class::MOP::Mixin::HasMethods::BEGIN@10" -> "Exporter::import";
"Class::MOP::Mixin::HasMethods::BEGIN@12" -> "DynaLoader::bootstrap";
"Class::MOP::Mixin::HasMethods::add_method" -> "Class::MOP::Method::clone";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasMethods::BEGIN@12";
"Moose::Meta::Role::Application::ToClass::apply_methods" -> "Class::MOP::Mixin::HasMethods::get_method";
"Moose::Meta::Role::Application::ToRole::apply_methods" -> "Class::MOP::Mixin::HasMethods::get_method";
"Class::MOP::Class::find_next_method_by_name" -> "Class::MOP::Mixin::HasMethods::get_method";
"MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:51]" -> "Class::MOP::Mixin::HasMethods::get_method";
"Class::MOP::Attribute::get_read_method_ref" -> "Class::MOP::Mixin::HasMethods::get_method";
"Moose::Meta::Attribute::_process_accessors" -> "Class::MOP::Mixin::HasMethods::get_method";
"Class::MOP::Mixin::HasMethods::has_method" -> "Class::MOP::Mixin::HasMethods::get_method";
"Class::MOP::Class::__ANON__[Class/MOP/Class.pm:678]" -> "Class::MOP::Mixin::HasMethods::get_method";
"Class::MOP::Class::is_pristine" -> "Class::MOP::Mixin::HasMethods::get_method";
"Moose::Meta::Role::find_method_by_name" -> "Class::MOP::Mixin::HasMethods::get_method";
"Class::MOP::Class::find_method_by_name" -> "Class::MOP::Mixin::HasMethods::get_method";
"Class::MOP::Class::get_all_methods" -> "Class::MOP::Mixin::HasMethods::get_method";
"Moose::Meta::Class::reinitialize" -> "Class::MOP::Mixin::HasMethods::method_metaclass";
"Moose::Meta::Class::_reinitialize_with" -> "Class::MOP::Mixin::HasMethods::method_metaclass";
"List::MoreUtils::all" -> "Class::MOP::Mixin::HasMethods::method_metaclass";
"Class::MOP::Attribute::get_write_method_ref" -> "Class::MOP::Mixin::HasMethods::method_metaclass";
"Class::MOP::Mixin::HasMethods::wrap_method_body" -> "Class::MOP::Mixin::HasMethods::method_metaclass";
"Class::MOP::Class::is_pristine" -> "Class::MOP::Mixin::HasMethods::get_method_list";
"Moose::Meta::Role::Application::ToRole::apply_methods" -> "Class::MOP::Mixin::HasMethods::get_method_list";
"Moose::Meta::Role::Application::ToClass::apply_methods" -> "Class::MOP::Mixin::HasMethods::get_method_list";
"MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:51]" -> "Class::MOP::Mixin::HasMethods::get_method_list";
"Class::MOP::Class::get_all_methods" -> "Class::MOP::Mixin::HasMethods::get_method_list";
"Class::MOP::Mixin::HasMethods::add_method" -> "Sub::Name::subname";
"Class::MOP::Mixin::HasMethods::get_method" -> "Scalar::Util::blessed";
"Class::MOP::Mixin::HasMethods::add_method" -> "Scalar::Util::blessed";
"Moose::Meta::Class::reinitialize" -> "Class::MOP::Mixin::HasMethods::wrapped_method_metaclass";
"List::MoreUtils::all" -> "Class::MOP::Mixin::HasMethods::wrapped_method_metaclass";
"Class::MOP::Class::__ANON__[Class/MOP/Class.pm:678]" -> "Class::MOP::Mixin::HasMethods::wrapped_method_metaclass";
"Class::MOP::Mixin::HasMethods::wrap_method_body" -> "Moose::Meta::Role::method_metaclass";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasMethods::BEGIN@11";
"Class::MOP::Mixin::HasMethods::BEGIN@12" -> "Sub::Name::BEGIN@44";
"Class::MOP::Mixin::HasMethods::BEGIN@12" -> "Sub::Name::BEGIN@49";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasMethods::BEGIN@4";
"Class::MOP::Mixin::HasMethods::BEGIN@12" -> "Sub::Name::BEGIN@42";
"Class::MOP::Mixin::HasMethods::get_method" -> "Class::MOP::Mixin::HasMethods::_code_is_mine";
"Class::MOP::Mixin::HasMethods::BEGIN@12" -> "Sub::Name::BEGIN@50";
"Class::MOP::Mixin::HasMethods::add_method" -> "Class::MOP::Package::add_package_symbol";
"Class::MOP::Class:::after" -> "Class::MOP::Mixin::HasMethods::has_method";
"Class::MOP::Mixin::HasMethods::get_method_list" -> "Class::MOP::Mixin::HasMethods::has_method";
"Moose::Meta::Role::Application::ToRole::apply_methods" -> "Class::MOP::Mixin::HasMethods::has_method";
"Moose::Meta::Role::Application::ToClass::apply_methods" -> "Class::MOP::Mixin::HasMethods::has_method";
"Moose::init_meta" -> "Class::MOP::Mixin::HasMethods::has_method";
"Class::MOP::Class::find_all_methods_by_name" -> "Class::MOP::Mixin::HasMethods::has_method";
"Class::MOP::Class::_inline_destructor" -> "Class::MOP::Mixin::HasMethods::has_method";
"Class::MOP::Class::_inline_constructor" -> "Class::MOP::Mixin::HasMethods::has_method";
"Class::MOP::Mixin::HasMethods::add_method" -> "UNIVERSAL::can";
"Class::MOP::Mixin::HasMethods::BEGIN@14" -> "base::import";
"Class::MOP::Mixin::HasMethods::BEGIN@4" -> "warnings::import";
"Class::MOP::Class:::after" -> "Class::MOP::Mixin::HasMethods::add_method";
"Moose::Exporter::BEGIN@11" -> "Class::MOP::Mixin::HasMethods::add_method";
"Moose::BEGIN@26" -> "Class::MOP::Mixin::HasMethods::add_method";
"Moose::Meta::Role::Application::ToClass::apply_methods" -> "Class::MOP::Mixin::HasMethods::add_method";
"Moose::Meta::Role::Application::ToRole::apply_methods" -> "Class::MOP::Mixin::HasMethods::add_method";
"Class::MOP::Attribute::install_accessors" -> "Class::MOP::Mixin::HasMethods::add_method";
"Moose::init_meta" -> "Class::MOP::Mixin::HasMethods::add_method";
"Class::MOP::Class::_inline_constructor" -> "Class::MOP::Mixin::HasMethods::add_method";
"metaclass::import" -> "Class::MOP::Mixin::HasMethods::add_method";
"Class::MOP::Class::__ANON__[Class/MOP/Class.pm:678]" -> "Class::MOP::Mixin::HasMethods::add_method";
"Class::MOP::Class::create" -> "Class::MOP::Mixin::HasMethods::add_method";
"Class::MOP::Class::_immutable_metaclass" -> "Class::MOP::Mixin::HasMethods::add_method";
"Moose::BEGIN@37" -> "Class::MOP::Mixin::HasMethods::add_method";
"Class::MOP::Class::_inline_destructor" -> "Class::MOP::Mixin::HasMethods::add_method";
"Moose::Role::init_meta" -> "Class::MOP::Mixin::HasMethods::add_method";
"Class::MOP::Mixin::HasMethods::get_method" -> "Class::MOP::Package::get_package_symbol";
"Class::MOP::Mixin::HasMethods::add_method" -> "Class::MOP::Mixin::HasMethods::_method_map";
"Class::MOP::Mixin::HasMethods::get_method" -> "Class::MOP::Mixin::HasMethods::_method_map";
"Class::MOP::Mixin::HasMethods::get_method" -> "Class::MOP::Mixin::HasMethods::wrap_method_body";
"Class::MOP::Mixin::HasMethods::wrap_method_body" -> "Class::MOP::Package::name";
"Class::MOP::Mixin::HasMethods::_code_is_mine" -> "Class::MOP::Package::name";
"Class::MOP::Mixin::HasMethods::add_method" -> "Class::MOP::Package::name";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasMethods::BEGIN@10";
"Class::MOP::Mixin::HasMethods::BEGIN@12" -> "Sub::Name::BEGIN@45";
"Class::MOP::Mixin::HasMethods::get_method" -> "Class::MOP::Method::body";
"Class::MOP::Mixin::HasMethods::add_method" -> "Class::MOP::Method::body";
"Class::MOP::Mixin::HasMethods::add_method" -> "Class::MOP::Method::attach_to_class";
"Class::MOP::Mixin::HasMethods::BEGIN@3" -> "strict::import";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasMethods::BEGIN@3";
"Class::MOP::Mixin::HasMethods::_code_is_mine" -> "Class::MOP::get_code_info";
"Class::MOP::Mixin::HasMethods::add_method" -> "Class::MOP::get_code_info";
}
