| line | true | false | branch | 
 
| 14 | 34 | 0 | exists &Errno::EPROTO ? : | 
 
| 153 | 0 | 4 | if (exists $arg{'Timeout'}) | 
 
| 157 | 0 | 4 | unless scalar %arg | 
 
| 161 | 0 | 4 | unless $sock->configure(\%arg) or $IO::Socket::Socks::SOCKS_ERROR == 21 | 
 
| 173 | 0 | 4 | if (exists $arg{'Timeout'}) | 
 
| 180 | 4 | 0 | $sock->command(%arg) ? : | 
 
| 186 | 4 | 160 | unless $CAN_CHANGE_SOCKET | 
 
| 194 | 0 | 164 | unless $self->_configure($args) | 
 
| 200 | 97 | 67 | exists $args->{'ProxyAddr'} ? : | 
 
| 206 | 97 | 67 | exists $args->{'ProxyPort'} ? : | 
 
| 211 | 67 | 97 | if (exists $args->{'Listen'}) { } | 
 
|  | 97 | 0 | elsif (${*$self;}->{'SOCKS'}{'ProxyAddr'} and ${*$self;}->{'SOCKS'}{'ProxyPort'}) { } | 
 
| 222 | 0 | 164 | defined ${*$self;}->{'SOCKS'}{'TCP'} ? : | 
 
| 232 | 8 | 156 | unless ($self->SUPER::configure($args)) | 
 
| 233 | 0 | 8 | if ($IO::Socket::Socks::SOCKS_ERROR == undef) | 
 
| 255 | 146 | 0 | $args->{'SocksVersion'} == 4 || $args->{'SocksVersion'} == 5 || exists $args->{'Listen'} && ref $args->{'SocksVersion'} eq 'ARRAY' && _validate_multi_version($args->{'SocksVersion'}) ? : | 
 
|  | 146 | 22 | exists $args->{'SocksVersion'} ? : | 
 
| 263 | 26 | 142 | exists $args->{'AuthType'} ? : | 
 
| 269 | 62 | 106 | exists $args->{'RequireAuth'} ? : | 
 
| 275 | 62 | 106 | exists $args->{'UserAuth'} ? : | 
 
| 281 | 142 | 0 | ${*$self;}->{'SOCKS'}{'AuthType'} eq 'none' ? : | 
 
|  | 26 | 142 | exists $args->{'Username'} ? : | 
 
| 289 | 142 | 0 | ${*$self;}->{'SOCKS'}{'AuthType'} eq 'none' ? : | 
 
|  | 26 | 142 | exists $args->{'Password'} ? : | 
 
| 297 | 0 | 168 | exists $args->{'SocksDebug'} ? : | 
 
| 303 | 26 | 142 | exists $args->{'SocksResolve'} ? : | 
 
| 308 | 153 | 15 | unless ${*$self;}->{'SOCKS'}{'RequireAuth'} | 
 
| 316 | 88 | 80 | if not exists $args->{'Listen'} and ${*$self;}->{'SOCKS'}{'AuthType'} eq 'userpass' or exists $args->{'Listen'} and defined ${*$self;}->{'SOCKS'}{'UserAuth'} | 
 
| 319 | 0 | 168 | if (exists $args->{'BindAddr'} and exists $args->{'BindPort'}) { } | 
 
|  | 0 | 168 | elsif (exists $args->{'UdpAddr'} and exists $args->{'UdpPort'}) { } | 
 
|  | 101 | 67 | elsif (exists $args->{'ConnectAddr'} and exists $args->{'ConnectPort'}) { } | 
 
| 325 | 0 | 0 | if (${*$self;}->{'SOCKS'}{'Version'} == 4) | 
 
| 336 | 0 | 0 | exists $args->{'Blocking'} ? : | 
 
|  | 0 | 0 | unless ${*$self;}->{'SOCKS'}{'TCP'} = 'IO::Socket::Socks'->new('Timeout', $args->{'Timeout'}, 'Proto', 'tcp', 'PeerAddr', $args->{'ProxyAddr'}, 'PeerPort', $args->{'ProxyPort'}, exists $args->{'Blocking'} ? ('Blocking', $args->{'Blocking'}) : ()) | 
 
