digraph {
graph [overlap=false]
subgraph cluster_subs {
	label="subs";
	"subs::import";
}
subgraph cluster_Opcode {
	label="Opcode";
	"Opcode::BEGIN@29";
	"Opcode::full_opset";
	"Opcode::BEGIN@12";
	"Opcode::_safe_pkg_prep";
	"Opcode::BEGIN@13";
	"Opcode::CORE:match";
	"Opcode::BEGIN@11";
	"Opcode::BEGIN@5";
	"Opcode::BEGIN@3";
	"Opcode::invert_opset";
	"Opcode::opset_to_ops";
	"Opcode::CORE:readline";
	"Opcode::define_optag";
	"Opcode::BEGIN@15";
	"Opcode::opset";
	"Opcode::CORE:subst";
	"Opcode::_init_optags";
	"Opcode::CORE:close";
}
subgraph cluster_Safe {
	label="Safe";
	"Safe::BEGIN@46";
	"Safe::permit_only";
	"Safe::permit";
	"Safe::new";
}
subgraph cluster_strict {
	label="strict";
	"strict::import";
}
subgraph cluster_Exporter {
	label="Exporter";
	"Exporter::import";
}
"Safe::BEGIN@46" -> "Opcode::BEGIN@29";
"Safe::new" -> "Opcode::_safe_pkg_prep";
"Safe::BEGIN@46" -> "Opcode::BEGIN@13";
"Safe::permit_only" -> "Opcode::invert_opset";
"Safe::permit" -> "Opcode::invert_opset";
"Opcode::_init_optags" -> "Opcode::opset_to_ops";
"Opcode::_init_optags" -> "Opcode::define_optag";
"Opcode::BEGIN@11" -> "Exporter::import";
"Opcode::BEGIN@29" -> "subs::import";
"Opcode::_init_optags" -> "Opcode::CORE:match";
"Opcode::_init_optags" -> "Opcode::CORE:subst";
"Safe::BEGIN@46" -> "Opcode::BEGIN@11";
"Safe::BEGIN@46" -> "Opcode::BEGIN@3";
"Opcode::_init_optags" -> "Opcode::CORE:readline";
"Safe::BEGIN@46" -> "Opcode::BEGIN@15";
"Opcode::_init_optags" -> "Opcode::CORE:close";
"Opcode::_init_optags" -> "Opcode::full_opset";
"Safe::BEGIN@46" -> "Opcode::BEGIN@12";
"Safe::BEGIN@46" -> "Opcode::BEGIN@5";
"Safe::permit_only" -> "Opcode::opset";
"Opcode::_init_optags" -> "Opcode::opset";
"Safe::permit" -> "Opcode::opset";
"Opcode::BEGIN@5" -> "strict::import";
"Safe::BEGIN@46" -> "Opcode::_init_optags";
}
