Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 215

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 216

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 217

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 218

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 220
PK!V~** Handle.pmnu[package Net::SSLeay::Handle; use 5.8.1; use strict; use Socket; use Net::SSLeay; require Exporter; =encoding utf-8 =head1 NAME Net::SSLeay::Handle - Perl module that lets SSL (HTTPS) sockets be handled as standard file handles. =head1 SYNOPSIS use Net::SSLeay::Handle qw/shutdown/; my ($host, $port) = ("localhost", 443); tie(*SSL, "Net::SSLeay::Handle", $host, $port); print SSL "GET / HTTP/1.0\r\n"; shutdown(\*SSL, 1); print while (); close SSL; =head1 DESCRIPTION Net::SSLeay::Handle allows you to request and receive HTTPS web pages using "old-fashion" file handles as in: print SSL "GET / HTTP/1.0\r\n"; and print while (); If you export the shutdown routine, then the only extra code that you need to add to your program is the tie function as in: my $socket; if ($scheme eq "https") { tie(*S2, "Net::SSLeay::Handle", $host, $port); $socket = \*S2; else { $socket = Net::SSLeay::Handle->make_socket($host, $port); } print $socket $request_headers; ... =cut use vars qw(@ISA @EXPORT_OK $VERSION); @ISA = qw(Exporter); @EXPORT_OK = qw(shutdown); $VERSION = '1.88'; my $Initialized; #-- only _initialize() once my $Debug = 0; #-- pretty hokey #== Tie Handle Methods ======================================================== # # see perldoc perltie for details. # #============================================================================== sub TIEHANDLE { my ($class, $socket, $port) = @_; $Debug > 10 and print "TIEHANDLE(@{[join ', ', @_]})\n"; ref $socket eq "GLOB" or $socket = $class->make_socket($socket, $port); $class->_initialize(); my $ctx = Net::SSLeay::CTX_new() or die_now("Failed to create SSL_CTX $!"); my $ssl = Net::SSLeay::new($ctx) or die_now("Failed to create SSL $!"); my $fileno = fileno($socket); Net::SSLeay::set_fd($ssl, $fileno); # Must use fileno my $resp = Net::SSLeay::connect($ssl); $Debug and print "Cipher '" . Net::SSLeay::get_cipher($ssl) . "'\n"; my $self = bless { ssl => $ssl, ctx => $ctx, socket => $socket, fileno => $fileno, }, $class; return $self; } sub PRINT { my $self = shift; my $ssl = _get_ssl($self); my $resp = 0; for my $msg (@_) { defined $msg or last; $resp = Net::SSLeay::write($ssl, $msg) or last; } return $resp; } sub READLINE { my $self = shift; my $ssl = _get_ssl($self); if (wantarray) { my @lines; while (my $line = Net::SSLeay::ssl_read_until($ssl)) { push @lines, $line; } return @lines; } else { my $line = Net::SSLeay::ssl_read_until($ssl); return $line ? $line : undef; } } sub READ { my ($self, $buf, $len, $offset) = \ (@_); my $ssl = _get_ssl($$self); defined($$offset) or return length($$buf = Net::SSLeay::ssl_read_all($ssl, $$len)); defined(my $read = Net::SSLeay::ssl_read_all($ssl, $$len)) or return undef; my $buf_len = length($$buf); $$offset > $buf_len and $$buf .= chr(0) x ($$offset - $buf_len); substr($$buf, $$offset) = $read; return length($read); } sub WRITE { my $self = shift; my ($buf, $len, $offset) = @_; $offset = 0 unless defined $offset; # Return number of characters written. my $ssl = $self->_get_ssl(); return $len if Net::SSLeay::write($ssl, substr($buf, $offset, $len)); return undef; } sub CLOSE { my $self = shift; my $fileno = $self->{fileno}; $Debug > 10 and print "close($fileno)\n"; Net::SSLeay::free ($self->{ssl}); Net::SSLeay::CTX_free ($self->{ctx}); close $self->{socket}; } sub FILENO { $_[0]->{fileno} } =head1 FUNCTIONS =over =item shutdown shutdown(\*SOCKET, $mode) Calls to the main shutdown() don't work with tied sockets created with this module. This shutdown should be able to distinquish between tied and untied sockets and do the right thing. =cut sub shutdown { my ($obj, @params) = @_; my $socket = UNIVERSAL::isa($obj, 'Net::SSLeay::Handle') ? $obj->{socket} : $obj; return shutdown($socket, @params); } =item debug my $debug = Net::SSLeay::Handle->debug() Net::SSLeay::Handle->debug(1) Get/set debugging mode. Always returns the debug value before the function call. if an additional argument is given the debug option will be set to this value. =cut sub debug { my ($class, $debug) = @_; my $old_debug = $Debug; @_ >1 and $Debug = $debug || 0; return $old_debug; } #=== Internal Methods ========================================================= =item make_socket my $sock = Net::SSLeay::Handle->make_socket($host, $port); Creates a socket that is connected to $post using $port. It uses $Net::SSLeay::proxyhost and proxyport if set and authentificates itself against this proxy depending on $Net::SSLeay::proxyauth. It also turns autoflush on for the created socket. =cut sub make_socket { my ($class, $host, $port) = @_; $Debug > 10 and print "_make_socket(@{[join ', ', @_]})\n"; $host ||= 'localhost'; $port ||= 443; my $phost = $Net::SSLeay::proxyhost; my $pport = $Net::SSLeay::proxyhost ? $Net::SSLeay::proxyport : $port; my $dest_ip = gethostbyname($phost || $host); my $host_params = sockaddr_in($pport, $dest_ip); socket(my $socket, &PF_INET(), &SOCK_STREAM(), 0) or die "socket: $!"; connect($socket, $host_params) or die "connect: $!"; my $old_select = select($socket); $| = 1; select($old_select); $phost and do { my $auth = $Net::SSLeay::proxyauth; my $CRLF = $Net::SSLeay::CRLF; print $socket "CONNECT $host:$port HTTP/1.0$auth$CRLF$CRLF"; my $line = <$socket>; }; return $socket; } =back =cut sub _initialize { $Initialized++ and return; Net::SSLeay::load_error_strings(); Net::SSLeay::SSLeay_add_ssl_algorithms(); Net::SSLeay::randomize(); } sub __dummy { my $host = $Net::SSLeay::proxyhost; my $port = $Net::SSLeay::proxyport; my $auth = $Net::SSLeay::proxyauth; } #--- _get_self($socket) ------------------------------------------------------- # Returns a hash containing attributes for $socket (= \*SOMETHING) based # on fileno($socket). Will return undef if $socket was not created here. #------------------------------------------------------------------------------ sub _get_self { return $_[0]; } #--- _get_ssl($socket) -------------------------------------------------------- # Returns a the "ssl" attribute for $socket (= \*SOMETHING) based # on fileno($socket). Will cause a warning and return undef if $socket was not # created here. #------------------------------------------------------------------------------ sub _get_ssl { return $_[0]->{ssl}; } 1; __END__ =head2 USING EXISTING SOCKETS One of the motivations for writing this module was to avoid duplicating socket creation code (which is mostly error handling). The calls to tie() above where it is passed a $host and $port is provided for convenience testing. If you already have a socket connected to the right host and port, S1, then you can do something like: my $socket \*S1; if ($scheme eq "https") { tie(*S2, "Net::SSLeay::Handle", $socket); $socket = \*S2; } my $last_sel = select($socket); $| = 1; select($last_sel); print $socket $request_headers; ... Note: As far as I know you must be careful with the globs in the tie() function. The first parameter must be a glob (*SOMETHING) and the last parameter must be a reference to a glob (\*SOMETHING_ELSE) or a scaler that was assigned to a reference to a glob (as in the example above) Also, the two globs must be different. When I tried to use the same glob, I got a core dump. =head2 EXPORT None by default. You can export the shutdown() function. It is suggested that you do export shutdown() or use the fully qualified Net::SSLeay::Handle::shutdown() function to shutdown SSL sockets. It should be smart enough to distinguish between SSL and non-SSL sockets and do the right thing. =head1 EXAMPLES use Net::SSLeay::Handle qw/shutdown/; my ($host, $port) = ("localhost", 443); tie(*SSL, "Net::SSLeay::Handle", $host, $port); print SSL "GET / HTTP/1.0\r\n"; shutdown(\*SSL, 1); print while (); close SSL; =head1 TODO Better error handling. Callback routine? =head1 CAVEATS Tying to a file handle is a little tricky (for me at least). The first parameter to tie() must be a glob (*SOMETHING) and the last parameter must be a reference to a glob (\*SOMETHING_ELSE) or a scaler that was assigned to a reference to a glob ($s = \*SOMETHING_ELSE). Also, the two globs must be different. When I tried to use the same glob, I got a core dump. I was able to associate attributes to globs created by this module (like *SSL above) by making a hash of hashes keyed by the file head1. =head1 CHANGES Please see Net-SSLeay-Handle-0.50/Changes file. =head1 BUGS If you encounter a problem with this module that you believe is a bug, please report it in one of the following ways: =over =item * L under the Net-SSLeay GitHub project at L; =item * L using the CPAN RT bug tracker's web interface at L; =item * send an email to the CPAN RT bug tracker at L. =back Please make sure your bug report includes the following information: =over =item * the code you are trying to run; =item * your operating system name and version; =item * the output of C; =item * the version of OpenSSL or LibreSSL you are using. =back =head1 AUTHOR Originally written by Jim Bowlin. Maintained by Sampo Kellomäki between July 2001 and August 2003. Maintained by Florian Ragwitz between November 2005 and January 2010. Maintained by Mike McCauley between November 2005 and June 2018. Maintained by Chris Novakovic, Tuure Vartiainen and Heikki Vatiainen since June 2018. =head1 COPYRIGHT Copyright (c) 2001 Jim Bowlin Copyright (c) 2001-2003 Sampo Kellomäki Copyright (c) 2005-2010 Florian Ragwitz Copyright (c) 2005-2018 Mike McCauley Copyright (c) 2018- Chris Novakovic Copyright (c) 2018- Tuure Vartiainen Copyright (c) 2018- Heikki Vatiainen All rights reserved. =head1 LICENSE This module is released under the terms of the Artistic License 2.0. For details, see the C file distributed with Net-SSLeay's source code. =head1 SEE ALSO Net::SSLeay, perl(1), http://openssl.org/ =cut PK! ??make_headers.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1348 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/make_headers.al)" sub make_headers { my (@headers) = @_; my $headers; while (@headers) { my $header = shift(@headers); my $value = shift(@headers); $header =~ s/:$//; $value =~ s/\x0d?\x0a$//; # because we add it soon, see below $headers .= "$header: $value$CRLF"; } return $headers; } # end of Net::SSLeay::make_headers 1; PK!2=\\ make_form.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1331 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/make_form.al)" ### ### Easy https manipulation routines ### sub make_form { my (@fields) = @_; my $form; while (@fields) { my ($name, $data) = (shift(@fields), shift(@fields)); $data =~ s/([^\w\-.\@\$ ])/sprintf("%%%2.2x",ord($1))/gse; $data =~ tr[ ][+]; $form .= "$name=$data&"; } chop $form; return $form; } # end of Net::SSLeay::make_form 1; PK!&|?? head_httpx.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1467 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/head_httpx.al)" sub head_httpx { do_httpx2(HEAD => @_) } # end of Net::SSLeay::head_httpx 1; PK!sy dump_peer_certificate.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 945 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/dump_peer_certificate.al)" ### Quickly print out with whom we're talking sub dump_peer_certificate ($) { my ($ssl) = @_; my $cert = get_peer_certificate($ssl); return if print_errs('get_peer_certificate'); print "no cert defined\n" if !defined($cert); # Cipher=NONE with empty cert fix if (!defined($cert) || ($cert == 0)) { warn "cert = `$cert'\n" if $trace; return "Subject Name: undefined\nIssuer Name: undefined\n"; } else { my $x = 'Subject Name: ' . X509_NAME_oneline(X509_get_subject_name($cert)) . "\n" . 'Issuer Name: ' . X509_NAME_oneline(X509_get_issuer_name($cert)) . "\n"; Net::SSLeay::X509_free($cert); return $x; } } # end of Net::SSLeay::dump_peer_certificate 1; PK!( DDpost_https3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1436 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/post_https3.al)" sub post_https3 { do_httpx3(POST => 1, @_) } # end of Net::SSLeay::post_https3 1; PK!$See do_https4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1426 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/do_https4.al)" sub do_https4 { splice(@_,1,0) = 1; do_httpx4; } # Legacy undocumented # https # end of Net::SSLeay::do_https4 1; PK!˰7?? put_http3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1454 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/put_http3.al)" sub put_http3 { do_httpx3(PUT => 0, @_) } # end of Net::SSLeay::put_http3 1; PK!uo?? get_http4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1457 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/get_http4.al)" sub get_http4 { do_httpx4(GET => 0, @_) } # end of Net::SSLeay::get_http4 1; PK!u?? get_http3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1452 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/get_http3.al)" sub get_http3 { do_httpx3(GET => 0, @_) } # end of Net::SSLeay::get_http3 1; PK!w"[// do_httpx2.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1401 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/do_httpx2.al)" sub do_httpx2 { my ($page, $response, $headers, $server_cert) = &do_httpx3; X509_free($server_cert) if defined $server_cert; return ($page, $response, defined $headers ? map( { ($h,$v)=/^(\S+)\:\s*(.*)$/; (uc($h),$v); } split(/\s?\n/, $headers) ) : () ); } # end of Net::SSLeay::do_httpx2 1; PK! eessl_write_all.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 630 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/ssl_write_all.al)" sub ssl_write_all { my $ssl = $_[0]; my ($data_ref, $errs); if (ref $_[1]) { $data_ref = $_[1]; } else { $data_ref = \$_[1]; } my ($wrote, $written, $to_write) = (0,0, blength($$data_ref)); my $vm = $trace>2 && $linux_debug ? (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; warn " write_all VM at entry=$vm\n" if $trace>2; while ($to_write) { #sleep 1; # *** DEBUG warn "partial `$$data_ref'\n" if $trace>3; $wrote = write_partial($ssl, $written, $to_write, $$data_ref); if (defined $wrote && ($wrote > 0)) { # write_partial can return -1 $written += $wrote; $to_write -= $wrote; } else { if (defined $wrote) { # check error conditions via SSL_get_error per man page if ( my $sslerr = get_error($ssl, $wrote) ) { my $errstr = ERR_error_string($sslerr); my $errname = ''; SWITCH: { $sslerr == constant("ERROR_NONE") && do { # according to map page SSL_get_error(3ssl): # The TLS/SSL I/O operation completed. # This result code is returned if and only if ret > 0 # so if we received it here complain... warn "ERROR_NONE unexpected with invalid return value!" if $trace; $errname = "SSL_ERROR_NONE"; }; $sslerr == constant("ERROR_WANT_READ") && do { # operation did not complete, call again later, so do not # set errname and empty err_que since this is a known # error that is expected but, we should continue to try # writing the rest of our data with same io call and params. warn "ERROR_WANT_READ (TLS/SSL Handshake, will continue)\n" if $trace; print_errs('SSL_write(want read)'); last SWITCH; }; $sslerr == constant("ERROR_WANT_WRITE") && do { # operation did not complete, call again later, so do not # set errname and empty err_que since this is a known # error that is expected but, we should continue to try # writing the rest of our data with same io call and params. warn "ERROR_WANT_WRITE (TLS/SSL Handshake, will continue)\n" if $trace; print_errs('SSL_write(want write)'); last SWITCH; }; $sslerr == constant("ERROR_ZERO_RETURN") && do { # valid protocol closure from other side, no longer able to # write, since there is no longer a session... warn "ERROR_ZERO_RETURN($wrote): TLS/SSLv3 Closure alert\n" if $trace; $errname = "SSL_ERROR_ZERO_RETURN"; last SWITCH; }; $sslerr == constant("ERROR_SSL") && do { # library/protocol error warn "ERROR_SSL($wrote): Library/Protocol error occured\n" if $trace; $errname = "SSL_ERROR_SSL"; last SWITCH; }; $sslerr == constant("ERROR_WANT_CONNECT") && do { # according to man page, should never happen on call to # SSL_write, so complain, but handle as known error type warn "ERROR_WANT_CONNECT: Unexpected error for SSL_write\n" if $trace; $errname = "SSL_ERROR_WANT_CONNECT"; last SWITCH; }; $sslerr == constant("ERROR_WANT_ACCEPT") && do { # according to man page, should never happen on call to # SSL_write, so complain, but handle as known error type warn "ERROR_WANT_ACCEPT: Unexpected error for SSL_write\n" if $trace; $errname = "SSL_ERROR_WANT_ACCEPT"; last SWITCH; }; $sslerr == constant("ERROR_WANT_X509_LOOKUP") && do { # operation did not complete: waiting on call back, # call again later, so do not set errname and empty err_que # since this is a known error that is expected but, we should # continue to try writing the rest of our data with same io # call parameter. warn "ERROR_WANT_X509_LOOKUP: (Cert Callback asked for in ". "SSL_write will contine)\n" if $trace; print_errs('SSL_write(want x509'); last SWITCH; }; $sslerr == constant("ERROR_SYSCALL") && do { # some IO error occured. According to man page: # Check retval, ERR, fallback to errno if ($wrote==0) { # EOF warn "ERROR_SYSCALL($wrote): EOF violates protocol.\n" if $trace; $errname = "SSL_ERROR_SYSCALL(EOF)"; } else { # -1 underlying BIO error reported. # check error que for details, don't set errname since we # are directly appending to errs my $chkerrs = print_errs('SSL_write (syscall)'); if ($chkerrs) { warn "ERROR_SYSCALL($wrote): Have errors\n" if $trace; $errs .= "ssl_write_all $$: 1 - ERROR_SYSCALL($wrote,". "$sslerr,$errstr,$!)\n$chkerrs"; } else { # que was empty, use errno warn "ERROR_SYSCALL($wrote): errno($!)\n" if $trace; $errs .= "ssl_write_all $$: 1 - ERROR_SYSCALL($wrote,". "$sslerr) : $!\n"; } } last SWITCH; }; warn "Unhandled val $sslerr from SSL_get_error(SSL,$wrote)\n" if $trace; $errname = "SSL_ERROR_?($sslerr)"; } # end of SWITCH block if ($errname) { # if we had an errname set add the error $errs .= "ssl_write_all $$: 1 - $errname($wrote,$sslerr,". "$errstr,$!)\n"; } } # endif on have SSL_get_error val } # endif on $wrote defined } # endelse on $wrote > 0 $vm = $trace>2 && $linux_debug ? (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; warn " written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2; # append remaining errors in que and report if errs exist $errs .= print_errs('SSL_write'); return (wantarray ? (undef, $errs) : undef) if $errs; } return wantarray ? ($written, $errs) : $written; } # end of Net::SSLeay::ssl_write_all 1; PK!)vopen_proxy_tcp_connection.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 547 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/open_proxy_tcp_connection.al)" ### Open connection via standard web proxy, if one was defined ### using set_proxy(). sub open_proxy_tcp_connection { my ($dest_serv, $port) = @_; return open_tcp_connection($dest_serv, $port) if !$proxyhost; warn "Connect via proxy: $proxyhost:$proxyport" if $trace>2; my ($ret, $errs) = open_tcp_connection($proxyhost, $proxyport); return wantarray ? (0, $errs) : 0 if !$ret; # Connection fail warn "Asking proxy to connect to $dest_serv:$port" if $trace>2; #print SSLCAT_S "CONNECT $dest_serv:$port HTTP/1.0$proxyauth$CRLF$CRLF"; #my $line = ; # *** bug? Mixing stdio with syscall read? ($ret, $errs) = tcp_write_all("CONNECT $dest_serv:$port HTTP/1.0$proxyauth$CRLF$CRLF"); return wantarray ? (0,$errs) : 0 if $errs; ($line, $errs) = tcp_read_until($CRLF . $CRLF, 1024); warn "Proxy response: $line" if $trace>2; return wantarray ? (0,$errs) : 0 if $errs; return wantarray ? (1,'') : 1; # Success } # end of Net::SSLeay::open_proxy_tcp_connection 1; PK!|.. httpx_cat.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1291 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/httpx_cat.al)" sub httpx_cat { my ($usessl, $site, $port, $req, $crt_path, $key_path) = @_; warn "httpx_cat: usessl=$usessl ($site:$port)" if $trace; if ($usessl) { return https_cat($site, $port, $req, $crt_path, $key_path); } else { return http_cat($site, $port, $req); } } # end of Net::SSLeay::httpx_cat 1; PK!(<<set_cert_and_key.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1301 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/set_cert_and_key.al)" ### ### Easy set up of private key and certificate ### sub set_cert_and_key ($$$) { my ($ctx, $cert_path, $key_path) = @_; my $errs = ''; # Following will ask password unless private key is not encrypted CTX_use_PrivateKey_file( $ctx, $key_path, &FILETYPE_PEM ) == 1 or $errs .= print_errs("private key `$key_path' ($!)"); CTX_use_certificate_file ($ctx, $cert_path, &FILETYPE_PEM) == 1 or $errs .= print_errs("certificate `$cert_path' ($!)"); return wantarray ? (undef, $errs) : ($errs eq ''); } # end of Net::SSLeay::set_cert_and_key 1; PK!=Mtcp_write_all.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 771 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/tcp_write_all.al)" sub tcp_write_all { my ($data_ref, $errs); if (ref $_[0]) { $data_ref = $_[0]; } else { $data_ref = \$_[0]; } my ($wrote, $written, $to_write) = (0,0, blength($$data_ref)); my $vm = $trace>2 && $linux_debug ? (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; warn " write_all VM at entry=$vm to_write=$to_write\n" if $trace>2; while ($to_write) { warn "partial `$$data_ref'\n" if $trace>3; $wrote = syswrite(SSLCAT_S, $$data_ref, $to_write, $written); if (defined $wrote && ($wrote > 0)) { # write_partial can return -1 $written += $wrote; $to_write -= $wrote; } elsif (!defined($wrote)) { warn "tcp_write_all: $!"; return (wantarray ? (undef, "$!") : undef); } $vm = $trace>2 && $linux_debug ? (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; warn " written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2; } return wantarray ? ($written, '') : $written; } # end of Net::SSLeay::tcp_write_all 1; PK!nէ.EEhead_https3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1438 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/head_https3.al)" sub head_https3 { do_httpx3(HEAD => 1, @_) } # end of Net::SSLeay::head_https3 1; PK!\ࡥ debug_read.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 570 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/debug_read.al)" ### ### read and write helpers that block ### sub debug_read { my ($replyr, $gotr) = @_; my $vm = $trace>2 && $linux_debug ? (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; warn " got " . blength($$gotr) . ':' . blength($$replyr) . " bytes (VM=$vm).\n" if $trace == 3; warn " got `$$gotr' (" . blength($$gotr) . ':' . blength($$replyr) . " bytes, VM=$vm)\n" if $trace>3; } # end of Net::SSLeay::debug_read 1; PK!㋫?? get_https.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1430 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/get_https.al)" sub get_https { do_httpx2(GET => 1, @_) } # end of Net::SSLeay::get_https 1; PK!'%AApost_httpx4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1475 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/post_httpx4.al)" sub post_httpx4 { do_httpx4(POST => @_) } # end of Net::SSLeay::post_httpx4 1; PK!88 want_write.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 507 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/want_write.al)" sub want_write { want(shift) == 3 } # end of Net::SSLeay::want_write 1; PK!wFBBhead_httpx3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1472 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/head_httpx3.al)" sub head_httpx3 { do_httpx3(HEAD => @_) } # end of Net::SSLeay::head_httpx3 1; PK!?? put_httpx4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1476 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/put_httpx4.al)" sub put_httpx4 { do_httpx4(PUT => @_) } # end of Net::SSLeay::put_httpx4 1; PK!.^open_tcp_connection.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 515 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/open_tcp_connection.al)" sub open_tcp_connection { my ($dest_serv, $port) = @_; my ($errs); $port = getservbyname($port, 'tcp') unless $port =~ /^\d+$/; my $dest_serv_ip = gethostbyname($dest_serv); unless (defined($dest_serv_ip)) { $errs = "$0 $$: open_tcp_connection: destination host not found:" . " `$dest_serv' (port $port) ($!)\n"; warn $errs if $trace; return wantarray ? (0, $errs) : 0; } my $sin = sockaddr_in($port, $dest_serv_ip); warn "Opening connection to $dest_serv:$port (" . inet_ntoa($dest_serv_ip) . ")" if $trace>2; my $proto = &Socket::IPPROTO_TCP; # getprotobyname('tcp') not available on android if (socket (SSLCAT_S, &PF_INET(), &SOCK_STREAM(), $proto)) { warn "next connect" if $trace>3; if (CORE::connect (SSLCAT_S, $sin)) { my $old_out = select (SSLCAT_S); $| = 1; select ($old_out); warn "connected to $dest_serv, $port" if $trace>3; return wantarray ? (1, undef) : 1; # Success } } $errs = "$0 $$: open_tcp_connection: failed `$dest_serv', $port ($!)\n"; warn $errs if $trace; close SSLCAT_S; return wantarray ? (0, $errs) : 0; # Fail } # end of Net::SSLeay::open_tcp_connection 1; PK!٤ѯ-- autosplit.ixnu[# Index created by AutoSplit for blib/lib/Net/SSLeay.pm # (file acts as timestamp) package Net::SSLeay; sub want_nothing ; sub want_read ; sub want_write ; sub want_X509_lookup ; sub open_tcp_connection ; sub open_proxy_tcp_connection ; sub debug_read ; sub ssl_read_all ; sub tcp_read_all ; sub ssl_write_all ; sub tcp_write_all ; sub ssl_read_until ($;$$); sub tcp_read_until ; sub ssl_read_CRLF ($;$); sub tcp_read_CRLF ; sub ssl_write_CRLF ($$); sub tcp_write_CRLF ; sub dump_peer_certificate ($); sub randomize (;$$$); sub new_x_ctx ; sub initialize ; sub sslcat ; sub tcpcat ; sub tcpxcat ; sub https_cat ; sub http_cat ; sub httpx_cat ; sub set_cert_and_key ($$$); sub set_server_cert_and_key ($$$); sub set_proxy ($$;**); sub make_form ; sub make_headers ; sub do_httpx3 ; sub do_https3 ; sub do_httpx2 ; sub do_https2 ; sub do_httpx4 ; sub do_https4 ; sub get_https ; sub post_https ; sub put_https ; sub head_https ; sub get_https3 ; sub post_https3 ; sub put_https3 ; sub head_https3 ; sub get_https4 ; sub post_https4 ; sub put_https4 ; sub head_https4 ; sub get_http ; sub post_http ; sub put_http ; sub head_http ; sub get_http3 ; sub post_http3 ; sub put_http3 ; sub head_http3 ; sub get_http4 ; sub post_http4 ; sub put_http4 ; sub head_http4 ; sub get_httpx ; sub post_httpx ; sub put_httpx ; sub head_httpx ; sub get_httpx3 ; sub post_httpx3 ; sub put_httpx3 ; sub head_httpx3 ; sub get_httpx4 ; sub post_httpx4 ; sub put_httpx4 ; sub head_httpx4 ; sub do_https ; 1; PK!a-/// initialize.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1032 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/initialize.al)" ### ### Standard initialisation. Initialise the ssl library in the usual way ### at most once. Override this if you need differnet initialisation ### SSLeay_add_ssl_algorithms is also protected against multiple runs in SSLeay.xs ### and is also mutex protected in threading perls ### my $library_initialised; sub initialize { if (!$library_initialised) { load_error_strings(); # Some bloat, but I'm after ease of use SSLeay_add_ssl_algorithms(); # and debuggability. randomize(); $library_initialised++; } } # end of Net::SSLeay::initialize 1; PK!S do_httpx3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1361 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/do_httpx3.al)" sub do_httpx3 { my ($method, $usessl, $site, $port, $path, $headers, $content, $mime_type, $crt_path, $key_path) = @_; my ($response, $page, $h,$v); my $len = blength($content); if ($len) { $mime_type = "application/x-www-form-urlencoded" unless $mime_type; $content = "Content-Type: $mime_type$CRLF" . "Content-Length: $len$CRLF$CRLF$content"; } else { $content = "$CRLF$CRLF"; } my $req = "$method $path HTTP/1.0$CRLF"; unless (defined $headers && $headers =~ /^Host:/m) { $req .= "Host: $site"; unless (($port == 80 && !$usessl) || ($port == 443 && $usessl)) { $req .= ":$port"; } $req .= $CRLF; } $req .= (defined $headers ? $headers : '') . "Accept: */*$CRLF$content"; warn "do_httpx3($method,$usessl,$site:$port)" if $trace; my ($http, $errs, $server_cert) = httpx_cat($usessl, $site, $port, $req, $crt_path, $key_path); return (undef, "HTTP/1.0 900 NET OR SSL ERROR$CRLF$CRLF$errs") if $errs; $http = '' if !defined $http; ($headers, $page) = split /\s?\n\s?\n/, $http, 2; warn "headers >$headers< page >>$page<< http >>>$http<<<" if $trace>1; ($response, $headers) = split /\s?\n/, $headers, 2; return ($page, $response, $headers, $server_cert); } # end of Net::SSLeay::do_httpx3 1; PK!_BB get_https3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1435 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/get_https3.al)" sub get_https3 { do_httpx3(GET => 1, @_) } # end of Net::SSLeay::get_https3 1; PK!݊`|eewant_nothing.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 503 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/want_nothing.al)" ### Some methods that are macros in C sub want_nothing { want(shift) == 1 } # end of Net::SSLeay::want_nothing 1; PK!3:>> post_http.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1448 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/post_http.al)" sub post_http { do_httpx2(POST => 0, @_) } # end of Net::SSLeay::post_http 1; PK!=UQ?? put_httpx3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1471 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/put_httpx3.al)" sub put_httpx3 { do_httpx3(PUT => @_) } # end of Net::SSLeay::put_httpx3 1; PK!d͝set_server_cert_and_key.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1316 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/set_server_cert_and_key.al)" ### Old deprecated API sub set_server_cert_and_key ($$$) { &set_cert_and_key } ### Set up to use web proxy # end of Net::SSLeay::set_server_cert_and_key 1; PK!8 https_cat.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1178 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/https_cat.al)" ### ### Basic request - response primitive, this is different from sslcat ### because this does not shutdown the connection. ### sub https_cat { # address, port, message --> returns reply / (reply,errs,cert) my ($dest_serv, $port, $out_message, $crt_path, $key_path) = @_; my ($ctx, $ssl, $got, $errs, $written); ($got, $errs) = open_proxy_tcp_connection($dest_serv, $port); return (wantarray ? (undef, $errs) : undef) unless $got; ### Do SSL negotiation stuff warn "Creating SSL $ssl_version context...\n" if $trace>2; initialize(); $ctx = new_x_ctx(); goto cleanup2 if $errs = print_errs('CTX_new') or !$ctx; CTX_set_options($ctx, &OP_ALL); goto cleanup2 if $errs = print_errs('CTX_set_options'); warn "Cert `$crt_path' given without key" if $crt_path && !$key_path; set_cert_and_key($ctx, $crt_path, $key_path) if $crt_path; warn "Creating SSL connection (context was '$ctx')...\n" if $trace>2; $ssl = new($ctx); goto cleanup if $errs = print_errs('SSL_new') or !$ssl; warn "Setting fd (ctx $ctx, con $ssl)...\n" if $trace>2; set_fd($ssl, fileno(SSLCAT_S)); goto cleanup if $errs = print_errs('set_fd'); warn "Entering SSL negotiation phase...\n" if $trace>2; if ($trace>2) { my $i = 0; my $p = ''; my $cipher_list = 'Cipher list: '; $p=Net::SSLeay::get_cipher_list($ssl,$i); $cipher_list .= $p if $p; do { $i++; $cipher_list .= ', ' . $p if $p; $p=Net::SSLeay::get_cipher_list($ssl,$i); } while $p; $cipher_list .= '\n'; warn $cipher_list; } $got = Net::SSLeay::connect($ssl); warn "SSLeay connect failed" if $trace>2 && $got==0; goto cleanup if $errs = print_errs('SSL_connect'); my $server_cert = get_peer_certificate($ssl); print_errs('get_peer_certificate'); if ($trace>1) { warn "Cipher `" . get_cipher($ssl) . "'\n"; print_errs('get_ciper'); warn dump_peer_certificate($ssl); } ### Connected. Exchange some data (doing repeated tries if necessary). warn "https_cat $$: sending " . blength($out_message) . " bytes...\n" if $trace==3; warn "https_cat $$: sending `$out_message' (" . blength($out_message) . " bytes)...\n" if $trace>3; ($written, $errs) = ssl_write_all($ssl, $out_message); goto cleanup unless $written; warn "waiting for reply...\n" if $trace>2; ($got, $errs) = ssl_read_all($ssl); warn "Got " . blength($got) . " bytes.\n" if $trace==3; warn "Got `$got' (" . blength($got) . " bytes)\n" if $trace>3; cleanup: free ($ssl); $errs .= print_errs('SSL_free'); cleanup2: CTX_free ($ctx); $errs .= print_errs('CTX_free'); close SSLCAT_S; return wantarray ? ($got, $errs, $server_cert) : $got; } # end of Net::SSLeay::https_cat 1; PK!i0ғ5 5 sslcat.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1051 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/sslcat.al)" ### ### Basic request - response primitive (don't use for https) ### sub sslcat { # address, port, message, $crt, $key --> reply / (reply,errs,cert) my ($dest_serv, $port, $out_message, $crt_path, $key_path) = @_; my ($ctx, $ssl, $got, $errs, $written); ($got, $errs) = open_proxy_tcp_connection($dest_serv, $port); return (wantarray ? (undef, $errs) : undef) unless $got; ### Do SSL negotiation stuff warn "Creating SSL $ssl_version context...\n" if $trace>2; initialize(); # Will init at most once $ctx = new_x_ctx(); goto cleanup2 if $errs = print_errs('CTX_new') or !$ctx; CTX_set_options($ctx, &OP_ALL); goto cleanup2 if $errs = print_errs('CTX_set_options'); warn "Cert `$crt_path' given without key" if $crt_path && !$key_path; set_cert_and_key($ctx, $crt_path, $key_path) if $crt_path; warn "Creating SSL connection (context was '$ctx')...\n" if $trace>2; $ssl = new($ctx); goto cleanup if $errs = print_errs('SSL_new') or !$ssl; warn "Setting fd (ctx $ctx, con $ssl)...\n" if $trace>2; set_fd($ssl, fileno(SSLCAT_S)); goto cleanup if $errs = print_errs('set_fd'); warn "Entering SSL negotiation phase...\n" if $trace>2; if ($trace>2) { my $i = 0; my $p = ''; my $cipher_list = 'Cipher list: '; $p=Net::SSLeay::get_cipher_list($ssl,$i); $cipher_list .= $p if $p; do { $i++; $cipher_list .= ', ' . $p if $p; $p=Net::SSLeay::get_cipher_list($ssl,$i); } while $p; $cipher_list .= '\n'; warn $cipher_list; } $got = Net::SSLeay::connect($ssl); warn "SSLeay connect returned $got\n" if $trace>2; goto cleanup if $errs = print_errs('SSL_connect'); my $server_cert = get_peer_certificate($ssl); print_errs('get_peer_certificate'); if ($trace>1) { warn "Cipher `" . get_cipher($ssl) . "'\n"; print_errs('get_ciper'); warn dump_peer_certificate($ssl); } ### Connected. Exchange some data (doing repeated tries if necessary). warn "sslcat $$: sending " . blength($out_message) . " bytes...\n" if $trace==3; warn "sslcat $$: sending `$out_message' (" . blength($out_message) . " bytes)...\n" if $trace>3; ($written, $errs) = ssl_write_all($ssl, $out_message); goto cleanup unless $written; sleep $slowly if $slowly; # Closing too soon can abort broken servers CORE::shutdown SSLCAT_S, 1; # Half close --> No more output, send EOF to server warn "waiting for reply...\n" if $trace>2; ($got, $errs) = ssl_read_all($ssl); warn "Got " . blength($got) . " bytes.\n" if $trace==3; warn "Got `$got' (" . blength($got) . " bytes)\n" if $trace>3; cleanup: free ($ssl); $errs .= print_errs('SSL_free'); cleanup2: CTX_free ($ctx); $errs .= print_errs('CTX_free'); close SSLCAT_S; return wantarray ? ($got, $errs, $server_cert) : $got; } # end of Net::SSLeay::sslcat 1; PK!g?? head_http.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1450 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/head_http.al)" sub head_http { do_httpx2(HEAD => 0, @_) } # end of Net::SSLeay::head_http 1; PK!}issl_read_CRLF.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 910 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/ssl_read_CRLF.al)" # ssl_read_CRLF($ssl [, $max_length]) sub ssl_read_CRLF ($;$) { ssl_read_until($_[0], $CRLF, $_[1]) } # end of Net::SSLeay::ssl_read_CRLF 1; PK!`}RBB head_http3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1455 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/head_http3.al)" sub head_http3 { do_httpx3(HEAD => 0, @_) } # end of Net::SSLeay::head_http3 1; PK!ԯ?? put_http4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1459 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/put_http4.al)" sub put_http4 { do_httpx4(PUT => 0, @_) } # end of Net::SSLeay::put_http4 1; PK!a do_https3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1396 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/do_https3.al)" sub do_https3 { splice(@_,1,0) = 1; do_httpx3; } # Legacy undocumented ### do_https2() is a legacy version in the sense that it is unable ### to return all instances of duplicate headers. # end of Net::SSLeay::do_https3 1; PK!B!55 want_read.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 506 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/want_read.al)" sub want_read { want(shift) == 2 } # end of Net::SSLeay::want_read 1; PK!)H<< put_httpx.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1466 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/put_httpx.al)" sub put_httpx { do_httpx2(PUT => @_) } # end of Net::SSLeay::put_httpx 1; PK!޽1tcp_read_CRLF.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 912 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/tcp_read_CRLF.al)" sub tcp_read_CRLF { tcp_read_until($CRLF, $_[0]) } # ssl_write_CRLF($ssl, $message) writes $message and appends CRLF # end of Net::SSLeay::tcp_read_CRLF 1; PK![~ randomize.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 966 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/randomize.al)" ### Arrange some randomness for eay PRNG sub randomize (;$$$) { my ($rn_seed_file, $seed, $egd_path) = @_; my $rnsf = defined($rn_seed_file) && -r $rn_seed_file; $egd_path = ''; $egd_path = $ENV{'EGD_PATH'} if $ENV{'EGD_PATH'}; RAND_seed(rand() + $$); # Stir it with time and pid unless ($rnsf || -r $Net::SSLeay::random_device || $seed || -S $egd_path) { my $poll_retval = Net::SSLeay::RAND_poll(); warn "Random number generator not seeded!!!" if $trace && !$poll_retval; } RAND_load_file($rn_seed_file, -s _) if $rnsf; RAND_seed($seed) if $seed; RAND_seed($ENV{RND_SEED}) if $ENV{RND_SEED}; RAND_load_file($Net::SSLeay::random_device, $Net::SSLeay::how_random/8) if -r $Net::SSLeay::random_device; } # end of Net::SSLeay::randomize 1; PK!tcp_read_all.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 612 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/tcp_read_all.al)" sub tcp_read_all { my ($how_much) = @_; $how_much = 2000000000 unless $how_much; my ($n, $got, $errs); my $reply = ''; my $bsize = 0x10000; while ($how_much > 0) { $n = sysread(SSLCAT_S,$got, (($bsize < $how_much) ? $bsize : $how_much)); warn "Read error: $! ($n,$how_much)" unless defined $n; last if !$n; # EOF $how_much -= $n; debug_read(\$reply, \$got) if $trace>1; $reply .= $got; } return wantarray ? ($reply, $errs) : $reply; } # end of Net::SSLeay::tcp_read_all 1; PK!4BB head_https.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1433 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/head_https.al)" sub head_https { do_httpx2(HEAD => 1, @_) } # end of Net::SSLeay::head_https 1; PK!4$ do_https2.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1411 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/do_https2.al)" sub do_https2 { splice(@_,1,0) = 1; do_httpx2; } # Legacy undocumented ### Returns headers as a hash where multiple instances of same header ### are handled correctly. # end of Net::SSLeay::do_https2 1; PK!1Rktcp_write_CRLF.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 930 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/tcp_write_CRLF.al)" sub tcp_write_CRLF { # the next line uses less memory but might use more network packets return tcp_write_all($_[0]) + tcp_write_all($CRLF); # the next few lines do the same thing at the expense of memory, with # the chance that it will use less packets, since CRLF is in the original # message and won't be sent separately. #my $data_ref; #if (ref $_[1]) { $data_ref = $_[1] } # else { $data_ref = \$_[1] } #my $message = $$data_ref . $CRLF; #return tcp_write_all($_[0], \$message); } # end of Net::SSLeay::tcp_write_CRLF 1; PK!+hssl_read_all.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 584 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/ssl_read_all.al)" sub ssl_read_all { my ($ssl,$how_much) = @_; $how_much = 2000000000 unless $how_much; my ($got, $rv, $errs); my $reply = ''; while ($how_much > 0) { ($got, $rv) = Net::SSLeay::read($ssl, ($how_much > 32768) ? 32768 : $how_much ); if (! defined $got) { my $err = Net::SSLeay::get_error($ssl, $rv); if ($err != Net::SSLeay::ERROR_WANT_READ() and $err != Net::SSLeay::ERROR_WANT_WRITE()) { $errs = print_errs('SSL_read'); last; } next; } $how_much -= blength($got); debug_read(\$reply, \$got) if $trace>1; last if $got eq ''; # EOF $reply .= $got; } return wantarray ? ($reply, $errs) : $reply; } # end of Net::SSLeay::ssl_read_all 1; PK!o<.BB get_https4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1440 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/get_https4.al)" sub get_https4 { do_httpx4(GET => 1, @_) } # end of Net::SSLeay::get_https4 1; PK!0   do_httpx4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1416 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/do_httpx4.al)" sub do_httpx4 { my ($page, $response, $headers, $server_cert) = &do_httpx3; my %hr = (); for my $hh (split /\s?\n/, $headers) { my ($h,$v) = ($hh =~ /^(\S+)\:\s*(.*)$/); push @{$hr{uc($h)}}, $v; } return ($page, $response, \%hr, $server_cert); } # end of Net::SSLeay::do_httpx4 1; PK!CA tcpxcat.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1169 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/tcpxcat.al)" sub tcpxcat { my ($usessl, $site, $port, $req, $crt_path, $key_path) = @_; if ($usessl) { return sslcat($site, $port, $req, $crt_path, $key_path); } else { return tcpcat($site, $port, $req); } } # end of Net::SSLeay::tcpxcat 1; PK!zK set_proxy.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1322 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/set_proxy.al)" sub set_proxy ($$;**) { ($proxyhost, $proxyport, $proxyuser, $proxypass) = @_; require MIME::Base64 if $proxyuser; $proxyauth = $proxyuser ? $CRLF . 'Proxy-authorization: Basic ' . MIME::Base64::encode("$proxyuser:$proxypass", '') : ''; } # end of Net::SSLeay::set_proxy 1; PK!7tcp_read_until.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 885 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/tcp_read_until.al)" sub tcp_read_until { my ($delim, $max_length) = @_; # guess the delim string if missing if ( ! defined $delim ) { if ( defined $/ && length $/ ) { $delim = $/ } else { $delim = "\n" } # Note: \n,$/ value depends on the platform } my $len_delim = length $delim; my ($n,$got); my $reply = ''; while (!defined $max_length || length $reply < $max_length) { $n = sysread(SSLCAT_S, $got, 1); # one by one warn "tcp_read_until: $!" if !defined $n; debug_read(\$reply, \$got) if $trace>1; last if !$n; # EOF $reply .= $got; last if $len_delim && substr($reply, blength($reply)-$len_delim) eq $delim; } return $reply; } # end of Net::SSLeay::tcp_read_until 1; PK!A,,ssl_write_CRLF.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 915 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/ssl_write_CRLF.al)" sub ssl_write_CRLF ($$) { # the next line uses less memory but might use more network packets return ssl_write_all($_[0], $_[1]) + ssl_write_all($_[0], $CRLF); # the next few lines do the same thing at the expense of memory, with # the chance that it will use less packets, since CRLF is in the original # message and won't be sent separately. #my $data_ref; #if (ref $_[1]) { $data_ref = $_[1] } # else { $data_ref = \$_[1] } #my $message = $$data_ref . $CRLF; #return ssl_write_all($_[0], \$message); } # end of Net::SSLeay::ssl_write_CRLF 1; PK!z{pp SSLeay.sonu7mELF>0&@p@8 @$#  (  00888$$ Std Ptdxxx44QtdRtd  GNU=Q塵)&&)gOX@ XZ|CE8o۠qX>peYH{C (   |, tF"bV]*m40$<I&s6mo _}=Jm Z  m a __gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizelibpthread.so.0PL_thr_keypthread_getspecificPerl_sv_newmortalOpenSSL_versionPerl_sv_setpvPerl_mg_setPerl_croak_xs_usagePerl_sv_setiv_mgPerl_sv_derived_fromPerl_sv_2iv_flagsX509_getm_notAfterPerl_croak_nocontextX509_getm_notBeforeX509_get_issuer_nameX509_NAME_onelinePerl_newSVpvCRYPTO_freePerl_sv_2mortalX509_get_subject_nameX509_freePerl_sv_2pv_flagsSSL_ctrlSSL_get_current_cipherSSL_CIPHER_get_nameSSL_get_shared_ciphers__stack_chk_failSSL_get_verify_resultPerl_newSVivSSL_get_peer_certificatePerl_sv_setref_pvSSL_readSSL_get_errorPerl_sv_growPerl_sv_pvn_force_flagsPerl_sv_catpvn_flagsSSL_writeSSL_acceptSSL_connectSSL_set_fdSSL_pendingSSL_freeSSL_newSSL_set_connect_statePerl_sv_2ioPerl_PerlIO_filenoSSL_set_info_callbackPerl_sv_2bool_flagsSSL_alert_desc_string_longSSL_alert_type_string_longstderr__fprintf_chkSSL_state_string_longgetenvSSL_CTX_load_verify_locationsSSL_CTX_set_verifySSL_CTX_check_private_keyfopen64d2i_PKCS12_fpfclosePKCS12_parsePKCS12_freeSSL_CTX_use_PrivateKeyEVP_PKEY_freeSSL_CTX_use_certificateSSL_CTX_use_PrivateKey_fileSSL_CTX_use_certificate_fileSSL_CTX_set_cipher_listSSL_CTX_freeRAND_load_fileRAND_seedSSLv2_client_methodSSL_CTX_newSSL_CTX_set_optionsSSL_CTX_set_default_verify_pathsOPENSSL_init_cryptoOPENSSL_init_sslSSLv3_client_methodTLS_client_methodERR_get_errorERR_error_string_nboot_Crypt__SSLeayPerl_xs_handshakePerl_newXS_deffilePerl_xs_boot_epiloglibssl.so.1.1libcrypto.so.1.1libz.so.1libperl.so.5.26libc.so.6_edata__bss_start_endGLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4OPENSSL_1_1_0P@ii rui |ti % mU ui |m & &  Џ  ؏   " % G@ H P X ` h p x          ȍ Ѝ ؍           ( !0 #8 $@ %H &P 'X (` )h *p +x , - . / 0 1 2 3 4 5Ȏ 6Ў 7؎ 8 9 : ; < = > ? @ A( B0 C8 D@ EH FP HX I` Jh Kp Lx M N O P Q R S T U Vȏ WHH t HtH5Jq %Kq hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQ%%l D%l D%l D% l D%l D%k D%k D%k D%k D%k D%k D%k D%k D%k D%k D%k D%k D%k D%k D%k D%k D%}k D%uk D%mk D%ek D%]k D%Uk D%Mk D%Ek D%=k D%5k D%-k D%%k D%k D%k D% k D%k D%j D%j D%j D%j D%j D%j D%j D%j D%j D%j D%j D%j D%j D%j D%j D%j D%}j D%uj D%mj D%ej D%]j D%Uj D%Mj D%Ej D%=j D%5j D%-j D%%j D%j D%j D% j D%j D%i D%i D%i D%i D%i D%i D%i D%i D%i D%i D%i D%i D%i DH=i Hi H9tHi Ht H=i H5i H)HHH?HHtH]i HtfD=Ui u+UH=:i Ht H=.d Id-i ]wAVAUIATUSHh ;;H( ;HPxHJHHxLc2H@JH)H;Ef;H@@#uuHHHſMc(;ILHH;H@NlE@uRIm;o;HhdJTH[]A\A]A^K;Hh@H@H@HlyfD;!HHH5JLEDAVAUIATUSHg ;;H(;HPxHJHHxLc2H@JH)H;Ef;H@@#uuHHſMc;InLHH;YH@NlE@uRIm;?;Hh4JTH[]A\A]A^;HhH@H@HlyfD;HHH5ILDAVAUIATUSHjf ;;H(;HPxHJHHxLc2H@JH)H;Efq;H@@#uu`HHſMc;I>LHH`;)H@NlE@uRIm;;HhJTH[]A\A]A^;HhH@H@HlyfD;HHH5tHLDAVAUIATUSH:e ;;H(y;HPxHJHHxLc2cH@JH)H;EfA;H@@#uu0HHſMc;ILHH0;H@NlE@uRIm;;HhJTH[]A\A]A^;HhH@H@HlyfD;HHH5DGLDAVAUIATUSH d ;S;H(I;HPxHJHHxLc23H@JH)H;Ef;H@@#uuHH1Mck;ILHH;H@NlE@uUIm;;HhJTH[]A\A]A^fD;HhH@H@HlyfD;aHHVH5FLDAVAUIATUSHb ;#;H(;HPxHJHHxLc2H@JH)H;Ef;H@@#HTHŋ;Mc;H@NlE %AtgEtbM HEIm;p;HheJTH[]A\A]A^@K;Hh@H@H@HlmfD;!HHH5DL@AVAUIATUSHa ;;L ;HPxHJHHxLc2H@JI)IA;An;H@@#HIċ;HcL,m;H@L4^HCLH;=;H@HH@@ % =;H@HHhHHHl;HhLHH;H@Jl(AD$@usLe;;HhLH([]A\A]A^fD;L`H@H@M$cH@HH@HHx Z;ALH6vH=D1H5ALT@AVAUIATUSH_ ;;L ;HPxHJHHxLc2H@JI)IA;An;H@@#H"Iċ;HcL,};H@L4nH,ALH;M;H@HH@@ % =';H@HHhHHH|;HhLHH;H@Jl(AD$@usLe;;HhLH([]A\A]A^fD;L`H@H@M$sH@HH@HHx Z;QLHFvH=B1H5?Ld@AVAUIATUSH] ;;H(;HPxHJHHxLc2H@JH)HF;EfIc;L$H@L,Hd?LH$;;H@HH@@ % =_;H@HLhLHLLH11HX;IL1HH5>LI;LH;IH@L,;;HhLH([]A\A]A^DH@HH@HHx ZH=$A1H5>>LfDAVAUIATUSH \ ;S;H(I;HPxHJHHxLc23H@JH)HF;EfIc ;L$H@L,H=LHt;;H@HH@@ % =;H@HLhHLH11H;InL1HAH5.=LI;CLHH;I.H@L,;;HhLH([]A\A]A^DH@HH@HHx ZH=t?1UH5<LfDAVAUIATUSHZZ ;;L ;HPxHJHHxLc2H@JI)IA;AnHc\;L$H@L,EH<LH;$;H@HH@@ % =tW;H@HHhHHHG;;HhJT%H[]A\A]A^@H@HH@HHx H='>1H5A;LfAVIAUATUSH Y ;S;L(I;HPxHJHHx*4HcH@HI)IAR;DeHc;H@H@ % =;H@H,1HHHŋ;McN,;H@N4H:LH;;H@JH@@ % =~Y;H@JL`FHLFHH1Ҿ7;;HhJT-H[]A\A]A^ÐH@HHh)f.H@JH@HHx H59LH=p<1)fAVAUIATUSH:W ;;L y;HPxHJHHxLc2cH@JI)IA;An?;H@@#*HIċ;HcL, ;H@L4H8LH|;;H@HH@@ % =;H@HHhHHHLH;HzHLH;eH@Jl(AD$@utLe;I;Hh>LH([]A\A]A^#;L`H@H@M$H@HH@HHx R;LHuH=:1;H57Lff.AVAUIATUSHH3U dH%(H$1;i;L _;HPxHJHHxLc2IH@JI)IA;An%;H@@#%HIċ;HcL,;H@L4H6LHb9;;H@HH@@ % =;H@HHhHHHHz;H`HLH;KH@Jl(AD$@Le;+;Hh LH(H$dH3%(H[]A\A]A^;L`H@H@M$H@HH@HHx 4;LH[H=J81H5x5Lff.@AVAUIATUSHR ;C;H(9;HPxHJHHxLc2#H@JH)H&;EfIc;L$H@L,H4LHd;;H@HH@@ % =;H@HLhHLH;Ij1M@H;IOLHT;I:H@L,;+;Hh LH([]A\A]A^Ð H@HH@HHx zH=61eH53LfDAVAUIATUSHjQ ;;H(;HPxHJHHxLc2H@JH)H&;EfIcm;L$H@L,VH<3LH;5;H@HH@@ % =;H@HLhHLH4;IHb;ILLH2H;H@L,;;HhLH([]A\A]A^{H@HH@HHx zH=51H5O2LfDAWAVAUATIUSH8HO dH%(HD$(1; ;H(;HPxHJHHxD*IcAMH@L$HH)IIA;AmHc;H@H@ % =k;H@H,HHAċ;m;AUH@HcL4WHcL$;H@HHL$H,HT$1H1HHk;HL$;H@HH@@ % =HT$;H@HHhHHHAF %=FID$H@HD$ AVED$Fl McAFIL9hIFLcl$HD$ILHDHAljExԋD$IDHHAHL$;IcHHŋ;HH;HHL$H@H,ȋ;;HhHl$H(HD$(dH3%(H8[]A\A]A^A_Ë;yLLH fD;YHT$ LHD$A;AMc$;H@J@ % =;H@N,LHD$t$HD$ Lcl$L=j5L91f;LLHAHD$ HHD$ L9r;iH8wDSHL$H@HH@HHh |fD+H@HHD` HcH9w(D$-H@JH@ D$H=-1NH5-LH=-11H=e01ff.AWAVAUATIUSH(H-$K dH%(HD$1}\}HQ}HPxHJHHxD::IcH@HH)HH$}A_EwHc}H@H؋@ % =*}H@HHT$HHIŋ}Mc}J H@HL$JH{,HH=}s}H@JH@@ % = L}H@JHX8HH8<$Dd$HtDLHDHAljExԋ}IcHHË}HH}HH@J}}HXH\$HHD$dH3%(WH([]A\A]A^A_f}XH8C<$Dd$H@JH@HHX }EgMcH@J@ uy}H@Jx tc}H@J@ %= tDDd$f}H@HHH@HD$H@HLhfD}H@J@ % =tQ}a}H@N$QLHQAă<$u@HT$1HIc)H9DGD}H@JHD` }AMc}H@J@ % =t|}H@N<LHHT$x/HcHtH9rH=)1fDHIH)DHcH9wHHcH)I%NH@JH@ H=+1H5g)LaH@Hv}H5L. ft{uFIff.@(z;H@JH@HHx mIHz u@HIG80mD;1LHL{B;LH!H=1!H5LfATUSHu HH HD@ui@tQH HHDIMHپIH8 [H]A\H81tt7xM[]A\KHHIH8 []A\H81d@HHhI@HHaI@AVAUIATUSH*8 ;s;H(i;HPxHJHHxLc2SH@JH)H;EfIc-;L$H@L,H}LH9;;H@HH@@ % =;H@HLhLHIH=~mH=I^LH t~LHLx1ҾLY;bHIŋ;KLHP;I6H@L,;';HhLH([]A\A]A^D11L;1HIfDH@HH@HLp H=15H5LfDAWAVAUIATUSHH46 ;};L s;HPxHJHHxLc2]H@JI)IA;An9;H@@#!$HIċ;HcL,;H@L4H_LHv8;;H@HH@@ % =;H@HHhHHH;Hc|AT$ ;H@Nt(AZEAL$ Il$Mf;+;Hh LH(H[]A\A]A^A_;L`H@H@M$H@HH@HHx 8;HLH{pH=1H5iLfAWAVIAUATUSHHH4 dH%(HD$81;M;L(C;HPxHJHHxD"-IcH@HI)IA`;El$Al$Mc;H@J@ % =;H@N,1LHIƋ;AMc;H@J@ % = ;H@N$x1LHfHD$HD$0;Q;H@@#HcH@HI)IA;DmDeMc;H@J@ % =;H@N,߽1LHIŋ;Hc载;H@H@ % =蛽;H@H,茽HHAƋ;r;H@@#*]HHŋ;McN<@;H@J4Ht$,Ht$HHz; ;H@JH@@ % =;H@JL`мHLHDL;Lc証U ;H@Nl8A舼EM LeIm;\;HhQIL8H[]A\A]A^A_@3;Hh(H@H@HlfD H@JLh0f.H@HHDp ^˻H@JH@HHx ;詻LHHk/H=w1H5 L蹿fAWAVIAUATUSHH* ;M;L(C;HPxHJHHx*.HcH@HI)IA;DeHc;H@H@ % =ߺ;H@H,к1HH辿IƋ;贺;H@@#$蟺H'Hŋ;McN,肺;H@NH5wH;HH1H5Hұ;+H$H5H赱;HH5H蘱;HH5H{;ԯH-H5H^;路HH5HA;蚯HH5H$;}H5H?H;`H[H]HHcertCrypt::SSLeay::X509SSLeay.xsssl, nameCrypt::SSLeay::Connsslssl, buf, len, ...Offset outside stringNegative lengthssl, buf, ...ssl, fdpackname, ctx, debug, ...Crypt::SSLeay::CTXSSL_connectSSL_acceptundefinedSSL3 alert %s:%s:%s %s:failed in %s %s:error in %s ctxHTTPS_CA_FILEHTTPS_CA_DIRctx, filename, passwordrbctx, filename, modectx, cipherspackname, ssl_version/dev/urandom0.72v5.26.0SSLeay.cCrypt::SSLeay::CTX::newCrypt::SSLeay::CTX::freeCrypt::SSLeay::Conn::newCrypt::SSLeay::Conn::freeCrypt::SSLeay::Conn::pendingCrypt::SSLeay::Conn::set_fdCrypt::SSLeay::Conn::connectCrypt::SSLeay::Conn::acceptCrypt::SSLeay::Conn::writeCrypt::SSLeay::Conn::readCrypt::SSLeay::X509::freecert is not an Crypt::SSLeay::X509ssl is not an Crypt::SSLeay::Connctx is not an Crypt::SSLeay::CTXCrypt::SSLeay::Err::get_error_stringCrypt::SSLeay::CTX::set_cipher_listCrypt::SSLeay::CTX::use_certificate_fileCrypt::SSLeay::CTX::use_PrivateKey_fileCrypt::SSLeay::CTX::use_pkcs12_fileCrypt::SSLeay::CTX::check_private_keyCrypt::SSLeay::CTX::set_verifyCrypt::SSLeay::Conn::get_peer_certificateCrypt::SSLeay::Conn::get_verify_resultCrypt::SSLeay::Conn::get_shared_ciphersCrypt::SSLeay::Conn::get_cipherCrypt::SSLeay::Conn::set_tlsext_host_nameCrypt::SSLeay::X509::subject_nameCrypt::SSLeay::X509::issuer_nameCrypt::SSLeay::X509::get_notBeforeStringCrypt::SSLeay::X509::get_notAfterStringCrypt::SSLeay::Version::openssl_versionCrypt::SSLeay::Version::openssl_version_numberCrypt::SSLeay::Version::openssl_cflagsCrypt::SSLeay::Version::openssl_platformCrypt::SSLeay::Version::openssl_built_onCrypt::SSLeay::Version::openssl_dir;0%LDt$T LT DL4 LTD,dx4\0p X t 0 Dx zRx $0FJ w?:*3$"DȦ <\+FBE A(A0 (A BBBD <+FBE A(A0 (A BBBD <p+FBE A(A0 (A BBBD <`+FBE A(A0 (A BBBD <\P+FBE A(A0 (A BBBG <@@FBE A(A0 (A BBBE <@FBE A(A0S (A BBBG <FBE A(A0S (A BBBG <\FBE A(A0T (A BBBF <FBE A(A0T (A BBBF <GFBE A(A0 (A BBBE <FEB A(A0X (A BBBB <\ FBE A(A0Z (A BBBH D1FBE A(A0G 0A(A BBBD <ؾFBE A(A08 (A BBBB <$(FBE A(A06 (A BBBD HdxFBB B(D0A8Dp 8A0A(B BBBA HtFBB B(D0A8D` 8A0A(B BBBJ HFBB E(A0A8D@u 8A0A(B BBBD HHFBB E(A0A8D@u 8A0A(B BBBD HFBE B(A0A8D@ 8A0A(B BBBK HFBB E(A0A8D@u 8A0A(B BBBD <,GFBE A(A0 (A BBBE Hl>FBE B(A0A8DP 8A0A(B BBBG DFAC q HBK L ABA Z FBN <FBE A(A0l (A BBBF H@<FBB E(A0A8D@u 8A0A(B BBBD LFBE B(A0A8D 8A0A(B BBBH HFBE B(A0A8DP$ 8A0A(B BBBE H(tFBE B(A0A8DP$ 8A0A(B BBBE Ht8FBE B(A0A8D@ 8A0A(B BBBI <|GFBE A(A0 (A BBBE D qFEB A(A0G 0A(A BBBE DH FBE A(A0G 0A(A BBBH (  EAD  CDGNU&& U%6@P  q  o`8   ( 8 ooooo  0@P`p 0@P`p 0@P`p 0@P`p  0 @ P ` p !GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-20)GA$3a10&0&GA$3a1GA$3a1qqGA$3a10&& GA$3p1113&qGA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA*FORTIFY&(GA+GLIBCXX_ASSERTIONS&( GA*FORTIFY(K)GA+GLIBCXX_ASSERTIONS(K) GA*FORTIFYK){*GA+GLIBCXX_ASSERTIONSK){* GA*FORTIFY{*+GA+GLIBCXX_ASSERTIONS{*+ GA*FORTIFY+,GA+GLIBCXX_ASSERTIONS+, GA*FORTIFY, .GA+GLIBCXX_ASSERTIONS, . GA*FORTIFY . 0GA+GLIBCXX_ASSERTIONS . 0 GA*FORTIFY 01GA+GLIBCXX_ASSERTIONS 01 GA*FORTIFY13GA+GLIBCXX_ASSERTIONS13 GA*FORTIFY3Z5GA+GLIBCXX_ASSERTIONS3Z5 GA*FORTIFYZ56GA+GLIBCXX_ASSERTIONSZ56 GA*FORTIFY6w8GA+GLIBCXX_ASSERTIONS6w8 GA*FORTIFYw8t:GA+GLIBCXX_ASSERTIONSw8t: GA*FORTIFYt:<GA+GLIBCXX_ASSERTIONSt:< GA*FORTIFY<J>GA+GLIBCXX_ASSERTIONS<J> GA*FORTIFYJ>?GA+GLIBCXX_ASSERTIONSJ>? GA*FORTIFY?DGA+GLIBCXX_ASSERTIONS?D GA*FORTIFYDIGA+GLIBCXX_ASSERTIONSDI GA*FORTIFYI'KGA+GLIBCXX_ASSERTIONSI'K GA*FORTIFY'KGMGA+GLIBCXX_ASSERTIONS'KGM GA*FORTIFYGMOGA+GLIBCXX_ASSERTIONSGMO GA*FORTIFYOQGA+GLIBCXX_ASSERTIONSOQ GA*FORTIFYQGSGA+GLIBCXX_ASSERTIONSQGS GA*FORTIFYGSVGA+GLIBCXX_ASSERTIONSGSV GA*FORTIFYVWGA+GLIBCXX_ASSERTIONSVW GA*FORTIFYWzYGA+GLIBCXX_ASSERTIONSWzY GA*FORTIFYzY[GA+GLIBCXX_ASSERTIONSzY[ GA*FORTIFY[_GA+GLIBCXX_ASSERTIONS[_ GA*FORTIFY_bGA+GLIBCXX_ASSERTIONS_b GA*FORTIFYbeGA+GLIBCXX_ASSERTIONSbe GA*FORTIFYe7hGA+GLIBCXX_ASSERTIONSe7h GA*FORTIFY7hiGA+GLIBCXX_ASSERTIONS7hi GA*FORTIFYilGA+GLIBCXX_ASSERTIONSil GA*FORTIFYlmGA+GLIBCXX_ASSERTIONSlm GA*FORTIFYmqGA+GLIBCXX_ASSERTIONSmq GA$3p11130&0&GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p11130&0&GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p11130&0&GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p11130&0&GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3a1qqGA$3a1qqGA$3a1GA$3a1qq,&J6 M'&J#- 9<<# %--'9inty')E@L$EEL8 LEE)L%986y:'2E 1*C!`#`@$O 1lB2L   aA  L L8  D   8   N .A R+  T#+ cC U#+] V ;( v : xy # yE  zy |E &@ y  f G f - 1< 1E ( C E% E=D5 F8 G ` L', H  Z m'    -"h #p Y,$x .'  L @  L g*!;:  L d!@ @' ( y@ [)H P L,S@y{E (F\8 w=: \);? GA y /'B y CG w=I \)J K O_ w=Q \)R S y ET -Ua mc ( !,d ( ^e_ g Y <[ ( ]f H/h l Fn *o yt+ v ( u;w y T xE p3O51#<:D_rtL8;V5irGpqAy y L$  .& y ( y * y 0 y ;8{ +|y( - L@f(-g(-RB`ZD!`D+$ZE2 y);7 yt; yB 9 1 8 E  ` L 437((2v==G 9 Q= 3=  a:"  A RR)p?= /D $/N    X+  ( ,3 3 = <H H R :@] ] g yr r |    - B     #  8  M  b  w  %/ b:= ! m{# w v w A B  L # L / L D G I  3  - L D. B0 65  = CB> @  l*A C y$ C#E ( J 0 8N*8 \(P6@ [H (2\X $]h `1j x N L Z LE 2 yo y o4] A6 y :%7 y5 ]  -Z8.Z v8  Z gA ` y > / b G d Z x e ` fy gy -h ` _ W @ Z-D `@y02 ZD .F Z3G `EEHy<    ?  % 9 ^2 - f !  ` L( %@  ' ? ( % )9 ^2 *- f + DIR!LC:IV"vQUV"wLNV"Ez"# y"/ OP"1 op($ S$1 %$1 $$J !$I+$E  ) $E 59$E C$E  +$E q@$E %$E 5$E $0" $0#COP"2  copP%yS%z1%%z1$%zJ!%zI!+%zE  !) %zE !59%zE !C%zE ! +%zE !q@%zE !%%zE !5%zE %z0"%z0#%}l1$%I(A% Z0= % 918!% 91<'%P@/% PH"8  `$, S$1 %$1 $$J !$I+$E  ) $E 59$E C$E  +$E q@$E %$E 5$E $0" $0# $ 1( K6$ 10*$I88$91@$ JHP$JP.$ 1Xr#"< 9CP$jS$1%$1$$J!$I!+$E  !) $E !59$E !C$E ! +$E !q@$E !%$E !5$E $0"$0#$ 1(K6$ 10$ 18$ 1@"$ 1H "G w" "$ 0&#1#Iop&$1 1&%1 &'1 B&(1 &*Q_( O&,(10 &-(14 C&/W_8 &0(1@ &1(1D )&31H C>&4P &5X :+&6` "&891h &:W_p @&<W_x &=W_ &A0 &Cb 5&E1 0&&HJ 8&KA &LA 0&N1 A&O1 {@&^1 H&`0 E&a0 _9&b1 s*&n0 =/&u0 A&z1 &&{1 0&}S &~1 2&]_ 8&1$A&Q$<&1$# &1$&A$&c_ $ &i_($(&aI0$&$8$%&$P$ &$h$+&[0$ &[0%ISv&1$&o_$'3&1%Ina&$8& $D& $?(&1 $w$&1(%Irs&10$&18$&1@$W&1H$&P$C&1X$B&1`$=&1h$b&1p$&Qx$&Q$2&P$Z &1`$;&7h$&1p$$=&1x$&1$*&1$&1$?&Z$) &$-&1$R?&0$ &1$&1$5&1$&1&&u_&= &L^&&/L^&J&=^&T9&?`&D&@Z&&B91&e=&D91&&Fy&_&Iy&i&J` &q &K1(&>&L10&9&M18&'&NZ@&;&OH& &P1P&QG&Q1X&T&T1`&&U_h&{<&Vp&I&X1x&&Y1y&&Z1z&&[1{&8&\1|& &]1}&&^1~&&_1&&aZ&&b1& !&d&8&f(1&S&h(1&t&l(1&L>&oy&F&p_&0&s1&`&t1&r&u1&I9&v1&&w1&E&z1&=&}1&.&1& &1&WC&1&`&1&!&1&:&1&g&1&(&_ & &18&#&1@&A&1H&!&1P&|&1X&d&1`&&1h&&1p&>&1x&!&Z&G&<&n&1&4 &1&C*&1&&1&)&S&@&y&&y&-&Z&W;&_&3&Z&&1&#&1&V&&1&m2&y&&(1&F&1&K;&1&,&1&&y&&(1&-@&(1&;&_&3&1&8&_&\& &$ &<p&_&[Ix&&I&G&I&4,&<&4&y&&91&%&1&&1& &1&&1&AG&x&&x&&l&7&l'Ian& 91&E& 91&'&91&l&&91&1&91&7&`& &Z&!&4&&!_&1&#J1`&%&%91d&>&'Zh&;&)1p&@9&+(1x&#&,I&&.I&Z/&/I&XD&1I&&3I&?&6Z&O$&7&%&8&&991&:&:0& &;1&=&=0&L1&>1&9&F1&@&G1&t &L]&,&N1&@&SS&&Wy&'&Y1&&8&[Z&<&\1& &a1&b!&b1&t.&c1 &MA&d1 &&f1 &&g1 &.&j1 &8F&k1( &&l10 &2&m18 &$&n1@ &:&o1H &-&p1P &+&r_X &D&s_ &JC&t_( &4&u1 &w#&v1 &$&w1 &(/&x1 &d%&y1 &m&z1 &"&|1 &.&}YD &5&~ &&_ &[G&0 &;&1 &E&1 &\8&1 &&1 &?&_ &}'&1 &<&( &p &1( &o:&10 &J &_8 &"'&I@ &&IH &9&_P &/&1X &&1` & &n4h &0&`p &&`x &jC&1 &&1 &}B&1 &+&1 &^$&1 &P&1 & &o^ &;&1 &-&1 & C& &&Z &O,&Z &u&&Z &e+&Z &G(&[ & &,[ & &1 &K)&1 & &1 & &1 &"&1 &K&1( &j:& `0 &F&_8 &I&^@ &f?& _ &D& ` &N& y &&oZ &"&"` &F&- I & &/ SV"O $$sv'% /'( )'91 '91 '5AV"P %av'[% /'9 )'91 '91 ' 9HV"Q g%hv'% /': )'91 '91 '9CV"R %cv'% /'9 )'91 '91 '8U8"S &N'I&/'7)'91'91 ':GP"T U&gpP( ' @( 1 *&( I f8( < (( 91 w( 91 ;( 1 7( 1( 9( <0 @ ( 188(E@)(E@ )( ;HGV"U 'gv'Q' /'8 )'91 '91 '7 io''/':)'91'91 ':"W '`%?'(,%CbT@`%j(% 0$% 08% 1K% (1x% (1+% (1 2% SG% A[% % (1( /%=S0"+"Z w( 0)( *) ; ]) U ~=) 1 F) ` &) 0 )  ") 1 7) Z(XPV"[ ( xpv 'A)1'1(';L'J';"\ N)9(')1'1(';L'J'<%B'; "^ )0'*1'1(';L'J'B<%B' ; $' =;("b  * E(* o* 1* 1 (* ; 7*  B*  ** 1 b"c |*  +* 1+ 1 (+; F.+ t+"d *10'4.+1'51('5;L'5J'5g<%B'6; $'7=;("e ;+ Fh, + 1,1 (,; L, J,I /,1 :4,I( \,J0 ,)J8 (,Z@ ,KJH y,<P E<,91X 1,<\ A;,(1`"h  ,3'^-1'_1('_;L'_J'_<%B'`; o!'b7({G'o<0,'q Q8j'r Q@,'s QH?'t ZP2'u 1X( 'v Z`A'w 1h9'x Zp] 'y 1xf6'z `'{ 0+"i )-- @) - ) 8U A) 8U 5 ) WU >) 8U <) 8U ]E) U( ;) U0 9) 8U8ANY"j -(any".) " ()"1)a>"1)"1)h"1)"1)"1)"Z)A"`);" (1)" 91)" Q) " b)@?" )1" 1)" 1)>" 19"{.eC"|XZ9?"}LG "~ (]"l .80"A/ *"^Z?" b" bQ"iZ"XZ A"XZ( "m N/('b/3'c1&'db ,'e1o'f1+!'g1 5 "q / -/ -  -&gI !-' 91 5-( 91PAD"r %W"s  0 h(-+[0 P-,  .--I L-.  -/I 8!-0 91 W "t h0 N 0-L0 G-MZ 8-M1 W%-MI 5-M91 B0-M91 6*-M91 A-My$ A--M0( T-M0)I8.SU8.-0I16.f1U16.91I32.y(1U32.E91*91 E1Z1+O1@.Z1.< 911(y12"w 6E"y $111'%[%111(j1 D/13 &/3y /6 Z /7 Z ;/8 Z [3/9 Z K-/: Z( /; Z0 /< Z8 /= Z@ /@ ZH T/A ZP /B ZX //D3` mB/F3h N/Hyp B/Iyt )/J x 7/M9 , /NS !/O3 :/Q3 C/Y /[3 /\3 D/]3 O/^ ( D/_  EB/`y k /b3E01,/+31 `3 L333 `3 L:1333013 13k.2 y (4+42(4j.2 y2(4x3<]43>n4Q4S3N4E47/54>5 (1)5 Z)5 1"/5 1/54-E'Q5.D'..!.#.=.d.(..Q8.' .E . . .c .9.[.B'4HE'h5he+ 5 9+$ 7 +% ; +) PHEK'5hek +-5 `0+.91 +/(1 f9+53 '_6'Z'Qq'b'nh'1o'7@'1'7'7y '7 867 161 (6; L6 J6;> &6? WA60>( ?)610 yA6918 %6@ 6H 6P Y>6?X #*691` i>691d V56(h 691p -691t h6%?x 6` 6Z 61 +6 F6 n 6 !6!6E,6E  @ 6<_67]5I&b4 '8'Z'Qq'b'nh'1o'7@'1'7'7y '7* '9'Z'Qq'b'nh'1o'7@'1'7'7y '7.+ '9'Z'Qq'b'nh'1o'7@'1'7'7y '7* ':'Z'Qq'b'nh'1o'7@'1'7'7y '7o*/':)'Z)'Q)q'b)'n)h'1)o'7)@'1)'7)'7)y '7+/'=;)'Z)'Q)q'b)'n)h'1)o'7)@'1)'7)'7)y '70p,';)+' n)l8' 1)>3' l1)fE' 10gB';)+' Q)3' b)D' ;)' 150lG';)' ;)'' j(/'<)l ') 'Z/'B<)l ') 'Z/'g<)l ') 'Z/'5<)l '5) '5Zf5': 91<1<%<//'_<)l '_) '_Z/'l=))'m=)I?'n (@ 4=+ =(7= 26\= &60 `26 0 36 126'= (6&= 6'  6(  o6) 1 j6* 1 6+  6-= 96. 0 G%6/= h== L 256:$> !6; #end6<   6C 256D=%0> 6]>l 6 6Z &h6? @6? 6? 6@ <6@ 65@ F6U@(  6@0 C6@8 6@@ \*6@H &6@P =6AX @6YA`]>?=$>86_6 {6_? 76 ` g6_?M067?10>?1191q?1(1?16>ZZZ1(91?1Z?16>1ZZE1?e??11@16> @5@16>%@U@16>411;@u@16>41{@$u@[@1(1@16>{@41@11@16>11E1@11@16>{@E1@1(A16>AA/@10>SA11y1?0>SA91911A2P6h A3rex6i A86jA 6l1 6nZ+6o  F6p (n 6q 0)6r;83pos6s @6t 0H+?#46u_A2 6| RB,46}RB6~B6B(6 ZB x6B0"6 y 6 Z3u6P!HXB"6\BV 6]H&6^Bx&eC6^"BB16BW6 (126 C@6B26 LC@6B6 91-6 91 3cp6B2 6C@6B6 91-6 91 3cp6B6C\=2@6SD@6B6 91-6 91 3cp6B/6 916 11 6SD 3me6C( 6 YD0-6 9186 1< 6 1>102@6D@6B6BP/6$B 60>3cp6B QD6B$691(3B6C0 6Z826'E@6B:6 (1e26 (1 3me6C2 6 jE@6 B6 B6  1E6 Z26E3val6 y286F@6B6B3me6C3B6C3cp6B  6 1$ 6 y( #6" y,6# Z02(6&tF@6(B(6)B3cp6*BQD6+B6, Z:6- (1 6. (1$2`61;G@63B3c164 y3c264y 3cp65B66 91-67 91168 (1 #69 (1  6: 1$3A6;C(3B6;C03me6<C8^?6=;G@0 6>;GN 0KG L 2h6A!H6B 913cp6CB6D 91-6E 91 3c16F y3c26Fy 86G Z4$6H Z  #6I y(3min6J y,3max6Jy03A6KC83B6KC@^?6L;GH0 6M;GV/h6H)%16B),46 B4yes6B)" 6 C)#6LC)J,6C);6_D)-6D).6'E)6jE)(6$E)FA6/F)g6?tF)6NKG 6QXB HH L 6_B8KLQ'--![I 3-"[I -# aI -$ aI// -I>- I-%IaI*II[0 -MI5-M1^&-M< ,Il , ,Z ,J/,1,- ,)J$,1,< ,KJ/,1<,; ,mJ,<},( $ JC$Isv$1iv$Quv$b;$mJ11J1JJ/$J)!$1)>$ I)($1/$ "K) $ 1)*$  I &091K 93 Z v)94 Z :96  @97  /698 Z "99 Z ];9: Z( a :*K +:, Z &:- Z ':.  ::/ `K5;H/L -,;M/L$n;V/L$ ;[@L$h1;bQL$;i`$;nbL `@L5L `QL5L `bL5L `sL5Lw ^CH<+L <- Z <. Z P/`%@T)p$%A')A%BS20%U % 1%U% Uf;% UU% (1 #% (1$% (1(E% (1,'T*%T1y8U11;U191WU11;>U1yU11;1(1]U1yU1;AU-> U#val> 4 7"> f P> (1 % > < >U [(>IV >IV > 1 s'> Z B> Z > 1 U> UC>"Z >&Z o6>'4 {*>(y >+y >-y >. Z >/ Z(#ps>0 Z0 z2>4 (18 >5 (1<  >6 Z@ ">7 ZH q1>8 0P (>9 0Q -$>; 0R .>< 1S >= (1T >> 1X 6>? 1` ; >@ 1h >A 1p '>B 1r >C (1t >D 1x !>E (1 ;>F (1 &#>G b vD>H b 'F>I1 >J 0 >K 1 )>L (1 3>M 1 0>N 1 T>O&Z >P 1 v'>Q Z B>T Z B>U Z >V Z FF>W Z >X Z *>Y Z T(>^ l1 3>_ 1 5(>` 0 >a 0$5->b 1$ >c 7$E>d 1$n>f ,Z$>g >h 0T$0(>i 0U$2>j 0V$r>k 0W$}8>l SX$>m `$D>n l1`$,>o l1d$:>rQh$PF>sQp$>t`x$$>v1y7#&>xEx7m>yEx7>zE x7@6>{E x$(>}1{$>~ 0|[VUOV 4[V.XZMdZ"Z"1"$ZeC"$ZoZ"QZZZ1yZ1"RZZZ11"SZr>"U[[11,[11z"V9[?[J[1 gU[+J[;"uU[-="wU["yU["{U[;"}U[^"U["U[~;"U["U[-"U[i4"U["U[ g\ L[b "\""U[k<"U["U[+*"U[6>"U["U[,"U[ "U[# "U["U["U[" 1"" 1" 1 g\ L@\v"\A"U[ g ] L\6 " ]" ]"(4 D]+9]9"D]"=6<"="=K+"= -]+"]"= ]+z?"] "U[8%E"^..l.>.]F.5..1.&2"(4BH"F<^3pad"G<^ $L^ Lv%"PY^_^o^11E8"a|^^1(1^111'"fJ"g^^11^11"hY^v,"i^^1y _1ZP"l9["sD_3fn"t 13ptr"u (n9"v_-(1UHHLZ Z_ Ly Q_ LD_91 (_ L 1_ L 1_ L 0_ L .1Ot4(( 1'` L"=1"#1M "#1*?(4-?&(4 ^e`+9:?Z` ^}`+ ?cr`?Z1 1`+`'? ` #1`+`0? `|? U[ ? ` 1`+`2? `3)@&1@(1x@-1 @11H3@41:,@K4=@L4 $@X1@[_C@\y|:@]y%@aQy0@e1&@f1]@i @1}%@1E@y (@y/@^2@1@b="@1 @$!@1 -Db L@4b1"4Z2"6Z zb LjbU<Azb $-b LbmA b 1b Lb"N b 1b+b$"bb"cb"db&"ebq+"fb:"gb/"ZOc4nv"Zn4u8"ZTc,c 0dc Li,"ZOc/"[c4nv"[n4u8"[Tcqc"[cB>ccFB]c.9B{c(SSLBcc"1Bd<'ECc&Cc}5CcOCc@C-cC:cc)C@cw!CTcC[c3C\c/C]cC^c1C_c?=Cdc.Cfc CgcBChcCicCjc CkcClc{ CmcPCncy(Cpc0DcADcEc$EcdDE)cS6E3cvFEccc0e?GcGc&%GcGc{1GcBGcGcx Gc\GcGcGc3Gc3Hc30HcaHc4HcHc7HcmHc%HcO:Hc{HcH c ?H"cBH&cH(cH)c#HPc=HQcHRc~H\c=H]cH^c'HcgHcHc_ Hc@Hccc5It U[n;J-g2,Jc%Jc!0Jc+Jc'JcFJc9<7m p:Z 71;cv7<A=.< 1?sp< 1>< (1@-BA sAmBmhCU  CQ sCR {sCX vsAmAmAnBnKiCT 0uCQ lA nB6niCT sCQ iA=nBSniCT sCQ @hAZnBpniCT XuCQ eAwnBn/jCT uCQ bAnBnhjCT uCQ _AnBnjCT uCQ [AnBnjCT vCQ YAnBokCT (vCQ WAoBoLkCT sCQ PSA%oB;okCT sCQ RABoBXokCT sCQ OA_oBuokCT  tCQ PMA|oBo0lCT )tCQ 0KAoBoilCT FtCQ IAoBolCT btCQ DAoBolCT }tCQ ?AoBpmCT HvCQ P>A pB#pMmCT xvCQ <A*pB@pmCT vCQ :AGpB]pmCT vCQ 8AdpBzpmCT vCQ 6ApBp1nCT tCQ `5ApBpjnCT wCQ 3ApBpnCT @wCQ 2ApBpnCT hwCQ 0ApB qoCT wCQ  .AqB(qNoCT wCQ +A/qBEqoCT wCQ ,ALqBbqoCT xCQ *AiqBqoCT @xCQ P)AqBq2pCT pxCQ  (AqBqkpCT xCQ &AqDq E5#&+r:Z #1;cv#<y=sp> 1B @ =ax> (1q e F.> 1 F> (1P!N!GFZBe!!G FEQ!!A5A6A16BA6zCTvCQ2Au6A5A5B5CT}CQ qAI6 H6CU tII6_FN]!!AP6A[6J5> K!!A}5A5A5H6`CU}CT qEA"6:Z "1"";cv"<f"X"A#=A:=BL=CT}CQ  rA=`A=B=mחCT}0)A=B=CT}A=H;>CU tI=jF]..A=A>J< K..A<A<A<HJ>`CU}CT !rEwP>:Z 1..;cv<9/1/A?A$?B4?zCT}CQ2A?G0F 1d1`1AF?AN?-AX?Bm?zCT}CQ qCR~At?A>A>B>CT}CQ  rA xK11Am>Aw>A>H?`CU}CT !rE5S?:Z S111;cvS<02"2.U 1FU (144G1=sslYg}4u4=lenZy44=bufyZE5=5@+zFC{y55F|y66=svb177F$c187G|FfQS8K8AAA;AASABcAznCTvCQ2ACG &=ny88=xy09(9BAϝCUvCT}CQ|BBCUvCTA,BB7BmCT $ &ACAh@A@A@B@zjCTvCQ2A@A@A@BACTvCQ  rAABBLB۞CTvAVBABBBCT~CQ}ABBBDCT~CQCR2ABACA-CB=CzCT}CQ2AwCBCCT~CQCR1CX2ACA-DBRDCU 8rBoDCU NrHDCU tIcBvF]99AjBAuBJ@`U K99A@A@A3@BaD`CU|CT %rAtDWE82Dt:Z 199;cv<@:.:yK>?>=bufZ>>F$1g?a?G FQ??AEAEAEBEzCTsCQ2AFG Q=n\y3@)@=x]y@@B*FCUsCT}CQ|B7FCUsCTADFBOFmCCT $ &AFAEA;EAKEB`ECTsCQCR2AnEAEBEۣCTsCQ  rAZFBeFCTsApFAGA'GA=GAeGAGAGAGAGBGzCT|CQ2AHA7HAVHAfHBvHzCTCQ2BHCU 8rAHHHCU tIxFpFN]A AAFAFJDP  KHAFAADADADBH`CU|CT ^rAIWE*I:Z 1oAkA;cv<AAP:Z D1RR;cvD<RR\=J1=ctxL T}TF1M1TT=sslgTTF$RgFU@UGFUQUUATADTAWTBgTzCT|CQ2AUITGC=io7UUATATBT# CTvATBU0.CTvHUCU|IU=ͷFw 1UUAUAU-A'UBCT}AXB$YmCU~CT0CQ0A+YB5YmCT0HkYCU uIXF?]YYAXAYJW KYYAWAWAWHzY`CU}CT rEc Y:Z 1 ZZ;cv<PZDZ]AZA[JY 8Kf]d]AYAYAYH[`CU}CT rE#[:Z 1]];cv<]]CU~CTCQCRCXB]VCU~A]A}^A^A^A^B_CUvA _B6_CUvAD_ H_CU uI6^BF]ccA=^AH^J[` jK?c=cA[A[A[Ao_WH~_`CU~CT sgE?_:Z 1fcbc;cv<ccF~QooAfAfAgBgz0CT|CQ2AgGF QooALgAhHhmCTvCQ|AfAAfAPfBbfCTvCQ0CR2AlfAfAf-AfAfBf@CTCQ rB"g#XCT~A,gAgAgAgH(hCU uIqgF]ppAxgAgJes K7p5pAeAeAeH7h`CU~CT FsE!Z@hG:Z Z1^pZp;cvZ<pp\=1Fy uuF$ iuguNctxyuuO7zy  Pbuf{(wGQyRAk=AkIIjJQ-y/RAjVAjIIj=FO 1uuAjAj-AjBkzCT~CQ rCRvAkAjA%jAGjAVjBfjz%CTvCQ2BjbKCU isCT BjnjCUwCT BjzCUvCT TBjCUvBjCUvCT0CQ0AekBkCUv>Lb^;;L ^CCL ^v6v6L ^mFmFH ^L^ H ^>>H ^%%Hb^L ^M^MEMEL ^""H ^X!X!H(^>>L ^**I9^99I^;$;$I^nnI`EE^??I ^L^UBUBL ^66I^rErEI* ^00ID ^44LP ^&&L ^ssL ^I5 ^3333I' ^mmI) ^""I ^I ^&&I^*<*<L ^CCL^<<I^**I^j3j3I^..L~ ^))Nw^DDI ^D D I^p-p-I ^B1_##J __5_51 _..J_7#7#J^?&?&I ^O^CCI ^RRI@ ^>>IB ^""I ^I_^N N I_--_P5_P.^ IP^44I ^**M^22I< ^IR_))Q_Q_ &I: ; 9 I$ >   I : ; 9  : ; 9 I8 I !I/  : ; 9   : ; 9  : ; 9 I<7I : ; 9  : ; 9 I'I4: ;9 I?<&4: ; 9 I?< : ;9  : ;9 I8  : ; 9 : ; 9 I: ;9 I: ;9 I : ; 9  : ; 9 I 8  : ;9 ! : ;9 I 8 " : ;9 # : ; 9 I8 $ : ; 9 I8% : ; 9 I8& : ;9 I8' : ;9 I8( : ;9 ) : ;9 I*5I+!,: ; 9 -> I: ; 9 .( / : ;9 0 : ;9 1'I2 : ;9 3 : ;9 I8 4 : ;9 I5!I/6 : ;9 7 : ; 9 I 88> I: ;9 9.?: ;9 '@B:: ;9 IB;: ;9 IB<.?: ;9 'I<=4: ;9 IB>4: ;9 I?4: ;9 I@4: ;9 IA1B1CBDB1E.: ;9 '@BF4: ;9 IBG UH1I J1RB UX YW K1BL4: ;9 IM4: ; 9 IBN4: ; 9 IBO4: ; 9 IP4: ; 9 IQ.?: ; 9 I<RS.: ; 9 '@BT: ; 9 IBU: ; 9 IBV.?: ; 9 'I<W1RB UX Y W XB1Y1Z1[.: ; 9 'I \: ; 9 I].?: ; 9 'I 4^.?<n: ;9 _.?<n: ; 9 `.?<n9 /usr/lib64/perl5/CORE/usr/include/bits/usr/include/sys/usr/include/bits/types/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/usr/include/netinet/usr/include/opensslSSLeay.cinline.hSSLeay.xsstdio2.htypes.htypes.htime_t.hstddef.h__sigset_t.hstruct_timespec.hthread-shared-types.hpthreadtypes.hstdint-uintn.h__locale_t.hlocale_t.hsetjmp.hsetjmp.h__sigval_t.hsiginfo_t.hsignal.hunistd.hgetopt_core.hsockaddr.hsocket.hin.hstat.htime.htime.herrno.hnetdb.hnetdb.hdirent.hdirent.hperl.hmath.hop.hcop.hintrpvar.hsv.hgv.hmg.hav.hhv.hcv.hpad.hhandy.hstruct_FILE.hFILE.hstdio.hsys_errlist.hperlio.hiperlsys.hperly.hregexp.hutf8.hutil.hpwd.hgrp.hcrypt.hshadow.hreentr.hparser.hopcode.hperlvars.hmg_vtable.hossl_typ.hasn1.hec.hrsa.hdh.hpkcs7.hx509.hssl.hpkcs12.hpthread.hproto.hcrypto.hstdlib.hevp.hrand.herr.h & K  XXvX#   v.J <  X JJ<KeX zXz<Xz.<X%fLJJyJ%(<y  (kK  XXvX#  w.J < X JJ<KeX zXz<Xz.<X%fLJJyJ%(<y P)kK  XXwX#  w.J < X JJ<KeX zXz<Xz.<X%fLJJyJ%(<y *kK  XXwX#  w.J < X JJ<KeX zXz<Xz.<X%fLJJyJ%(<y +YK  XXwX#  w.J < X JJ<KeX z.z<Xz.<X%fLJJyt%(<y ,K  XXwX#  w.J < X JJ<KeX zX X. .tLJy (y  .PK  XXwX#  w.J < X JJ<KdX  X f (. uzXz.J.%LtJq(% f  u 0bK  XXwX#  w.J < X JJ<KdX  X f (. uzXz.J.%LtJq(% f  u 2]K  XXxX#  x.J < X JJ<K  zf z   f ( + z$X- =X  =X ! -=Xfq s 3]K  XXxX#  x.J < X JJ<K  zf {   f ( + {$X- =X  =X ! -=Xfq s `5fK  XXxX#  x.J < X JJ<K d  _K  XXyX#  y.J < X JJ<K c   f ( + [ +>X-=XK tf.pJ v ? Ks .XXzX#  z.J < <tu   $|<  w +J J<K   = - 0 |<7   f < 4;r;=vZJ%J ! -=XJ. { l zf<fJK Ys!# # ttl(t J|tZJ~| DX Ks f  X . (. u  -= XX J XtJLr( J s OcK  XX{X#  {.J < X JJ<KdX  X f (. u Y -= Xt J XXLr( u RfK  XX|X#  |.J < X JJ<K d  X ?X<#*N#XJ-=XK t.J }t X  XX}f)<< o V{Kz  v i (<u(-tKX d< tn  nt  .Xfh </  L1 rJ  X`< nt  nX  .jXj<f lXl<fK  XX|X#  |.J < X JJ<K  yf }   f ( + }s = Z  f t -=Xf. }f<tX r YcK  XX}X#  }.J < X JJ<KdX  X f (. u Y -= Xt J XXLr( u [F Ks .XX}X#  }.J < X tJ<K(( ()(f<f( } f  X . (. u }  Y W =Y  tt ,XLtf  X 5 (. u  -= XX J XJtJLr( h J q b_K  XX}X#  ~.J . X tJ<K )X< f J>f  X 5 (. u  -= XX J XJtJLr( h J q eaK  XX~X#  ~.J . X tJ<Ke f  X . (. u  -= XX J XtJLr(z s @hfK  XX~X#  ~.J < X JJ<K d   ~  ׻   X< Ys/ .XXX#  .J < X JJ<K  ~fX~X< ~ X.<.%LfJr~t< ~X X .%tfmN  jX(Xt vH0>XIlaststatvallong long intold_parserPL_locale_mutexkeep_trying_to_writeblku_oldsaveixcertIorigargcIorigargvPerl_sv_catpvn_flagssi_errnokeeper__pad0ASN1_INTEGER_ittbl_arena_next_spent_sizeIin_utf8_CTYPE_localeRETVALSVhostentls_prevclose_parenPL_no_localize_reflex_stuffIlast_swash_hvxpvgv_readdir_ptrIstatcache_freeres_bufIcompilingIdbargsnew_perlblku_oldspsub_error_countxpvhvPERL_CONTEXT_asctime_bufferRAND_load_fileInumeric_standardsigngamprevcomppadIe_scriptsv_u_servent_structPL_sv_placeholderIpreambleavIDBcontrolxpvioxpvivtbl_maxsi_tidImy_cxt_sizeblku_old_tmpsfloorImain_rootxcv_outsideblku_type_PerlIO__localeshe_valuIutf8_totitle_spent_structnamed_buffX509_CRL_itPL_freqh_lengthop_firstIdoswitches_netent_sizethrhook_proc_tnext_branchPL_op_nameblock_evals_port__in6_uASN1_OBJECT_itPL_no_wrongrefin_port_tgp_refcntprev_markIdef_layerlistsaw_infix_sigilIrestartjmpenvsave_lastlocASN1_IA5STRING_itIwarn_locale_spent_bufferIcolorsX509_SIG_itXS_Crypt__SSLeay__Conn_newmg_objje_old_delaymagicmulti_endPerlIO_list_sPerlIO_list_tCOPHHscream_posIargvgvdespatch_signals_proc_tSSL_CTX_freegetdate_errxio_flagsIsharehookold_regmatch_statexcv_xsubnextwordIminus_EIcheckavpad_1pad_2ImarkstackxpvnvPL_bitcountIdump_re_max_lenxcv_flagsPL_warn_nlASN1_ITEM_stIstatusvalueIDBsingleutf8_substr__u6_addr8min_offsetPL_warn_nosemipmopst_atimsival_intIlast_in_gvIreg_curpmshare_proc_tIhash_rand_bits_enabled_call_addrlong doubleop_privatelex_formbrackSVt_LASTsbu_dstrSSL_get_errorIrunopsIpsig_pend_ctime_bufferIcomppad_namePL_magic_vtablesNETSCAPE_SPKI_itImarkstack_maxsbu_iterssi_type_IO_wide_datainternalTLS_client_methodIreentrant_retintINonL1NonFinalFold__spinsX509_NAME_ENTRY_itXS_Crypt__SSLeay__Conn_freeSSL_version_str__blkcnt_tASN1_TIME_itPTR_TBL_tPBE2PARAM_itxhv_max_protoent_sizewherePL_no_symrefhent_hek_grent_ptr_getlogin_bufferxivu_eval_seenPL_curinterp__locale_dataPL_hash_seedpos_flagsIstack_baseexecImax_intro_pendingposcacheSSL_CTXSSL_get_current_cipherop_pmstashstartugroupsbu_strendsp_inactre_scream_pos_data_scop_stashoffs_addrst_sizePL_opargsRAND_seedpthread_key_tIperldblastparensi_addr_lsbIinplace__locale_t_pkeyIDBlinePL_bincompat_optionsIsv_arenarootjumpPL_uudmapgp_egvnewvalpadnamestatesxio_bottom_gv_unused2IphaseASN1_GENERALIZEDTIME_ityylensubbeg_asctime_sizeIblockhooksend_shift__nuserssbu_oldsaveix_pwent_ptrIosnamen_addrtypelex_casemodslex_brackstacknumbered_buff_STOREIefloatsizePADLISTIpeeppSSL_CTX_set_verifyPADNAMESCRYPT_PARAMS_itIregex_padretopprogram_invocation_nameDISPLAYTEXT_itxcv_padlist_uminmodsp_pwdpIutf8_foldclosuresPL_checkIsv_yesASN1_GENERALSTRING_itparenfloorPL_op_private_bitfieldsbranchlikeJMPENVImain_startqr_anoncvIstashpad_archmy_perlPerl___notusedIenvgvPKCS7_DIGEST_itIperlioIpadname_constPerl_xs_boot_epilogSSL_CTX_set_optionsX509_getm_notBeforeIregmatch_stateprev_rexstderrIisarevIutf8localeIsignalhook__ownerPL_Noop_optc2_utf8__ino64_tsa_family_tsockaddr_inarp__pthread_list_tsubcoffsetsvu_fpyy_stack_frameIdebstashtopwordreg_substr_datumsi_stackxpadl_maxInomemok__uint8_tfirstposIdiehookprev_recurse_locinputany_ptr_readdir64_ptrCLONE_PARAMSIcompcv_vtable_offsetlex_repltimespecPL_interp_size_5_18_0XS_Crypt__SSLeay__CTX_check_private_keyPerlInterpreterxpadnl_max_namedPL_check_mutexxpvlenu_pvILatin1st_nlinkIminus_Fre_eval_strIscopestack_ixsp_maxIscopestack_maxXS_Crypt__SSLeay__CTX_set_cipher_listIminus_aany_pvpIminus_cSSL_CTX_use_PrivateKey_fileSSL_get_shared_ciphersIminus_lIminus_nIminus_pIargvout_stackPKCS7_ATTR_SIGN_itPL_op_seqIinitavPerl_newXS_deffilesin6_familytbl_itemsX509_itPerl_ophook_tcache_maskPL_no_dir_funcfirstcharsImaxsysfdfopenIlocalizinglex_sharedservent_crypt_struct_bufferPL_op_private_labelsrxfree_IO_save_endpw_namePKCS7_SIGN_ENVELOPE_itsp_lstchgcurlySSL_pending_getlogin_sizeASN1_NULL_itCAdirPL_sig_nameIunicode__fmtblku_subqr_packageASN1_BMPSTRING_itPerl_PerlIO_filenoPerl_mg_setIrestartop__timezonePL_thr_keygofs__mask_was_savedPERL_PHASE_CONSTRUCTIlastgotoprobecop_lineIsecondgvEVP_PKEY__locale_structIsavebegininitializedXPVAVpasswordSTRLENexitlistentryop_ppaddrxpadnl_allocIcheckav_saveIdebug_pad_IO_backup_base__jmp_buf_taglex_flagsIendavblku_oldscopespIutf8_idcontEVP_PKEY_freeIcomppad_name_fillmy_opIHasMultiCharFoldglobhook_ttmpXSoffXPVCVSSLeay.cPL_sh_pathInfoCallback_sys_errlistPL_hash_seed_setregnodestdinIperl_destruct_levelsi_cxixmg_virtualpadnamelistoptoptX509_EXTENSIONS_itinterpreterPL_warn_reservedPMOPIstashpadixPerl_xs_handshakest_uidlongfoldASN1_T61STRING_itsp_minCRYPTO_free_IO_read_endxcv_xsubanyPADOFFSETPL_valid_types_RVIstatbufsbu_rflagsxpv_curxpadn_flagsIstderrgvxio_page_lenXS_Crypt__SSLeay__Conn_get_peer_certificateperl_memory_debug_header_IO_save_baseIin_clean_allmark_nameop_flagsold_regmatch_slab__ino_treg_substr_datalex_super_state_grent_structXS_Crypt__SSLeay__Conn_get_verify_resultxcv_root_ucurlymsettingPL_uuemapPL_nanPL_magic_dataIcustom_op_descsPL_hexdigitsi_prevXPVGV_addr_bndsp_namp_IO_write_endlex_startsIsavestacksi_codeImodcountprev_curlyxIsortstashPL_mod_latin1_ucIstdingvsvt_localsp_warnIcustom_opsCHECKPOINTXPVHVany_av_grent_bufferXS_Crypt__SSLeay__Version_openssl_versionlast_uni_IO_buf_baseXPVIOsp_expireXPVIV__uint16_tminlenretIofsgvTARGi_ivIdelaymagic_gidxcv_gv_ukeep_trying_to_readIcollxfrm_multPerl_sv_growtbl_arena_endIsavestack_ixPL_C_locale_objX509_REQ_itsockaddr_x25SVt_PVAVsin6_flowinfoSSLv3_client_methodxmg_magicsvu_gpany_dptrintuitIbody_rootssi_sigvalhek_lenIcollation_ixtokenbufop_nextopline_tmgvtblPL_valid_types_NVXPL_runops_dbg_readdir64_sizeIutf8_xidcontXS_Crypt__SSLeay__Version_openssl_built_onsi_cxstackASN1_VISIBLESTRING_ityyerrstatus_hostent_ptrsbu_rxxcv_padlist_IO_markerPL_revisionsvt_get_Boolsvu_iv__prevIsort_RealCmpsbu_rxtaintedop_moresibECPKPARAMETERS_it_flags2xpv_len_uIpatchlevel_pwent_structnextvalDHparams_itsvu_pvXPVNVany_gvIhash_rand_bitssbu_origERR_error_string_n_IO_lock_t__gid_t_IO_read_ptrIparserxpadlarr_dbgstack_max1runops_proc_tany_hvPL_subversionIpadlist_generationSVt_PVFM__environxpadnl_maxIdefoutgvX509_VAL_it_lowerIstatusvalue_posixSSL_write_pwent_bufferX509_CERT_AUX_it__ctype_tolowersiginfo_tPerl_newSVivany_ivmax_offsetsv_flagsIchopsetIrpeeppoldcomppadPL_fold_localesbu_rxresSVt_PVGVstack_st_X509Iincgvsi_markoffxpadnl_fillPKCS7_ENCRYPT_itSSL_connectS_POPMARKPL_no_usymtv_nsecnexttypesig_slurpyXS_Crypt__SSLeay__Conn_set_fdIcurpm_underSVt_PVHVSighandler_tpthread_getspecificsvu_hashin6addr_loopbacksvu_nvlex_inpatlast_lopsockaddr_ax25PL_isa_DOESptr_tbl_arenaSVt_PVIOSVt_PVIVfilteredXS_Crypt__SSLeay__X509_get_notAfterStringIlastfdPL_perlio_fd_refcntIeval_start_readdir_structIlast_swash_keyRSAPublicKey_itls_linestrPerl_check_t_readdir_sizeNETSCAPE_CERT_SEQUENCE_it__alignPKCS8_PRIV_KEY_INFO_itPADNAMELISTSVt_PVCVPERL_PHASE_STARTxcv_hscxtany_u32Perl_croak_nocontext_ctime_sizefopen64op_pmreplrootud_inostack_topIsavestack_maxfprintfPBKDF2PARAM_itSSL_state_string_longIlocalpatchesXS_Crypt__SSLeay__CTX_freeIsv_rootSVt_PVLVp5rxop_next__saved_masksvu_rvsvu_rxsockaddr_eonPKCS7_itany_opIcurstackSVt_PVMGIpadix_floorsi_statusxpadl_arrh_addrtype_strerror_sizeIdelaymagic_euidbufendPerl_newSVpvlex_inwhatany_pvPL_valid_types_PVXxnv_nvPL_phase_namessin_zeroIopfreehook_protoent_ptrIunitcheckavsvu_uvPerlIOlASN1_UTCTIME_itprotoentmg_lenImemory_debug_headerPL_no_modifyPKCS7_SIGNED_itany_svSVt_IVItop_envASN1_ITEM__blksize_t_IO_buf_endshort unsigned int_spent_ptrItmps_stackXS_Crypt__SSLeay__Version_openssl_diryy_lexsharedoffsIseen_deprecated_macro_IO_codecvtIsv_undefIpsig_nameLEXSHAREDclone_paramsperl_drand48_tIgensymPL_foldPKCS7_SIGNER_INFO_itIregmatch_slabop_redooprsfp_hostent_structstart_tmpxio_fmt_namesvt_lencop_hintsh_nameSSL_CTX_newIerrorsPL_no_memxpvlenu_lenh_aliases_hostent_sizePL_Yesop_pmreplstarthent_refcountsaved_copylex_sub_inwhatany_uvItmps_floorPL_do_undumpIstrxfrm_is_behavedxpadl_idIbasetimeIop_maskIsighandlerpunreferencedxpadnl_refcntXS_Crypt__SSLeay__X509_freeIUpperLatin1xio_ofpASN1_OCTET_STRING_it_hostent_buffercop_seqmulti_startop_pmreplroot_shortbufSVt_NVIDBtracemaxlenpre_prefixop_targIbeginavje_retX509_get_subject_nameSSL_CTX_set_cipher_listresume_statePL_dollarzero_mutexXS_Crypt__SSLeay__Version_openssl_version_numberIsv_constspw_dirlex_casestackSSL_set_fdop_lastopIsub_generationblku_evalfloatPL_versionPL_no_securityssl_stIutf8_foldable__countunsigned charsi_cxmaxmulti_open_killPKCS12_freest_rdevXS_Crypt__SSLeay__Err_get_error_stringLOOPILB_invlistXS_Crypt__SSLeay__CTX_use_pkcs12_fileSVt_PVX509_REVOKED_itPerl_sv_setpvREENTRImess_svd2i_PKCS12_fpIglobalstashImin_intro_pendingPL_perlio_mutexRSAPrivateKey_itexpectoldlocSSL_CIPHER_get_nameIcollxfrm_baseIutf8_perl_idcontcx_blkIstatnameRETVALxnv_u__uid_tsin6_scope_idblku_gimmePL_valid_types_IVXst_ctimrecheck_utf8_validityIutf8_tofoldxcv_rootISB_invlistblock_formatin_addr_top_sibparentPKCS7_RECIP_INFO_ittz_dsttime__dataold_namesvxpadn_type_uIAssigned_invlistpeep_tPL_my_ctx_mutexX509_NAME_onelineIsv_noPKCS12_MAC_DATA_itminlen__off_tX509_ATTRIBUTE_itperl_phaseIin_clean_objsd_reclenPL_mmap_page_sizePERL_PHASE_DESTRUCTin_podgp_ioImultideref_pcSSL_CTX_use_PrivateKeyIors_svxpadn_protocvIevalseqIunlockhookXS_Crypt__SSLeay__X509_subject_nameregexp_engineASN1_SET_ANY_itmg_flagsPerl_sv_pvn_force_flagsSSL_freeIcurstashgr_passwdPerl_ppaddr_tgr_gidPBEPARAM_itIstashpadmaxsi_overrun__clock_tSVt_NULL/home/.cpan/build/Crypt-SSLeay-0.72-1ls_bufptrIbeginav_save__uint32_tIorigfilenamexmg_hash_indexlast_lop_opInumeric_localcop_warningsPL_op_private_bitdef_ixIcop_seqmaxPKCS12_SAFEBAGS_itop_pmtargetgvPL_veto_cleanupform_lex_stateIstatgvIdestroyhookcoplinest_blocks_sys_siglistsbu_mASN1_OCTET_STRING_NDEF_itsbu_ssave_curlyxIcomppadsub_no_recoverx509_stlex_dojoinxmg_udirent64gp_cvgenPL_utf8skipxcv_fileSVt_PVNVitervar_ugp_flagsxiou_dirp_servent_bufferPL_op_mutexparen_namesIregistered_mrossi_uidASN1_ENUMERATED_itpw_passwdlex_allbracketsopvalIcurcopdbblock_subpos_magic_old_offsetgetenvgp_file_heksv_refcntsockaddr_in6ERR_get_error__nlink_tSSL_ctrltbl_aryxav_allocsi_fdnparensPL_no_funcxpadn_refcntIeval_rootold_eval_rootnamed_buff_iterst_gidIdowarnyycharIfirstgvmg_moremagicXS_Crypt__SSLeay__Conn_acceptop_pmoffsetSSL_set_connect_stateop_pmstashoffOPENSSL_init_cryptoPERL_SIMGVTBLop_staticPKCS12_BAGS_itMAGICPerl_sv_newmortalItmps_maxoptargPL_latin1_lcsockaddr_ipxIthreadhookPL_valid_types_IV_setblku_givwhengr_nameop_typeIutf8_perl_idstartsublenblku_oldmarkspxivu_ivIutf8_swash_ptrs_netent_ptrIpadname_undefpreamblingproto_perlPKCS12_it_uppercx_uoutputIDBcvPL_sigfpe_savedtrieIlockhook__ctype_toupperPL_inf_xnvuPerl_keyword_plugin_txio_lines_leftcompflagssockaddr_isopthread_mutex_tIin_load_modulePL_memory_wrapxio_pagesigjmp_bufIlaststype__ctype_b__listh_addr_listIutf8_charname_continuein_my_stashxpadn_len_IO_write_ptr_strerror_bufferdummySSL_CTX_check_private_keySSLv2_client_methodIunitcheckav_savePL_op_descsi_stimePL_no_aelemlastcloseparenshort intifmatchIdumpindentIoldnamepreambledop_code_listXS_Crypt__SSLeay__Version_openssl_cflagsxhv_keysitersave_readdir64_struct_sys_nerrIAboveLatin1Iutf8_mark_servent_sizeDIRECTORYSTRING_itsi_signoIDBgvevp_pkey_stIlast_swash_tmpsPerl_sv_2bool_flagsPKCS12_parse__namessv_anyblk_uxcv_startacceptedgvvalIWB_invlistolddepthIutf8cache_boundsprev_evalIpadixdefsv_save_netent_bufferXS_Crypt__SSLeay__X509_get_notBeforeStringxcv_stashYYSTYPExcv_gv_markersPL_keyword_plugincop_hints_hashIcustom_op_namesASN1_UTF8STRING_itlex_sub_replstdoutPKCS12_SAFEBAG_itX509_ALGORS_itxpadn_highre_scream_pos_datahek_hash_ttyname_bufferPL_hints_mutexIknown_layers__stream_netent_errnoXS_Crypt__SSLeay__Conn_get_shared_ciphersItaintingPL_op_private_bitdefsIcurcopIstack_sp__ssize_tany_boolregmatch_info_auxPERL_PHASE_ENDPL_interp_sizeIcollation_standard__glibc_reservedlex_deferPKCS7_ENC_CONTENT_itxmg_stashPL_runops_stdIorigalensbu_maxiterssockaddrIdebugSSL_alert_desc_string_longrefcounted_heIcurpadPL_op_private_valid__time_t__daylightst_mtims_protoXS_Crypt__SSLeay__Conn_writesbu_targd_typelogicalIforkprocesslex_bracketsxio_top_gvIutf8_tolowerOPENSSL_init_sslPL_op_sequenceblku_oldcopperl_mutexPKCS12_stIcurstackinfoIstart_envlex_fakeeoflex_sub_opstashesX509_ALGOR_itIstashcacheSSL_acceptxnv_linesPL_use_safe_putenv_IO_write_baseSSL_set_info_callbackp_aliases_netent_structin_mynext_offxivu_uvsin_portpadnlImodglobalPKCS7_ATTR_VERIFY_itin6addr_anyICmdASN1_UNIVERSALSTRING_itsockaddr_atX509_PUBKEY_itregmatch_info_aux_evalxcv_start_uXS_Crypt__SSLeay__X509_issuer_namePL_no_helem_svXS_Crypt__SSLeay__Conn_get_cipherbasespIgenerationXS_Crypt__SSLeay__CTX_use_certificate_fileIGCB_invlistSSL_CTX_set_default_verify_pathsIstrtabxpadl_outidxpadn_lowblock_givwhenregexp_paren_pair__sizecrypt_datapprivatefclosecv_flags_tcur_top_envASN1_ANY_itxpadn_typestashIin_utf8_COLLATE_localeXS_Crypt__SSLeay__Conn_readIlast_swash_slenstate_uPERL_PHASE_RUN_sigfaultop_sparelex_opst_inoSSL_get_peer_certificatepw_gecos__pid_tparsed_subop_lastRSA_OAEP_PARAMS_itxio_typeyylvalPerl_sv_derived_fromGNU C17 8.5.0 20210514 (Red Hat 8.5.0-20) -m64 -mtune=generic -march=x86-64 -g -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fwrapv -fno-strict-aliasing -fPIC -fplugin=annobinsockaddr_dlxav_fillhent_valIorigenvironbNotFirstTimeIdelaymagic_egidgp_avscream_oldsX509_REQ_INFO_itmg_ptr_cur_columnregexpmaxpossa_familyptr_tblInumeric_namelazyiv_sifieldsSVCOMPARE_tSVt_REGEXPIpsig_ptrgp_cvxgv_stashnetentsaved_curcoptv_secblku_u16Iprofiledata__sigset_tgp_lineImainstackIcurpmop_pmflagsst_blksizexpadn_ourstashprogram_invocation_short_namePL_sig_numptr_tbl_ent_hostent_errnoop_slabbedIsublineIargvoutgvIwatchaddrIdefgvhek_keyPerlExitListEntryxio_bottom_namegp_formIreentrant_bufferhent_nextcheck_ix__off64_tIunsafeIhintgvXS_Crypt__SSLeay__CTX_set_verifysockaddr_in__jmp_bufIDBsignalIutf8_charname_beginblku_formatPL_ppaddr__dirstreamX509_EXTENSION_itsin_addrIXpvIregex_padavPL_perlio_debug_fdblku_loopcache_offsetwantedpw_uid_timerIstrxfrm_NUL_replacement__locksig_elemsPL_valid_types_NV_setgr_memIxsubfilenamegp_hvIpad_reset_pendingopterrdfoutgv_sigchldxcv_depthItaint_warnIArgvpw_shellsi_nextPKCS12_syscallPL_no_symref_svIexitlistIsubname_IO_read_basePL_warn_uninitany_i32Ihv_fetch_ent_mhUNOP_AUX_itemsvt_dup__pthread_mutex_sPerl_sv_setiv_mgSSL_newInumeric_radix_svPerl_sv_2ioPL_fold_latin1xcv_outside_seqPL_magic_vtable_namesPL_no_sock_funcIsplitstrxcv_heksvt_freesockaddr_nslong long unsigned intsi_addrdirentssl_ctx_stboot_Crypt__SSLeayIbody_arenascheckstr_grent_sizePL_csighandlerpSVt_INVLISTIsortcopPL_warn_uninit_svASN1_PRINTABLE_itsin_familypacknameIsignalssbu_typesi_pidmg_privatedupeje_bufNETSCAPE_SPKAC_itlazysvXS_Crypt__SSLeay__Conn_pendingItoptargetX509_CRL_INFO_itIstrxfrm_max_cpIerrgvPerl_sv_2pv_flagssvt_clearPERL_PHASE_CHECKnexttokePL_no_myglobItmps_ixIsig_pendingsubstrsany_svpintflagsdestroyable_proc_tIfdpidSSL_CTX_use_certificate_filexpadlarr_allocivalany_dxptrn_netPerl_croak_xs_usageX509_get_issuer_nameop_pmtargetoffIcollation_nameIefloatbufX509_NAME_it_pwent_sizeoldvalany_longxiou_anyIexit_flagsc1_utf8Iglobhooksin6_portPL_block_typed_offSSL_get_verify_resultPKCS7_ISSUER_AND_SERIAL_itxio_top_nameXS_Crypt__SSLeay__CTX_use_PrivateKey_fileIptr_tableIcolorset__jmpbufIfilemode__dev_t__kindIexitlistlensockaddr_unXS_Crypt__SSLeay__Version_openssl_platformop_foldedIdelaymagicPL_charclassImarkstack_ptrblockASN1_BIT_STRING_itpw_gidprev_yes_states_name_protoent_structop_compgp_svsvu_arrayXS_Crypt__SSLeay__Conn_set_tlsext_host_name__pthread_internal_listwhilemIInBitmapmother_re__valn_aliases_sigsysextflagsxio_fmt_gvxpadn_gencop_fileIcurstnamecx_subst__u6_addr16Isv_countECPARAMETERS_itsvt_setIdefstashItaintedtz_minuteswestIbodytargetoldoldbufptrxav_maxxiv_uCAfile_protoent_bufferst_modesavearrayPerl_sv_setref_pv_xivu_chainleave_opIutf8_xidstartASN1_PRINTABLESTRING_itPKCS7_ENVELOPE_itre_eval_startperl_debug_padIstack_maxsvtypeX509_CINF_itst_dev__u6_addr32je_prevIclocktickPerl_sv_2iv_flags__syscall_slong_t__fprintf_chkIXPosix_ptrsIDBsubspwd__nextIutf8_idstartje_mustcatchnumbered_buff_LENGTHyy_parserblock_loopSSL_CTX_use_certificateop_savefreeIscopestackIformtargetpad_offsetPL_perlio_fd_refcnt_sizeSSL_CTX_load_verify_locationss_aliasesXS_Crypt__SSLeay__CTX_newlastcpIconstpadixRSA_PSS_PARAMS_itmulti_closestatherelinesImy_cxt_listIPosix_ptrs_freeres_listxivu_namehek__pad5OpenSSL_version_ttyname_sizesin6_addrIwatchok_IO_FILE__stack_chk_failPL_my_cxt_indexASN1_SEQUENCE_ANY_it__tznamep_protoPerl_sv_2mortalsvt_copyxnv_bm_tailSSL_readsival_ptrmark_locsi_utimexpvavIsrand_calledoptind__mode_tsp_flagperl_keyIreplgvsa_dataIbreakable_sub_genrsfp_filtersIin_evalsuboffset__sigval_t_servent_ptrlex_re_reparsingIutf8_toupperlinestartsig_optelemsPERL_PHASE_INITX509_getm_notAfterIcv_has_evalmg_typexpvcvSSL_alert_type_string_longPKCS12_AUTHSAFES_itnumbered_buff_FETCHIrandom_stateIscopestack_namesi_bandxpadn_pvIcomppad_name_floorXS_Crypt__SSLeay__Conn_connectIdelaymagic_uidIwarnhookIlast_swash_klen_xmgu_sigpollxio_dirpucur_text__elisionblku_oldpmImain_cvFFUFJUFFTFJTGGPGJVJJTU+UT]T]T+]"HV]]8=^=Z~Z\~\+~=A~ $ &3$p"AE~ $ &3$p"=Av~ $ &3$p8P]{VV1'8P0HUH[U0LTL] T 2]2LTL[]RxV]2L]hm^m~\ ~ L\L[~mq~ $ &3$p"qu~ $ &3$p"mqv~ $ &3$p8P]V2LV 1WhP`xUxU`|T|]=T=b]b|T|]V]b|]^~8\8<~=|\|~~ $ &3$p"~ $ &3$p"v~ $ &3$p8P]'Vb|V=1PUUT]mTm]T]V@F]]^~h\hl~m\~~ $ &3$p"~ $ &3$p"v~ $ &3$p8!P!@] WVVJm1PU0U T ]T]!T!0]8V]!](-^-J~J\!\!0~-1~ $ &3$p"15~ $ &3$p"-1v~ $ &3$p8o ! oV!V ! 1(PUUTJ]JT]T]Vms]]^~\~\~~ $ &3$p"~ $ &3$p"v~ $ &3$p8JNPNm];VVw1P0HUH U0LTL]T] T  ]Rx\muVVhm^m~'VV V  ~mq~ $ &3$p"qu~ $ &3$p"mq|~ $ &3$p8?CUJmV\ \?CUy1WhP 8 U8 U < T< ] T ] T ]B h \] e V VX ] ^] | ~|  V V V ~] a ~ $ &3$p"a e ~ $ &3$p"] a |~ $ &3$p8/ 3 U: ] V \ \/ 3 Ui 1G X P ( U( U , T, ] T ]2 X VH M ^M k ~k } \} g V{ V ~M Q ~ $ &3$p"Q U ~ $ &3$p"M Q v~ $ &3$p8 U  P M ]1 5 P5 M ^M Q PQ x ] UZ { 17 H P U jU T 5 ]5 [T[j]  V ^  ~ - \- V+[V[j~  ~ $ &3$p"  ~ $ &3$p"  v~ $ &3$p8 U P ] P ^ P(] U +1 PpUUpT]T]\^~<V<{~|V~~ $ &3$p"~ $ &3$p"|~ $ &3$p8TXUTXUY|0PUUT^/T/F^FjTjy^yT ]Vv\/j\jyvy\v $ &3$p"v $ &3$p"(PjxP}v $ &3$p8 UoVFjVyV U /0PUUT]T)])uTu]\VMgV^~VMVguVu~~ $ &3$p"~ $ &3$p"|~ $ &3$p8UPV\)u\U1PUUT8]8=T=a]aT]\VV^~V=VV~~ $ &3$p"~ $ &3$p"|~ $ &3$p8UPV+8\a\U=11PUZUTE]EKTKZ]V ^ +~+=\= V ~KVKZ~ ~ $ &3$p"~ $ &3$p" v~ $ &3$p8UP]P]U1P`xUxU`|T|]T]V^~\VV~~ $ &3$p"~ $ &3$p"v~ $ &3$p8GKUQUPU^GKUcgPg]1PUU"T"\T\bTbq\qT(YV>R]RwRw}}8}}5T}}bpRpq`_n_q__vJVVbVqV\\b\q\P0Q0Q0,T,05T0TaTabq05150101b1q101^^b^q^aePeVVvJVVbVqV_P___Pp Pps11->PU"UT\T\n Tn \ !T!"\""TS_  ^"^""""^ $ &3$p" $ &3$p"'P""P Sw"w""S""wPbSS n S !S !\!!R1!!\ 0!0!!P!!0!!P!!P!"0 L1L010"1""0s]n ] !]!!]!!]!"]{PSSPbSS n S !S,_@FPF__""_#P#,pGSPp1""1P ">"U>"7$U "B"TB""]"#T##]#($T($7$]H"n"\]##^#$^^"c"^c""~"#V##V$($V($7$~c"g"~ $ &3$p"g"k"~ $ &3$p"c"g"|~ $ &3$p85#9#U?##V#$V"#\#($\5#9#U]##V#$V##1M"^"P@$^$U^$W&U@$b$Tb$$]$%T%%]%H&TH&W&]h$$\}%%^&:&^~$$^$$~$=%V%&V:&H&VH&W&~$$~ $ &3$p"$$~ $ &3$p"$$|~ $ &3$p8U%Y%U_%%V&:&V$%\%H&\U%Y%U}%%V&:&V%%1m$~$P`&~&U~&(U`&&T&'^'r(Tr((^((T((^&&]'(^((^&&V&&v&'\F((\((\((v&&v $ &3$p"&&v $ &3$p"&&P((P&&}v $ &3$p8''U''^F(r(^((^((^'?(\((\:',(V((V''U'?(\((\(F(1&&P()U)+U()T))])*T**]**T*+])>)\-*Z*^**^.)3)^3)R)~R))V**V**V*+~3)7)~ $ &3$p"7);)~ $ &3$p"3)7)|~ $ &3$p8* *U*k*V**Vw)~*\**\* *U-*k*V**V^**1).)P+(+U(+W,U+,+T,++]+H,TH,W,]2+X+\H+M+^M+l+~l++V+,~,H,VH,W,~M+Q+~ $ &3$p"Q+U+~ $ &3$p"M+Q+|~ $ &3$p8++U++U+,07+H+P`,~,U~,/U`,,T,,^,/T//^,,\,,V,,v,}.]./]//v,,v $ &3$p",,v $ &3$p",,P//P,,|v $ &3$p8z-~-U,._./_--P-{.\..\ //\-{.\..\ //\z-~-U.2.V2.6.P6.h.V[..1,,P00U02U00T01]1{2T{22]00V00^00~0 1\ 12V#2{2V{22~00~ $ &3$p"00~ $ &3$p"00v~ $ &3$p81"2^#2J2^11P11]#2H2]11P#232P11P11]11P1 2]H2J2P1"2^#2J2^2#2100P22U24U22T2$3]$3%4T%4I4]I44T44]22\33^m44^22^22~23V%4m4V44V44~22~ $ &3$p"22~ $ &3$p"22|~ $ &3$p833U3 4Vm44V34\I44\33U3 4Vm44V3%4122P44U48U44T4y5^y57T77^78T88^88T45]7B7VY8z8V45\5+5|+5u6V78V88|88V5 5| $ &3$p" 55| $ &3$p"525P88P5 5}| $ &3$p867V 8Y8Vy56^77^7 8^88^57788866P66 8Y866P66^ 8Y8^67+8/8P/8O8O8S8PS885z7\78\88\67V 8Y8V7~7^~77  $ &Y88^F771z88144P88U8;U88T89^9 ;T ;D;^D;;T;;^88]::]m;;]88V89v9K:\:m;\;;\;;v88v $ &3$p"88v $ &3$p"89P;;P88}v $ &3$p8c:m:UV9:]: ;]&;m;];;]9:^: ;^I;m;^;;^s::\m;;\9:VI;;Vc:m:U::\m;;\::188P;;U;>U;;T;<^<>T>T>^T>>T>>^;<]==]}>>];;V;<v<[=\=}>\>>\>>v;;v $ &3$p";;v $ &3$p";<P>>P;;}v $ &3$p8s=}=Uf<=]=>]6>}>]>>]<=^=>^Y>}>^>>^==\}>>\<=VY>>Vs=}=U==\}>>\==1;;P>>U>GAU>>T>u?^u?@T@@^@8AT8AGA^>?]S@}@^ A*A^>?V?$?v$?@\@ A\*A8A\8AGAv? ?v $ &3$p" ? ?v $ &3$p" ?.?P8AFAP? ?}v $ &3$p8*@1@Uu?S@^@@^@ A^*A8A^7@@\ A*A\?@V@8AV*@1@US@@\ A*A\@@1>>PPAhAUhABUPAlATlAA]ABTBB]rAA\AA^AA~ABVB[B~\BBVBB~AA~ $ &3$p"AA~ $ &3$p"AA|~ $ &3$p84B8BU4B8BU9B\B0wAAPBBUBEUBBTBD^DlDTlD E^ EETBC\BBVBCvCiD]lDD]D Ev EE]BBv $ &3$p"BCv $ &3$p"C%CPD EPBB|v $ &3$p8xC~CP~CCVDDVDDVC:DVC:DVDDPDkD^ EE^-DlD1 EE1BBP EREUREFU EVETVEE]EAFTAFRF]RFFTFF]FFT\EEVEE]FF]rEwE^wEE~EjsbqvJ" ,,bM"M"O"^"|"##($"5##$D#K#O#X#]##$$m$m$o$~$$%%H&%U%& &d%k%o%x%}%% &:&&&&&&(P((u''(('''''((())).)L)^***)******(*-*Z***7+7+9+H+f++ ,H,++ ,:,,,,,,[../'-z-./00000"0%000E0O0R0R0R0Y0Z0_0b0p00000u0000000002(2{2411P2m2222223(44R33P4p4333333p4444445F77z888:6678667B7`8z888888::;:c:P;p;x:}:::::p;;;;;;<==> =s=`>>======>>>>>>?@@8A?*@@A<@A@E@N@S@}@A*AwAwAyAAA9B`BBA4B`BzBBBBBC-DpDDCCDDaEaEcErEEFHFF8`8 8   ! 0& qqxz    (  `  & q) 0&? 0&Y 0&t 0& 0& 0& 0& 0& &2 (e &+ ( K) (+( K)b {* P)+ {* +3 *+\ + , ++ ,6 .t ,@ . 0 .? 0y 1 0 1 3> 2a 3 Z5 3 Z5 6= `5GY 6 w8 6 w8* t:Y 8{ t: < :1  <M  J>  <  J>  ?  P>L  ?w  D  ?  D  I  Dt/  I\  'K  I  'K  GM  0K  GMK  Ov  PM  O  Q  O  Q8  GSa  RG}  GS  V  PS>  V  V W- W] zY W zY [ Y@ [u _ [ _ b> _h b e b e: 7hm e 7h i @hG i) lP iqj ~ l m l m1 qQ\ 0&^ `&q &   & Qx  q( % 1 > G M} )Gcn  B[}&Ke   %7O"k m ?i$7 Cmy$DY~$ +=bw %B^x.annobin_SSLeay.c.annobin_SSLeay.c_end.annobin_SSLeay.c.hot.annobin_SSLeay.c_end.hot.annobin_SSLeay.c.unlikely.annobin_SSLeay.c_end.unlikely.annobin_SSLeay.c.startup.annobin_SSLeay.c_end.startup.annobin_SSLeay.c.exit.annobin_SSLeay.c_end.exit.annobin_XS_Crypt__SSLeay__Version_openssl_dir.start.annobin_XS_Crypt__SSLeay__Version_openssl_dir.endXS_Crypt__SSLeay__Version_openssl_dir.annobin_XS_Crypt__SSLeay__Version_openssl_built_on.start.annobin_XS_Crypt__SSLeay__Version_openssl_built_on.endXS_Crypt__SSLeay__Version_openssl_built_on.annobin_XS_Crypt__SSLeay__Version_openssl_platform.start.annobin_XS_Crypt__SSLeay__Version_openssl_platform.endXS_Crypt__SSLeay__Version_openssl_platform.annobin_XS_Crypt__SSLeay__Version_openssl_cflags.start.annobin_XS_Crypt__SSLeay__Version_openssl_cflags.endXS_Crypt__SSLeay__Version_openssl_cflags.annobin_XS_Crypt__SSLeay__Version_openssl_version.start.annobin_XS_Crypt__SSLeay__Version_openssl_version.endXS_Crypt__SSLeay__Version_openssl_version.annobin_XS_Crypt__SSLeay__Version_openssl_version_number.start.annobin_XS_Crypt__SSLeay__Version_openssl_version_number.endXS_Crypt__SSLeay__Version_openssl_version_number.annobin_XS_Crypt__SSLeay__X509_get_notAfterString.start.annobin_XS_Crypt__SSLeay__X509_get_notAfterString.endXS_Crypt__SSLeay__X509_get_notAfterString.annobin_XS_Crypt__SSLeay__X509_get_notBeforeString.start.annobin_XS_Crypt__SSLeay__X509_get_notBeforeString.endXS_Crypt__SSLeay__X509_get_notBeforeString.annobin_XS_Crypt__SSLeay__X509_issuer_name.start.annobin_XS_Crypt__SSLeay__X509_issuer_name.endXS_Crypt__SSLeay__X509_issuer_name.annobin_XS_Crypt__SSLeay__X509_subject_name.start.annobin_XS_Crypt__SSLeay__X509_subject_name.endXS_Crypt__SSLeay__X509_subject_name.annobin_XS_Crypt__SSLeay__X509_free.start.annobin_XS_Crypt__SSLeay__X509_free.endXS_Crypt__SSLeay__X509_free.annobin_XS_Crypt__SSLeay__Conn_set_tlsext_host_name.start.annobin_XS_Crypt__SSLeay__Conn_set_tlsext_host_name.endXS_Crypt__SSLeay__Conn_set_tlsext_host_name.annobin_XS_Crypt__SSLeay__Conn_get_cipher.start.annobin_XS_Crypt__SSLeay__Conn_get_cipher.endXS_Crypt__SSLeay__Conn_get_cipher.annobin_XS_Crypt__SSLeay__Conn_get_shared_ciphers.start.annobin_XS_Crypt__SSLeay__Conn_get_shared_ciphers.endXS_Crypt__SSLeay__Conn_get_shared_ciphers.annobin_XS_Crypt__SSLeay__Conn_get_verify_result.start.annobin_XS_Crypt__SSLeay__Conn_get_verify_result.endXS_Crypt__SSLeay__Conn_get_verify_result.annobin_XS_Crypt__SSLeay__Conn_get_peer_certificate.start.annobin_XS_Crypt__SSLeay__Conn_get_peer_certificate.endXS_Crypt__SSLeay__Conn_get_peer_certificate.annobin_XS_Crypt__SSLeay__Conn_read.start.annobin_XS_Crypt__SSLeay__Conn_read.endXS_Crypt__SSLeay__Conn_read.annobin_XS_Crypt__SSLeay__Conn_write.start.annobin_XS_Crypt__SSLeay__Conn_write.endXS_Crypt__SSLeay__Conn_write.annobin_XS_Crypt__SSLeay__Conn_accept.start.annobin_XS_Crypt__SSLeay__Conn_accept.endXS_Crypt__SSLeay__Conn_accept.annobin_XS_Crypt__SSLeay__Conn_connect.start.annobin_XS_Crypt__SSLeay__Conn_connect.endXS_Crypt__SSLeay__Conn_connect.annobin_XS_Crypt__SSLeay__Conn_set_fd.start.annobin_XS_Crypt__SSLeay__Conn_set_fd.endXS_Crypt__SSLeay__Conn_set_fd.annobin_XS_Crypt__SSLeay__Conn_pending.start.annobin_XS_Crypt__SSLeay__Conn_pending.endXS_Crypt__SSLeay__Conn_pending.annobin_XS_Crypt__SSLeay__Conn_free.start.annobin_XS_Crypt__SSLeay__Conn_free.endXS_Crypt__SSLeay__Conn_free.annobin_XS_Crypt__SSLeay__Conn_new.start.annobin_XS_Crypt__SSLeay__Conn_new.endXS_Crypt__SSLeay__Conn_newInfoCallback.annobin_InfoCallback.start.annobin_InfoCallback.end.annobin_XS_Crypt__SSLeay__CTX_set_verify.start.annobin_XS_Crypt__SSLeay__CTX_set_verify.endXS_Crypt__SSLeay__CTX_set_verify.annobin_XS_Crypt__SSLeay__CTX_check_private_key.start.annobin_XS_Crypt__SSLeay__CTX_check_private_key.endXS_Crypt__SSLeay__CTX_check_private_key.annobin_XS_Crypt__SSLeay__CTX_use_pkcs12_file.start.annobin_XS_Crypt__SSLeay__CTX_use_pkcs12_file.endXS_Crypt__SSLeay__CTX_use_pkcs12_file.annobin_XS_Crypt__SSLeay__CTX_use_PrivateKey_file.start.annobin_XS_Crypt__SSLeay__CTX_use_PrivateKey_file.endXS_Crypt__SSLeay__CTX_use_PrivateKey_file.annobin_XS_Crypt__SSLeay__CTX_use_certificate_file.start.annobin_XS_Crypt__SSLeay__CTX_use_certificate_file.endXS_Crypt__SSLeay__CTX_use_certificate_file.annobin_XS_Crypt__SSLeay__CTX_set_cipher_list.start.annobin_XS_Crypt__SSLeay__CTX_set_cipher_list.endXS_Crypt__SSLeay__CTX_set_cipher_list.annobin_XS_Crypt__SSLeay__CTX_free.start.annobin_XS_Crypt__SSLeay__CTX_free.endXS_Crypt__SSLeay__CTX_free.annobin_XS_Crypt__SSLeay__CTX_new.start.annobin_XS_Crypt__SSLeay__CTX_new.endXS_Crypt__SSLeay__CTX_newbNotFirstTime.35578.annobin_XS_Crypt__SSLeay__Err_get_error_string.start.annobin_XS_Crypt__SSLeay__Err_get_error_string.endXS_Crypt__SSLeay__Err_get_error_string.annobin_boot_Crypt__SSLeay.start.annobin_boot_Crypt__SSLeay.endcrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.7303__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entry__FRAME_END____GNU_EH_FRAME_HDR_fini_GLOBAL_OFFSET_TABLE___TMC_END____dso_handle_DYNAMIC_initSSL_CTX_set_default_verify_paths@@OPENSSL_1_1_0pthread_getspecific@@GLIBC_2.2.5SSL_get_shared_ciphers@@OPENSSL_1_1_0TLS_client_method@@OPENSSL_1_1_0SSL_CTX_set_cipher_list@@OPENSSL_1_1_0ERR_get_error@@OPENSSL_1_1_0RAND_load_file@@OPENSSL_1_1_0SSL_CTX_free@@OPENSSL_1_1_0PL_thr_keyPerl_sv_2bool_flagsX509_get_issuer_name@@OPENSSL_1_1_0SSL_CTX_use_certificate@@OPENSSL_1_1_0__fprintf_chk@@GLIBC_2.3.4SSL_set_info_callback@@OPENSSL_1_1_0__gmon_start__SSL_get_current_cipher@@OPENSSL_1_1_0RAND_seed@@OPENSSL_1_1_0ERR_error_string_n@@OPENSSL_1_1_0SSL_write@@OPENSSL_1_1_0Perl_sv_catpvn_flagsPerl_sv_2mortald2i_PKCS12_fp@@OPENSSL_1_1_0Perl_sv_setpvSSL_CTX_use_certificate_file@@OPENSSL_1_1_0SSLv2_client_methodSSL_state_string_long@@OPENSSL_1_1_0SSL_set_fd@@OPENSSL_1_1_0X509_getm_notAfter@@OPENSSL_1_1_0_ITM_deregisterTMCloneTableSSL_CIPHER_get_name@@OPENSSL_1_1_0Perl_newXS_deffileCRYPTO_free@@OPENSSL_1_1_0SSL_new@@OPENSSL_1_1_0_ITM_registerTMCloneTablePerl_xs_handshakeSSL_read@@OPENSSL_1_1_0__cxa_finalize@@GLIBC_2.2.5SSL_CTX_load_verify_locations@@OPENSSL_1_1_0boot_Crypt__SSLeayPerl_sv_setref_pvSSL_CTX_use_PrivateKey@@OPENSSL_1_1_0X509_NAME_oneline@@OPENSSL_1_1_0Perl_sv_pvn_force_flagsSSL_CTX_set_options@@OPENSSL_1_1_0SSL_alert_desc_string_long@@OPENSSL_1_1_0SSL_connect@@OPENSSL_1_1_0X509_getm_notBefore@@OPENSSL_1_1_0Perl_sv_newmortalPerl_xs_boot_epilogSSL_CTX_use_PrivateKey_file@@OPENSSL_1_1_0SSL_free@@OPENSSL_1_1_0getenv@@GLIBC_2.2.5Perl_PerlIO_fileno__bss_startSSL_alert_type_string_long@@OPENSSL_1_1_0Perl_mg_setPerl_sv_2io__stack_chk_fail@@GLIBC_2.4Perl_newSVivSSL_CTX_check_private_key@@OPENSSL_1_1_0SSL_get_peer_certificate@@OPENSSL_1_1_0SSL_get_verify_result@@OPENSSL_1_1_0OPENSSL_init_ssl@@OPENSSL_1_1_0Perl_croak_nocontextX509_get_subject_name@@OPENSSL_1_1_0Perl_sv_growSSL_pending@@OPENSSL_1_1_0fclose@@GLIBC_2.2.5EVP_PKEY_free@@OPENSSL_1_1_0Perl_newSVpvSSL_ctrl@@OPENSSL_1_1_0SSL_CTX_new@@OPENSSL_1_1_0stderr@@GLIBC_2.2.5Perl_sv_2iv_flagsSSL_set_connect_state@@OPENSSL_1_1_0fopen64@@GLIBC_2.2.5Perl_croak_xs_usageOPENSSL_init_crypto@@OPENSSL_1_1_0_edataSSLv3_client_method@@OPENSSL_1_1_0X509_free@@OPENSSL_1_1_0OpenSSL_version@@OPENSSL_1_1_0Perl_sv_derived_fromSSL_get_error@@OPENSSL_1_1_0PKCS12_parse@@OPENSSL_1_1_0SSL_accept@@OPENSSL_1_1_0Perl_sv_setiv_mgPKCS12_free@@OPENSSL_1_1_0SSL_CTX_set_verify@@OPENSSL_1_1_0Perl_sv_2pv_flags.symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.bss.comment.gnu.build.attributes.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_loc.debug_ranges88$.o``48 @8 8 HoUod88nBxs0~!! 0&0&Kqq qqxx4zz      0( ( 0-`0P0,8F9R0nG]t~h`0"  vPK!~MMhead_https4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1443 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/head_https4.al)" sub head_https4 { do_httpx4(HEAD => 1, @_) } # http # end of Net::SSLeay::head_https4 1; PK!/?? get_httpx4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1474 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/get_httpx4.al)" sub get_httpx4 { do_httpx4(GET => @_) } # end of Net::SSLeay::get_httpx4 1; PK!c@ZBB put_https3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1437 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/put_https3.al)" sub put_https3 { do_httpx3(PUT => 1, @_) } # end of Net::SSLeay::put_https3 1; PK!| want_X509_lookup.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 508 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/want_X509_lookup.al)" sub want_X509_lookup { want(shift) == 4 } ### ### Open TCP stream to given host and port, looking up the details ### from system databases or DNS. ### # end of Net::SSLeay::want_X509_lookup 1; PK!ۛ}?? get_httpx3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1469 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/get_httpx3.al)" sub get_httpx3 { do_httpx3(GET => @_) } # end of Net::SSLeay::get_httpx3 1; PK! ZZ head_http4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1460 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/head_http4.al)" sub head_http4 { do_httpx4(HEAD => 0, @_) } # Either https or http # end of Net::SSLeay::head_http4 1; PK!ezY<< put_http.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1449 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/put_http.al)" sub put_http { do_httpx2(PUT => 0, @_) } # end of Net::SSLeay::put_http 1; PK!c BB put_https4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1442 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/put_https4.al)" sub put_https4 { do_httpx4(PUT => 1, @_) } # end of Net::SSLeay::put_https4 1; PK!+NN tcpcat.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1140 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/tcpcat.al)" sub tcpcat { # address, port, message, $crt, $key --> reply / (reply,errs,cert) my ($dest_serv, $port, $out_message) = @_; my ($got, $errs, $written); ($got, $errs) = open_proxy_tcp_connection($dest_serv, $port); return (wantarray ? (undef, $errs) : undef) unless $got; ### Connected. Exchange some data (doing repeated tries if necessary). warn "tcpcat $$: sending " . blength($out_message) . " bytes...\n" if $trace==3; warn "tcpcat $$: sending `$out_message' (" . blength($out_message) . " bytes)...\n" if $trace>3; ($written, $errs) = tcp_write_all($out_message); goto cleanup unless $written; sleep $slowly if $slowly; # Closing too soon can abort broken servers CORE::shutdown SSLCAT_S, 1; # Half close --> No more output, send EOF to server warn "waiting for reply...\n" if $trace>2; ($got, $errs) = tcp_read_all(); warn "Got " . blength($got) . " bytes.\n" if $trace==3; warn "Got `$got' (" . blength($got) . " bytes)\n" if $trace>3; cleanup: close SSLCAT_S; return wantarray ? ($got, $errs) : $got; } # end of Net::SSLeay::tcpcat 1; PK!cAA new_x_ctx.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 989 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/new_x_ctx.al)" sub new_x_ctx { if ($ssl_version == 2) { unless (exists &Net::SSLeay::CTX_v2_new) { warn "ssl_version has been set to 2, but this version of OpenSSL has been compiled without SSLv2 support"; return undef; } $ctx = CTX_v2_new(); } elsif ($ssl_version == 3) { $ctx = CTX_v3_new(); } elsif ($ssl_version == 10) { $ctx = CTX_tlsv1_new(); } elsif ($ssl_version == 11) { unless (exists &Net::SSLeay::CTX_tlsv1_1_new) { warn "ssl_version has been set to 11, but this version of OpenSSL has been compiled without TLSv1.1 support"; return undef; } $ctx = CTX_tlsv1_1_new; } elsif ($ssl_version == 12) { unless (exists &Net::SSLeay::CTX_tlsv1_2_new) { warn "ssl_version has been set to 12, but this version of OpenSSL has been compiled without TLSv1.2 support"; return undef; } $ctx = CTX_tlsv1_2_new; } elsif ($ssl_version == 13) { unless (eval { Net::SSLeay::TLS1_3_VERSION(); } ) { warn "ssl_version has been set to 13, but this version of OpenSSL has been compiled without TLSv1.3 support"; return undef; } $ctx = CTX_new(); unless(Net::SSLeay::CTX_set_min_proto_version($ctx, Net::SSLeay::TLS1_3_VERSION())) { warn "CTX_set_min_proto failed for TLSv1.3"; return undef; } unless(Net::SSLeay::CTX_set_max_proto_version($ctx, Net::SSLeay::TLS1_3_VERSION())) { warn "CTX_set_max_proto failed for TLSv1.3"; return undef; } } else { $ctx = CTX_new(); } return $ctx; } # end of Net::SSLeay::new_x_ctx 1; PK!lJٳ http_cat.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1265 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/http_cat.al)" sub http_cat { # address, port, message --> returns reply / (reply,errs,cert) my ($dest_serv, $port, $out_message) = @_; my ($got, $errs, $written); ($got, $errs) = open_proxy_tcp_connection($dest_serv, $port); return (wantarray ? (undef, $errs) : undef) unless $got; ### Connected. Exchange some data (doing repeated tries if necessary). warn "http_cat $$: sending " . blength($out_message) . " bytes...\n" if $trace==3; warn "http_cat $$: sending `$out_message' (" . blength($out_message) . " bytes)...\n" if $trace>3; ($written, $errs) = tcp_write_all($out_message); goto cleanup unless $written; warn "waiting for reply...\n" if $trace>2; ($got, $errs) = tcp_read_all(); warn "Got " . blength($got) . " bytes.\n" if $trace==3; warn "Got `$got' (" . blength($got) . " bytes)\n" if $trace>3; cleanup: close SSLCAT_S; return wantarray ? ($got, $errs) : $got; } # end of Net::SSLeay::http_cat 1; PK!!TrAA post_http4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1458 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/post_http4.al)" sub post_http4 { do_httpx4(POST => 0, @_) } # end of Net::SSLeay::post_http4 1; PK!"G G ssl_read_until.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 799 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/ssl_read_until.al)" ### from patch by Clinton Wong # ssl_read_until($ssl [, $delimit [, $max_length]]) # if $delimit missing, use $/ if it exists, otherwise use \n # read until delimiter reached, up to $max_length chars if defined sub ssl_read_until ($;$$) { my ($ssl,$delim, $max_length) = @_; # guess the delim string if missing if ( ! defined $delim ) { if ( defined $/ && length $/ ) { $delim = $/ } else { $delim = "\n" } # Note: \n,$/ value depends on the platform } my $len_delim = length $delim; my ($got); my $reply = ''; # If we have OpenSSL 0.9.6a or later, we can use SSL_peek to # speed things up. # N.B. 0.9.6a has security problems, so the support for # anything earlier than 0.9.6e will be dropped soon. if (&Net::SSLeay::OPENSSL_VERSION_NUMBER >= 0x0090601f) { $max_length = 2000000000 unless (defined $max_length); my ($pending, $peek_length, $found, $done); while (blength($reply) < $max_length and !$done) { #Block if necessary until we get some data $got = Net::SSLeay::peek($ssl,1); last if print_errs('SSL_peek'); $pending = Net::SSLeay::pending($ssl) + blength($reply); $peek_length = ($pending > $max_length) ? $max_length : $pending; $peek_length -= blength($reply); $got = Net::SSLeay::peek($ssl, $peek_length); last if print_errs('SSL_peek'); $peek_length = blength($got); #$found = index($got, $delim); # Old and broken # the delimiter may be split across two gets, so we prepend # a little from the last get onto this one before we check # for a match my $match; if(blength($reply) >= blength($delim) - 1) { #if what we've read so far is greater or equal #in length of what we need to prepatch $match = substr $reply, blength($reply) - blength($delim) + 1; } else { $match = $reply; } $match .= $got; $found = index($match, $delim); if ($found > -1) { #$got = Net::SSLeay::ssl_read_all($ssl, $found+$len_delim); #read up to the end of the delimiter $got = Net::SSLeay::ssl_read_all($ssl, $found + $len_delim - ((blength($match)) - (blength($got)))); $done = 1; } else { $got = Net::SSLeay::ssl_read_all($ssl, $peek_length); $done = 1 if ($peek_length == $max_length - blength($reply)); } last if print_errs('SSL_read'); debug_read(\$reply, \$got) if $trace>1; last if $got eq ''; $reply .= $got; } } else { while (!defined $max_length || length $reply < $max_length) { $got = Net::SSLeay::ssl_read_all($ssl,1); # one by one last if print_errs('SSL_read'); debug_read(\$reply, \$got) if $trace>1; last if $got eq ''; $reply .= $got; last if $len_delim && substr($reply, blength($reply)-$len_delim) eq $delim; } } return $reply; } # end of Net::SSLeay::ssl_read_until 1; PK!<< get_http.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1447 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/get_http.al)" sub get_http { do_httpx2(GET => 0, @_) } # end of Net::SSLeay::get_http 1; PK!-WAA post_http3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1453 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/post_http3.al)" sub post_http3 { do_httpx3(POST => 0, @_) } # end of Net::SSLeay::post_http3 1; PK!9TWDDpost_https4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1441 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/post_https4.al)" sub post_https4 { do_httpx4(POST => 1, @_) } # end of Net::SSLeay::post_https4 1; PK!BAApost_httpx3.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1470 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/post_httpx3.al)" sub post_httpx3 { do_httpx3(POST => @_) } # end of Net::SSLeay::post_httpx3 1; PK!fǏhead_httpx4.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1477 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/head_httpx4.al)" sub head_httpx4 { do_httpx4(HEAD => @_) } ### Legacy, don't use # ($page, $respone_or_err, %headers) = do_https(...); # end of Net::SSLeay::head_httpx4 1; PK!Y2# do_https.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1482 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/do_https.al)" sub do_https { my ($site, $port, $path, $method, $headers, $content, $mime_type, $crt_path, $key_path) = @_; do_https2($method, $site, $port, $path, $headers, $content, $mime_type, $crt_path, $key_path); } 1; __END__ 1; # end of Net::SSLeay::do_https PK!%ٙ]AA post_https.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1431 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/post_https.al)" sub post_https { do_httpx2(POST => 1, @_) } # end of Net::SSLeay::post_https 1; PK!@?? put_https.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1432 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/put_https.al)" sub put_https { do_httpx2(PUT => 1, @_) } # end of Net::SSLeay::put_https 1; PK!8R[<< get_httpx.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1464 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/get_httpx.al)" sub get_httpx { do_httpx2(GET => @_) } # end of Net::SSLeay::get_httpx 1; PK! >> post_httpx.alnu[# NOTE: Derived from blib/lib/Net/SSLeay.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Net::SSLeay; #line 1465 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/post_httpx.al)" sub post_httpx { do_httpx2(POST => @_) } # end of Net::SSLeay::post_httpx 1; PK!PGU))X509.pmnu6$package Crypt::SSLeay::X509; use strict; sub not_before { my $cert = shift; not_string2time($cert->get_notBeforeString); } sub not_after { my $cert = shift; not_string2time($cert->get_notAfterString); } sub not_string2time { my $string = shift; # $string has the form 021019235959Z my($year, $month, $day, $hour, $minute, $second, $GMT)= $string=~m/(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(Z)?/; $year += 2000; my $time="$year-$month-$day $hour:$minute:$second"; $time .= " GMT" if $GMT; $time; } 1; PK!xtBBErr.pmnu6$package Crypt::SSLeay::Err; require Crypt::SSLeay; use strict; 1; PK!BBCTX.pmnu6$package Crypt::SSLeay::CTX; require Crypt::SSLeay; use strict; 1; PK!"  Version.pmnu6$package Crypt::SSLeay::Version; require Crypt::SSLeay; use Exporter qw( import ); our @EXPORT = qw(); our @EXPORT_OK = qw( openssl_built_on openssl_cflags openssl_dir openssl_platform openssl_version openssl_version_number ); use strict; __PACKAGE__; __END__ =head1 NAME Crypt::SSLeay::Version - Obtain OpenSSL version information =head1 SYNOPSIS use Crypt::SSLeay::Version qw(\ openssl_built_on openssl_cflags openssl_dir openssl_platform openssl_version openssl_version_number ); my $version = openssl_version(); if (openssl_cflags() =~ /DOPENSSL_NO_HEARTBEATS/) { print "OpenSSL was compiled without heartbeats\n"; } =head1 SUMMARY Exposes information provided by L. =head1 EXPORTS By default, the module exports nothing. You can ask for each subroutine bloew to be exported to your namespace. =head1 SUBROUTINES =head2 openssl_built_on The date of the build process in the form "built on: ..." if available or ``built on: date not available'' otherwise. =head2 openssl_cflags The compiler flags set for the compilation process in the form "compiler: ..." if available or "compiler: information not available" otherwise. =head2 openssl_dir The C setting of the library build in the form "OPENSSLDIR: ..." if available or "OPENSSLDIR: N/A" otherwise. =head2 openssl_platform The "Configure" target of the library build in the form "platform: ..." if available or "platform: information not available" otherwise. =head2 openssl_version The version of the OpenSSL library including the release date. =head2 openssl_version_number The value of the C macro as an unsigned integer. This value is more like a string as version information is packed into specific nibbles see C in the OpenSSL source and L for explanation. =head1 AUTHOR A. Sinan Unur C<< >> =head1 COPYRIGHT Copyright (C) 2014 A. Sinan Unur. =head1 LICENSE This program is free software; you can redistribute it and/or modify it under the terms of L. PK!AMainContext.pmnu6$package Crypt::SSLeay::MainContext; # maintains a single instance of the Crypt::SSLeay::CTX class use strict; use Carp (); require Crypt::SSLeay::CTX; my $ctx = &main_ctx(); sub main_ctx { my $ssl_version = shift || 23; my $ctx = Crypt::SSLeay::CTX->new($ssl_version); $ctx->set_cipher_list($ENV{CRYPT_SSLEAY_CIPHER}) if $ENV{CRYPT_SSLEAY_CIPHER}; $ctx; } my %sub_cache = ('main_ctx' => \&main_ctx ); sub import { my $pkg = shift; my $callpkg = caller(); my @func = @_; for (@func) { s/^&//; Carp::croak("Can't export $_ from $pkg") if /\W/;; my $sub = $sub_cache{$_}; unless ($sub) { my $method = $_; $method =~ s/^main_ctx_//; # optional prefix $sub = $sub_cache{$_} = sub { $ctx->$method(@_) }; } no strict 'refs'; *{"${callpkg}::$_"} = $sub; } } 1; PK!0CCConn.pmnu6$package Crypt::SSLeay::Conn; require Crypt::SSLeay; use strict; 1; PK! .packlistnu[/usr/local/lib64/perl5/Crypt/SSLeay.pm /usr/local/lib64/perl5/Crypt/SSLeay/CTX.pm /usr/local/lib64/perl5/Crypt/SSLeay/Conn.pm /usr/local/lib64/perl5/Crypt/SSLeay/Err.pm /usr/local/lib64/perl5/Crypt/SSLeay/MainContext.pm /usr/local/lib64/perl5/Crypt/SSLeay/Version.pm /usr/local/lib64/perl5/Crypt/SSLeay/X509.pm /usr/local/lib64/perl5/Net/SSL.pm /usr/local/lib64/perl5/auto/Crypt/SSLeay/SSLeay.so /usr/local/share/man/man3/Crypt::SSLeay.3pm /usr/local/share/man/man3/Crypt::SSLeay::Version.3pm /usr/local/share/man/man3/Net::SSL.3pm PK!V~** Handle.pmnu[PK! ??8+make_headers.alnu[PK!2=\\ -make_form.alnu[PK!&|?? N0head_httpx.alnu[PK!sy 1dump_peer_certificate.alnu[PK!( DD5post_https3.alnu[PK!$See R7do_https4.alnu[PK!˰7?? 8put_http3.alnu[PK!uo?? n:get_http4.alnu[PK!u?? ;get_http3.alnu[PK!w"[// d=do_httpx2.alnu[PK! ee?ssl_write_all.alnu[PK!)vtVopen_proxy_tcp_connection.alnu[PK!|.. [httpx_cat.alnu[PK!(<<.^set_cert_and_key.alnu[PK!=Matcp_write_all.alnu[PK!nէ.EEfhead_https3.alnu[PK!\ࡥ ?hdebug_read.alnu[PK!㋫?? !kget_https.alnu[PK!'%AAlpost_httpx4.alnu[PK!88 nwant_write.alnu[PK!wFBBohead_httpx3.alnu[PK!?? qput_httpx4.alnu[PK!.^ropen_tcp_connection.alnu[PK!٤ѯ-- xautosplit.ixnu[PK!a-/// initialize.alnu[PK!S qdo_httpx3.alnu[PK!_BB Èget_https3.alnu[PK!݊`|eeBwant_nothing.alnu[PK!3:>> post_http.alnu[PK!=UQ?? `put_httpx3.alnu[PK!d͝܎set_server_cert_and_key.alnu[PK!8 Ðhttps_cat.alnu[PK!i0ғ5 5 Ӝsslcat.alnu[PK!g?? Ahead_http.alnu[PK!}issl_read_CRLF.alnu[PK!`}RBB |head_http3.alnu[PK!ԯ?? put_http4.alnu[PK!a vdo_https3.alnu[PK!B!55 want_read.alnu[PK!)H<< put_httpx.alnu[PK!޽1mtcp_read_CRLF.alnu[PK![~ =randomize.alnu[PK!|tcp_read_all.alnu[PK!4BB head_https.alnu[PK!4$ .do_https2.alnu[PK!1Rk(tcp_write_CRLF.alnu[PK!+hssl_read_all.alnu[PK!o<.BB get_https4.alnu[PK!0   Wdo_httpx4.alnu[PK!CA tcpxcat.alnu[PK!zK set_proxy.alnu[PK!7*tcp_read_until.alnu[PK!A,,5ssl_write_CRLF.alnu[PK!z{pp SSLeay.sonu7mPK!~MMKhead_https4.alnu[PK!/?? ֿget_httpx4.alnu[PK!c@ZBB Rput_https3.alnu[PK!| want_X509_lookup.alnu[PK!ۛ}?? get_httpx3.alnu[PK! ZZ Ihead_http4.alnu[PK!ezY<< put_http.alnu[PK!c BB Wput_https4.alnu[PK!+NN tcpcat.alnu[PK!cAA ]new_x_ctx.alnu[PK!lJٳ http_cat.alnu[PK!!TrAA post_http4.alnu[PK!"G G Fssl_read_until.alnu[PK!<< get_http.alnu[PK!-WAA Epost_http3.alnu[PK!9TWDDpost_https4.alnu[PK!BAAEpost_httpx3.alnu[PK!fǏhead_httpx4.alnu[PK!Y2# do_https.alnu[PK!%ٙ]AA post_https.alnu[PK!@?? Fput_https.alnu[PK!8R[<< get_httpx.alnu[PK! >> 9post_httpx.alnu[PK!PGU))X509.pmnu6$PK!xtBBErr.pmnu6$PK!BBCTX.pmnu6$PK!"  Version.pmnu6$PK!ATMainContext.pmnu6$PK!0CC Conn.pmnu6$PK!  .packlistnu[PKUU