| 355 | 0 | 97 | unless defined $self | 
 
| 360 | 0 | 97 | defined ${*$self;}->{'SOCKS'}{'TCP'} ? : | 
 
| 363 | 47 | 50 | if ($! == 115 || $! == 11 and (${*$self;}->{'SOCKS'}{'TCP'} || $self)->blocking == 0) { } | 
 
|  | 0 | 50 | elsif (not $ok) { } | 
 
| 378 | 0 | 97 | unless ${*$self;}->{'SOCKS'}{'ProxyAddr'} and ${*$self;}->{'SOCKS'}{'ProxyPort'} | 
 
| 387 | 41 | 60 | if (${*$self;}->{'SOCKS'}{'Version'} == 4) { } | 
 
| 391 | 0 | 41 | ${*$self;}->{'SOCKS'}{'Bind'} ? : | 
 
| 403 | 0 | 60 | ${*$self;}->{'SOCKS'}{'TCP'} ? : | 
 
|  | 0 | 60 | ${*$self;}->{'SOCKS'}{'Bind'} ? : | 
 
| 414 | 47 | 54 | if (delete ${*$self;}->{'SOCKS'}{'_in_progress'}) { } | 
 
| 415 | 47 | 0 | if ($self->isa('IO::Socket::IP')) | 
 
| 427 | 8 | 46 | unless defined $self->_run_queue | 
 
| 438 | 47 | 0 | if $sock->SUPER::connect | 
 
| 439 | 0 | 0 | if ($! == 115 or $! == 11) | 
 
| 459 | 13 | 691 | unless (defined $retval) | 
 
| 465 | 200 | 491 | if $retval == -1 | 
 
| 467 | 0 | 491 | if ($elt->[5]) | 
 
| 473 | 159 | 231 | if (defined $retval and not @{${*$self;}->{'SOCKS'}{'queue'};}) | 
 
| 475 | 0 | 159 | $IO::Socket::Socks::SOCKS_ERROR ? : | 
 
| 490 | 0 | 102 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 495 | 0 | 102 | defined ${*$self;}->{'SOCKS'}{'TCP'} ? : | 
 
| 509 | 158 | 148 | if (${*$self;}->{'SOCKS'}{'AuthMethods'}[$method] == 1) | 
 
| 516 | 0 | 102 | unless $reply = $sock->_socks_send(pack('CCa*', 5, $nmethods, $methods), ++$sends) | 
 
| 519 | 0 | 102 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 537 | 45 | 57 | unless $reply = $sock->_socks_read(2, ++$reads) | 
 
| 542 | 0 | 57 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 550 | 0 | 57 | if ($auth_method == 255) | 
 
| 561 | 26 | 34 | if (${*$self;}->{'SOCKS'}{'queue_results'}{'_socks5_connect'} != 0) | 
 
| 572 | 0 | 36 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 577 | 0 | 36 | defined ${*$self;}->{'SOCKS'}{'TCP'} ? : | 
 
| 593 | 0 | 36 | unless $reply = $sock->_socks_send(pack("CCa${ulen}Ca*", 1, $ulen, $uname, $plen, $passwd), ++$sends) | 
 
| 596 | 0 | 36 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 616 | 10 | 26 | unless $reply = $sock->_socks_read(2, ++$reads) | 
 
| 621 | 0 | 26 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 629 | 13 | 13 | if ($status != 0) | 
 
| 641 | 0 | 47 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 643 | 4 | 43 | defined ${*$self;}->{'SOCKS'}{'Resolve'} ? : | 
 
| 647 | 0 | 47 | defined ${*$self;}->{'SOCKS'}{'TCP'} ? : | 
 
| 659 | 47 | 0 | $resolve ? : | 
 
|  | 0 | 47 | unless my($atyp, $dstaddr) = $resolve ? (3, ${*$self;}->{'SOCKS'}{'CmdAddr'}) : _resolve(${*$self;}->{'SOCKS'}{'CmdAddr'}) | 
 
| 660 | 47 | 0 | if $resolve | 
 
| 663 | 47 | 0 | defined $hlen ? : | 
 
