digraph {
graph [overlap=false]
subgraph cluster_warnings {
	label="warnings";
	"warnings::import";
}
subgraph cluster_Moose_Exporter {
	label="Moose::Exporter";
	"Moose::Exporter::setup_import_methods";
}
subgraph cluster_Class_MOP_Mixin_HasMethods {
	label="Class::MOP::Mixin::HasMethods";
	"Class::MOP::Mixin::HasMethods::get_method";
}
subgraph cluster_Moose_Util_TypeConstraints {
	label="Moose::Util::TypeConstraints";
	"Moose::Util::TypeConstraints::BEGIN@39";
	"Moose::Util::TypeConstraints::BEGIN@38";
	"Moose::Util::TypeConstraints::BEGIN@7";
	"Moose::Util::TypeConstraints::BEGIN@619";
	"Moose::Util::TypeConstraints::BEGIN@28";
	"Moose::Util::TypeConstraints::BEGIN@6";
	"Moose::Util::TypeConstraints::BEGIN@65";
	"Moose::Util::TypeConstraints::CORE:regcomp";
	"Moose::Util::TypeConstraints::CORE:qr";
	"Moose::Util::TypeConstraints::BEGIN@592";
	"Moose::Util::TypeConstraints::optimize_as";
	"Moose::Util::TypeConstraints::BEGIN@5";
	"Moose::Util::TypeConstraints::subtype";
	"Moose::Util::TypeConstraints::BEGIN@598";
	"Moose::Util::TypeConstraints::BEGIN@35";
	"Moose::Util::TypeConstraints::BEGIN@33";
	"Moose::Util::TypeConstraints::list_all_type_constraints";
	"Moose::Util::TypeConstraints::BEGIN@4";
	"Moose::Util::TypeConstraints::BEGIN@30";
	"Moose::Util::TypeConstraints::BEGIN@36";
	"Moose::Util::TypeConstraints::BEGIN@572";
	"Moose::Util::TypeConstraints::BEGIN@603";
	"Moose::Util::TypeConstraints::where";
	"Moose::Util::TypeConstraints::BEGIN@34";
	"Moose::Util::TypeConstraints::as";
	"Moose::Util::TypeConstraints::BEGIN@37";
	"Moose::Util::TypeConstraints::find_type_constraint";
	"Moose::Util::TypeConstraints::BEGIN@32";
	"Moose::Util::TypeConstraints::BEGIN@29";
	"Moose::Util::TypeConstraints::BEGIN@31";
	"Moose::Util::TypeConstraints::type";
}
subgraph cluster_Moose {
	label="Moose";
	"Moose::BEGIN@20";
}
subgraph cluster_Moose_Meta_TypeConstraint_Registry {
	label="Moose::Meta::TypeConstraint::Registry";
	"Moose::Meta::TypeConstraint::Registry::new";
	"Moose::Meta::TypeConstraint::Registry::add_type_constraint";
	"Moose::Meta::TypeConstraint::Registry::get_type_constraint";
}
subgraph cluster_Moose_Meta_Mixin_AttributeCore {
	label="Moose::Meta::Mixin::AttributeCore";
	"Moose::Meta::Mixin::AttributeCore::has_handles";
}
subgraph cluster_UNIVERSAL {
	label="UNIVERSAL";
	"UNIVERSAL::isa";
}
subgraph cluster_Moose_Meta_Class {
	label="Moose::Meta::Class";
	"Moose::Meta::Class::_process_new_attribute";
	"Moose::Meta::Class::add_attribute";
}
subgraph cluster_Sub_Exporter {
	label="Sub::Exporter";
	"Sub::Exporter::setup_exporter";
}
subgraph cluster_Class_MOP_Object {
	label="Class::MOP::Object";
	"Class::MOP::Object::meta";
}
subgraph cluster_base {
	label="base";
	"base::import";
}
subgraph cluster_strict {
	label="strict";
	"strict::import";
}
subgraph cluster_Moose_Util {
	label="Moose::Util";
	"Moose::Util::BEGIN@7";
	"Moose::Util::BEGIN@3";
	"Moose::Util::BEGIN@9";
	"Moose::Util::BEGIN@4";
	"Moose::Util::BEGIN@6";
	"Moose::Util::BEGIN@8";
}
subgraph cluster_Class_MOP_Class {
	label="Class::MOP::Class";
	"Class::MOP::Class::is_mutable";
	"Class::MOP::Class::get_all_attributes";
	"Class::MOP::Class::__ANON__[Class/MOP/Class.pm:515]";
	"Class::MOP::Class::make_immutable";
	"Class::MOP::Class::_inline_accessors";
}
subgraph cluster_Class_MOP {
	label="Class::MOP";
	"Class::MOP::class_of";
}
subgraph cluster_Regexp {
	label="Regexp";
	"Regexp::DESTROY";
}
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_all_attributes";
}
subgraph cluster_Class_MOP_Attribute {
	label="Class::MOP::Attribute";
	"Class::MOP::Attribute::_process_accessors";
	"Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]";
	"Class::MOP::Attribute::install_accessors";
	"Class::MOP::Attribute::new";
	"Class::MOP::Attribute::associated_methods";
	"Class::MOP::Attribute::associated_class";
}
subgraph cluster_Class_MOP_Mixin_AttributeCore {
	label="Class::MOP::Mixin::AttributeCore";
	"Class::MOP::Mixin::AttributeCore::init_arg";
}
subgraph cluster_Moose_Meta_Attribute {
	label="Moose::Meta::Attribute";
	"Moose::Meta::Attribute::BEGIN@7";
	"Moose::Meta::Attribute::_process_options";
	"Moose::Meta::Attribute::BEGIN@4";
	"Moose::Meta::Attribute::new";
	"Moose::Meta::Attribute::_process_accessors";
	"Moose::Meta::Attribute::BEGIN@9";
	"Moose::Meta::Attribute::CORE:sort";
	"Moose::Meta::Attribute::BEGIN@5";
	"Moose::Meta::Attribute::BEGIN@15";
	"Moose::Meta::Attribute::BEGIN@8";
	"Moose::Meta::Attribute::install_accessors";
	"Moose::Meta::Attribute::BEGIN@16";
	"Moose::Meta::Attribute::BEGIN@20";
	"Moose::Meta::Attribute::interpolate_class";
	"Moose::Meta::Attribute::accessor_metaclass";
	"Moose::Meta::Attribute::BEGIN@10";
	"Moose::Meta::Attribute::interpolate_class_and_new";
	"Moose::Meta::Attribute::BEGIN@17";
	"Moose::Meta::Attribute::_check_associated_methods";
	"Moose::Meta::Attribute::BEGIN@18";
}
subgraph cluster_Moose_Meta_Method_Accessor {
	label="Moose::Meta::Method::Accessor";
	"Moose::Meta::Method::Accessor::BEGIN@11";
	"Moose::Meta::Method::Accessor::BEGIN@4";
	"Moose::Meta::Method::Accessor::BEGIN@5";
}
subgraph cluster_Moose_Meta_TypeConstraint {
	label="Moose::Meta::TypeConstraint";
	"Moose::Meta::TypeConstraint::new";
}
subgraph cluster_Moose_Meta_Method_Delegation {
	label="Moose::Meta::Method::Delegation";
	"Moose::Meta::Method::Delegation::BEGIN@8";
	"Moose::Meta::Method::Delegation::BEGIN@7";
	"Moose::Meta::Method::Delegation::BEGIN@4";
	"Moose::Meta::Method::Delegation::BEGIN@14";
	"Moose::Meta::Method::Delegation::BEGIN@5";
}
subgraph cluster_Moose_Meta_TypeCoercion {
	label="Moose::Meta::TypeCoercion";
	"Moose::Meta::TypeCoercion::BEGIN@8";
}
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@619";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@9";
"Moose::Meta::Attribute::BEGIN@16" -> "Moose::Meta::Method::Delegation::BEGIN@4";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@20";
"Moose::Meta::Attribute::interpolate_class_and_new" -> "Moose::Meta::Attribute::interpolate_class";
"Moose::Meta::Attribute::BEGIN@17" -> "Moose::Util::BEGIN@7";
"Moose::Meta::Attribute::BEGIN@16" -> "Moose::Meta::Method::Delegation::BEGIN@8";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@36";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@10";
"Moose::Meta::Attribute::BEGIN@9" -> "Exporter::import";
"Moose::Meta::Attribute::BEGIN@7" -> "Exporter::import";
"Moose::Meta::Attribute::BEGIN@8" -> "Exporter::import";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::where";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Meta::TypeConstraint::Registry::new";
"Moose::Meta::Class::add_attribute" -> "Moose::Meta::Attribute::_check_associated_methods";
"Moose::Meta::Attribute::BEGIN@17" -> "Moose::Util::BEGIN@3";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::find_type_constraint";
"Moose::Meta::Attribute::new" -> "Class::MOP::Mixin::AttributeCore::init_arg";
"Moose::Meta::Attribute::BEGIN@15" -> "Moose::Meta::Method::Accessor::BEGIN@11";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@7";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@38";
"Class::MOP::Attribute::install_accessors" -> "Moose::Meta::Attribute::_process_accessors";
"Moose::Meta::Attribute::BEGIN@18" -> "Class::MOP::Class::is_mutable";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::CORE:qr";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@592";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@5";
"Class::MOP::Attribute::__ANON__[Class/MOP/Attribute.pm:340]" -> "Moose::Meta::Attribute::accessor_metaclass";
"Moose::Meta::Attribute::BEGIN@17" -> "Moose::Util::BEGIN@9";
"Moose::Meta::Attribute::BEGIN@15" -> "Moose::Meta::Method::Accessor::BEGIN@5";
"Moose::Meta::Class::_process_new_attribute" -> "Moose::Meta::Attribute::interpolate_class_and_new";
"Moose::Meta::Attribute::_process_accessors" -> "Class::MOP::Mixin::HasMethods::get_method";
"Moose::Meta::Attribute::_process_accessors" -> "Class::MOP::Attribute::_process_accessors";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@39";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@15";
"Moose::Meta::Attribute::new" -> "Class::MOP::Class::get_all_attributes";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Meta::TypeConstraint::new";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@572";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::as";
"Moose::Meta::Attribute::new" -> "Class::MOP::Object::meta";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@5";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@65";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@8";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::CORE:regcomp";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@33";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@17";
"Moose::Meta::Attribute::new" -> "Class::MOP::Class::Immutable::Class::MOP::Class::get_all_attributes";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@37";
"Moose::Meta::Attribute::new" -> "Moose::Meta::Attribute::_process_options";
"Moose::Meta::Attribute::BEGIN@18" -> "Class::MOP::Class::make_immutable";
"Moose::Meta::Attribute::BEGIN@17" -> "Moose::Util::BEGIN@6";
"Moose::Meta::Attribute::BEGIN@16" -> "Moose::Meta::Method::Delegation::BEGIN@5";
"Moose::Meta::Attribute::BEGIN@18" -> "Class::MOP::class_of";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@6";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Exporter::setup_import_methods";
"Moose::Meta::Attribute::BEGIN@17" -> "Moose::Util::BEGIN@8";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@598";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::subtype";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@35";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@4";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::list_all_type_constraints";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@30";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Meta::TypeConstraint::Registry::add_type_constraint";
"Moose::Meta::Attribute::BEGIN@17" -> "Sub::Exporter::setup_exporter";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::type";
"Moose::Meta::Attribute::BEGIN@16" -> "Moose::Meta::Method::Delegation::BEGIN@7";
"Moose::BEGIN@20" -> "Moose::Meta::Attribute::new";
"Moose::Meta::Attribute::interpolate_class_and_new" -> "Moose::Meta::Attribute::new";
"Moose::Meta::Attribute::BEGIN@20" -> "base::import";
"Moose::Meta::Attribute::_process_accessors" -> "UNIVERSAL::isa";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::optimize_as";
"Moose::Meta::Attribute::_process_accessors" -> "Class::MOP::Attribute::associated_class";
"Moose::Meta::Attribute::BEGIN@5" -> "warnings::import";
"Moose::Meta::Attribute::BEGIN@18" -> "Regexp::DESTROY";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Meta::TypeConstraint::Registry::get_type_constraint";
"Moose::Meta::Attribute::BEGIN@15" -> "Moose::Meta::Method::Accessor::BEGIN@4";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@29";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@31";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@4";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@28";
"Moose::Meta::Attribute::new" -> "Class::MOP::Attribute::new";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@16";
"Moose::Meta::Attribute::install_accessors" -> "Class::MOP::Attribute::install_accessors";
"Moose::Meta::Attribute::BEGIN@16" -> "Moose::Meta::Method::Delegation::BEGIN@14";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@32";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@7";
"Moose::Meta::Attribute::_check_associated_methods" -> "Class::MOP::Attribute::associated_methods";
"Moose::Meta::Attribute::new" -> "Moose::Meta::Attribute::CORE:sort";
"Class::MOP::Class::__ANON__[Class/MOP/Class.pm:515]" -> "Moose::Meta::Attribute::install_accessors";
"Class::MOP::Class::_inline_accessors" -> "Moose::Meta::Attribute::install_accessors";
"Moose::Meta::Attribute::install_accessors" -> "Moose::Meta::Mixin::AttributeCore::has_handles";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@603";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Util::TypeConstraints::BEGIN@34";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Moose::Meta::Attribute::BEGIN@18";
"Moose::Meta::Attribute::BEGIN@4" -> "strict::import";
"Moose::Meta::Attribute::BEGIN@17" -> "Moose::Util::BEGIN@4";
}
