{"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[8,"BEGIN"],[10,"BEGIN"],[17,"new"],[27,"create"],[54,"get"],[68,"delete"],[80,"from_cookie"],[104,"_session_file"],[113,"_now_iso8601"],[122,"_iso8601_after"],[133,"_iso8601_to_epoch"]],"condition":[[18,{"op":"||","right":"die('Missing path registry')","left":"$args{'paths'}","type":"or_2"}],[28,{"left":"$args{'username'}","type":"or_2","right":"die('Missing username')","op":"||"}],[29,{"right":"'helper'","op":"||","type":"or_2","left":"$args{'role'}"}],[30,{"op":"||","right":43200,"type":"or_2","left":"$args{'ttl_seconds'}"}],[36,{"right":"''","op":"||","left":"$args{'remote_addr'}","type":"or_2"}],[55,{"type":"or_3","left":"not defined $session_id","right":"$session_id eq \"\"","op":"or"}],[69,{"left":"not defined $session_id","type":"or_3","op":"or","right":"$session_id eq \"\""}],[81,{"type":"or_3","left":"not defined $cookie","op":"or","right":"$cookie eq \"\""}],[85,{"left":"not defined $k","type":"or_3","op":"or","right":"$k eq \"\""}],[89,{"op":"and","right":"_iso8601_to_epoch($session->{'expires_at'}) <= time","type":"and_3","left":"$session->{'expires_at'}"}],[93,{"right":"defined $session->{'remote_addr'}","op":"and","type":"and_3","left":"defined $args{'remote_addr'}"}],[93,{"right":"$session->{'remote_addr'} ne \"\"","op":"and","type":"and_3","left":"defined $args{'remote_addr'} and defined $session->{'remote_addr'}"}],[123,{"right":0,"op":"||","type":"or_2","left":"$seconds"}],[134,{"left":"defined $text","type":"and_3","right":"$text =~ /\\A(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})Z\\z/","op":"and"}]],"branch":[[42,{"text":"unless open my $fh, \">\", $file"}],[55,{"text":"if not defined $session_id or $session_id eq \"\""}],[57,{"text":"unless -f $file"}],[58,{"text":"unless open my $fh, \"<\", $file"}],[69,{"text":"if not defined $session_id or $session_id eq \"\""}],[71,{"text":"if -f $file"}],[81,{"text":"if not defined $cookie or $cookie eq \"\""}],[85,{"text":"if not defined $k or $k eq \"\""}],[86,{"text":"defined $v ? :"}],[88,{"text":"unless my $session = $self->get($pairs{'dashboard_session'})"}],[89,{"text":"if ($session->{'expires_at'} and _iso8601_to_epoch($session->{'expires_at'}) <= time)"}],[94,{"text":"if $session->{'remote_addr'} ne $args{'remote_addr'}"}],[93,{"text":"if (defined $args{'remote_addr'} and defined $session->{'remote_addr'} and $session->{'remote_addr'} ne \"\")"}],[134,{"text":"unless defined $text and $text =~ /\\A(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})Z\\z/"}]],"statement":[3,3,3,4,4,4,6,6,6,7,7,7,8,8,8,10,10,10,17,18,19,27,28,29,30,31,36,41,42,43,43,44,45,46,54,55,56,57,58,59,60,68,69,70,71,72,80,81,82,83,84,85,86,88,89,90,91,93,94,96,104,105,113,114,122,123,124,125,133,134,135,136],"start":{"7":{"BEGIN":[{"condition":null,"subroutine":3,"statement":9,"time":null,"branch":null}]},"80":{"from_cookie":[{"branch":6,"time":null,"statement":46,"subroutine":10,"condition":7}]},"27":{"create":[{"subroutine":7,"condition":1,"branch":null,"time":null,"statement":21}]},"54":{"get":[{"subroutine":8,"condition":5,"branch":1,"time":null,"statement":34}]},"17":{"new":[{"time":null,"statement":18,"branch":null,"condition":null,"subroutine":6}]},"113":{"_now_iso8601":[{"statement":62,"time":null,"branch":13,"condition":12,"subroutine":12}]},"68":{"delete":[{"branch":4,"statement":41,"time":null,"subroutine":9,"condition":6}]},"3":{"BEGIN":[{"statement":null,"time":null,"branch":null,"condition":null,"subroutine":null}]},"133":{"_iso8601_to_epoch":[{"subroutine":14,"condition":13,"branch":13,"statement":68,"time":null}]},"122":{"_iso8601_after":[{"condition":12,"subroutine":13,"time":null,"statement":64,"branch":13}]},"-1":{"__COVER__":[{"statement":72,"time":null,"branch":14,"condition":14,"subroutine":15}]},"104":{"_session_file":[{"branch":13,"time":null,"statement":60,"subroutine":11,"condition":12}]},"10":{"BEGIN":[{"branch":null,"time":null,"statement":15,"subroutine":5,"condition":null}]},"8":{"BEGIN":[{"subroutine":4,"condition":null,"branch":null,"time":null,"statement":12}]},"6":{"BEGIN":[{"statement":6,"time":null,"branch":null,"condition":null,"subroutine":2}]},"4":{"BEGIN":[{"branch":null,"statement":3,"time":null,"subroutine":1,"condition":null}]}},"file":"blib/lib/Developer/Dashboard/SessionStore.pm","digest":"be2f1c1a99bc38a47cdd6af1eee696ec"}