|  | 0 | 47 | unless $reply = $sock->_socks_send(pack('C4', 5, $command, 0, $atyp) . (defined $hlen ? pack('C', $hlen) : '') . $dstaddr . $dstport, ++$sends) | 
 
| 666 | 0 | 47 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 673 | 0 | 0 | if defined $hlen | 
 
| 677 | 0 | 0 | $resolve ? : | 
 
| 686 | 0 | 71 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 691 | 0 | 71 | defined ${*$self;}->{'SOCKS'}{'TCP'} ? : | 
 
| 703 | 38 | 33 | unless $reply = $sock->_socks_read(4, ++$reads) | 
 
| 708 | 0 | 33 | if ($debug) | 
 
| 719 | 0 | 33 | if ($atyp == 3) { } | 
 
|  | 33 | 0 | elsif ($atyp == 1) { } | 
 
|  | 0 | 0 | elsif ($atyp == 4) { } | 
 
| 720 | 0 | 0 | unless length($reply = $sock->_socks_read(1, ++$reads)) | 
 
| 724 | 0 | 0 | unless $bndaddr = $sock->_socks_read($hlen, ++$reads) | 
 
| 727 | 0 | 0 | if ($debug) | 
 
| 732 | 0 | 33 | unless $bndaddr = $sock->_socks_read(4, ++$reads) | 
 
| 736 | 0 | 0 | unless $bndaddr = $sock->_socks_read(16, ++$reads) | 
 
| 745 | 0 | 33 | unless $reply = $sock->_socks_read(2, ++$reads) | 
 
| 753 | 0 | 33 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 762 | 0 | 33 | if ($rep != 0) | 
 
| 764 | 0 | 0 | unless (exists $IO::Socket::Socks::CODES{'REPLY'}{$rep}) | 
 
| 780 | 0 | 38 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 782 | 16 | 22 | defined ${*$self;}->{'SOCKS'}{'Resolve'} ? : | 
 
| 794 | 16 | 22 | $resolve ? : | 
 
|  | 0 | 38 | unless my $dstaddr = $resolve ? inet_aton('0.0.0.1') : inet_aton(${*$self;}->{'SOCKS'}{'CmdAddr'}) | 
 
| 798 | 16 | 22 | if ($resolve) | 
 
| 803 | 0 | 38 | unless $reply = $self->_socks_send(pack('CC', 4, $command) . $dstport . $dstaddr . $userid . "\000" . $dsthost, ++$sends) | 
 
| 806 | 0 | 38 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 811 | 0 | 0 | length $dstaddr == 4 ? : | 
 
| 815 | 0 | 0 | if ($dsthost) | 
 
| 829 | 0 | 71 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 842 | 40 | 31 | unless $reply = $self->_socks_read(8, ++$reads) | 
 
| 852 | 0 | 31 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 864 | 0 | 31 | if ($rep != 90) | 
 
| 866 | 0 | 0 | unless (exists $IO::Socket::Socks::CODES{'REPLY'}{$rep}) | 
 
| 879 | 0 | 49 | unless defined $self | 
 
| 882 | 49 | 0 | if (${*$self;}->{'SOCKS'}{'Listen'}) { } | 
 
| 885 | 0 | 49 | unless ($client) | 
 
| 886 | 0 | 0 | if ($! == 11 or $! == 11) { } | 
 
| 900 | 10 | 0 | @{${*$self;}->{'SOCKS'}{'Version'};} > 1 ? : | 
 
|  | 10 | 39 | ref ${*$self;}->{'SOCKS'}{'Version'} ? : | 
 
| 911 | 10 | 39 | if (ref $ver) { } | 
 
|  | 17 | 22 | elsif ($ver == 4) { } | 
 
| 926 | 0 | 49 | unless defined $client->_run_queue | 
 
| 934 | 0 | 0 | if ({*$self}->{'SOCKS'}{'Version'} == 4) { } | 
 
| 941 | 0 | 0 | unless defined $self->_run_queue | 
 
| 953 | 10 | 10 | unless $request = $self->_socks_read(1, 0) | 
 
| 957 | 6 | 4 | if ($ver == 4) { } | 
 
|  | 4 | 0 | elsif ($ver == 5) { } | 
 
| 979 | 0 | 42 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 992 | 4 | 38 | $ver ? : | 
 
|  | 11 | 31 | unless $request = $self->_socks_read($ver ? 1 : 2, ++$reads) | 
 
| 995 | 27 | 4 | unless ($ver) | 
 
| 1000 | 5 | 26 | unless $request = $self->_socks_read($nmethods, ++$reads) | 
 
| 1005 | 0 | 26 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1014 | 0 | 26 | if ($ver != 5) | 
 
| 1020 | 0 | 26 | if ($nmethods == 0) | 
 
| 1029 | 26 | 2 | if (${*$self;}->{'SOCKS'}{'AuthMethods'}[$method] == 1) | 
 
| 1035 | 0 | 26 | unless (defined $authmech) | 
 
| 1048 | 0 | 26 | unless $request = $self->_socks_send(pack('CC', 5, $authmech), ++$sends) | 
 
| 1051 | 0 | 26 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1059 | 0 | 26 | if ($authmech == 255) | 
 
| 1071 | 2 | 24 | if (${*$self;}->{'SOCKS'}{'queue_results'}{'_socks5_accept'} == 2) | 
 
| 1081 | 0 | 2 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 1094 | 0 | 2 | unless $request = $self->_socks_read(2, ++$reads) | 
 
| 1098 | 0 | 2 | unless $request = $self->_socks_read($ulen + 1, ++$reads) | 
 
| 1104 | 0 | 2 | unless $passwd = $self->_socks_read($plen, ++$reads) | 
 
| 1107 | 0 | 2 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1119 | 2 | 0 | if (defined ${*$self;}->{'SOCKS'}{'UserAuth'}) | 
 
| 1132 | 2 | 0 | $status ? : | 
 
| 1133 | 0 | 2 | unless $request = $self->_socks_send(pack('CC', 1, $status), ++$sends) | 
 
| 1136 | 0 | 2 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1144 | 0 | 2 | if ($status != 0) | 
 
| 1155 | 0 | 41 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 1170 | 15 | 26 | unless $request = $self->_socks_read(4, ++$reads) | 
 
| 1174 | 0 | 26 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1184 | 26 | 0 | if ($atyp == 3) { } | 
 
|  | 0 | 0 | elsif ($atyp == 1) { } | 
 
|  | 0 | 0 | elsif ($atyp == 4) { } | 
 
| 1185 | 0 | 26 | unless length($request = $self->_socks_read(1, ++$reads)) | 
 
| 1189 | 0 | 26 | unless $dstaddr = $self->_socks_read($hlen, ++$reads) | 
 
| 1192 | 0 | 26 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1197 | 0 | 0 | unless $request = $self->_socks_read(4, ++$reads) | 
 
| 1200 | 0 | 0 | length $request == 4 ? : | 
 
| 1203 | 0 | 0 | unless $request = $self->_socks_read(16, ++$reads) | 
 
| 1206 | 0 | 0 | length $request == 16 ? : | 
 
| 1220 | 0 | 26 | unless $request = $self->_socks_read(2, ++$reads) | 
 
| 1225 | 0 | 26 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1243 | 0 | 24 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 1244 | 4 | 20 | defined ${*$self;}->{'SOCKS'}{'Resolve'} ? : | 
 
| 1247 | 0 | 24 | unless (defined $reply and defined $host and defined $port) | 
 
| 1260 | 24 | 0 | $resolve ? : | 
 
|  | 0 | 24 | unless my($atyp, $bndaddr) = $resolve ? _resolve($host) : (3, $host) | 
 
| 1262 | 24 | 0 | $resolve ? : | 
 
| 1264 | 24 | 0 | $resolve ? : | 
 
|  | 0 | 24 | unless $rc = $self->_socks_send(pack('CCCC', 5, $reply, 0, $atyp) . ($resolve ? '' : pack('C', $hlen)) . $bndaddr . pack('n', $port), ++$sends) | 
 
| 1267 | 0 | 24 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1274 | 0 | 0 | unless $resolve | 
 
| 1275 | 0 | 0 | $resolve ? : | 
 
| 1287 | 0 | 49 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 1288 | 45 | 4 | defined ${*$self;}->{'SOCKS'}{'Resolve'} ? : | 
 
| 1303 | 6 | 43 | $ver ? : | 
 
|  | 16 | 33 | unless $request = $self->_socks_read($ver ? 7 : 8, ++$reads) | 
 
| 1306 | 27 | 6 | unless ($ver) | 
 
| 1313 | 33 | 0 | length $request == 4 ? : | 
 
| 1319 | 3 | 30 | unless length($c = $self->_socks_read(1, ++$reads)) | 
 
| 1322 | 0 | 30 | if ($c ne "\000") { } | 
 
| 1330 | 0 | 30 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1343 | 26 | 4 | if ($resolve and $dstaddr =~ /^0\.0\.0\.[1-9]/) | 
 
| 1348 | 7 | 216 | unless length($c = $self->_socks_read(1, ++$reads)) | 
 
| 1351 | 197 | 19 | if ($c ne "\000") { } | 
 
| 1359 | 0 | 19 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1367 | 0 | 23 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1371 | 4 | 19 | if (defined ${*$self;}->{'SOCKS'}{'UserAuth'}) | 
 
| 1372 | 0 | 4 | unless (&{${*$self;}->{'SOCKS'}{'UserAuth'};}($userid)) | 
 
| 1385 | 0 | 23 | if ($ver != 4) | 
 
| 1401 | 0 | 22 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 1404 | 0 | 22 | unless (defined $reply and defined $host and defined $port) | 
 
| 1417 | 0 | 22 | unless my $bndaddr = inet_aton($host) | 
 
| 1420 | 0 | 22 | unless $rc = $self->_socks_send(pack('CCna*', 0, $reply, $port, $bndaddr), ++$sends) | 
 
| 1423 | 0 | 22 | if ($debug and not $self->_debugged(++$debugs)) | 
 
| 1424 | 0 | 0 | length $bndaddr == 4 ? : | 
 
| 1439 | 4 | 22 | if (exists ${*$self;}->{'SOCKS'}{'RequireAuth'}) { } | 
 
| 1453 | 4 | 0 | if ($self->_connect) | 
 
| 1466 | 22 | 24 | if (${*$self;}->{'SOCKS'}{'Version'} == 4) { } | 
 
| 1485 | 0 | 0 | unless (defined ${*$self;}->{'SOCKS'}{'TCP'}) | 
 
| 1490 | 0 | 0 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 1491 | 0 | 0 | defined ${*$self;}->{'SOCKS'}{'Resolve'} ? : | 
 
| 1493 | 0 | 0 | unless defined $peer | 
 
| 1497 | 0 | 0 | if (ref $peer eq 'ARRAY') { } | 
 
| 1503 | 0 | 0 | unless (($dstport, $dstaddr, $dstaddr_type) = eval {
	do {
	unpack_sockaddr_in($peer), 1
}
}) | 
 
| 1509 | 0 | 0 | if ($sndaddr eq '0.0.0.0' and $sndaddr_type == 1 or $sndaddr eq '::' and $sndaddr_type == 4) | 
 
| 1513 | 0 | 0 | if ($sndaddr_type == 3) { } | 
 
| 1514 | 0 | 0 | unless ($sndaddr_type, $sndaddr) = _resolve($sndaddr) | 
 
| 1521 | 0 | 0 | $sndaddr_type == 1 ? : | 
 
| 1524 | 0 | 0 | if ($dstaddr_type == 3) | 
 
| 1525 | 0 | 0 | if ($resolve) { } | 
 
| 1529 | 0 | 0 | unless ($dstaddr_type, $dstaddr) = _resolve($dstaddr) | 
 
| 1534 | 0 | 0 | $debug ? : | 
 
| 1542 | 0 | 0 | defined $hlen ? : | 
 
| 1544 | 0 | 0 | if ($debug) | 
 
| 1550 | 0 | 0 | if defined $hlen | 
 
| 1551 | 0 | 0 | defined $hlen ? : | 
 
| 1565 | 0 | 0 | unless (defined ${*$self;}->{'SOCKS'}{'TCP'}) | 
 
| 1569 | 0 | 0 | if ${*$self;}->{'SOCKS'}{'Debug'} | 
 
| 1571 | 0 | 0 | unless defined $self->SUPER::recv($_[0], $_[1] + 262, $_[2]) | 
 
| 1586 | 0 | 0 | if ($debug) | 
 
| 1595 | 0 | 0 | if ($atyp == 3) { } | 
 
|  | 0 | 0 | elsif ($atyp == 1) { } | 
 
|  | 0 | 0 | elsif ($atyp == 4) { } | 
 
| 1600 | 0 | 0 | if ($debug) | 
 
| 1621 | 0 | 0 | if ($debug) | 
 
| 1630 | 0 | 0 | if $atyp == 1 | 
 
| 1631 | 0 | 0 | if $atyp == 4 | 
 
| 1648 | 0 | 319 | do {
	*$self
}->{'io_socket_timeout'} ? : | 
 
| 1650 | 187 | 0 | unless ($blocking or do {
	*$self
}->{'io_socket_timeout'}) | 
 
| 1651 | 55 | 132 | if (${*$self;}->{'SOCKS'}{'queue'}[0][4] >= $numb) | 
 
| 1655 | 0 | 132 | if (defined ${*$self;}->{'SOCKS'}{'queue'}[0][2]) | 
 
| 1661 | 132 | 0 | if (defined $rc) { } | 
 
|  | 0 | 0 | elsif ($! == 11 or $! == 11) { } | 
 
| 1662 | 132 | 0 | if ($rc > 0) { } | 
 
| 1690 | 0 | 132 | if (do {
	*$self
}->{'io_socket_timeout'} and time - $start >= do {
	*$self
}->{'io_socket_timeout'}) | 
 
| 1695 | 0 | 132 | unless ($selector->can_write(1)) | 
 
| 1700 | 132 | 0 | if ($rc > 0) { } | 
 
| 1703 | 132 | 0 | if (length $data == 0) | 
 
| 1708 | 0 | 0 | unless defined $rc | 
 
| 1713 | 132 | 0 | if $blocking | 
 
| 1729 | 657 | 0 | unless ($blocking or do {
	*$self
}->{'io_socket_timeout'}) | 
 
| 1730 | 63 | 594 | if (defined ${*$self;}->{'SOCKS'}{'queue'}[0][3][$numb]) | 
 
| 1734 | 6 | 588 | if (defined ${*$self;}->{'SOCKS'}{'queue'}[0][2]) | 
 
| 1741 | 397 | 200 | if (defined $rc) { } | 
 
|  | 200 | 0 | elsif ($! == 11 or $! == 11) { } | 
 
| 1742 | 397 | 0 | if ($rc > 0) { } | 
 
| 1751 | 6 | 194 | if (length $data) | 
 
| 1773 | 0 | 239 | if (do {
	*$self
}->{'io_socket_timeout'} and time - $start >= do {
	*$self
}->{'io_socket_timeout'}) | 
 
| 1778 | 24 | 215 | unless ($selector->can_read(1)) | 
 
| 1783 | 215 | 0 | if (defined $rc and $rc > 0) { } | 
 
| 1788 | 0 | 0 | unless defined $rc | 
 
| 1800 | 0 | 0 | if (${*$self;}->{'SOCKS'}{'queue'}[0][6] >= $debugs) | 
 
| 1809 | 0 | 200 | if (not @_ or defined $_[0]) | 
 
| 1810 | 0 | 0 | if $IO::Socket::Socks::SOCKS_ERROR == undef | 
 
| 1820 | 0 | 1 | if (@$multi_ver == 1) | 
 
| 1824 | 1 | 0 | if (@$multi_ver == 2) | 
 
| 1837 | 0 | 24 | if $err | 
 
| 1840 | 24 | 0 | if ($r->{'family'} == 2) | 
 
| 1851 | 19 | 0 | if $atype == 1 | 
 
| 1852 | 0 | 0 | if $atype == 4 | 
 
| 1884 | 261 | 1409 | defined $num ? : | 
 
| 1901 | 8 | 181 | unless (defined $num) | 
 
| 1948 | 0 | 34 | unless eval "use $class; 1" | 
 
| 2000 | 0 | 0 | $row1_len > $row2_len ? : | 
 
| 2019 | 0 | 0 | $row1_len > $row2_len ? : |