Audio-WMA-1.3/0000755000076500007650000000000011114345777012336 5ustar danieldanielAudio-WMA-1.3/inc/0000755000076500007650000000000011114345777013107 5ustar danieldanielAudio-WMA-1.3/inc/Module/0000755000076500007650000000000011114345777014334 5ustar danieldanielAudio-WMA-1.3/inc/Module/Install.pm0000644000076500007650000001761111114345771016300 0ustar danieldaniel#line 1 package Module::Install; # For any maintainers: # The load order for Module::Install is a bit magic. # It goes something like this... # # IF ( host has Module::Install installed, creating author mode ) { # 1. Makefile.PL calls "use inc::Module::Install" # 2. $INC{inc/Module/Install.pm} set to installed version of inc::Module::Install # 3. The installed version of inc::Module::Install loads # 4. inc::Module::Install calls "require Module::Install" # 5. The ./inc/ version of Module::Install loads # } ELSE { # 1. Makefile.PL calls "use inc::Module::Install" # 2. $INC{inc/Module/Install.pm} set to ./inc/ version of Module::Install # 3. The ./inc/ version of Module::Install loads # } use 5.004; use strict 'vars'; use vars qw{$VERSION}; BEGIN { # All Module::Install core packages now require synchronised versions. # This will be used to ensure we don't accidentally load old or # different versions of modules. # This is not enforced yet, but will be some time in the next few # releases once we can make sure it won't clash with custom # Module::Install extensions. $VERSION = '0.67'; } # Whether or not inc::Module::Install is actually loaded, the # $INC{inc/Module/Install.pm} is what will still get set as long as # the caller loaded module this in the documented manner. # If not set, the caller may NOT have loaded the bundled version, and thus # they may not have a MI version that works with the Makefile.PL. This would # result in false errors or unexpected behaviour. And we don't want that. my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm'; unless ( $INC{$file} ) { die <<"END_DIE"; Please invoke ${\__PACKAGE__} with: use inc::${\__PACKAGE__}; not: use ${\__PACKAGE__}; END_DIE } # If the script that is loading Module::Install is from the future, # then make will detect this and cause it to re-run over and over # again. This is bad. Rather than taking action to touch it (which # is unreliable on some platforms and requires write permissions) # for now we should catch this and refuse to run. if ( -f $0 and (stat($0))[9] > time ) { die << "END_DIE"; Your installer $0 has a modification time in the future. This is known to create infinite loops in make. Please correct this, then run $0 again. END_DIE } use Cwd (); use File::Find (); use File::Path (); use FindBin; *inc::Module::Install::VERSION = *VERSION; @inc::Module::Install::ISA = __PACKAGE__; sub autoload { my $self = shift; my $who = $self->_caller; my $cwd = Cwd::cwd(); my $sym = "${who}::AUTOLOAD"; $sym->{$cwd} = sub { my $pwd = Cwd::cwd(); if ( my $code = $sym->{$pwd} ) { # delegate back to parent dirs goto &$code unless $cwd eq $pwd; } $$sym =~ /([^:]+)$/ or die "Cannot autoload $who - $sym"; unshift @_, ($self, $1); goto &{$self->can('call')} unless uc($1) eq $1; }; } sub import { my $class = shift; my $self = $class->new(@_); my $who = $self->_caller; unless ( -f $self->{file} ) { require "$self->{path}/$self->{dispatch}.pm"; File::Path::mkpath("$self->{prefix}/$self->{author}"); $self->{admin} = "$self->{name}::$self->{dispatch}"->new( _top => $self ); $self->{admin}->init; @_ = ($class, _self => $self); goto &{"$self->{name}::import"}; } *{"${who}::AUTOLOAD"} = $self->autoload; $self->preload; # Unregister loader and worker packages so subdirs can use them again delete $INC{"$self->{file}"}; delete $INC{"$self->{path}.pm"}; } sub preload { my ($self) = @_; unless ( $self->{extensions} ) { $self->load_extensions( "$self->{prefix}/$self->{path}", $self ); } my @exts = @{$self->{extensions}}; unless ( @exts ) { my $admin = $self->{admin}; @exts = $admin->load_all_extensions; } my %seen; foreach my $obj ( @exts ) { while (my ($method, $glob) = each %{ref($obj) . '::'}) { next unless $obj->can($method); next if $method =~ /^_/; next if $method eq uc($method); $seen{$method}++; } } my $who = $self->_caller; foreach my $name ( sort keys %seen ) { *{"${who}::$name"} = sub { ${"${who}::AUTOLOAD"} = "${who}::$name"; goto &{"${who}::AUTOLOAD"}; }; } } sub new { my ($class, %args) = @_; # ignore the prefix on extension modules built from top level. my $base_path = Cwd::abs_path($FindBin::Bin); unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) { delete $args{prefix}; } return $args{_self} if $args{_self}; $args{dispatch} ||= 'Admin'; $args{prefix} ||= 'inc'; $args{author} ||= ($^O eq 'VMS' ? '_author' : '.author'); $args{bundle} ||= 'inc/BUNDLES'; $args{base} ||= $base_path; $class =~ s/^\Q$args{prefix}\E:://; $args{name} ||= $class; $args{version} ||= $class->VERSION; unless ( $args{path} ) { $args{path} = $args{name}; $args{path} =~ s!::!/!g; } $args{file} ||= "$args{base}/$args{prefix}/$args{path}.pm"; bless( \%args, $class ); } sub call { my ($self, $method) = @_; my $obj = $self->load($method) or return; splice(@_, 0, 2, $obj); goto &{$obj->can($method)}; } sub load { my ($self, $method) = @_; $self->load_extensions( "$self->{prefix}/$self->{path}", $self ) unless $self->{extensions}; foreach my $obj (@{$self->{extensions}}) { return $obj if $obj->can($method); } my $admin = $self->{admin} or die <<"END_DIE"; The '$method' method does not exist in the '$self->{prefix}' path! Please remove the '$self->{prefix}' directory and run $0 again to load it. END_DIE my $obj = $admin->load($method, 1); push @{$self->{extensions}}, $obj; $obj; } sub load_extensions { my ($self, $path, $top) = @_; unless ( grep { lc $_ eq lc $self->{prefix} } @INC ) { unshift @INC, $self->{prefix}; } foreach my $rv ( $self->find_extensions($path) ) { my ($file, $pkg) = @{$rv}; next if $self->{pathnames}{$pkg}; local $@; my $new = eval { require $file; $pkg->can('new') }; unless ( $new ) { warn $@ if $@; next; } $self->{pathnames}{$pkg} = delete $INC{$file}; push @{$self->{extensions}}, &{$new}($pkg, _top => $top ); } $self->{extensions} ||= []; } sub find_extensions { my ($self, $path) = @_; my @found; File::Find::find( sub { my $file = $File::Find::name; return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is; my $subpath = $1; return if lc($subpath) eq lc($self->{dispatch}); $file = "$self->{path}/$subpath.pm"; my $pkg = "$self->{name}::$subpath"; $pkg =~ s!/!::!g; # If we have a mixed-case package name, assume case has been preserved # correctly. Otherwise, root through the file to locate the case-preserved # version of the package name. if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) { open PKGFILE, "<$subpath.pm" or die "find_extensions: Can't open $subpath.pm: $!"; my $in_pod = 0; while ( ) { $in_pod = 1 if /^=\w/; $in_pod = 0 if /^=cut/; next if ($in_pod || /^=cut/); # skip pod text next if /^\s*#/; # and comments if ( m/^\s*package\s+($pkg)\s*;/i ) { $pkg = $1; last; } } close PKGFILE; } push @found, [ $file, $pkg ]; }, $path ) if -d $path; @found; } sub _caller { my $depth = 0; my $call = caller($depth); while ( $call eq __PACKAGE__ ) { $depth++; $call = caller($depth); } return $call; } 1; Audio-WMA-1.3/inc/Module/Install/0000755000076500007650000000000011114345777015742 5ustar danieldanielAudio-WMA-1.3/inc/Module/Install/AutoInstall.pm0000644000076500007650000000227211114345772020535 0ustar danieldaniel#line 1 package Module::Install::AutoInstall; use strict; use Module::Install::Base; use vars qw{$VERSION $ISCORE @ISA}; BEGIN { $VERSION = '0.67'; $ISCORE = 1; @ISA = qw{Module::Install::Base}; } sub AutoInstall { $_[0] } sub run { my $self = shift; $self->auto_install_now(@_); } sub write { my $self = shift; $self->auto_install(@_); } sub auto_install { my $self = shift; return if $self->{done}++; # Flatten array of arrays into a single array my @core = map @$_, map @$_, grep ref, $self->build_requires, $self->requires; my @config = @_; # We'll need Module::AutoInstall $self->include('Module::AutoInstall'); require Module::AutoInstall; Module::AutoInstall->import( (@config ? (-config => \@config) : ()), (@core ? (-core => \@core) : ()), $self->features, ); $self->makemaker_args( Module::AutoInstall::_make_args() ); my $class = ref($self); $self->postamble( "# --- $class section:\n" . Module::AutoInstall::postamble() ); } sub auto_install_now { my $self = shift; $self->auto_install(@_); Module::AutoInstall::do_install(); } 1; Audio-WMA-1.3/inc/Module/Install/Fetch.pm0000644000076500007650000000463011114345773017330 0ustar danieldaniel#line 1 package Module::Install::Fetch; use strict; use Module::Install::Base; use vars qw{$VERSION $ISCORE @ISA}; BEGIN { $VERSION = '0.67'; $ISCORE = 1; @ISA = qw{Module::Install::Base}; } sub get_file { my ($self, %args) = @_; my ($scheme, $host, $path, $file) = $args{url} =~ m|^(\w+)://([^/]+)(.+)/(.+)| or return; if ( $scheme eq 'http' and ! eval { require LWP::Simple; 1 } ) { $args{url} = $args{ftp_url} or (warn("LWP support unavailable!\n"), return); ($scheme, $host, $path, $file) = $args{url} =~ m|^(\w+)://([^/]+)(.+)/(.+)| or return; } $|++; print "Fetching '$file' from $host... "; unless (eval { require Socket; Socket::inet_aton($host) }) { warn "'$host' resolve failed!\n"; return; } return unless $scheme eq 'ftp' or $scheme eq 'http'; require Cwd; my $dir = Cwd::getcwd(); chdir $args{local_dir} or return if exists $args{local_dir}; if (eval { require LWP::Simple; 1 }) { LWP::Simple::mirror($args{url}, $file); } elsif (eval { require Net::FTP; 1 }) { eval { # use Net::FTP to get past firewall my $ftp = Net::FTP->new($host, Passive => 1, Timeout => 600); $ftp->login("anonymous", 'anonymous@example.com'); $ftp->cwd($path); $ftp->binary; $ftp->get($file) or (warn("$!\n"), return); $ftp->quit; } } elsif (my $ftp = $self->can_run('ftp')) { eval { # no Net::FTP, fallback to ftp.exe require FileHandle; my $fh = FileHandle->new; local $SIG{CHLD} = 'IGNORE'; unless ($fh->open("|$ftp -n")) { warn "Couldn't open ftp: $!\n"; chdir $dir; return; } my @dialog = split(/\n/, <<"END_FTP"); open $host user anonymous anonymous\@example.com cd $path binary get $file $file quit END_FTP foreach (@dialog) { $fh->print("$_\n") } $fh->close; } } else { warn "No working 'ftp' program available!\n"; chdir $dir; return; } unless (-f $file) { warn "Fetching failed: $@\n"; chdir $dir; return; } return if exists $args{size} and -s $file != $args{size}; system($args{run}) if exists $args{run}; unlink($file) if $args{remove}; print(((!exists $args{check_for} or -e $args{check_for}) ? "done!" : "failed! ($!)"), "\n"); chdir $dir; return !$?; } 1; Audio-WMA-1.3/inc/Module/Install/Makefile.pm0000644000076500007650000001351111114345772020011 0ustar danieldaniel#line 1 package Module::Install::Makefile; use strict 'vars'; use Module::Install::Base; use ExtUtils::MakeMaker (); use vars qw{$VERSION $ISCORE @ISA}; BEGIN { $VERSION = '0.67'; $ISCORE = 1; @ISA = qw{Module::Install::Base}; } sub Makefile { $_[0] } my %seen = (); sub prompt { shift; # Infinite loop protection my @c = caller(); if ( ++$seen{"$c[1]|$c[2]|$_[0]"} > 3 ) { die "Caught an potential prompt infinite loop ($c[1]|$c[2]|$_[0])"; } # In automated testing, always use defaults if ( $ENV{AUTOMATED_TESTING} and ! $ENV{PERL_MM_USE_DEFAULT} ) { local $ENV{PERL_MM_USE_DEFAULT} = 1; goto &ExtUtils::MakeMaker::prompt; } else { goto &ExtUtils::MakeMaker::prompt; } } sub makemaker_args { my $self = shift; my $args = ($self->{makemaker_args} ||= {}); %$args = ( %$args, @_ ) if @_; $args; } # For mm args that take multiple space-seperated args, # append an argument to the current list. sub makemaker_append { my $self = sShift; my $name = shift; my $args = $self->makemaker_args; $args->{name} = defined $args->{$name} ? join( ' ', $args->{name}, @_ ) : join( ' ', @_ ); } sub build_subdirs { my $self = shift; my $subdirs = $self->makemaker_args->{DIR} ||= []; for my $subdir (@_) { push @$subdirs, $subdir; } } sub clean_files { my $self = shift; my $clean = $self->makemaker_args->{clean} ||= {}; %$clean = ( %$clean, FILES => join(' ', grep length, $clean->{FILES}, @_), ); } sub realclean_files { my $self = shift; my $realclean = $self->makemaker_args->{realclean} ||= {}; %$realclean = ( %$realclean, FILES => join(' ', grep length, $realclean->{FILES}, @_), ); } sub libs { my $self = shift; my $libs = ref $_[0] ? shift : [ shift ]; $self->makemaker_args( LIBS => $libs ); } sub inc { my $self = shift; $self->makemaker_args( INC => shift ); } my %test_dir = (); sub _wanted_t { /\.t$/ and -f $_ and $test_dir{$File::Find::dir} = 1; } sub tests_recursive { my $self = shift; if ( $self->tests ) { die "tests_recursive will not work if tests are already defined"; } my $dir = shift || 't'; unless ( -d $dir ) { die "tests_recursive dir '$dir' does not exist"; } require File::Find; %test_dir = (); File::Find::find( \&_wanted_t, $dir ); $self->tests( join ' ', map { "$_/*.t" } sort keys %test_dir ); } sub write { my $self = shift; die "&Makefile->write() takes no arguments\n" if @_; my $args = $self->makemaker_args; $args->{DISTNAME} = $self->name; $args->{NAME} = $self->module_name || $self->name || $self->determine_NAME($args); $args->{VERSION} = $self->version || $self->determine_VERSION($args); $args->{NAME} =~ s/-/::/g; if ( $self->tests ) { $args->{test} = { TESTS => $self->tests }; } if ($] >= 5.005) { $args->{ABSTRACT} = $self->abstract; $args->{AUTHOR} = $self->author; } if ( eval($ExtUtils::MakeMaker::VERSION) >= 6.10 ) { $args->{NO_META} = 1; } if ( eval($ExtUtils::MakeMaker::VERSION) > 6.17 and $self->sign ) { $args->{SIGN} = 1; } unless ( $self->is_admin ) { delete $args->{SIGN}; } # merge both kinds of requires into prereq_pm my $prereq = ($args->{PREREQ_PM} ||= {}); %$prereq = ( %$prereq, map { @$_ } map { @$_ } grep $_, ($self->build_requires, $self->requires) ); # merge both kinds of requires into prereq_pm my $subdirs = ($args->{DIR} ||= []); if ($self->bundles) { foreach my $bundle (@{ $self->bundles }) { my ($file, $dir) = @$bundle; push @$subdirs, $dir if -d $dir; delete $prereq->{$file}; } } if ( my $perl_version = $self->perl_version ) { eval "use $perl_version; 1" or die "ERROR: perl: Version $] is installed, " . "but we need version >= $perl_version"; } $args->{INSTALLDIRS} = $self->installdirs; my %args = map { ( $_ => $args->{$_} ) } grep {defined($args->{$_})} keys %$args; my $user_preop = delete $args{dist}->{PREOP}; if (my $preop = $self->admin->preop($user_preop)) { $args{dist} = $preop; } my $mm = ExtUtils::MakeMaker::WriteMakefile(%args); $self->fix_up_makefile($mm->{FIRST_MAKEFILE} || 'Makefile'); } sub fix_up_makefile { my $self = shift; my $makefile_name = shift; my $top_class = ref($self->_top) || ''; my $top_version = $self->_top->VERSION || ''; my $preamble = $self->preamble ? "# Preamble by $top_class $top_version\n" . $self->preamble : ''; my $postamble = "# Postamble by $top_class $top_version\n" . ($self->postamble || ''); local *MAKEFILE; open MAKEFILE, "< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!"; my $makefile = do { local $/; }; close MAKEFILE or die $!; $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /; $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g; $makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g; $makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m; $makefile =~ s/^(PERL = .*)/$1 "-Iinc"/m; # Module::Install will never be used to build the Core Perl # Sometimes PERL_LIB and PERL_ARCHLIB get written anyway, which breaks # PREFIX/PERL5LIB, and thus, install_share. Blank them if they exist $makefile =~ s/^PERL_LIB = .+/PERL_LIB =/m; #$makefile =~ s/^PERL_ARCHLIB = .+/PERL_ARCHLIB =/m; # Perl 5.005 mentions PERL_LIB explicitly, so we have to remove that as well. $makefile =~ s/("?)-I\$\(PERL_LIB\)\1//g; # XXX - This is currently unused; not sure if it breaks other MM-users # $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg; open MAKEFILE, "> $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!"; print MAKEFILE "$preamble$makefile$postamble" or die $!; close MAKEFILE or die $!; 1; } sub preamble { my ($self, $text) = @_; $self->{preamble} = $text . $self->{preamble} if defined $text; $self->{preamble}; } sub postamble { my ($self, $text) = @_; $self->{postamble} ||= $self->admin->postamble; $self->{postamble} .= $text if defined $text; $self->{postamble} } 1; __END__ #line 363 Audio-WMA-1.3/inc/Module/Install/Include.pm0000644000076500007650000000101411114345772017652 0ustar danieldaniel#line 1 package Module::Install::Include; use strict; use Module::Install::Base; use vars qw{$VERSION $ISCORE @ISA}; BEGIN { $VERSION = '0.67'; $ISCORE = 1; @ISA = qw{Module::Install::Base}; } sub include { shift()->admin->include(@_); } sub include_deps { shift()->admin->include_deps(@_); } sub auto_include { shift()->admin->auto_include(@_); } sub auto_include_deps { shift()->admin->auto_include_deps(@_); } sub auto_include_dependent_dists { shift()->admin->auto_include_dependent_dists(@_); } 1; Audio-WMA-1.3/inc/Module/Install/Base.pm0000644000076500007650000000203511114345772017145 0ustar danieldaniel#line 1 package Module::Install::Base; $VERSION = '0.67'; # Suspend handler for "redefined" warnings BEGIN { my $w = $SIG{__WARN__}; $SIG{__WARN__} = sub { $w }; } ### This is the ONLY module that shouldn't have strict on # use strict; #line 41 sub new { my ($class, %args) = @_; foreach my $method ( qw(call load) ) { *{"$class\::$method"} = sub { shift()->_top->$method(@_); } unless defined &{"$class\::$method"}; } bless( \%args, $class ); } #line 61 sub AUTOLOAD { my $self = shift; local $@; my $autoload = eval { $self->_top->autoload } or return; goto &$autoload; } #line 76 sub _top { $_[0]->{_top} } #line 89 sub admin { $_[0]->_top->{admin} or Module::Install::Base::FakeAdmin->new; } sub is_admin { $_[0]->admin->VERSION; } sub DESTROY {} package Module::Install::Base::FakeAdmin; my $Fake; sub new { $Fake ||= bless(\@_, $_[0]) } sub AUTOLOAD {} sub DESTROY {} # Restore warning handler BEGIN { $SIG{__WARN__} = $SIG{__WARN__}->(); } 1; #line 138 Audio-WMA-1.3/inc/Module/Install/Metadata.pm0000644000076500007650000002152711114345772020022 0ustar danieldaniel#line 1 package Module::Install::Metadata; use strict 'vars'; use Module::Install::Base; use vars qw{$VERSION $ISCORE @ISA}; BEGIN { $VERSION = '0.67'; $ISCORE = 1; @ISA = qw{Module::Install::Base}; } my @scalar_keys = qw{ name module_name abstract author version license distribution_type perl_version tests installdirs }; my @tuple_keys = qw{ build_requires requires recommends bundles }; sub Meta { shift } sub Meta_ScalarKeys { @scalar_keys } sub Meta_TupleKeys { @tuple_keys } foreach my $key (@scalar_keys) { *$key = sub { my $self = shift; return $self->{values}{$key} if defined wantarray and !@_; $self->{values}{$key} = shift; return $self; }; } foreach my $key (@tuple_keys) { *$key = sub { my $self = shift; return $self->{values}{$key} unless @_; my @rv; while (@_) { my $module = shift or last; my $version = shift || 0; if ( $module eq 'perl' ) { $version =~ s{^(\d+)\.(\d+)\.(\d+)} {$1 + $2/1_000 + $3/1_000_000}e; $self->perl_version($version); next; } my $rv = [ $module, $version ]; push @rv, $rv; } push @{ $self->{values}{$key} }, @rv; @rv; }; } # configure_requires is currently a null-op sub configure_requires { 1 } # Aliases for build_requires that will have alternative # meanings in some future version of META.yml. sub test_requires { shift->build_requires(@_) } sub install_requires { shift->build_requires(@_) } # Aliases for installdirs options sub install_as_core { $_[0]->installdirs('perl') } sub install_as_cpan { $_[0]->installdirs('site') } sub install_as_site { $_[0]->installdirs('site') } sub install_as_vendor { $_[0]->installdirs('vendor') } sub sign { my $self = shift; return $self->{'values'}{'sign'} if defined wantarray and ! @_; $self->{'values'}{'sign'} = ( @_ ? $_[0] : 1 ); return $self; } sub dynamic_config { my $self = shift; unless ( @_ ) { warn "You MUST provide an explicit true/false value to dynamic_config, skipping\n"; return $self; } $self->{'values'}{'dynamic_config'} = $_[0] ? 1 : 0; return $self; } sub all_from { my ( $self, $file ) = @_; unless ( defined($file) ) { my $name = $self->name or die "all_from called with no args without setting name() first"; $file = join('/', 'lib', split(/-/, $name)) . '.pm'; $file =~ s{.*/}{} unless -e $file; die "all_from: cannot find $file from $name" unless -e $file; } $self->version_from($file) unless $self->version; $self->perl_version_from($file) unless $self->perl_version; # The remaining probes read from POD sections; if the file # has an accompanying .pod, use that instead my $pod = $file; if ( $pod =~ s/\.pm$/.pod/i and -e $pod ) { $file = $pod; } $self->author_from($file) unless $self->author; $self->license_from($file) unless $self->license; $self->abstract_from($file) unless $self->abstract; } sub provides { my $self = shift; my $provides = ( $self->{values}{provides} ||= {} ); %$provides = (%$provides, @_) if @_; return $provides; } sub auto_provides { my $self = shift; return $self unless $self->is_admin; unless (-e 'MANIFEST') { warn "Cannot deduce auto_provides without a MANIFEST, skipping\n"; return $self; } # Avoid spurious warnings as we are not checking manifest here. local $SIG{__WARN__} = sub {1}; require ExtUtils::Manifest; local *ExtUtils::Manifest::manicheck = sub { return }; require Module::Build; my $build = Module::Build->new( dist_name => $self->name, dist_version => $self->version, license => $self->license, ); $self->provides(%{ $build->find_dist_packages || {} }); } sub feature { my $self = shift; my $name = shift; my $features = ( $self->{values}{features} ||= [] ); my $mods; if ( @_ == 1 and ref( $_[0] ) ) { # The user used ->feature like ->features by passing in the second # argument as a reference. Accomodate for that. $mods = $_[0]; } else { $mods = \@_; } my $count = 0; push @$features, ( $name => [ map { ref($_) ? ( ref($_) eq 'HASH' ) ? %$_ : @$_ : $_ } @$mods ] ); return @$features; } sub features { my $self = shift; while ( my ( $name, $mods ) = splice( @_, 0, 2 ) ) { $self->feature( $name, @$mods ); } return $self->{values}->{features} ? @{ $self->{values}->{features} } : (); } sub no_index { my $self = shift; my $type = shift; push @{ $self->{values}{no_index}{$type} }, @_ if $type; return $self->{values}{no_index}; } sub read { my $self = shift; $self->include_deps( 'YAML', 0 ); require YAML; my $data = YAML::LoadFile('META.yml'); # Call methods explicitly in case user has already set some values. while ( my ( $key, $value ) = each %$data ) { next unless $self->can($key); if ( ref $value eq 'HASH' ) { while ( my ( $module, $version ) = each %$value ) { $self->can($key)->($self, $module => $version ); } } else { $self->can($key)->($self, $value); } } return $self; } sub write { my $self = shift; return $self unless $self->is_admin; $self->admin->write_meta; return $self; } sub version_from { my ( $self, $file ) = @_; require ExtUtils::MM_Unix; $self->version( ExtUtils::MM_Unix->parse_version($file) ); } sub abstract_from { my ( $self, $file ) = @_; require ExtUtils::MM_Unix; $self->abstract( bless( { DISTNAME => $self->name }, 'ExtUtils::MM_Unix' )->parse_abstract($file) ); } sub _slurp { my ( $self, $file ) = @_; local *FH; open FH, "< $file" or die "Cannot open $file.pod: $!"; do { local $/; }; } sub perl_version_from { my ( $self, $file ) = @_; if ( $self->_slurp($file) =~ m/ ^ use \s* v? ([\d_\.]+) \s* ; /ixms ) { my $v = $1; $v =~ s{_}{}g; $self->perl_version($1); } else { warn "Cannot determine perl version info from $file\n"; return; } } sub author_from { my ( $self, $file ) = @_; my $content = $self->_slurp($file); if ($content =~ m/ =head \d \s+ (?:authors?)\b \s* ([^\n]*) | =head \d \s+ (?:licen[cs]e|licensing|copyright|legal)\b \s* .*? copyright .*? \d\d\d[\d.]+ \s* (?:\bby\b)? \s* ([^\n]*) /ixms) { my $author = $1 || $2; $author =~ s{E}{<}g; $author =~ s{E}{>}g; $self->author($author); } else { warn "Cannot determine author info from $file\n"; } } sub license_from { my ( $self, $file ) = @_; if ( $self->_slurp($file) =~ m/ ( =head \d \s+ (?:licen[cs]e|licensing|copyright|legal)\b .*? ) (=head\\d.*|=cut.*|) \z /ixms ) { my $license_text = $1; my @phrases = ( 'under the same (?:terms|license) as perl itself' => 'perl', 1, 'GNU public license' => 'gpl', 1, 'GNU lesser public license' => 'gpl', 1, 'BSD license' => 'bsd', 1, 'Artistic license' => 'artistic', 1, 'GPL' => 'gpl', 1, 'LGPL' => 'lgpl', 1, 'BSD' => 'bsd', 1, 'Artistic' => 'artistic', 1, 'MIT' => 'mit', 1, 'proprietary' => 'proprietary', 0, ); while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) { $pattern =~ s{\s+}{\\s+}g; if ( $license_text =~ /\b$pattern\b/i ) { if ( $osi and $license_text =~ /All rights reserved/i ) { warn "LEGAL WARNING: 'All rights reserved' may invalidate Open Source licenses. Consider removing it."; } $self->license($license); return 1; } } } warn "Cannot determine license info from $file\n"; return 'unknown'; } 1; Audio-WMA-1.3/inc/Module/Install/Can.pm0000644000076500007650000000337411114345773017004 0ustar danieldaniel#line 1 package Module::Install::Can; use strict; use Module::Install::Base; use Config (); ### This adds a 5.005 Perl version dependency. ### This is a bug and will be fixed. use File::Spec (); use ExtUtils::MakeMaker (); use vars qw{$VERSION $ISCORE @ISA}; BEGIN { $VERSION = '0.67'; $ISCORE = 1; @ISA = qw{Module::Install::Base}; } # check if we can load some module ### Upgrade this to not have to load the module if possible sub can_use { my ($self, $mod, $ver) = @_; $mod =~ s{::|\\}{/}g; $mod .= '.pm' unless $mod =~ /\.pm$/i; my $pkg = $mod; $pkg =~ s{/}{::}g; $pkg =~ s{\.pm$}{}i; local $@; eval { require $mod; $pkg->VERSION($ver || 0); 1 }; } # check if we can run some command sub can_run { my ($self, $cmd) = @_; my $_cmd = $cmd; return $_cmd if (-x $_cmd or $_cmd = MM->maybe_command($_cmd)); for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') { my $abs = File::Spec->catfile($dir, $_[1]); return $abs if (-x $abs or $abs = MM->maybe_command($abs)); } return; } # can we locate a (the) C compiler sub can_cc { my $self = shift; my @chunks = split(/ /, $Config::Config{cc}) or return; # $Config{cc} may contain args; try to find out the program part while (@chunks) { return $self->can_run("@chunks") || (pop(@chunks), next); } return; } # Fix Cygwin bug on maybe_command(); if ( $^O eq 'cygwin' ) { require ExtUtils::MM_Cygwin; require ExtUtils::MM_Win32; if ( ! defined(&ExtUtils::MM_Cygwin::maybe_command) ) { *ExtUtils::MM_Cygwin::maybe_command = sub { my ($self, $file) = @_; if ($file =~ m{^/cygdrive/}i and ExtUtils::MM_Win32->can('maybe_command')) { ExtUtils::MM_Win32->maybe_command($file); } else { ExtUtils::MM_Unix->maybe_command($file); } } } } 1; __END__ #line 157 Audio-WMA-1.3/inc/Module/Install/WriteAll.pm0000644000076500007650000000162411114345772020021 0ustar danieldaniel#line 1 package Module::Install::WriteAll; use strict; use Module::Install::Base; use vars qw{$VERSION $ISCORE @ISA}; BEGIN { $VERSION = '0.67'; $ISCORE = 1; @ISA = qw{Module::Install::Base}; } sub WriteAll { my $self = shift; my %args = ( meta => 1, sign => 0, inline => 0, check_nmake => 1, @_ ); $self->sign(1) if $args{sign}; $self->Meta->write if $args{meta}; $self->admin->WriteAll(%args) if $self->is_admin; if ( $0 =~ /Build.PL$/i ) { $self->Build->write; } else { $self->check_nmake if $args{check_nmake}; unless ( $self->makemaker_args->{'PL_FILES'} ) { $self->makemaker_args( PL_FILES => {} ); } if ($args{inline}) { $self->Inline->write; } else { $self->Makefile->write; } } } 1; Audio-WMA-1.3/inc/Module/Install/Win32.pm0000644000076500007650000000341611114345773017202 0ustar danieldaniel#line 1 package Module::Install::Win32; use strict; use Module::Install::Base; use vars qw{$VERSION $ISCORE @ISA}; BEGIN { $VERSION = '0.67'; $ISCORE = 1; @ISA = qw{Module::Install::Base}; } # determine if the user needs nmake, and download it if needed sub check_nmake { my $self = shift; $self->load('can_run'); $self->load('get_file'); require Config; return unless ( $^O eq 'MSWin32' and $Config::Config{make} and $Config::Config{make} =~ /^nmake\b/i and ! $self->can_run('nmake') ); print "The required 'nmake' executable not found, fetching it...\n"; require File::Basename; my $rv = $self->get_file( url => 'http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe', ftp_url => 'ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe', local_dir => File::Basename::dirname($^X), size => 51928, run => 'Nmake15.exe /o > nul', check_for => 'Nmake.exe', remove => 1, ); if (!$rv) { die <<'END_MESSAGE'; ------------------------------------------------------------------------------- Since you are using Microsoft Windows, you will need the 'nmake' utility before installation. It's available at: http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe or ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe Please download the file manually, save it to a directory in %PATH% (e.g. C:\WINDOWS\COMMAND\), then launch the MS-DOS command line shell, "cd" to that directory, and run "Nmake15.exe" from there; that will create the 'nmake.exe' file needed by this module. You may then resume the installation process described in README. ------------------------------------------------------------------------------- END_MESSAGE } } 1; Audio-WMA-1.3/inc/Module/AutoInstall.pm0000644000076500007650000005077211114345772017137 0ustar danieldaniel#line 1 package Module::AutoInstall; use strict; use Cwd (); use ExtUtils::MakeMaker (); use vars qw{$VERSION}; BEGIN { $VERSION = '1.03'; } # special map on pre-defined feature sets my %FeatureMap = ( '' => 'Core Features', # XXX: deprecated '-core' => 'Core Features', ); # various lexical flags my ( @Missing, @Existing, %DisabledTests, $UnderCPAN, $HasCPANPLUS ); my ( $Config, $CheckOnly, $SkipInstall, $AcceptDefault, $TestOnly ); my ( $PostambleActions, $PostambleUsed ); # See if it's a testing or non-interactive session _accept_default( $ENV{AUTOMATED_TESTING} or ! -t STDIN ); _init(); sub _accept_default { $AcceptDefault = shift; } sub missing_modules { return @Missing; } sub do_install { __PACKAGE__->install( [ $Config ? ( UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} ) : () ], @Missing, ); } # initialize various flags, and/or perform install sub _init { foreach my $arg ( @ARGV, split( /[\s\t]+/, $ENV{PERL_AUTOINSTALL} || $ENV{PERL_EXTUTILS_AUTOINSTALL} || '' ) ) { if ( $arg =~ /^--config=(.*)$/ ) { $Config = [ split( ',', $1 ) ]; } elsif ( $arg =~ /^--installdeps=(.*)$/ ) { __PACKAGE__->install( $Config, @Missing = split( /,/, $1 ) ); exit 0; } elsif ( $arg =~ /^--default(?:deps)?$/ ) { $AcceptDefault = 1; } elsif ( $arg =~ /^--check(?:deps)?$/ ) { $CheckOnly = 1; } elsif ( $arg =~ /^--skip(?:deps)?$/ ) { $SkipInstall = 1; } elsif ( $arg =~ /^--test(?:only)?$/ ) { $TestOnly = 1; } } } # overrides MakeMaker's prompt() to automatically accept the default choice sub _prompt { goto &ExtUtils::MakeMaker::prompt unless $AcceptDefault; my ( $prompt, $default ) = @_; my $y = ( $default =~ /^[Yy]/ ); print $prompt, ' [', ( $y ? 'Y' : 'y' ), '/', ( $y ? 'n' : 'N' ), '] '; print "$default\n"; return $default; } # the workhorse sub import { my $class = shift; my @args = @_ or return; my $core_all; print "*** $class version " . $class->VERSION . "\n"; print "*** Checking for Perl dependencies...\n"; my $cwd = Cwd::cwd(); $Config = []; my $maxlen = length( ( sort { length($b) <=> length($a) } grep { /^[^\-]/ } map { ref($_) ? ( ( ref($_) eq 'HASH' ) ? keys(%$_) : @{$_} ) : '' } map { +{@args}->{$_} } grep { /^[^\-]/ or /^-core$/i } keys %{ +{@args} } )[0] ); while ( my ( $feature, $modules ) = splice( @args, 0, 2 ) ) { my ( @required, @tests, @skiptests ); my $default = 1; my $conflict = 0; if ( $feature =~ m/^-(\w+)$/ ) { my $option = lc($1); # check for a newer version of myself _update_to( $modules, @_ ) and return if $option eq 'version'; # sets CPAN configuration options $Config = $modules if $option eq 'config'; # promote every features to core status $core_all = ( $modules =~ /^all$/i ) and next if $option eq 'core'; next unless $option eq 'core'; } print "[" . ( $FeatureMap{ lc($feature) } || $feature ) . "]\n"; $modules = [ %{$modules} ] if UNIVERSAL::isa( $modules, 'HASH' ); unshift @$modules, -default => &{ shift(@$modules) } if ( ref( $modules->[0] ) eq 'CODE' ); # XXX: bugward combatability while ( my ( $mod, $arg ) = splice( @$modules, 0, 2 ) ) { if ( $mod =~ m/^-(\w+)$/ ) { my $option = lc($1); $default = $arg if ( $option eq 'default' ); $conflict = $arg if ( $option eq 'conflict' ); @tests = @{$arg} if ( $option eq 'tests' ); @skiptests = @{$arg} if ( $option eq 'skiptests' ); next; } printf( "- %-${maxlen}s ...", $mod ); if ( $arg and $arg =~ /^\D/ ) { unshift @$modules, $arg; $arg = 0; } # XXX: check for conflicts and uninstalls(!) them. if ( defined( my $cur = _version_check( _load($mod), $arg ||= 0 ) ) ) { print "loaded. ($cur" . ( $arg ? " >= $arg" : '' ) . ")\n"; push @Existing, $mod => $arg; $DisabledTests{$_} = 1 for map { glob($_) } @skiptests; } else { print "missing." . ( $arg ? " (would need $arg)" : '' ) . "\n"; push @required, $mod => $arg; } } next unless @required; my $mandatory = ( $feature eq '-core' or $core_all ); if ( !$SkipInstall and ( $CheckOnly or _prompt( qq{==> Auto-install the } . ( @required / 2 ) . ( $mandatory ? ' mandatory' : ' optional' ) . qq{ module(s) from CPAN?}, $default ? 'y' : 'n', ) =~ /^[Yy]/ ) ) { push( @Missing, @required ); $DisabledTests{$_} = 1 for map { glob($_) } @skiptests; } elsif ( !$SkipInstall and $default and $mandatory and _prompt( qq{==> The module(s) are mandatory! Really skip?}, 'n', ) =~ /^[Nn]/ ) { push( @Missing, @required ); $DisabledTests{$_} = 1 for map { glob($_) } @skiptests; } else { $DisabledTests{$_} = 1 for map { glob($_) } @tests; } } $UnderCPAN = _check_lock(); # check for $UnderCPAN if ( @Missing and not( $CheckOnly or $UnderCPAN ) ) { require Config; print "*** Dependencies will be installed the next time you type '$Config::Config{make}'.\n"; # make an educated guess of whether we'll need root permission. print " (You may need to do that as the 'root' user.)\n" if eval '$>'; } print "*** $class configuration finished.\n"; chdir $cwd; # import to main:: no strict 'refs'; *{'main::WriteMakefile'} = \&Write if caller(0) eq 'main'; } # Check to see if we are currently running under CPAN.pm and/or CPANPLUS; # if we are, then we simply let it taking care of our dependencies sub _check_lock { return unless @Missing; if ($ENV{PERL5_CPANPLUS_IS_RUNNING}) { print <<'END_MESSAGE'; *** Since we're running under CPANPLUS, I'll just let it take care of the dependency's installation later. END_MESSAGE return 1; } _load_cpan(); # Find the CPAN lock-file my $lock = MM->catfile( $CPAN::Config->{cpan_home}, ".lock" ); return unless -f $lock; # Check the lock local *LOCK; return unless open(LOCK, $lock); if ( ( $^O eq 'MSWin32' ? _under_cpan() : == getppid() ) and ( $CPAN::Config->{prerequisites_policy} || '' ) ne 'ignore' ) { print <<'END_MESSAGE'; *** Since we're running under CPAN, I'll just let it take care of the dependency's installation later. END_MESSAGE return 1; } close LOCK; return; } sub install { my $class = shift; my $i; # used below to strip leading '-' from config keys my @config = ( map { s/^-// if ++$i; $_ } @{ +shift } ); my ( @modules, @installed ); while ( my ( $pkg, $ver ) = splice( @_, 0, 2 ) ) { # grep out those already installed if ( defined( _version_check( _load($pkg), $ver ) ) ) { push @installed, $pkg; } else { push @modules, $pkg, $ver; } } return @installed unless @modules; # nothing to do return @installed if _check_lock(); # defer to the CPAN shell print "*** Installing dependencies...\n"; return unless _connected_to('cpan.org'); my %args = @config; my %failed; local *FAILED; if ( $args{do_once} and open( FAILED, '.#autoinstall.failed' ) ) { while () { chomp; $failed{$_}++ } close FAILED; my @newmod; while ( my ( $k, $v ) = splice( @modules, 0, 2 ) ) { push @newmod, ( $k => $v ) unless $failed{$k}; } @modules = @newmod; } if ( _has_cpanplus() ) { _install_cpanplus( \@modules, \@config ); } else { _install_cpan( \@modules, \@config ); } print "*** $class installation finished.\n"; # see if we have successfully installed them while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) { if ( defined( _version_check( _load($pkg), $ver ) ) ) { push @installed, $pkg; } elsif ( $args{do_once} and open( FAILED, '>> .#autoinstall.failed' ) ) { print FAILED "$pkg\n"; } } close FAILED if $args{do_once}; return @installed; } sub _install_cpanplus { my @modules = @{ +shift }; my @config = _cpanplus_config( @{ +shift } ); my $installed = 0; require CPANPLUS::Backend; my $cp = CPANPLUS::Backend->new; my $conf = $cp->configure_object; return unless $conf->can('conf') # 0.05x+ with "sudo" support or _can_write($conf->_get_build('base')); # 0.04x # if we're root, set UNINST=1 to avoid trouble unless user asked for it. my $makeflags = $conf->get_conf('makeflags') || ''; if ( UNIVERSAL::isa( $makeflags, 'HASH' ) ) { # 0.03+ uses a hashref here $makeflags->{UNINST} = 1 unless exists $makeflags->{UNINST}; } else { # 0.02 and below uses a scalar $makeflags = join( ' ', split( ' ', $makeflags ), 'UNINST=1' ) if ( $makeflags !~ /\bUNINST\b/ and eval qq{ $> eq '0' } ); } $conf->set_conf( makeflags => $makeflags ); $conf->set_conf( prereqs => 1 ); while ( my ( $key, $val ) = splice( @config, 0, 2 ) ) { $conf->set_conf( $key, $val ); } my $modtree = $cp->module_tree; while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) { print "*** Installing $pkg...\n"; MY::preinstall( $pkg, $ver ) or next if defined &MY::preinstall; my $success; my $obj = $modtree->{$pkg}; if ( $obj and defined( _version_check( $obj->{version}, $ver ) ) ) { my $pathname = $pkg; $pathname =~ s/::/\\W/; foreach my $inc ( grep { m/$pathname.pm/i } keys(%INC) ) { delete $INC{$inc}; } my $rv = $cp->install( modules => [ $obj->{module} ] ); if ( $rv and ( $rv->{ $obj->{module} } or $rv->{ok} ) ) { print "*** $pkg successfully installed.\n"; $success = 1; } else { print "*** $pkg installation cancelled.\n"; $success = 0; } $installed += $success; } else { print << "."; *** Could not find a version $ver or above for $pkg; skipping. . } MY::postinstall( $pkg, $ver, $success ) if defined &MY::postinstall; } return $installed; } sub _cpanplus_config { my @config = (); while ( @_ ) { my ($key, $value) = (shift(), shift()); if ( $key eq 'prerequisites_policy' ) { if ( $value eq 'follow' ) { $value = CPANPLUS::Internals::Constants::PREREQ_INSTALL(); } elsif ( $value eq 'ask' ) { $value = CPANPLUS::Internals::Constants::PREREQ_ASK(); } elsif ( $value eq 'ignore' ) { $value = CPANPLUS::Internals::Constants::PREREQ_IGNORE(); } else { die "*** Cannot convert option $key = '$value' to CPANPLUS version.\n"; } } else { die "*** Cannot convert option $key to CPANPLUS version.\n"; } } return @config; } sub _install_cpan { my @modules = @{ +shift }; my @config = @{ +shift }; my $installed = 0; my %args; _load_cpan(); require Config; if (CPAN->VERSION < 1.80) { # no "sudo" support, probe for writableness return unless _can_write( MM->catfile( $CPAN::Config->{cpan_home}, 'sources' ) ) and _can_write( $Config::Config{sitelib} ); } # if we're root, set UNINST=1 to avoid trouble unless user asked for it. my $makeflags = $CPAN::Config->{make_install_arg} || ''; $CPAN::Config->{make_install_arg} = join( ' ', split( ' ', $makeflags ), 'UNINST=1' ) if ( $makeflags !~ /\bUNINST\b/ and eval qq{ $> eq '0' } ); # don't show start-up info $CPAN::Config->{inhibit_startup_message} = 1; # set additional options while ( my ( $opt, $arg ) = splice( @config, 0, 2 ) ) { ( $args{$opt} = $arg, next ) if $opt =~ /^force$/; # pseudo-option $CPAN::Config->{$opt} = $arg; } local $CPAN::Config->{prerequisites_policy} = 'follow'; while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) { MY::preinstall( $pkg, $ver ) or next if defined &MY::preinstall; print "*** Installing $pkg...\n"; my $obj = CPAN::Shell->expand( Module => $pkg ); my $success = 0; if ( $obj and defined( _version_check( $obj->cpan_version, $ver ) ) ) { my $pathname = $pkg; $pathname =~ s/::/\\W/; foreach my $inc ( grep { m/$pathname.pm/i } keys(%INC) ) { delete $INC{$inc}; } my $rv = $args{force} ? CPAN::Shell->force( install => $pkg ) : CPAN::Shell->install($pkg); $rv ||= eval { $CPAN::META->instance( 'CPAN::Distribution', $obj->cpan_file, ) ->{install} if $CPAN::META; }; if ( $rv eq 'YES' ) { print "*** $pkg successfully installed.\n"; $success = 1; } else { print "*** $pkg installation failed.\n"; $success = 0; } $installed += $success; } else { print << "."; *** Could not find a version $ver or above for $pkg; skipping. . } MY::postinstall( $pkg, $ver, $success ) if defined &MY::postinstall; } return $installed; } sub _has_cpanplus { return ( $HasCPANPLUS = ( $INC{'CPANPLUS/Config.pm'} or _load('CPANPLUS::Shell::Default') ) ); } # make guesses on whether we're under the CPAN installation directory sub _under_cpan { require Cwd; require File::Spec; my $cwd = File::Spec->canonpath( Cwd::cwd() ); my $cpan = File::Spec->canonpath( $CPAN::Config->{cpan_home} ); return ( index( $cwd, $cpan ) > -1 ); } sub _update_to { my $class = __PACKAGE__; my $ver = shift; return if defined( _version_check( _load($class), $ver ) ); # no need to upgrade if ( _prompt( "==> A newer version of $class ($ver) is required. Install?", 'y' ) =~ /^[Nn]/ ) { die "*** Please install $class $ver manually.\n"; } print << "."; *** Trying to fetch it from CPAN... . # install ourselves _load($class) and return $class->import(@_) if $class->install( [], $class, $ver ); print << '.'; exit 1; *** Cannot bootstrap myself. :-( Installation terminated. . } # check if we're connected to some host, using inet_aton sub _connected_to { my $site = shift; return ( ( _load('Socket') and Socket::inet_aton($site) ) or _prompt( qq( *** Your host cannot resolve the domain name '$site', which probably means the Internet connections are unavailable. ==> Should we try to install the required module(s) anyway?), 'n' ) =~ /^[Yy]/ ); } # check if a directory is writable; may create it on demand sub _can_write { my $path = shift; mkdir( $path, 0755 ) unless -e $path; return 1 if -w $path; print << "."; *** You are not allowed to write to the directory '$path'; the installation may fail due to insufficient permissions. . if ( eval '$>' and lc(`sudo -V`) =~ /version/ and _prompt( qq( ==> Should we try to re-execute the autoinstall process with 'sudo'?), ((-t STDIN) ? 'y' : 'n') ) =~ /^[Yy]/ ) { # try to bootstrap ourselves from sudo print << "."; *** Trying to re-execute the autoinstall process with 'sudo'... . my $missing = join( ',', @Missing ); my $config = join( ',', UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} ) if $Config; return unless system( 'sudo', $^X, $0, "--config=$config", "--installdeps=$missing" ); print << "."; *** The 'sudo' command exited with error! Resuming... . } return _prompt( qq( ==> Should we try to install the required module(s) anyway?), 'n' ) =~ /^[Yy]/; } # load a module and return the version it reports sub _load { my $mod = pop; # class/instance doesn't matter my $file = $mod; $file =~ s|::|/|g; $file .= '.pm'; local $@; return eval { require $file; $mod->VERSION } || ( $@ ? undef: 0 ); } # Load CPAN.pm and it's configuration sub _load_cpan { return if $CPAN::VERSION; require CPAN; if ( $CPAN::HandleConfig::VERSION ) { # Newer versions of CPAN have a HandleConfig module CPAN::HandleConfig->load; } else { # Older versions had the load method in Config directly CPAN::Config->load; } } # compare two versions, either use Sort::Versions or plain comparison sub _version_check { my ( $cur, $min ) = @_; return unless defined $cur; $cur =~ s/\s+$//; # check for version numbers that are not in decimal format if ( ref($cur) or ref($min) or $cur =~ /v|\..*\./ or $min =~ /v|\..*\./ ) { if ( ( $version::VERSION or defined( _load('version') )) and version->can('new') ) { # use version.pm if it is installed. return ( ( version->new($cur) >= version->new($min) ) ? $cur : undef ); } elsif ( $Sort::Versions::VERSION or defined( _load('Sort::Versions') ) ) { # use Sort::Versions as the sorting algorithm for a.b.c versions return ( ( Sort::Versions::versioncmp( $cur, $min ) != -1 ) ? $cur : undef ); } warn "Cannot reliably compare non-decimal formatted versions.\n" . "Please install version.pm or Sort::Versions.\n"; } # plain comparison local $^W = 0; # shuts off 'not numeric' bugs return ( $cur >= $min ? $cur : undef ); } # nothing; this usage is deprecated. sub main::PREREQ_PM { return {}; } sub _make_args { my %args = @_; $args{PREREQ_PM} = { %{ $args{PREREQ_PM} || {} }, @Existing, @Missing } if $UnderCPAN or $TestOnly; if ( $args{EXE_FILES} and -e 'MANIFEST' ) { require ExtUtils::Manifest; my $manifest = ExtUtils::Manifest::maniread('MANIFEST'); $args{EXE_FILES} = [ grep { exists $manifest->{$_} } @{ $args{EXE_FILES} } ]; } $args{test}{TESTS} ||= 't/*.t'; $args{test}{TESTS} = join( ' ', grep { !exists( $DisabledTests{$_} ) } map { glob($_) } split( /\s+/, $args{test}{TESTS} ) ); my $missing = join( ',', @Missing ); my $config = join( ',', UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} ) if $Config; $PostambleActions = ( $missing ? "\$(PERL) $0 --config=$config --installdeps=$missing" : "\$(NOECHO) \$(NOOP)" ); return %args; } # a wrapper to ExtUtils::MakeMaker::WriteMakefile sub Write { require Carp; Carp::croak "WriteMakefile: Need even number of args" if @_ % 2; if ($CheckOnly) { print << "."; *** Makefile not written in check-only mode. . return; } my %args = _make_args(@_); no strict 'refs'; $PostambleUsed = 0; local *MY::postamble = \&postamble unless defined &MY::postamble; ExtUtils::MakeMaker::WriteMakefile(%args); print << "." unless $PostambleUsed; *** WARNING: Makefile written with customized MY::postamble() without including contents from Module::AutoInstall::postamble() -- auto installation features disabled. Please contact the author. . return 1; } sub postamble { $PostambleUsed = 1; return << "."; config :: installdeps \t\$(NOECHO) \$(NOOP) checkdeps :: \t\$(PERL) $0 --checkdeps installdeps :: \t$PostambleActions . } 1; __END__ #line 1003 Audio-WMA-1.3/data/0000755000076500007650000000000011114345777013247 5ustar danieldanielAudio-WMA-1.3/data/test-drm.wma0000644000076500007650000003701611105675616015521 0ustar danieldaniel0&²uŽfϦ٪bÎlœ; ¡Ü«ŒG©ÏŽäÀ SehíRbqžN¡ÿØp·ƒCRBò=ànLó‘ÒÄ Êäxðñx+&&sæŠ)"&L¹5Úà~é(œ|`ÿþ<WRMHEADER version="2.0.0.0"><DATA><RNPEAKRMS>-11.86523</RNPEAKRMS><Explicit>0</Explicit><RhapsodyGenreId>2101</RhapsodyGenreId><RhapsodyAlbumArtistId>16826</RhapsodyAlbumArtistId><RhapsodyArtistId>16826</RhapsodyArtistId><RhapsodyAlbumId>483899</RhapsodyAlbumId><RhapsodyTrackId>2107920</RhapsodyTrackId><CID>30B76680-275F-4059-BBC5-02D744DFE9CD</CID><LAINFO>http://switchboard.real.com/rhapsody/?cd=wmlicense</LAINFO><KID>pMYQ3zAwEE+/lAEL5hP0Ug==</KID><CHECKSUM>0Y0kkc1pcg==</CHECKSUM></DATA><SIGNATURE><HASHALGORITHM type="SHA"></HASHALGORITHM><SIGNALGORITHM type="MSDRM"></SIGNALGORITHM><VALUE>SQOkbJRIMtXxsw8Q!DNqJvpirF3Nuvr!5k*b7QmxgxjcuHXLQGEGDw==</VALUE></SIGNATURE></WRMHEADER>û³"#½Ò´· ÉUüny›Ù;•k:ah9]ÞCþ'þåc%=>DRMpMYQ3zAwEE+/lAEL5hP0Ug==3http://switchboard.real.com/rhapsody/?cd=wmupgradeü³"#½Ò´· ÉUünp† p>™_›rÚWP+„Æ!ªóBZsûüÒ;µõ×ÜUÀäË!®Ÿò¼K8ͯàqpúúdµöò×u vݵof*™ãÊ·£É]p¡T¦ûOi Ó@ŽÛS 34¼Xª•¦ù-;«Ç%…üªu8Wþ:O^Q²U s-¬]¬]8Â}0[J+Lòê¦j.÷üŽÎwÜaЭW!¢ù»e\{Ù@²C‘O-º`éÁ¯C*<‚1ˆêÓwNŠæ®¼m;uÍ7ÂdÉgG '7mò‚ùayñðж …'A…ŤáK\š€¶+f|VJG: µ¿_.©ÏŽãÀ SeY$ÒÓ«º©ÏŽæÀ Se+$]‹ñ&„EìGŸ_eRÉêËøÅ¯[wH„gªŒDúLÊü IsVBR4DeviceConformanceTemplateL1.WM/WMADRCPeakReference´}4WM/WMADRCAverageReferenceûtÔßÊ E¤ºš«Ë–ªèË¥ærÆ2Cƒ™©iR[ZXq+q+ƒ 8 ÞªÙ|œO¼(…Uݘâ¢"”#D˜”ÑI¡ANEpT›_WM/Picture$image/jpegLarge Cover ArtÿØÿàJFIFHHÿÛC   %# , #&')*)-0-(0%()(ÿÛC   (((((((((((((((((((((((((((((((((((((((((((((((((((ÿÀ,,"ÿÄ ÿÄ9!1AQa"2q‘B#R¡±Cbr¢²ðñÑÿÄÿÄ*!1AQ2a¡Ñ‘ÁqÿÚ ?êp(õèûu<óõíÓÎ@ö)‘)¨')¸Æ1îäð°SXJs„%84¥e˜çÕyzžmî)\ÓKj´«S–R•9)&ÓÇt`yÏØð«SuÝxxÊ<îË™G8Î3œ{TÛÃÂËÇgЧ ðZ§*-s*ŠK•¯\öÀABT'R4¡Z”ªÊ ª„dœœÇ2Iö÷+'–ƒÇ7v’Ç©JÖòÞïÅøZôkºStêxSRäšï‡Ñõóè [ª7t|[JÔkÓMÅΔԣ̻¬§Ý2¸cxÞñ S9ßÑÒ[Ud­¬ü{j´Ûj¿.Šõ“Ê_Jm–[šœW·Òw uµ*³Ò.•µuF«Buùåq޳.X¥óK2:$–D0‰Ù‘â¡»t}[TרmøÑ¸¸yÙF„ªÆ¿Â…g>g4ý¤â—NìÅ.©o=õà åB¦©{«ÓÒ*­>ÒZ|éÔZ£…lj:Ï•|ÍSpJ1~^¹:‹îP²´¶°µ§mcmFÚÚšÄ)Q‚„#öK¢ôý#xiüEºÖ4Z;Ž•¥ö³£S®î(Å;›Oj½JË—-Ťž1ËÍëÛâ´°âE¦Î±·°[ƒM®yp¨Ú[Ó‡=Üo§:m¼.²GMãÿr06zn5N2R¶×õ­B:e®à¥kmmsQ©^4Ò)F\¸«™sI>Ë%ã‹Fí‡õ ciZëqº©¤ÚÚYÜØª~««‰IÆ·7ü>W–ñŽÙfóø /wŸmñm$ëøQñ;|ØÉôc¿¸"ÒA¾ß?ÙwÿÞ:<õ}OÆ»¤á  :Vêî”gµÓ§2Î_EráæÙÕ!üw»Û—Vúͦ­ð—VÞÄ¡ ž&!I¾žŸEž7×MËŽ˜ò &š}Sõ–ÏÞ”ltËí×rÙjZ~Í£eN§|¹³×é7kYî1Ó@s÷ Xïzú-mjöÏA¥¥P•ô(ÔYNW“Pñ ê9S+_2ĺ$˾ o ûžÚ6²ÕtçqÞ]Õ§…G6_JT9’þ—(ruYK)á›Î¥ 5gÕ£Ns‡Ó)E6¾Ì¨úÿô {ÀÝQÛÛ&­–¯e;;‡¨ÝU)8·É*ÆYM÷FÃ#úÉÍIrÓœ°ÞxK/ðb¶»ÞÆò´­ím®ªÞ) ڔ¨ÎmÊŸuQÅaAç-5ù2[ûjW–76· º5éʔғ‹q’Ã꺮º1Ú[>ÖŒyéê”.à©xwQœJJ”"”y9å“Mr¼÷îDwE³® í¯£EU§oR´éÆ1¥Z¤c(S’o™IóÂ=°¥$³éBëzé¶úe Ùªê{jP”’ŠP¬ñi7ˆuîÛÂõêŠôöÍœ/á_ż%*u§o:¼ôêV„cVY\ÎiF=y°Üc,s,”l¶•…9+KíJ•XÒ§oF´k®j4©¶á®^^Xå¬I>eõsaBïwN*êtìçJÚž–µÜJpª²å$¡ˆI©eG)©aú—/ZŽ£uV-n~2©\5J’§7 .ù_2ig¾æß¡¦F×À„®)Ѷõ”f£ãƤÜäåӣ攤¹ypäü‹†™¢ÛÙ^Ü\P«sÉRS”hJ®iRs—4Ücêå–óžý0€º®ÝòH?‚HóéÔ #%“rî½lÂ3×µ[kn±IüÒ^ª+/ø1Š|gáüÒåÜ–í¿/ ¦ñ"f!’¸r[቟£ad’Õ kúVá´ø­þÞö‡DåJYÇÝwEÔ©jÍgVÞA`ÝÃoíz\úö­ig.W5J¥EâI%åìÕ¿“RW5tÍj:⯅•äùy³ÔxÚb³>Ù<’k½³Æ-“¸.iжÕé[W«ôS»ÿÉúeôÏç©°óß9èR™#$n©µ&“«$3Ô¾ÕBòòÞΓ­w^ K£•I(¯Û*BjpŒáÖ-e?a©îˆ˜ž‘*€±îסí{9\ëÚ•½5ÙNYœ¾Ñ]YcÙOÛ{ʽÅ.íBµ9¨F•v¡R§LåG¾ ÔÊ&Ñåœþ€…€âfö±Ø»nãQ»JµÛ‹ø[\âUæ»}¢²²ü—Ýn~eÐáþ*nkíÛ½gqâÓ·•I¼–<:PxQÃõk/Ý¿b—¿'W¥é¼òï<Ý£ï3Ò>ýþLbãS¥¬j5u ^åÝjWSu*Ô­—Õù,ôÂζ¦V¶ó‹S¡M¯h¢…Ämk8EM}¡KF«*¶-MçÓ§ŸT –扼>‰ÁaÇÃÚ¼&H­·#Ì{÷úOÙ}Ù[žû‡›†Žµ¥AÖ³O’êÎUU)¾ëïæ³œ3·ô{úZ¦“e¨P‹+º¸‚~JQR_îp.±åÏnñ·zhd´ú:š¸¢þ‰]SUjSíôÉù{<¯CÓcmVù+¹rÁ/%„ßÿ…ßTÑiÜÅNÛ–^^LÝ®+ç¯4xðÇkâÃnYŽþT/¯u=Óq}{^¥zÏç•J²oð™rá…õ{Ûo^ƒå«Ióg}Sà”¥Ô‚Ìê×ù[O¢3OãÆÖŽâÞ´~*2•­&êTåïËž¯Ñ¾Uù/ŠZ³oeƒ$ÍñZµóÒ?ﻵéÔU! ÇéœT—ØöBIt]‰<Öä|ÀH1×9g8,ô™Ñ¸ÚÚÕ1T)έµW޲Ė™Ò/Ä-£g½´¥_Õ­B*¬kB­7,®Ï£Êl‹FãM¾4`Ï[ÚuáûË:zŠ·’qtá.gç̽2xKiIØVð¢Þ]9,Å5èe|IÚö;~]h–7’«iðôî‹%Í,ü¯}3ù0» UçQ\T„þÌVöÙFùе•zµßI92ãªÒQ³±Ói·;‰ËéÏ›è—å³ì¹Ô¬¨¹ÔNœëyrá6þæßà_ o5»«]Ù¸“¶´HÕ´¡Rš«Œ“RiÿK]¿fÄ_%õÓ·ãürÜ|pœd­/µý»Ew÷™t†ÇÓjèÛ7DÓn%Í^ÖΕ*þeŸõ.z¶£c^ÊþŒ+ÚWƒ§V”Öc(¾3è^}0I¹HÔD9Næ\AÆ>ÜìÝJµJ«SN”œ¨VqÊ”{ã+ú—šöÏn† ¦ë5-èÎ|ÔŠ_#O8üŸ úî‘c®éuôíRÞ76µ£Ë(Ký×£^§ qoeKeo+Ý6-Õ´IU¡U®²„–R~ëª7iš~*t˜ïù`ŠGÓ¬OoÃÓí/÷F±FÊÚ.­z²Táº,úÁ‡g±6Ý+JJ3¿©+šøYrÿ*öF·þ-lG§hU·±§ÆåÜÒ±ucó—\É/.gùéîoï#LÓnžë~ÜDü¡  F$«wï¶öòÜ:ÕÕÖ£i©W¥JVõ#ɘôRqiåã ¹hÿÆýå+gWÔ5NJ^# žic/ôѽ°† ù³×‰ËZrDôR¶·£kmFÞÞœiÑ¥ pE¥„‘XÁ3¹Ü÷Ç\ù’Åw¶®ñ:›‹F¡w^#]9S¨—£œm{>†ãß•IIé÷²‹yQw•1n?¼›lµmjö–¶8I²öíÇe£S«p±ËRæN¬¡î“蟿simage/jpegCover ArtÿØÿàJFIFHHÿÛC    #%$""!&+7/&)4)!"0A149;>>>%.DIC;ÿÛC  ;("(;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ÿÀªª"ÿÄÿÄ3!1AQa2q"#RÑ$34B¡±ÿÄÿÄ%!aAQð1q‘ÿÚ ?™ ï­¬ªT¦õ»e*Rœ'œã1Ç0ñž«Ã}ž-·ß»^é¥GW„ó(G*”ð¥5'¾\¤ø%ˆõxéÍЃ”¡êFݯ8ÃŽê”çN­AÁÍJ£‡,÷Me¯3Ïv{ãoj5íhX_Jê­ÝGN”)О^ro)b)4òùaòÈ9Ë}û·kT•ÞN…xÖ•f­)q·žÞVM9rM}º¦—ξþÒ-ô« Jv÷î–¡kVæ”coúÔ)ðñq,òú–;?<ÖC§’ÃymÝRævÖZœ+V§oø‰ÁBIÆ ÎWU•˜õYæ|½IÛѶ«p§u*jƒ¯GòÍÄTjI¸'Ï¥>rÂåÔ¬:£qoN¼3ÃV qÏ\5“è4š¨£¥Ú%V¬ªÍ{1ħ(¸ÉµŽ®2iùMù>+kè… ttúVð£Z•e ÛS•5û|Xú”z¤û¤m@Øí½ 2rZ5ŽxÜóøx·Å–óÓËoù1ÞÏÐ?4µÔ©éз¹´ÿIÛÊT¢º.q‹IòIs]]‘Ÿ©Ðº¹±Jê…Y5úòÓKᮌ׽/VqQZ›SæN)sÕÃÑg§EÕs'ü9¡ûÊ¿äÖâ­ï©þU?¯8ú»ä¿òðô-Þ“dèÛq{4ÝðÒâú¸V9gàÃzV¥V³«ZýI6§íñMF2̹/„¥ß9Âègé¶×¶î5ýùñgÜm·/–ŸO²ä‹BÒ"«ði¶ÔÅB¬©SP”©¾±âŽ m?híý2Õ[[i6îšN+ÞºÔZqqÌòøq),tÄŸ–nŒc¨B*1ŠÂIa$T¦Jä)’ )*ajÚ­ž‰¥×Ô¯êªvöðs“îþ–û#0Œ=f¶¿• 2æUáùZ¯R ²›«%'Äû5ˆ¥ñ—ä­§Q¶Ø1Æ\‘Im©©êÖ廨ëYÑҭ迦”£*²Šñ))%Ÿ²G[°ýA©¸îjiZµ6úŒcîRtT½ºð]qœá®ë=ùħ(_q»yB<Âs‚Ê’ÆW%àë}0¥=CÚ×·u=>…iU— I¹G…GŸÝ?àÆ··T{=þ_ ‹N5º{^¿ß}zê~ÄæE{³Õªô®î¬vä(F•³•:ºÂâÊý¨§Ï»Êo¶9¾Û|W¾·ØúÅ]>•Ìm'ÃÃ,8¬~©'åG/ø<ÿoJ‚ÓíâáBSY]ñœ—Ë~8?Á¯*ÖêŸÔ}øt:?ª[Ù§Uê6—ÜõR¹¶Œ?î ÖÌÞ6›ÇN«Z•ZÝÛIBêÚo.›}}ÓÃÃøgiÞÖ§aB¥5í¹*ƒ0yy\ÎûÒ;‹ˆoÎÿÝi’•xÅ5S\-¯+¦_‘h·Ô«Ÿà‹cßTDoÚwíçÓâR¾çÜÚ~ÔѪj7òÊúiQ‹ýUgÚ+ûö8=;×M:T+½OI¹¡Z-º1¡%8ÍvM¼aüãû~²í«ý_HµÕlx«~[ÆëPO9„±™%åcŸÇ؈¨->úÑS«oR‚̹ó~_É׎‘xÔ}ðò-nžó÷Ë»µõ‹qWܶs­gmCM¯>Ã(7'þ®7ÍÉ àšÏ=ì¿Wvï•-/Máu%,¨á}1ùoÿB>¥rEc´™™ï÷ï`f¸k7…i¹tzÚUë©5\[•<)E¦šÃiø6`&&k;‡™ujUôíBëM¦¯¸è\Õ¥BS¤øêÆ2j/çœ"{ÙZ%¶…¶­¨Ð¶¯B¥ÄU{…s%*®¤’ÏI,®K] þ_R´ŠË¯‘ÌÉÈ­kO+gΊ”$±(µ”ׂ Ü{XÛw³§a§]jzT¥þ^¥´Z”Óÿ„à¹òéžc¿"uÚ‘hÔ©Æåeã_¯ê^o†…«ÝÊ ªóšjv’§þï /¹,úu±«mŠUõ=N¢ž«}ªB<ãB+š‚}ßL¾œ¹tËíÿR¸¢­¹<ü¼˜Õµâ4£I¦šÊ}SîC^¡ú_wS_¡sµôùNÿ¿J-F ¦¿V_H¼ôøxðLÀÚ'N-FÖÛÖÛ_oÛiVЊtàiÇ?¹S Š\ü³nFAf_‘—ä Áf_‘—ä Án_‘—ä €ÿÙ"AlbumNumberInSet1&AlbumTotalCDTracks11 AlbumTotalInSet1WM/AlbumArtist0Everything But the GirlArtistName0Everything But the GirlArtistGenre$Adult Alternative.AlbumArtPublishingInfo21992 Warner Music UK Ltd"AlbumCompilation0&AlbumPrimaryArtist0Everything But the Girl@Rц1У¤ ÉHö®ARц1У¤ ÉHöWindows Media Audio 9.1$160 kbps, 44 kHz, stereo 1-pass CBRa‘Ü··©ÏŽæÀ Ser@žiøM[Ϩý€_\D+PÍÿaÏ‹²ª´â €(YaD¬"N ˆtÎuø{FÑ‚`—É¢² s0ûb У› ÉHöãËK У› ÉHöURLFILENAME+^http://www.microsoft.com/isapi/redir.dll?Prd=WMT4&Sbp=DRM&Plcid=0x0409&Pver=4.0&WMTFeature=DRM+3&²uŽfϦ٪bÎl¤ 02Love Is StrangeEverything But the Girl1992 Warner Music UK Ltd6&²uŽfϦ٪bÎl¦¶=íRbqžN¡ÿØp·ƒCR‚]s+¡Ë“Ü~vE·™…ѽÐ4e÷ G½ãÖÎTâeìH›C3' éäÄL†Ézmè³Í{ÈÈÚÂøJ])ñFdµÚù¥›ËÖK=”lŽMžé©”D˜joÂε,‡`4áÚÖ‹zÅdql|¯#˜Å=£_Tv•be@,+—ïÏ',]$Uò!ç÷Ípüî×-W``¹{A£;I¶lp«ÛÓ1¦1œ*þ|žLÒ [ÏCä» ¨v1>`ƒ…¦z£Âó©C¼/—(hG`öWÝðV³G °áßN²\‘ âèk ÒÇk(hüöÓ0‹àÒö¥/¥¢ËÀ•™g)phlìvتvÅ6ͨrä:óï¶ßæ‚KÒØŠþ!ƒúŠÅÀMI-áaGåãZ¦þÅÙ˜Àéàœü(N@*ýÓ—zÀ"ËzCÍ|Æ×’¬~Ñ™…MÐ¥?Š0û[iÕå‹(ãÇî§b¨õê`K›dδ ¨»ê®¼0ãL­‡Æ,C ]ávXŸÈۦ⠌9[ä•5S š/ $N\°nÖtŠyÃÊï“xé”Wÿ ŵ{á©GÏG..¨ªgÝh–ˆŒx‘þ‹M{2EƒpÁø"¿6'Ú•\ݶÐÒgz,øÎ@°ŒÉpý_ï.Ãg,'A55„PÊS[<Ô{¾j³&—:I©tëõ‹ä .ÖAudio-WMA-1.3/data/test1.wma0000644000076500007650000014150311105675616015017 0ustar danieldaniel0&²uŽfϦ٪bÎlž¡Ü«ŒG©ÏŽäÀ Seh£M½å¼ñÒ¥`“’CÃàr`†¾]€F €®Ï Ú  Nµ¿_.©ÏŽãÀ Se.ÒÓ«º©ÏŽæÀ Se3&²uŽfϦ٪bÎl¬(&8Upgrade Your PlayerWindows Media Team1999, Microsoft Corporation‘Ü··©ÏŽæÀ SeZá¶N[Ϩý€_\D+Wû U[Ϩý€_\D+ @ð‘Ü··©ÏŽæÀ Se|@žiøM[Ϩý€_\D+@¤ñIÎNУ¬ ÉHöU€>Ð Hq°HACMcrc@Rц1У¤ ÉHö†7­ù¿ MPEG Layer-316 kBit/s, 16,000 Hz, MonoU0ûb У› ÉHöâãËK У› ÉHöURLèNShttp://www.microsoft.com/isapi/redir.dll?Prd=WMT4&Sbp=UPGRADE&Plcid=0x0409&Pver=4.06&²uŽfϦ٪bÎl¥¿£M½å¼ñÒ¥`“’]‚]ÓÙï ÿØÿàJFIFHHÿþ&File written by Adobe Photoshop¨ 5.2ÿîAdobed€ÿÛ„##""     ÿÀð@"ÿÝÿÄœ !1Q"2A3BRaq¡br‚’¢²‘±ÂÒ#£âC“³45ðSsƒÃcã$6!1Q2raRAqb‚3’ÿÚ ?¥Îç (²Ê—ŠEæ•bZöÔïZD|©x¦T¼UÞÕ‰Ú±LªT¼S*^*ïjÄíX™²¥â™RñW{V'jÄÈ…•/Ê—Š»Ú±;V&D,©x¦T¼UÞÕ‰Ú±2!eKÅ‚]ÓÓôÙï 2¥â®ö¬NÕ‰‘ *^)•/wµbv¬LˆYRñL©x«½«µbdBÊ—ŠeKÅ]íX«"T¼S*^*ïjÄíX™²¥â™RñW{V'jÄÈ…•/Ê—Š»Ú±;V&D,©x¦T¼UÞÕ‰Ú±2!eKÅ2¥â®ö¬NÕ‰‘ *^)•/wµbv¬LˆYRñL©x«½«µbdBÊ—ŠeKÅ]íX«"T¼S*^*ïjÄíX™²¥â±çkÀ&µV¦…¬mFõ_4*ÿЩšUÛ^… /4«¶½ ѽD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDDA¢ë¡B—Í í×B…/šƒÿÑ©šUÛ^… /4«¶½ ѽD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDDA¢ë¡B—Í í×B…/šƒÿÒ©šUÛ^… /4«¶½ ѽåçGÔz¾,"w¸ 7÷cÔšÔ.G»o²ö å ý ;Mo¾Ò..ü;ˆc}@ÜÖ¹ì’ë0=¥n‚]yÒÜÙï £{¨èxá{c˜3<œ<­÷Ï/1ys ^d¸‚¸ZÀ^ýÌ+²ì\C¤CFe²G¹Ò5 ^^ß1pZ>ÜÇ •Ž|ÎGNh‚‡¦õ áÔY#•-C›]›±ãÃößT_ÎýAöåÄEÖømk_›‡í©º'û´XþW«¤šÑ×™sÛ¹¯h4:…ìú Á΂3D!ÍtWa®÷4Ô}&å+Ú¶±sŸ°—’3“7a{:#és¼ÏïW›¸m¨ÛºB|qáü9k|ÖWfÂ+‡4–6 u¤æ3óȃ\b9!tŽŸ ¢¥±áq­>žm_ô¶±7qØÌâèÜ Ž»p¸{ ú %œÖ ¶{fŒºq\fûœÊ—§Y|ÙMkY^p5ú<È=êüïÔò9ºÌô>çùq/Ñåùߪ˜æë¸Š†–ž# #üìA×­Êó¤Øvá?–%¦ÆWŸN^‚vf4þ+eÅ}¨÷V6ð†aã uk‰Äí.«ÿ={õÛù­Ðqé°Ïy#íØòÐF"‰o—ùÓO¾¸°ÔêÓ °Èß6¸dbû¢_Çavf‘¥Í-#—}}ž¥Ïw~EL©§€®' ½ê»Ëƒqu"Àæd»Û×Qî#·m¤rÅ6)]ÖÎ9½Ÿ}wz–Yû–Á!þÓøÇ;‚]KÓÐÙï Ýôñ©ÑÏfÅn úîþÒ z Ñïöó29ôp(Ër纉¬¼¤9׬°¾±ŸI¼ŠeHÈ_Vl"˜_廕yÝ«DêŸÔ‚¶F§ŽØsœd.qn N&7ñÆØKŒàÌ=†ƒ‡üL*÷¬3%ƒd*8fUÙŸËËP"u±´{K냷²Ö„ý5ªÍ“Æ÷BØ&v¹õÔ§Mq|ÞL“;k–í,ë¹bÿ™ Û÷°5rÛ½ÖZƒ+H0¿¾;9^ƒæ£¶÷N†G9”ÚxµÌü Õ]jrXèVíˆá–v€âÖµ­Ìs>Ÿ:óZÅÛo/ŸpÆ–µôÂú5­‹öÍNÊ[ ÖhÁq»@÷\Öcÿ-rçÆé§Ëw…CSï;%OÓº¼ö׌¶{‹ ”á-;šãÐøÔÝ>[‹¨ËÎöOºìNjëÒ[ŸlL kª\ÙîûH?F¢¨¾0Q | ê ] ¾hWnº)|ЬÿÔ©šUÛ^… /4«¶½ ѽäZ®'ŽÞÏ%pF*ê š(&»Óö\ÁkQFû*³ÐѸ)¶šîw8‚œÇV€ŠVœË;½fÆÒà[Êãši@Ñ^®„Ò1²1ѼׂÐASaЬ¡˜M‚]ÓÄ Ùï ×  †€ºî¯í-#\HÓÒ7¹ßQSÙê}%ÏÂ^æxbsy4×zuµÛpÊÀïŒUpÅéÛŸ‰¬Ÿ£=í´¦íÏÅ¡ÄÞjâ9mÇë®{-fÆúC%ÍF(:$²·’š SâôõŒO.k¯Lõ˜ù›s±½Á‚­Ùˆœ uî³cc(ŠáÎsCÅyIs?a˜ô ¦±kšj(Ð(º®ôÛk¶3©º¢«KuÍ=÷1Û1åÒH­¨ÌÃ#•$côåŒoÄÈ6ÚBز°Œ+‰þ ÓYpmÜ÷ óåÙˆ¾µ¬ú›Iåæ:•¦<'ïÿ-2úsO./,kGŽÁEÝggkn) (¹=C#]¢Nöæ¸0‡  Œq/5é9ŸýEâ» (KP{ÅÅ}¦[_&`q‰Zï5Í:Íæ9dÅ#zšÁˆ­ì-Vþ¤Ò§xfaŒƒÂ>ÿ;|o§ìDYe#x Í©i ·Ò."µe\ü' @£ãs¿Wuæ¹ag1†ràðØÚ‚ Þ/í$²7˜«o„¸šm åéAâ´6Gݽ—1›Na³zõ–º³ñ± |AlÓïl/1>ØCBH´ÜzKå†C!ˆ}þD[[Ó/£Ôd‚]ñÓ¸ Ùï ¬ÍÏ/iß°œYobçyšHŒ}‹Zç b ¤Õî-5 ;QBð÷ ìp£ÇØrå¹Ô´{[—[Ê•´Ôs½¼ßm/Ni3¶wÉ3hÇ´°°í®ëƽ:”3 £cZá´ÐvÚ®-Ó­ 5{A$ÉËÊì/TPs]ÙAw\ÍoÂ*¸aôýŒaÀ0QÛ Ûõ•tA2ÛD³¶˜M×KÍÊêLDZ¥üH š ÿOX>…Ìi#eKAܨÃmPˆ@ä€-È‚<þž°•åæ6ÔïØU¦—mkÐѳà]È€ˆˆ4]t(Rù¡]ºèP¥óB°ÿÕ©šUÛ^… /4«¶½ ѽa4m–'ÆáV¼‘ðšnÞ ü¼æiº¥ ko'éh?ù#T-ÜýS\3on,#y ]±³lwQܶŸÅpø[í®¯HÙR3páµçgÄ9Z‚»u,º„¬q4‰Æ6Ž aË]:ž“¶™Ó69Î ?&¾Oük§Ôº,âé×ví/d›^ѽ®þÚqy¨ÞZÅføŽwQ¥¤š`þ+žƒ;+Ù]¢ÞÚ¸’Æå¹Ÿ^Ìkw¥ þ¢í¾Áým]vZãJ¸þ4 }C˜ÈÔK/ê6—$ÀÇ2R M[Çþ£Pa?ÔãÛýó:­êÒ{È?è7óL¦Ckr‚]ÄÓ¬ Ùï Ûø‹¢}­«°º”ëUýWò]BæFç·%£ZH®)yq5“,ïŠóå5ðs/vÑ@‹é†9škàZáZ‚(w«h?/Õju[‘Ægþw.nÁ–n…Ñì2¤| ®mV¿Õni¿9ôûî[µ u Ù#lÑq´1¡­!´Ú v÷/—Ò·¼×-Ík~,ÈŸûk—Ò¿îÛNC·†ÖªMÓ¦‡ÓsF]#°œ-’qÆ÷tûŠfƒkpg…ŽŒÉ˜Am ¹Pj½twDÆé. ®'×}¼S®\Üâcaˆro§Þ[Ýo{kv1Ââö;`-.iû«+è/$›5ðº¯ò4áÎiM^ÝóèöwÛÜÆ5?EÑß☧ũ½šL–5ê;ìuàÿzûVÜèÚA„˜€!Û \W7Ójðö–®šõ–ä{\ßzÐ\¶ŸÆÒZû‡¸ü•ÿË)Cµ‘™„˘xH§Ýk׿¿ÒÅÖ”mFÇP9§ƒ‚ñ02ÿL¸v(1xæ—0ÿ†ƒU¬³Úß2xZ憾 m<µòñ}EÓê9 µi^— §éÝ"VÉéqÚÝÞw2ö*5¨‘ºƒ„¢‚]—Ò Ùï qãÁˇÛÌ^BºÔ†¤ÖÎeÁB~`¹ãó¦ ž?:éE;~´ÇÖ¹¨ñ±û\¶°¸EVŠŸM2u•“<½´ùw.>?ôÛû:_l íi£ÁnÚMôê/°´›ûpšÔ€€ö¹–ó¿ÄTüuع¥#,œF¥ŽÛ‡ißwÊv¹ä¾º’™-ÀÓâvÿIhd·Ï.¤»Zhã Ê9È›ˆÓ~ýûÖ¸gŽ~#Ôê‹9¼ñÐÚI¬³Ý]¶WS¾gC5 h­|v}UÕ'RŸ`àë繦 ´ÐýÅBN¥7²ul ,–1ô’é§·_ŒKÖ´]t(Rù¡]ºèP¥óBÜGÿÑ©šUÛ^… /4«¶½ ѽD@DDD@DDD@DDD@DDD@\ÓI(—úP.•Ë'ú¦ü‹;ôŸ»~>·âûK¾?©bèî]L[i»rëDíúìwÿ?åÍK¾?©!’S)cÍhÅÒ¸ñàî¥w…,Ŝޫ6ÌÛ3YHÝ'Y_XŠ„>ÛÖ¼xù©E±Æ.ZW»·®^?õÛû%öÆ/Œ‡U¥Ì«‰4æ‚]<ÓˆÙï Ùýçþšä‘²àÌ÷ .$R…Ç›ùk­î-uK"jÝ»ó%\’\ÀÑ™W5Çh¦Îoâ½zxsåÊÈÚZÒ[·oVÓ½n±kNm@<Ë\v×ocDmÀÞ.Ùâ¶·N»mKe¦„¬ù'v³…׋šûfÔ$PhØ]Òu.;;kˆ®‹æÄÓÎ6Šò®É:—,Æ’~ÍkÕ²>€²XÇÐK®žÝ~1/ZÑuСKæ…vë¡B—Í qÿÒ©šUÛ^… /4«¶½ ѽD@DDD@DDD@DDD@DDD@\²ªoȺ—,Ÿê›ò,ïÒ|›ñõ¿ùs4¬“ M+¸-Ôþ÷ÌwžoÈásmZÉì#aBëÄ“‡m¼¹»©ýï˜,DÒƒÌwšBY`„! vÄ̓+6£/Þü*f}«‹ë\ñ½Ïn'•Ñ‹™×VÅܯw-ØÁy3¶¾M¶šÞmuã¶L·bSVœà±yËi{ùZ7’µùwûÙêèÄ8¦!ÅsFá+qFq Ò£ŠÏø'åßì;g«v!Åj“©|Àþ ü7Ûm¦;jÉ'êÛ@Y,Xhd½{gÆ1zÖ‹®… _4+·] ¾h[ˆÿÓ©šUÛ^… /4«¶½ ѽD@DDD@D‚] Ó|Ùï DD@DDD@DDD@\³6Lìli4¥ êE,ËZíÛr™9¾² :‹V¥$2†Ÿ“™«¦óÍùÎê,ËRÖ‡‘nûcÎÕ>îc3aik*ïÛÿ-cŸÿÀÉñÇøzÿ:Û¦Û—JâöHÚ=îU¢g›–ÆæšPšl êYVÇRc‹I£I$m«¹–öß^>WÅCŽÜ;7Põ,/Xó|i#—h í“/žKHÛHøP"Õ% ~`p»)·é,$¸¼šÕïx"@'q¾Êçm¼²9á­5)¿jÚÙ%6Ž·“CRî¨2‚ôÛÛa`G8»€£Vç^^ÀXé€,~Ð6~Êãíe0憓BC…6¤·O4—™q²3‰»þ4íu)l¤a¡"‚<éo¨Èá)’œ­.mˆ\÷–…ì Õ¢¤hr½|¹µ{%kÓÌÖƒMÕér ƒS¹ 7”9Ç¨Š .»yï&†ÈÏ}¤lû®\÷q†9¬|£hHÒqP~¢^ë–›v½­Nð÷ºPVºèP¥óB»uСKæ…`ÿÔ©šUÛ^… /4«¶½ ѽD@DDD@DDD@DDD@DDD@DDžoÈLsD#h/x¬.-ß#ñ4ŠR›VžÊ^-ùÿ‚]â ÓpÙï uo‹',s-áÙŸ¾?JgÃïÒ¸û)x·çýÔì¥âߟ÷Tƾ«›èë3ECGÒ¹-^ó0ÄŠ„§e/üÿº¶Áløäq¡Ü¯^Nmœ9õ)fd‘¶'Ô€­2^JëXƒsjq¾Œ]WQ½×p84–Ž¢Á·Ú\ÙÈÙ'« džu03ÃN‹KÀËS$î.8ˆ$ìjßônFö:7?kq …Nìçu¨!‡ê°ŠÎfýÕ”p:YOhNy<¿QDÚ‹\ÉvÁ²A¸.GO!‚7>W‚K¶¦Åö8î!lÐå9Åâ•fŃíçÈŒeº º¢‡Ç ’^±ŽËk#€Û„-–×QÜ4¹•Þõ:Vܺä‰X÷³sÚ†ý»KŽHÄí-­)QOyU×B…/šÛ®… _4+ÿÕ©šUˆfkC½EçkɵYfËÁi{¦'tÅ 6^ ›/0«½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ïtÄfËÁ3eà˜{¦'tÅ 6^ ›/À»Ý1;¦(Y²ðLÙx&Þé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]~µ ÓdÙï tÄfËÁ3eà˜{¦'tÅ 6^ ›/À»Ý1;¦(Y²ðLÙx&Þé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`Xšf½´Ôy|Й²ðXó¹à‘J*ÿÙÁ·Ú\ÙÈÙ'« džu03ÃN‹KÀËS$î.8ˆ$ìjßônFö:7?kq …Nìçu¨!‡ê°ŠÎfýÕ”p:YOhNy<¿QDÚ‹\ÉvÁ²A¸.GO!‚7>W‚K¶¦Åö8î!lÐå9Åâ•fŃíçÈŒeº º¢‡Ç ’^±ŽËk#€Û„-–×QÜ4¹•Þõ:Vܺä‰X÷³sÚ†ý»KŽHÄí-­)QOyU×B…/šÛ®… _4+ÿÕ©šUˆfkC½EçkɵYfËÁi{¦'tÅ 6^ ›/0«½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ïtÄfËÁ3eà˜{¦'tÅ 6^ ›/À»Ý1;¦(Y²ðLÙx&Þé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Dˆ Ò°Ú ÿó(Ä !¤YA“€ Èl€Ç Æ6ç·}Î"W}Î"nçOÊ»îq ¸€àüÚ@@À0Ê>^ÿó(ÄAªµ¹‡8@D¯„ ü Bqÿø–"Â(oÿ’Œ@}ÿþ<,Èœ$ÿÿÉ ˆìÿÃg%?ÿ'™À’" ÿó(Ä @.ŒUÏÚ.©ºMvÉŠ×à X`ãÅ㦋QUÑèøû²Ú:EßRÙaMŽ*¿R¸ÀÒ9‡ÿó(Ä @ö`À¼R.‡>Ð&´¨8²‰[œa%Ó>=ícëíá£G¡ìM^å÷÷Ríƒ`xQÀæàb‰\¹Ö„%ãV&K,.ÿó(Ä @.ŒÔ`FÚ¨‘h‰¨ )0ò8Q0ße:vòêv©ftNjŖ„ƒKþÁ¾„–§¡@QÄèFY6ÐøQͤÿó(Ä š6Ht{T(Hº7ú7çYWòÅÖÎGª>‹(U_¡lŽÛP—€aF}Îœæ•Æ¹â…ÔÆ9©{ä˜JÈ€y1qÍé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DZ Ó°² ÿó(Ä$ €V¦_E\0¥ûk=žÿÔª]ôÞ™N)¿E˜7gd#HÅ€[ƒº²âöÜ&Ðw _mR£ Ë´tŸP1_´ÿó(Ä)ÁÂïŒIQµàÚÙª19 |“{ž¡û ææÚ™JZ„rëVÝEÛõxÿÙø ‰Âk{W¤@3¥¨°’=ÿó(Ä 1NâÆ©óö¦½Ñò›WfTuˆîR>ŸSЦ±È 4HÑ…p 4Ÿ€28{´e‚µ Ñÿ´³ØÒ³Ê!-«ÿó(Ä ÀNÁ–Fõ–´:ßÒݧ³áªÄÁB>Ï)c¬k€*-ë»Ús©Ÿr[ óYýºÏ*Ë[·5 œSŠÿó(Ä'Àæ¹—E0$X¥š·­ÿ³¹Þ@ä†âñ9ÿôÿwZŠY·4L‚H„ hG6#õÁ8ŠSI‚Qâáq9:â¢ÄÒ6cª€ÿó(Ä'€öÖëŒHëRHèht­ "@­«Ó<¢9$ˆÇÚÞæD®ZZ®ÆÔ¯G¿óÿ #žM?ÿÑ1Cô¨ îÀÜúùTßÜé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D- Ó°Šÿó(Ä €¶å÷ÃË뺞ˆô9€$NÿûÔ¯†ÃAh•Gtõ »ý>Ÿú¿…ªpH†Po«.Çù„xóG¨ºn°Í|ññ‚ÿÿó(ÄA&åVzJÄxÚ=4¥ ´FhE/ùûÎ ´‚`wòïœ6ì©Nˆ ç.ÿÊnWù§Ðß±IÂL¢ÍÏwÔÿÿó(Ä ÀÖôRX…lÔB hqÇ̆åÄMÿ­E § …ýÉCÑcZ|‚‚£Ÿš­ýÈÌù8•o(”ÎfŽ D³[ÿÿó(Ä# @êå@ ˜\[¸óÂQâÝß%€a ¨àçÆ5õ‚¶k“•Þ–Ñö•Q¦3Âÿ÷%`"½¬‡@á״вWµÛÿÿú¿ÿó(Ä1 @ÖÈ÷Cb”‰DW,xœ••°žÄ^…¥Ó©ËZ† (”#‰QQã#qó‚ iQÉæ˜@‚"Bˆ=Èi4Ãÿó(Ä;Â:ÖáŒ9 ŸÛ÷¡çÎwþ¯½ìs3öD_ÿæ{™T8ÒÆ 5¬–¿Ð&'ôˆWg[QÒIp7ŸÛÉÚàÿR7"ŽÉÁœné‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÓ°bÿó(ÄÁ&ÞWÏ#Pù·Wô®5éýwËB?ë߉Þ>žæ…ð8½ÂŽÃ‹ârŽ}?ÿÞøAÿúÑ?îµÐQ» ÿó(Ä AŠéàìdjDSÿþf²3°‘w2ùOã÷¢`å_ÿÝ Ñ$`%Þ¡‰€‰ºŠ?›$‡:˜z$R䨫€•Övå ÿó(Ä! À:áD\¦ <üü>ÝÓäCj ª@±’Ž€x ®HÑò¡–@ìº<¡ÉÅDÞpýoŸƒêr‰ƒÿó(Ä- À:帆&X åá!w© ¾§vßÿz¡ Y ¨¨w`…BFrÚ–ïµ!ŽÀÔy?ôè"£‡ÈbŸÛúÈÒNÿó(Ä9 Îè(°îËÿZ±Œ’Ñæ) Å#RG_ÿC&)A¹†iç|ùͨè‘ÐJAÃ$F<æû!Í\D´ /kÿëYÿó(ÄJ 1âè(Å`Tx•?ûˆx½ju kT@GÀà™‘L€ <ô~èöó!S\m «?ÿ¨¤›ußò ©ßÿÿé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÓÒ°:ÿó(ÄX @Êè8LÈÕ#P‘íüÀÁƒ™t9Úÿ1P½lŽZ8€Áýâ2K?4]'Jœ]Mý!×Yø`¹ÿÿ N˶Ë\ÿó(Äj ¾Ýn:Œª >íÓÞ V?2c9¼6HY*FJó¶ ²€¦YÒæM¬oó–GXÚ£*:ÿõ¥T/Ú‘õ}Åq–ÿó(Äu NÚ\Xž0f…¿í®²0Ÿ—~äL‰Ý•"PÊäØMü\s'%š2¶¢ìµèbEjÿÏþd2Ogibvÿó(Ä|ú.ÒZE‰gR”FBP€ 6jxÖsĦœ&gÌÏî ‚çSÒ» <Ï oozR#i–i§fúúß×ÃÅ}`%µ?üƒƒÿó(Äs næýBòŸ¥ÿ 'H1nà/õþ{œH­ €°v«ÌÕ9ÂQÊ€` hÿýrdz½*·g}îÄ_ÿ¿«'ÿó(Äz€Úãx€w­ìu•˜( « „G~¬T÷wµ)þ1pÀ åbÊ ø}ÍüïüÌ¿ÿôÓ¾;û_‚é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D¥Ó°ÿó(Äo Àžá_È0DPÍ—!o„bä”Ío^W©•2©‡õ8)Âx\ Pø'$±4¦¢‰j³až%,ym%ÍÎ&À=Öÿó(Äw ÀvÖHë]”ëú ÿ­?uWuW¿Ùl«uXØ„a«ëgÿ£úÿó=úÆMc‚‚‘©§ƒÁ{XH%”&ÈpDyBXjÿó(ÄÆæ]håG†uÿÿÿž™Œó…kwVîŸ÷ËË8S±Æž¥7g©º—™5‡Z4;u z¦¨¿au«êi„,:xÿó(ÄX vìÇ8ª>¿OY½bX5*…Ý5 ,k„¡-ÒΩõ,x±¡S€Ñôòµò¡%ÿi_®¹ÿó(Äc bð Fœ¡O€[kåG ¹l)²/™õZv©”O+U.¡C¥N9aª’dêkvò¿ôÿþŸF±¿H3Wõíÿ/,ÿó(Är å–vo[YMÄ/Al•òw¯¼JˆEÇww3swpâýΟ¹Íç! ŒA „„ž«þÓçußô$çrO%é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DxÓ°êÿó(Äy öÁ–HDV¿þÊs¡;?ôK¨€GU|/m@K]ýpÌa°cåFÒlH$$ÉúY:‚È=¿è>,Œÿ—.i¬ÿýÿó(Ä€B–¨*`ÄÝ?Ù?¢c*F60Ç„¦ûv©{Ô¿Cj”ðÏËeÅ¥x—ý÷äcâ£BBÊÿý_Kùd謧ÿó(Än Väö@F¶ Ôøçèp°P‚©Œ \ „ˆ•@ wËD¤CDƒŸÿ*t—§¥h=Õü§¹d‰ÎÒÒ«ÑÁQRÿó(Äu å–(ÆÝH_Rî.ç.!x2ÄŠ+iÄ\ÒÇ’,²²º»&w:OO§òßuH•§vˆ‰ˆ7¡0 >(«ÿó(Ä€ @>ÀV† >Tv[MøUp¬¼Žt=Žz8@:¦v§:áÆÖÓщ{o¡;:DÝ¥ô™´³³A̼˾?þ1lD¶±ÿó(Ć €.¤Fkw Dsª6Viãí ±4?åÅŒ£.ef¥>§úGH‚è1ÀKúަÜ<+ *' eó üZ*hùàé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DKÓ°Âÿó(Ä‹JçŒy$³\,æOš€h<,›h”jÿÿýB×»ÿú?+Jäà5›& . +¸"#j‚ç ø8?®0¸ºTÿó(ÄV NÊ/ÉgïÉ|.ÛPD`‹u‹ÔÎ)ÊÛ¹AHÔ \ þ MÄàø~#’PŠp6 j‰ï´-;¿õ_ÿó(Ä] .Ð÷BFêÅ÷W™™ -¬µ £é—ŸHª—™VÜ< LBä–¡t¿ÑÿÿÿÌ~„þˆ¨[#ä ‘^ ´8+Ñÿó(ÄdAÚ'Œ`=õ¾‘݉?¥LJA(+!…Xߪlz• 2Çÿõ“þG’&cÊW»©ÊöYT²OŠñMB1áôÿó(ÄJ êåáÅ@Ö”»ðŽŸûvëªÙâ \«pU"`0SZ«7T¸ËìÇÕú«û/³  Ð6ÿÃD¶‚¡¥]ÿó(ÄU 1zä Dµb+ÿÿÿ«œ º!"!»¸pôú‚&[Þ5/‘0 €ÅÄáwâp}ÿܨ¿-*„QR+ÿÿRœ¯Jé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÓ °šÿó(Äc ¶åöFŠEI$m ùÈä|!Ž[ÊGÒ$,Ä=DÌ…®ÐE¾Ô7ä$(¦@2& (Ÿ›Amâɽ fìqãmÿó(Än €F¬C^¥ü½µ“Í£Ù¶ù ¡úüÝ—ò4ˆ±‡)saK Ó^9·[fÿWÿÿÍÿ¬þC‡Î'1Hÿó(ÄwÁvÞOaÏ*‘ð“ÒvJd Ñ-¾DÏK,%wì­ÈLKKÿÿÿ+ #±åà )ð¢Xœ£ì Lêy$¨ÚX÷ÿó(ÄG @.å—ÆÏÞÒ§^rzUò€YÝÔè¬Á¶î³òÃ>Ο6JR2"w3†µözõ|DM:…»¹¡aÌ" ‚0|ÿó(ÄU F±¾ÄOàø>kþä y/þ‹OÒ}ÝË£C©Š«"€O±B"*<²âS` £%” < „ªb ¨ˆð4§¼õÙcÿó(Ä\ @¦º^F€ÚBÉËe¿´§ÿý N–ëta`<³Ù”Œ3^²Q+ÅÝPеRÒŠ2P£Pñq§ÓTBeÈèF¡Où&é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DñÓ °rÿó(Äb ÀÍ–0¿õÿÄ T‹Þ¾27«Ù<:bu¨ßœ„à¸*%O¨Õêð‚@»ÿõn÷µ ¸´U"žÝ½?åNÓÿó(Äj €>¾>FÿÚŸgˆe #˜€@"° Ã<È!täü@J±.âI gÁÔ{)®fd‚û¨g)ŒÅFLxaÿó(ÄsÀvµO0À1Ή0ºR38hóšb^9i»¡A$,ª þµos:6EEÄÿ©ÿÊ‹€ä¾_éü"ϯøïnÝ=Ú§ÿó(ÄsÆÞÿhƒÙ¢8Œ=79Ê«c;ó D†”`àvTïÿÿ“»"DÀm¿ôÿ|Y¦d PJª¹}䎴¯óÿó(Ä@ AvðÇ(%.®pb Hà‘Ü»§÷ûåäf¨¡B‰ ¨«•AÀYp9›q¢€icS/5ÿœ3íéf¶Ì—zÔÛ‡IpÔÿó(ÄN zè F…( @†ñ”,“Gÿÿÿÿ¯Z@Bmoå›Äð(Ø´»ÿ¬ú(Ëžܲ¤øh>§^Noÿ·®é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÄÒ °Jÿó(Ä] Aån Fj—ÿÿ£º‘ï@"€zц_ÏÐ Ü(×ÑòàÚ¦ÂôH6 Œ!7ú´Ôj6½÷ ±Íÿÿÿÿô¾Pÿ@ÿó(Äg ®á–@F®b€V„Ä ƒ¥Q…° ¤ªëñfš|6&£YÅå&ÿ[¬cžÊ®ÿüî°Ïÿý_ º;xÕÌ5X¤¦ÿó(Är Áfá–@Šº“Z@VPýþ,-…Œã!oó Ü}±/ìj :µRÜ ¨Íµ! Ø]?@²«i¸îà@6>Ý爋ÿó(Äz á–@F²ÉÛü¾üHuö9¿ÃƒÉ8&8p´"€@s2½ ’·“íB#„¢,äÄÁõ{-Pc£•F˜>]Ãÿó(ă A&¬VHFœr×Íp*´åˆ (X¾MÞ‘ËòËÔS< ³DÒÈ‹Œõü]½e>ÕÂR@Á÷â–ÿÿ_)…" ÿó(ĉÁVɾ x(.ÓäŸð˜ÚÜõÀš@‡ÌÚkÚŽÒ—ofªx©ÏþæÊÊq­H¸gÿÿý_½@ªLM \‡s\šé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D–Ó °"ÿó(Ä}NåV@ÌÊ*´±r·•JÕó3© ŸÍ˜;ÿø4§ÿýà`h:IÅÿá:¿Ôd"n€Ñ ðK®€ÃCÙIù9rÜ&ÿó(Äz €æåö@ŒÎwÞ^ñQÊýFCóàùAœýyò&éAô·Íú9uÿš‚ÂÐÌøQª-S¾ÄC “S<ÀD÷ÿû¯Vÿó(Ä™À¶¹v0†&P<)0†ùôŽv\j|øX¨ÿ”@>JçÕ±G(B$×âëR¼¦ÌQ0Ä¡{@…ÿý·é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DiÓ °úÿó(Ä™@¦ÑvÄ.žQÞ¬)l)v§~Æ}?Y)Ì£X¨'ÇŠÔÁ9ùýyÞÌ„KÝ…Ц'â„ÅŸÿ]Yï©À‚œ!ÿó(Ä›€Æå~Ðn ÿÓèp~¯’ `*ª übQA4ÎP÷ç Ÿ÷NG`À@رÐ÷”¼úX\P@×=ŽêX¡ÖSÿó(Äœ @ÆåV8Rªÿÿÿ)ð³Ó `è+°Äƒ¢˜— žÎ¨ (i¯3[› t¸lèÄ67eô]ºÂÿg«'aù¹<öÿÿýô5Äÿ­ÆY‹;Äý%GX¼ƒ®ÿó(Ä© ÀÞáv@Fª¯A綤Ð3铈òFƒGnœG&nS¶W¿±¼}žo1ÛA„$Àˆ ¿úÂèXà†ôÿ¬…‹ˆ}€ú ðz¨¬Ü©-?}ˆh(Ô#/@€©™í¯úûruî;(1×^fÉ7 ¸½oÿÿ–©é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D<Ó°Òÿó(Ä®AfÚ~ÄЄŒ+(ÄÖåÖç`Ka«ãå¹.¡¼~È ãÏÍêÜîÍЭ^¶Ÿu²2ͱlÿÿ–€E2…¯ ¢ÿó(İæÍŽ`LèÙŽÔŽS?Röæ75T¦üÖÿïRóÿ™Ë02·_Ëz?Gßô¨Ø—ÿù_øÉ#tðïqg§PQTi ÿó(į ÁfánQÄ~dÿ×ý ˆžŽðÏ 8 ÿåÞP⃟!ÿÔq$\±ÖöuÿÄ r ð0°Èà%‰,Î^_ÿó(ij >åVS‚ÐÏ”¸P– SÿôKž_ÿ D§XÕÐ-ÙÜÀÚþtR—ŠõçXB0¼zî:6Ãÿó(ĺ ÐÖÄ‚Ê8Y­’Œ¼Í‰T‡Ø×Xçܪ2¼ ·9hÅõ-T³µi)W¢h5ÝŠ"¨ŒYÈÄÝ”/á ž‚•Ãr¢ÿó(ÄÁ@ÎØÖFN²®!»é(|˜lÊ¢³tLyfÃD ²2I;¾œ2¦çÑT'„–`Ø@WcÕJ=»ÑT1ì+âÿŸþ{ì °é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÓ°ªÿó(Äà @®Ì¶„fºÚà9:ú*‚¨!K+t ^·AQBÝÉ@p@)µ¤øôQSx­ôÄMH[ýb¢¢Mòÿó(ÄÉVœuIIÀs¶÷²ÎÈIdû:ã˜gïý9bνò”¡Ø–j™ÙfžtÀo1òïÜ©ÄéÁfp>…ÏÏÐäÿó(ÄÌÀÒÒõŒImàIG}ëÿ]³˕ÄŒ×?ºÃWm2€Sœ^9µâx…¨iFÖQÁ¨´(ÏÁeÞ¼7¤#ÿó(Ä´ÀN±Åšùü¤¨"‘ªý—ÿÿþW…A‚Íði¨ø>X›@ IäYjΖˆ§§ETyT̬:&Ö"X‰_M±ÿó(Ä´ÁN½v`GDê@âa‘pЍ~ŸÉY•õ@›À$ËÇ͉Ú™2M^¹%‡¡³ë%¸L,ÈöjSñÌÿó(ĤÁNéVBMB–:%IìLšé󾟪Àv^×6Q{Vä?*/W§é‚r©ß'Ü“„T M‰8ÿÿüù³ïa£ÏqÁ©é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DâÒ°ÿó(Ä @Váv ÊÛ<¾ŸÞ¨%¸@XDe a¼PKgjpø,š„P]M€ Pé;gÿÌ®"‘[-2EÅ¡+÷ËÒÚÿó(Ä¢ ÀVÜöŽ œUú?»ƒ¶€]ØôQö”,ŒTmœGþúçkÎÊ:ŠÅ§ÉT–kÛÿëÿôt_ßÊÔ¶RÑÝSo^þÞ“(mÿó(Ħ €öå†Ä.KJ4€–à l®è;–å FžkÿŒqНýÔ¨R ,*Ÿÿÿ¯OÒñ,Žh“lH—¡„w‘O€ô>’ÿó(Ä«@Þåž Ä2€5¯¾göøê8Y怢$UÈH*Õ?é¯}qŸœÊew*ùÙôµ–1ìT»… ¨¡Oa˜7ÿó(Ä­†å~8‚å °@¡€‰ªAS7"#P^K¶âh§†l(Wó1Ýz±“}G ÆÎ"2G”´XL“qè?_ÿó(İ @ÖÞ>0F¦±%‚C½ÿúAÃqÝb# Ág!‡T“ R~þþÿHeÚ>†'*8îQ½ªS“¾FfõÖõáp«JÍé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D´Ó°Zÿó(ĶÀ>¹—FFgKè:ußFUM½ÎÎ"[ΣÖ5æëá´¯¸L=yÇ!^¿ Ú0DKÀXVL˜9;<õ“2ÿó(ĶAºõŒy½þX¯(ß5]ØËzæ«jV£Eœt¾¦“¨Šæ#ØŸUŸ3®®aR`(1^†¡{ÿó(Ä”ÀÞÆ(až¨'*}(Óÿÿ·ÿÿÿ,ëŸP Js¸ˆ92„q(.ÉòB÷ÿ)ZªDÖˆBJô…˜™:eßÿûÿó(Ä” @Þå^PبBÅŽ¡ÿþß©×Ñ€ô€ìxËZP;S‚yÄ‚VdL9">Õ?J-÷)êÇÓžf‡L—ߎL,0¨éÿó(Äš @æåV8ØÊÿÿ&ÿôÿ*²!@w†)­˜6kôô¨ÊGù•ÿCr™™FÏgOÿGÌD˜IÈa€ ¿ÿåá¦é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D‡Ó°2ÿó(Ä  @îåV8Rʆ_ÿÊFÉ@N>ÌP ÛŸíèý¿øÍÙÕ¤ÄÀàôWhC˜$˜„¹éI8œßì²O¥Ä]!ÿó(ĦNȶ†,ÿÿ) @À )0ð.áQ”(p/m‡m Ú¿^v.zhúúÎ1§‡.tz šlÿ^n"Ã_iÿó(Ä©AFÚ Ä~r´/µˆõnS¢q“hLùÆ­š_#©åASNiT„-1² ÿHS׿å÷ÓÉøÿó(Ä«æ8Í&$ÞÁ˜þn錛™® 5÷u=S¯hvÁ '–e[Ô#—8(Ešçÿÿý¨L¹óG_xcv3dvwgÿó(Ä® bÚP Ʊ¢Par¼„’œ˜NDÁ7´o+›ô|B…è ŽÂ0¸à¸<¨Œ$„ŃA¸„l*0T#ˆâÿó(ijvÙ–PEfÑx’ˆêøêñl:2!ì.J!lTf}?† Ìx*³…s·lðÿó(Ć ÀÂ_B$ÕwmÏO¬ê÷ô¥/ÿû»Ï÷œ:}}ÿï}î˜ÿÿj:š†Ï™¸¹ó“ É]ñ:¾³Ÿ‚"¿¯Wõkƒcÿó(ÄŠ AÊ×yj qÒ±$‡iöVµßpQœ@@e!€'¤ –,U_ÿØ0¨H`ú8•`”>lüF¼32ÃôÐŒ4M0é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D-Ò°âÿó(ÄD @ºà¡ËHHÁZôû¡¤(P“+çÿî¿òI<\“º?ÿÿåb¨ì@"AÐGg‚%x\¿¸,Cé‹’4»¿ýÿó(ÄN ¶åV’$lSt 6¨8ñ,=ÿÿþNÅèp%º;.«â‰@4$ŠãBvæ3æ°ÿŒ‚ é ?ÿÿÔ°T³ÿó(ÄY €–å^’ª´°»êÿõKP_ð:oKÒÁùªV20p•«)º>K†YY3©ÿú­ï°…¢ÄLí[“Yïÿÿf¿ÿó(Äb @¦áVÒ*ä²t Ìo›äÜßÃ!ÁÂÙ{¹"%´«žà`gÿåËŸˆ"C’à⃠yœ> —ÿÿê附„Ž¢ßÿó(Äl @¦à¶ÒªúÒh/J’ëB`\•½Êñ'H€ºÎñ1uõál¤”ó÷凭Îÿÿþ¿˜@h*j€$É Ót¡!…ÿó(Äv €¶ÔÖ0FÂKp ÂJxˆx‰áEÿý¥D@Àir¶0‹Æ•@JÒÏÿÿú¿Ý…ïÀgë`ƤGn¸ÉÎLUƒÐKH¼ìé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÿÓ°ºÿó(Ä ÀÖåVJj£¾.¹ŒõÉ4P‰Â_–§}ªWÿmê³€UÄH.³öWàšàãü# cP ¼Ÿ·pžJ6ƒÐr3ÿó(ć À^å– F j'Úd‡úôüМÿÿÿÿWd þrô&ÛT8ê´ Ÿ¿ÈÞF(±H¯ÿéùÙœ8¥8èiëÿó(Ä vÀ^ Ä*bÙå„óÍC>öMÉë›F£“Œ0¶z†ž¾½ÿ“"LäáÄ1’å¬úÿ¤‚ÇÏ(÷Ï%ÿó(Ä– ÁVÑž0Fº¯mËn¡C·ª›¿¸I?GÿDr`R$¸Õˆ¯;@‡¢ÿ¯7æ¢Ê²Ès Sć…ßÿ>XÎòæ\{ÿó(Äž6Õ–D.úÜŽkõYàêêG«R–à ÀÁÕÄÁŸ,ú“éJ°ÀKDð›ÿòÄ™*°hñ×÷/¼$¹Y¿]…N¥ÿó(Ä¡À–Õ~Pgo@d¹òÀÒ ×Ó-*.©ôm«±XÁ‡f¬ÈMûë)I8vC­ÿµùÌŠhÜÁ{®«–hç“>ìPé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÒÓ°’ÿó(Ä¡ @®á^1Ð>W˜·Bp*ÓKðj]È"”úçÿ˜­¤@`Q ‚a€°‡"rðÁG,œ(âwï.ðpc¿ÿþ0[Õªÿó(ħ @®á^FÆ@=a—*¶Ù¯¼Õ%Z!bÿõ… DÑ¿øº «–×ÿgë›Rw:4ý€B®ÿþ¥¿ÓÚ¿F˜vYÿó(Ä­@öÉv1Ä*™­Sp™gÖ=í LÅ?»¹Åbë"T-H&/2Þ/MúyfT¤à€?öŒQ{Už{(€DÖÔ¡áÿó(į¦Õv0ÄJ_SK,¶z%@*œ™{j<äïjÉ› ¯@jIõôB1âý?I»» Íɧ…M}ÊqûÕþ€ÉSNëÿó(IJVÕ–0FªYáã4 ¸”da“¶ 'zbÆI>](Ž`äA±uŽÀòK¤\…æÿÑØ‡û¿« -—«·-ÿó(ĵfçE(*®>­µFZCÚHî˜cèÐåÓßWÿôç6©ÿüì QcÓ‹4t7Àû =ÏR‡8#ÑÔb é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D¥Ó°jÿó(İvæVE& O¿€ö½xÌúñ-=4#ލŸ¬ëª©ÏûÿÃöaT®Úíµ `©„êȃ*CÿÿÿôààRã¹7ÿó(ij€>â~L '0ó–jOBA ³ÿû“w¯ö‡³Uè”8g"¨"…u,c†Ê®6Õÿÿòß00{@,p'!\ô"âÿó(Ä´Arå¸X Á‰#//l/¤vH—/ÖîI\ºŸþ{އ!Ôû0*ž°<²Úµÿéš&â@ÿ?œ†t7ì!PÚ¤ÿó(Ķ Áfåž@"RpF»âU ƒ¦`f9ÚX³ÉSéí­8h<;ÿÿë $"-VPb€„!ÉšW´‰Ž‚Òÿÿó(ĺ vÈ@Fº¸a6pšiPò‰EŸJ–…@'J»© úÐCÑZ¢í#F”i©´Ôš&,…ˆÆØfgæ Kýÿó(Ä¿ NÎ>0DÔ€ c Ýëüäe'UW·ŸÑ—õ܃Š­Í •ÿ)8UŠîá³Cë­^$š…å•#„i8¶åé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DxÓ°B ÿó(ÄÄ €†Ýž0F¦×Ô d$Ä´™Š"³ŸV—t=~M%ó(`å<Æšy/·¦›ÃÔúÎW•ž7Å9•kOø¿çÕÿó(ÄÉŽ´6FªmB§í‰J¦²SÉ¢ý:4Vê*h•¨½âFÅ•4OðÝ’X$À`©µ-tTœç9) ¤FBGj`fÿó(ÄÌv¤6HF¼%ÔϨÒ%Óì›j)².;!ÎÑöÄs—ìeiÅÝ«Yo3``S% 7T'+•)eä†H¥ÃH¥À#Âaÿó(ÄÍÀ–¬~H†f,: €ÎœjƇïK`¸E×ìÓë¢sÞ\]ÆÓú•ñ<X2°AA D(h a…¥hq5ÿó(ÄÍÀö¡HFÀƒH‘Ј,xÀ£4½4N̶w,Ÿc˜¡‚Ê^µÔþw⟴ÜÒÚíà 9l¸jÊîÅbqÎzмÿó(ÄÍÁ†¥¾(D¼PÁ@8s̰.ª&ÁI›á¡§ô4mzÕ>ÄnQÔíhñdÿI@†±1€ÁwÒ¡w Ï 9¡€é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DKÒ°!ÿó(ÄÍVŒÔxF0E-­,] )Yà eœÞ]NìÅîëÀíC(rWA‚$è¨êÿ¥L—íëÛ€,»U†[p8|mÌ*iXMÿó(ÄÌ€.ŒîHÆ+|   €6FkD`TbWé~Ý5rnPˆRíë›A §—)²ÓŽX$ H´³µx4h¡úÿó(ÄÉ@¥¾0Trà;B¨2A)p¸ìaaê q Š8VƱÎD$æ¤P¾íE¿8‘Nǘv€ CMÎt¤Ëÿó(ÄÇÀ&ˆ4xF0Á²Î·›üŒb"$ej•D§*ÇžÁâó•óñ«mú=5´Üû5@rÛ>FU3HO '²4" Tÿó(ÄÇ€®^Hh¢”<}Ag˜17^°]’¨Xñ4 >.q©(áÕ¸åe²û«I§„]~¼#·d?%Ò„'€*HC9>H3ÿó(ÄÄ@>¾0D¨\:}Õ©5/"Í>ŇùÓ?:EK}—žrͯÏÎÄïTI©£î®êþÛˆ> °u&¿‘‰`Z*é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D Ó°ò!ÿó(ÄÂA†ž^@FœÙ¿_›¸ûÁÓ.*ÉÚœ¸d:RTE@êL©©šMBQU‡Ñ…ß kZÄÒ­zžTP:Ìÿ¢”’Ò¤àÿó(ļ€Œ6xÀŸk(£p²ž¤¤‹Ba¨bŽÅ…EÓââu’2DTQ,ûº`,¿iÃb9#PE˜ÌY_2g†{¿ÿó(Ľ†^xFßÊñ"× #g…Ï jxº¡ÉP­zJ¥*¢)>¹£‚cÅ“`ðÅ5‘Wô‹¿¯þo€¢F L½+$€ L\:½â"ÿó(Ĺ@¡¿LÈt(8D ¤°Å°) 4Ed@¶¥®ú5¹ŽªúeUýÝ?%$vÍ’¶aUfî×ß¹žÚ-ÒZC¹ÿó(Ä·Æýa´W×OgS †µàD¬C }}ú¾v¥oZ™çÞ±ZøÅÿD6ˆxˆF5DFšŒØB4VÿBAÃe„é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Dð Ó°Ê"ÿó(ÄŒ@½—êp¼¾9o2èäº`ZK+%,`-*é>¬!Ñ6þá±MGд…”d02ÀÿDbE*¥É©ãLÿó(ÄŽöª_E[¿è+A¼T6OC¿OÖŸ+Ib HP1üiG#úDcHtÌ%l‹³ìÈšKßÄE”r þŽ£“ÿó(Ä‘@ÒãŒy$’‡ îêòU†?ÿÓ˜À Öów/ÔNEÍǰaÓMGž”²bÖž&1—kêÎ.QbÃŒIvdé–ÿó(Äg@†æWÏ0Ôi¡ë£@„!‘TŒŽï^ÿvmgy‰["u{Èîpµÿ’&¯·OÍ£×áø«ûÿÿå?ô~íÂüöqp*zßÛÿó(ÄiA~åWMx«tóu/(“=…-‹ ðgå?— [« –Ýù "åÿnÔƒ`4Y•ÿíÕ»ÿÓ¡LD¡è4Èÿó(ÄG vìʆ^©íz¥7p ” ©ê •LÊšQ*‚’À:…>V4²ïm#{¢Wy±AQ®ÅÝr„Ñ(*žwé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÃ!Ó°¢#ÿó(ÄR rè9F¸Vu« —»ÿîS¿ÿ£ B0X}âE¿å"ðþÝ«õ~íœ~Fê!ÚÓ¡tFêÝu8Ψ7ÿ¬ÒMÿó(Ä] Fâ. ØKúÿWŒ(×àPPß,  {_ûõö7+jZ1”æ¨å/·ÿý5T2 a@Ëÿû¿ÿÿOW¦‰7ÿó(Äh ~æDEwv”SÄA()Z›Pó¡ÓJZ|„·ÄÛŒkUIs >¦Nü“–ÌIxÎÓTî@xuUNÿó(Äq ~áGHÐã¼×Yoý6v ¬9Š~”|JN½&Ò)s"VÓTna¾VXk,DL„žþ¹+%"·8´²[Zþÿó(Äz€Ú׌Hÿöúó¯ê ˆ…!¯'Dåü-/Ò-ú\ENï§k§ä†ÿô á`ÇË¿ôÃÍ[xŸ/ËýI>Ç©AÕÿó(Äc ÀBâ_§¾¹o@¿ J€2UcPaÄ‹Tmu`ÁHYûd#:ïiBSa4D¿ÿø ÇÒʈþ,šm&û¿å –킬é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D–"Ó°z$ÿó(Äk ÖÆ\GBRA¯~zË0DvøöÕ¬<_ìkÿ¯°½y›ÂA!g0~Ú'þéÉ?ß8u¿”~&üü.¥"1oÿó(Är @ÞÙ– Í|Æ ¥$Šý˜™ eV”'W‰ZF²šóßÓ^êbϺ۪^@°é¨I7BëQñ˜Ml«YFß8×åÏo É,ÿó(Ä| @ºÞ$ ˜¦P8š…Qä'ï·¦R— ÿÿÿÿ£_Y‰@~'sËo£§¡'úW2¶¥l¢ºùq€±H–ÿó(Ä‚ Îé@*^¬LŒK³YÒ¡©/ÿÿ¯Û<89"Ÿ›±hCð¢}K»7ÕïW¯CivºÜžˆb˜Æv7Oêþ’¿ú®€É¬Ðÿó(Ä‘ €æåF ’¶¥*ÿñpéaâ&M Hÿ!YŽ}r0`FÂo¤ ^ñ6 ë4åq¤¤&H# …: ƒÚd&¡ÿó(Äš €îáNJ6"ZËЭsY¤î)×ÿãKÐ*PhÝï" çk¡ê}rñÈéEJØ×ü&ïžfV¤U+†‹é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Di#Ò°R%ÿó(ÄŸA¦ÈWCGBŒ=YÑ &ž ¨¯HÀ††¢Ð³õp;I(®6,>ó5OÁÆÛÌŽE¬‘u§ÎÏ"ÔRã=ÝÃM±ÿó(Ä¡Á²UŒHEZr9ŸûÿíwÍT\ÿÇÿùýcö3ËËÿÿÿ_Òà+ ¥ð¾GæÑ[vZ¦}Êjˆ¢¨ˆ˜ALJÝÜÿó(Ä}ÊÞõYîÌSUS¹NqbŠ L=í@˜Ý[ &ø°²ò·öohћα³¯³4f´¡œÿŒ~¥À!A@ÿó(Ä\ ÁzèÈ(è§éþ’ŽÉÿ¤!$D¢»ÉÀrj÷Št%nVs."öJ™œ2_?f5R-†âþÙùqAA¢•þ–hJˆÿÄÿó(Äd Avá²(ÄÆþ ÑtlriÈ­ß_í~i§]ì&¿}2½ûww2@ƒ{ Mþä¾H .ã•°gO ÈøB¨ÿó(Än ArÝ(âfÑùo…+¡Ýå49§ù,5CXßùmd eCG²_ÉAªyoÿþ&i¾]Àjp`ÌypêQê…ÕxJÜé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D;$Ó°)&ÿó(Äx Bå¼(ài“7Oïþÿ[—ÝÊ„œå' :{ÿ•zÿ¿‰“«zÿMį1/Ñ;4{§Ëêf5ò°ã`4ÛŸÅEÿó(Ä VÜö(âÍ×Óîþ*/ަ@`H/ðn;¾ ƒì&M•”ÚAJYB„ä(ºð"Ù‹'ÿþ·š×n€±uñ|-ã.ÿó(ÄŠ NÔö*æKFàHØF¹6϶ÏV+: ; %ÉQÿö<+ù”£œÚG¿îÿëzi1F—#Diü&a‚P0Ðìmpÿó(Ä‘ÀÎÈ6+Ø0fà`‘*V#Î,­Äd§ȉb«–é‚d¢ƒI.~W8ˆ§Q¥3SfO#”ÜF©¦Rš´i†LwJ-Mÿó(Ä ÀÖØ·HzùkµÆmTŠ =Þ’‡>x'p}\ÖÝ´‚ׯ㕵æJœHÐè@»JÖ-y³+Dªv—¸\Uÿó(ĉÀúÂÿŒHÎèe¿ñT+ÿH·*8ÜmÖ @5ý!Úo¸CÓH˜'â 0ç 9bN©€È-E} DáÑ-¶œtœN#é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D%Ó °'ÿó(Äe @Ú_Âöä0n‚Þxƒt­¼`š=){RšÝ/ï}Òž•½÷I_¼Ññpsø‚ú?ÿÿýôöëcGOe4„ÿó(ÄkNæWOxƵ%E:¹Çc Qb€a @úº3'ÿëµ(ֈȎ*PEÔY@8 Ÿ¯ÀÖ65BDÍnzÆúÿó(ÄF ÁzìÇ(YµÓ…Ò'Kº‡µ!©(¯ÿÿÿÿ«Åv"vxQ>L±L‚é?øDV—urN¢ã¤ÑgǺ ]ìÿó(ÄR €ÎáF@ÌÊoö'Ê$ºªôسA‰ñðcsY?À 7°Ü÷•@+¦£ÆÐÁ(X4ù'ÓÇOZ•l S%_ÉÕÐÿó(Ä_ ÀƼ60F 6¡ýìM_fV‹sy<(€`.¤œœ#ÑÒŠ—”ŠÎÐÛòñó‡£E¥Z¥&àý6½—R§ÿó(Äg @½¿B ³€ÝL”¿ Ü·ÌÎgY˽~M¤×¹fSoÿú' ùâh¤áos -¿Ø*„¢’ãÖÍŒC :_0(é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Dá%Ó!°Ú'ÿó(Äm€þÊ÷Œa3þ)ÿ‡ÿ¨íôõÀ8l‘„Åo…ïÏhÏÁä€.ӳƘ™Á ÷7A<Ò¥Y¨¸«‘.ÿó(ÄR Àê΋ÏH˜ÐŒ®‚àiLFˆRÍ…Ï’]Aë·Ôrª7Iÿ1€k½_`¦ßÚfô‰aºÞóõËÅÍxƒ’¡LPžPŒÿó(ÄZA6ÞP’ÈRÎÈq­éß×ôÕúÿ/gä‚Âü(~B®­ÿ~¾¼¿èüË©P‰àÙŠŸ­RÚM¿ ¯²çúÏÃÿó(Ä\ Vâ€XRÐh¾QCuâ6a¬„ñ?ÿCxW^TîtJv¶« èi€¬«Š†‹VTùíöugÿ×p%‘¥À.¼ÿó(Äi ræ 9Rœ¡o±(,ïŒ …Š DAÍ[ Ù ð€#’ž±ÜÂtYêþÿ© z¿ À7¶Ä¦‚´‡à8ÿó(Äv €žá–8DN3æeѶ¼¢l¤nd$¢Feýßÿÿý?@'0ƒ PÚŒ€còN?‡V ˆM¨é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D´&Ó"°²(ÿó(Ä ÀFݾ „"“ ‚`¨ÅƒGŽÿÿõˆ—e¡Iå~”úo× ÛrÛøM³:öauÆüƒòǯ²¡2+0‰`êÆ»ÿó(ć ÀöÌ^8L°ùµÈÚL•2˃MÞEÛ±TIg6Ê[‡¬MœDx÷m¬¤d·M4®fr&çq1àá7oÿµ“Wÿó(Ä FÌVÒ&ª¨£€„ ÀAWα~ßvl\ÿGWXif‹µ-«%ˆ aÀ9À‘d'‘=k->t¬ž”²_.(Ülàÿó(Ä– ÀF¹Æ # @"#ŠÆãîġЬEQ\aaáØNcó¨è©—5MÌwcõ«ûgþ¿ÙLúm¹†7½¨ßÿó(ÄšÁ.­ŸG(jU_ýÿþÃEoýc©gxäOO¾3´këDzw{˜p6DM†?åÇ™BœqÒbpú³U;ÿó(ÄšÂúÂýŒ8Èø²¥ÿH ¢èû;[Ö}É*<–ñ¸|ÅŒWHcÁtäø¼"-3?•¾89ƒ0G:Ö±öŽ0ŠjÝé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D‡'Ó#°Š)ÿó(Äj @ŽÍÆÿÿÿ3ãõ÷p¿]—R÷yWx@K"ÞÙ-ú­Ô¢ ±’Ë& eÈbóøwÿôlš6úÏ F6Ȉ’ÿó(Äp€¶ÐºØ%€ÀPŸ.¯°n$¸ÆÂõÞœÖ'y”µ +„«£hÛri¨Æ+ȹW§ÿÿÿþŸ„)ÇíóH† ðnÿó(Äm ñnáH:Dí }±œœ~½;÷ÈŽ S ¨ÕÌê™Â3¬«$4uP8¸©=oªPh c€YÜ©4Ήà¦3« žjaÄÿó(Äx nåæ(JêðÍ~¥)ô$ˆ»\©ÒÒ_üŠ,©tmÿòÿ!ü»€²]®ÄË“ ˆ¯.ƒ pè^øðYîXiÁ×ÿó(ă AváâAFÕ°SaWK9Ò®Ý&ô-^þ0ÍóˆS0ÿÔbºÿ‚w\fxu†eV§’yö ©ËI|¼òÖ6&’L£Œxÿó(Ä €îá–DÎ>K0bÌÒAÍ@¦eœ¢²Ž™¸L÷.táuœh€ÿÅ“ùßWìkû˽2?©æþ*ÿ{lñÉ$€#ƒ'é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DZ(Ò$°b*ÿó(Ä–ÀN­CY`@)•† ë°È£±ï¥E éDq¨¨ºA÷éoël þʈ/7%ÐC€Ù"t㹄JrVÿó(Ä–ÀÚËŒ0.bàŒ²p˜hÀÜ©ã_§æfl’Égíˆb:¼~ã‘ßÝ1 ¤‚ BÁ¦Þ#QÏÿow­ÂT@Fÿó(Ä‚ €Ò]¿NF0ߊ”ǨÓf«H§÷3Q©Ç94¬ ]h? ÿû.TúÞPJ ÿÿÿÿôÿ0¤ +M{ä×AÍÿó(ć@¾ÊTØ„k- $qs¤7Ð4ÐØ˜Šb§j?A³ÿÿ÷Ò³ÌWpè:Ç w<²4Db‡¼9>¿[üûÊL¢ â‰Ušÿó(Äu ¾åö)’È®ÕCUåÙ馿ÿMt|{0ár‹¡#Ó&OVHZÏÿ›”=NlÚðéêQª÷fUX|3DÌýšÊkÿÌèáÿó(Ä€ qfâDÍJ§òÁÓ³¢T¢ïÿŒq$ÔÄe"|²°F$÷g2v@ÂNDD'b)䇲BxÚ®’>ßRö•!¯é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D,)Ó%°:+ÿó(Ä Ánåà ʱžrz~ôŠ‘R›,òí¶2µê&(ɹÃ÷ 0Vãp©ç ŒX¨‰˜,LÉ„°$J Twбjÿó(Ä™ ÁVÙVEFS$”¤VÐçjì º·5$½Ž+_ €»\ÿ€:¦ÙÓ³uèP”Æ^ûOXÅž6Í:,¥Óo"ÜØ¹¿?ÿó(ÄAn­vPDœóú2ؼ¬úÓh»X5O±¢„]’€ ¯¼RÝÿ}gM˜§Z(!G8í³*Ä™?›ƒ½ø^ít»ÿó(ÄŸÀ>¶Fm!´çìr)GŸ Ð,õÿòþ[¿Ó¦ä—€!Ǧ¼u]Ä®¡•„²æHwmV8‘GÖôü¼§ÉäÂYÄ$Ïèÿó(ÄŸ@†µ~2LD¬T‹ßŒº†ÿÑÔ%Ô¿»à`L9š’ËÊT0t¡ a/ZvÑÐü­G£‘‘ddèhƒ&Ÿú ÿó(ÄA6À¾HDõŠÿÿÿM­ï/_Z£‚#“!H¶?^š Ð:AfÞ€<B@âÒæÞoú[mÎÓìr^­,Jé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Dÿ)Ó&°,ÿó(ÄŸA&Ý~ÂÖYáÒJ[Öu/Ë£‰òPY¨þÛY­Tš*jüý¾ëm+´fá°`ÆÜÀ!·ÿ™+¾óÈ”õ‰™—ÿó(Ä¡ ÁÝ–FÆ­bÎ&Ò·^Cæ„.T^­ÝJ´éùlÝR?j%HèŸÿH’ev éÜ_NHPT0¥NSÁµÿó(Ä¥€NÉ~FŠ(a$~´ÿ)Š>.l±ñ3˜qå™8Ƹ¡]‰Ä—5qí€Ñ#Áu<ë^fà•FBFWr˜y”éè/xEìÿó(Ħ€ÎÁv*Nqš¢P_bo¸,ó×MÏkpQÀF¯ÖãVó&—*ùç)éŒgÊ©(ÀѲ co;¢¯~)wÐ×°›ÿó(ħîµ–B§–Õ‰€‰#'ûÐ]]í¯¥D·›±gÕ‘Qµg¡Y/R¸¥w+#iì¯r®¿Ðb³ãÚÆ)Ù]Z›17Šÿó(ĪÀž”ôHF͆˜Óí¦ú¿ ÉPÀ[CÅI)ðÚÜ*M鮸X2*¡°¡À a1ráHsl{GÙE:öEné‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÒ*Ó'°ê,ÿó(Ī€æ•”XFp.â©0ÝÆ߇&D½‚X»º#2øonŠçf×SïËS¢²:êdVªP†ÚôEÑí.ývØûq’¤üÿó(Ä«Anˆ.`Ä0û ¾‰·ì÷VG Ah§¢™É…& Ë+S "rí‰n²ŽFb«JŒ³û§W{å½Óÿ´á éG޲Ôÿó(Ä©&Œ4HÆSÞÔGÛs?Z9l²ú½æ&gP:ôþêlĽèqˆ˜€Y΋ 2÷ÞŒb…‰¾|‚R…¯ÿó(Ĩ¶„,xÄjR…o‡©èL4ÆMUöâ•Ô-à8|¿x»’6Æ9µ &K<Èj•<œ£ D,Ò‚¬¿¿v97ÿó(ħÁ†ˆ4xD<¡Â1{Æ úÏ]ï æ×-–ïëû€ {|㌋ÑC)CäàtÏ>t¢J´™êùX3çÊA·²/ÿó(ħ@žŒôHÆòì5:”M!­=BW•^„•™p¤ ÈMX &†dàö")…¸2YgЛ¹òí5ìÖwÖÇ!‘ŒÊ¶Fï¿é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D¥+Ó(°Â-ÿó(Ä¥桾@FÌQãrßǽì](·|µK¢K@°<'dÐ0£T¢Û¾Û,ÖÛžYå=Š:±ã€.(KÞÀšÀÒ”ÿó(ĤAN®^D|)¨ åNeŒ²×Õ¹lB(¬ã”¯n²KŒ®€N<Ï ©Ec€!å Šƒíuy´½é›…!†7ÿó(Ä¢Až”xDïì—IÛÐqä@êM§ Ž¿W 5‹” Ù ð9ˆH rJ7½4$.\š‰‚ô¼Š ¹"L;ÿó(Ä €žˆ4x† #f²ßiÜN ÑXtxºœÔ¢8¸¯$ZF@È3‹]Þ3e"&k%AgŒzijîÇöÎe5zvy/[ˆÎDÿó(Ä€ª^HG>f‹þCMš¤z…­}© TM5ž ¯FjK€*“È„I!°Ç]w( ¢ˆI^xˆøºù’&޶æÿó(Äž@”Ôx€IéçÕ}ºrøÓ·ÒwgˆÖ¨òJ.bø¼ †ÊS¿óú¼f rA0a1ĨcÒI†–Eë {“Ï:é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Dx,¥)°š.ÿó(ÄœA†”TxF<ªÒÇ%na l[{…PßÀFÑ[1È_„g†k÷³Iª`L`!Š@$VƒäæÚ $= ´~A±[jÿó(Äš@~”TxD•¸Åt^æZŒB9L­ 'g‚$,R»ñ•]Gÿÿÿõ# ®mÐ>ziG1am"Âà z%ÿó(ÄœF™•I™ów›ÎOW?DóD)CŽ‚ÜpH0H@NÏr›áEé'XC€«§W¾¾Ï_«›ŸöÿäòXlš$"ÿó(Ä›€ÚÎõ‰I Èbü“Ynoÿó(ļ>å– Ìòó}UPr¤J eq# x¤ùÖJ»X4ŒêÚݤ¿žú¹ @©bm½„€0̇!Oˆ.¤H$ˆÿó(Ä¿~áV0J®(Êë‹ï†Ú:nà¢O–M •‹þ\¢÷‡iE…¯–%iEž™9±4RJ!9¸[#:œQpq¡ÿó(Ä Aå–1ÆZaÒƒæ~+Ri•Ù¢KT7^å³Ô¡ uÒ›ö³•̶f•Ñ¿Gr0"˜nq¤Íœ°Ö“wôl>îé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D–0Ò-°ú1ÿó(ÄÈ@îå—H"Ùm1SŠÒ‚ß…@‘@”«¶¤dqCÃ1§]ƒ8‰0›Û a¢bâíR[®a´Tó-ÿÿó(ÄÊâºMŒ0¨ü;å–áÓ–1ìåú_Äkƒp'P“ÍÿèdI³šoÙ¸ª×«µvöÝ&Ç'ÿ —`»_{tèúÿó(Ä©@þÞÂΗCÇà–4å·+ó+õe„%BwpAŒ*Bê¿ÒSänð‚]×>çKã(6“ü]fÐúô$Ñ5ÿó(ħÆÅ¶HRõÿŠÏ䀄ƒÈçêþl΃Ô€Ux¯éO,låÔQí?W]œúbòI—zXy'ÙùAQ#Â_úñkuÿÿó(Ħ NÔ6@B„©’€44Ð6˜…TxÀ@$ÍóèUà¶oêÒË¥UT<@ χ6ºNHs켯Ñé‰]×8ÿó(Ä« ÁvÜþ0FÚ. g×)ò7!¿@à÷ ËUó´'Qò”•†‹F—š¿ß‰¢a§–DD ÿýz?ïZ QªŸ„j¤r€=Ú<é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Dh1Ó.°Ò2ÿó(į@–Ù~ Ò, ¿4ûˆ{¹îJ‰KfŒcd ñ>‹¿E¸±'û<P ÒýȆ:ì†hW„Q¤Pix­:‰Pÿó(ı€ŽÝ~Æ€@L@²ºTD4B'y»Ì‰ä#Ñ‘Ç2‡­+$‚VzDB—ÿÿÿÿôÿ]çÈú»QD2“Œòzi„ÿó(IJ ÀvÀZJd:eŸH^À‰@” 0©µG¢éÜoeØÿ.˜!é¼ 0Â>òÚ“ªt…DÑÍLŒTŒ¶¶ÿó(ĺá–@FÎfL—˜" €s€PªKq0” ÿùcÀÈÐâ[ÿÿÿÿOˆ zõeêc"H!åËÅÇ5jÄʼn²Rhÿó(Ľöåv† |ô}@u»âàp Wþ'¥‚Í„a¡o%A[›ðŸD¹jš¨¤%”ºÁ§ÿHsõšýU'¡sZ*úÿó(ÄÀ ðîè ’•zª;²µ APÑâ ©æ,‰!¨”ìEÏÿÁ£Õ†¤¿Qu[tžˆrWzŽ$FL€¹´‰aÀÂÌ2]âé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D;2Ó/°ª3ÿó(ÄË€ÖåFR,Bn*h¼ºÅT䉀ºEÒ²r®(Þ°‰¤IËÕzu½2èº2€¸Ò{*ŽxÈœ ¦á £Ò,9ÿó(ÄÌ Âåà(`Œñ{oÚ½dV?`‘úèfÌÔ»UDÌÐî àÆ$Dô„³Ÿ¹ÿÿÿû*Œ=ÿWþ·ÿÿÿý­ûŒ ÿKøÿó(ÄÓ@®Õ^Ò6[ʇpA¶ãÖÏ„¦fw·§OãEc"RÓjŒ©•1`ÍaLðr%®Q='ùÓwÑÉ@&Px;Oÿó(ÄÍ6Ð×Cà^[ÃJŸÑKS›®i 1³}<Áœ¾U-`²‚d ÿÿôËhÚÝ=ò؆‚¿Œ€^@C|¬¹&`îÐÿó(ÄÌAâxH‘ rñ«rª|È]È9¦ÈƒgÒ@"—ƒà|ÿÿWÿÿË&€€}ÞÞ<„P‹€ešÀžÿó(Ķ &áAË`AÆœ}Ý9B6„@€¸nA4±röb¡ BÍ?ÿ_ÿÿúÿØ08 ï Á Ã6ät9YiDué‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D3Ó0°‚4ÿó(Ä» Á&áŽX†¶¾8?Ï-¨¿ŽʈÆ\-¹noGãæò|ö¼º%/ú?ÿÿý?¨€‡–2KÉ(pJÃʵþY¾ ¿$ÿó(Ä¿Æá–1Ê‚Þ䨵êÜUsLÃTÔzÚ¥NÚðV·ZÒ®gÿÿó±VÑ—{P.5ãP„¼eQ"™ano7_1¦#Jþÿó(ÄÂAnåæJ„¦¢rµ2±!¹OÉ{¤Q¹ëRï~§8ZÂT³\²? $—[Àlj^d🌈úuÖ2C(ÈHuðèdÿó(ÄÄfåF΄èl[»°8>àùsõ 9ë­éôÔ4‚·¿è¸˜`¿¸‚°³ãê´In=z XñÅ…Ïy§øÌšÿó(ÄÇ €Þà¶ zqÍ2áGä2t¹£. ‚dçaÜVÅ0](:§ôÿÕ•$–€mÈè(fCÒÚ’m½:ØÂi‚ã,ÿó(ÄÌ€æµvĦ٣[Ö¥(Ì.AXwÿÿРñ 7gÅüVZðØá_0•(Y-ï/œÍ aW«KÛ¬ÅXê©1)3–¥÷^é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Dá3Ó1°Z5ÿó(ÄÍ6¼vF¸­†2Wü²áà‹FZN\ñQ—’õ)KC•Jñ*š‰É@"µ;†º7 (Æ!¤lwêÛ$±`ÿó(ÄÌÁ&Å€xÒ̸˜(µ 0O÷S'SWuíµo5{Z‘µ³- @Gc7ÂÖøxŒ`3ã1.å¹`ŽüT~Èiÿó(ÄÌ@öå– ÌššÀbG =âº¥ŽŽh6°à>=Q„ÿÿô“‰ÞŽºøÂ…ô;ø‚C“€’àKöOÖ ƒ·è­ÿó(ÄÎîÔþ8ÄZé8Q\arë¶^VYV¹Rˆ “ÛlÁCýŒu׸ÿþS¢CMÿ_ÿý6t€° “ˆÑéÁ¦y5¦Cÿó(ÄÍ@ÎÈ^8D^“ ÎÅzØô*ÄúI.:„@qø¹˲ÃL…?ÿÿÿÿÿ¡òŸ@£ Žú6œb»5„W…ê·ÿó(ÄÏ@ÎÄþ3Ød%³KãÝ:éºm`ìµfÀXŸãÏb6÷.Ï8h¤öõŒ /ë>¿šˆÀi¬k£a’¢fåÜ9Ù`×:]é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D´4Ò2°26ÿó(ÄÁÀÞå^˜­uÇ5‡gãõØ%GÊ6Éí4´’‘x8PÅ›fû¿ÿÿõSŸÀ~-à†¨­¶Ï£?ˆñ#!«*´¹fúG]ÿó(ÄÁ@öåF’f‰P³SUéÿÿ¶P,²P&iÞàÊ7~ó?b\`‹ÙºfcrÑ]$Pp«lë&•r(†ßÿó(Äà Á.áà ТuêÞm–iW’iÕ-ifžh³e][íGÉ9òÿM¡j\!”Á¨sÀ,2© ²—$J–ÿó(ÄÇ €ÎåN˜0®TóᤀñÖ•Õ©õ˜-J–KýÐÊEú€ac 5ÿù<“HEÓéõ ÓÉf~HŽï½çñ¾îÿó(ÄÌ€¶åV’$Uøìòˆòkô$ÿíø|N……Œûu ¹†&@‡½@GlRÀBl@³ŠQë[Ô€õ½à€€ÿó(ÄÍA~áV8FþŨ✒¦…-\…éqÅÿàÖè–…2Xë IBOWQÂ7Ë€#9Ú…mÒÞ†3 ýíäóÓ.F@Xé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D†5Ó3° 7ÿó(ÄÏ@VÉžF•ƒ“…žÁ¢®ú˜>dDÖ­ƒé7ëˆkþ‡®šŽÞè·Ð@\˜ÑÙg©þéïzƒÉõ«ÚÞÕÂöR´,bÿó(ÄÍÁVÌôG`0‡ê‡ÚƒBòìÿò.G …ÞûK Þ½èÍ-™?ªƒ€»€‹ç7mç)HàJXk\ÛûÊ¥c4(óÿó(ÄÍÀÎÖ.(DÌ b‹%ÁGÿÿ÷‹4%wT>ò®ö°ŒYAg¹  _?àêõ»ÛÓY2 —ÿªšÈ˜>O0 ‹2ÿó(ÄÍÀÆæAFª¿é<_Ï«5·pBF¹­§ð¡KjÑu'j¶¹«jc@æS«ûž ²J¤GIåÝ¥ÿ3’5çÿó(ÄÍÀöÜÖHPÆœR‚›¨}éÅß¿{ÐÑö[7ƪO>ž†Ð7¤_Gö™0L5Kš áȵp@°™ÏYÕ ¹o“ÿó(ÄÍ@Öå~0Â. %åíQÉû JþÆL0¥ bŸ"çEƬ>´ P„ :Os‰¹„:ç¡ä'}ä.ö¢é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DY6Ó4°â7ÿó(ÄÏÁ~Á¾0FغÜÿú sÐE,úQ„ÂgÈ%*«oøZ'p÷SaE*ßY_-OÈ ÐètI2YΠ®Ž “Í/nå.ÿó(ÄÏA† ö@ĸjÙŒ¤5èÕÔxJxL •zâ–ÿûÍÔ bÓ ,åM‡r;¬"‚í(!мöFsÿ¦Ap¸X0.‚…Ô?aò–R›Ѩ»þ(M–kJ%ÿDܱÀà ÍšÎIÂÜÏXfN¯y\?à-ÿó(ÄÉ–Õv3"ÂÆ’ШJ4E )îB_ÿøujD<ò¥¬oèoÀ¨pµê×G' QYÞʺaÚ¢:B4ÿó(ÄÌÀVÈ6õ?²É|ŸŠ!ÔQ†ŒÌÛd¹H€qÿÿÿ̓n§ü¯à[™åàra|0 SÏ©æDËÅô>·£¾Ÿ›Ñé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D,7Ó5°º8ÿó(Ä̼öFŒ9Äçª"â HÏîÿøý©ÃëÔƒ ŠGdP¢@p+²ë‘¹JÁáA’»Á÷Ê¿îY½ÿó(ÄË@¾ÂV ôÑ÷vs!€ ÌÍÈ¡bçI‚Áad£'gÿÿÿÊùOiNTö8'†éŸy¹óR£U‰F y³žûyÿó(Ķ ÁZÝ»Çþµ<îwž§Ý>áöî"îëþ/¿¸®î/·Kî6»þ¶S?þ%$ÎqöÏÌJIŽÒDØ#wÒ¿ËŽÓü ÿó(ĺfÈ÷C€dÚ“wKÉfGÉÑ;çgÜyW(TÊéž…}þ÷ˆ‚(`kßm ÿÿþ¡[ÿ«vnÐÀ ¤* ¨Jtÿó(ĽBjçY$J×ø*°U@Ñ`h°høI`UÂQ-2ϸJâÇ‹‘Pwcþ:Ïÿé$›à {Ê›h@ú&qé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÑ8Ó7°j:ÿó(Ä{ îÑ—Ë<@°²‚%ÀAßÿçüþ<ùwá÷hŠþü¯€5€¥9¼‡<ðüYŸ3+•^:÷ÊB®h©ÿó(Ä‚ &àöDäjAŒñ#Á gýºêkEÜÿub†ÿÿþŸÓHR’Ù.Àï€Lq(m{üÙ[õmº¢+_ï“fb"+ôN‹ÿó(ĉ ÀFÔöLªª;õûÕ¹_ÙŸf¾uªûþ^îá–j0Ó6R€ î0AnJì°.ÄdÉ+–ÍÒø.‡Üd\uÙæÿó(Ä‘ À¶È¶CÆHG螬þPŸï`˜,TÏ÷‰ÕfƒÛàùOΈK6ŒæÿÿØ'þ¹°D‹ â+„Î9#cFÿó(Ä™:ná¿E’Aj¶ÇüsÛþïŸ^[ÕUzÖòßÍN§$€± “ö{ìöšÖßFu´§L¨á!þp`Yä˳ÿþWHÿó(Ä—ÀÒÞ7IÐ ÖÿDK-­Ñ`î^†2¾ÄÊíÊÚ&¯ý^áK1ýKª©>fd¡T_ÿÿÿÿõÿk\JH<È$é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D¤9Ó8°A;ÿó(ăfä×Ë0ä×ÂŒÕ ë$¢W©ðç_X6â¦Gcˆ„°lPˆ,ÿÿÿýí/涯€2Y]¼¸fh)¢È!ÿó(Äx AfånX†ºÑ½Í(©Æ Á÷Á÷OËÔåÏÄ Yÿèeè«Áðü£”Äÿ.VpÅpä`u'h@©çú¿_ÿó(Ä‚ NÞ6 D í#¡Â [æ¼ånÿÔëCC.hŠtÙ&ÿý?&´'@¬ÞuÔ°Ò7}PȾ€´Ž§?/Ï#ÇßWm>ÿó(ĉ €.æ^ŒUä?‘Þ —@kÿI¯þ½½€‚™JW£eDßx¦ûÔ.ú?ÙC>­X#E´KUöÙ*Ç»ÿó(ÄŽ îæRD2ý ž;E_‡†,±ÄWi_24kwšà=”3à™àÝŒ®Ÿ"Õs9)r’» 4ùãu©cB xb “ôZÿó(Ä• ÀÞâJÎb† 2É›qÔ%XúÙFŸ‡q70£áÙb($Qò&×<€èHyÓ¨aWzåK 8èˆé#Ú¨“Cé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Dw:Ó9°<ÿó(ÄÆÞ6X–q-ª‡ID¬†µ†²UU±[Àd›`ºÓEèj(@À{쀆ÚÂH:©d±¦I¤²Eu" wÿó(Ä €ÆÙ¾À O£þYu¹Š×™xi(øƒ+n4Þcq,ê"ŽJ7öÿó3<ó3´ë»¿ð‹â;üˆœˆˆ„ ÀLüâëj nã×úÙÿ–¿ÆtL‰3 ñ@ ·d‘:Rb4'£ÀC“ÅÕHm¥UD3²Ù‚¦1AàFÿó(Ä¡€N´^BLÓ•ŽÁðz8BÌÓ:‚ ®šdΡEH7›™5ﶤʡÞþ‰Äð\¹£Ø£ Wþ.þ:žÏ9éTÄÿó(Ä¢ÁVÈÿB¶œþÿúãÿýËG€"´â@®âBº“·ÿõÿÿÿþ…ÜÀ#Š ±@Q„Å÷m=´]YÞ*?ÿó(Ä¢òJÚyXfCù| HžÄ1Åðƒ¼`{Aßýô©®BËÉìYy÷1oI½©l+°J±%úm–ê+€ lé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DJ;Ó:°ò<ÿó(Äi qÚåÅ(…ˆãÃï2ߤŽ4¦Œ$=?ÏsG~OBðH¦B ‰ÿý Mÿ× ¿@C€»ò‡áF…§Ø7þÍÿó(Är râX(G(˜~½”Ó–ER*ÿB6 †º 7’Oþ³âÏ ·ÿþ¯‡Z׿LBcaBÑ›þ>|–K7*hD¦ÿó(Ä} nÐö8FºAh„žñS.²åŠ$,_ýUfd¨`ìÆ±dhØ;d Slç·Ù›1¯QQµýY™›ãWêÿó(Ĉ A.á– „.Ÿ½›¡I`¯ÿá¨jwÿÿÓ 9Ó;ÀµÍmy­ýºQ&’\¹ñ”`•ê&Q¤§Òãѳh”Dtí4 ĪS¾ÿó(Ä’ Á&åœ8F°ÄUXf‚¬Oÿ¡hÄÿ+€Dp ã½`3øË\ÑŠ³½½1 (ƒ±2ˆMƘ°&ÄqAÀ\8&9ÿó(Äš VåŽ0Â&?ܦçh*ÿöÀ‰S•MÿôÿHA©wjdŒÙkŒ­[¶¬!Óó^6ªÌ*Á!AiRé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D<Ò;°Ê=ÿó(Ä¡@î°vXF°$ɇ–IdVû–ÑþeÅÿú? Ê%`¦M}pŒNt'g8· Á¶8ÉÚ>šþkÕ¤8 ÿó(Ä£€¶¨HL8¼Ñû¾€ˆ½·q LõT>š|ºÚGgC¹wè¿x@ 6N)¡Ù®Áð0Ñ–ëZßýöŒ—}¡yÿó(ĜF·;ó¶}d¤PÙ,ž¾¦qÑc’ÂÈ*ßJD²™8¿~„è#=úÓeßÿÿë@ËÏÑñùêÅ9H>^ÿó(ÄŸ@žÁvKØj¦©l[Q+,ÊïQÚw¶v›ï½ˆí°ì [¿8ªÿˆg]GÚ> IÜb½_¶nÛNÚõå˜ÒPÿó(Ä‘và+žšf ™Ì‡ìÁ|çÑ*Ûvªi¦€AÐV>-Ê ¨/(=z÷ï¤/,„×PŠpãÔÆZJÁÅoÿó(Ć Afä PŒ°-ÝÿLò‡‡Š;ÿÿêôø2Cð<^Ô_Î>%æç°£¢újùNšrºê“¹3o›QéŽÛ©ëÄ2é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Dï<Ó<°¢>ÿó(Ä Afá@R`ßþÞõÿÿùv¦„ÿ| ÜOù“Cœmp¸7΅«U³uj ÙîzlõX£Áuì¯liÉ^Ïûÿó(Äž Á.åv8ŒÒ®šÿÿø­¯ ­/¶!K‘ÂЧ#‡’W­ÈYØèñWeч‹p+©‘b3É%lò2´h<‰Úî`vàÓÿó(Ä¢Ùvj˜ÐÌ(EÉQµÿ Âè 64½­!,\xYž8š{˜»ÌõJßtü0tXÚgîNµ3÷çY,&åÀ‹(–±ãÿó(Ä¥ ÁÌH’²X :*‡ö´©O$ˆ€×ÂU©å¬ÍD'x™Ÿ÷ß9ÝÖ„©ùÝ䑎@ è(‹ÓU Xõˆ E2ÿó(Ä©À>Ñ–L}ò‹ysö«7—zrÞöý€Lz 3P¥z¬^—As'&r`ð”ß,HÖ ÐyÏXŠŠH®ÿó(ĩޤVaD`"c¨ÑûK³836Ãq³ ’#J—Žu]ÚÌf™¿6‰¼„¹à,Nù»™EÞ·#‘_ V?×I2ØP7(Ì÷¿KÜŸø•à‹ÿù`Næé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D•>Ó>°R@ÿó(Ä A>à¾(&.Ø'ÓCœïqð )r9NM‰ÂÍÏÀDoŒ7Æß耕È=…ñ-_+`aLuƒ=¿’[Ùÿó(Äš€~å~D&/`뢙Ÿ³“Óÿýr¶­Ë®ê8L£oû†ÃÕáÜýcÅ«×^š¶õŸÿÿæèF1$1}Só#ÿó(Ä›À¶åžFjy¬¬òÿša¡[ÇìõÿÀ!—?àl´}Eüûƒ;H2[Rrrxxp­W[&BîEò PUE™[6¶¶ ÿó(Ä› €¾ÝþAFÈxK’¦ÿÂ3ÓÊ« ƒ[€!!ÚÛ“B¢d¬‰«èó¢€Ò³ð¨hBåe kqÕ‚ª~ûèÿó(Ä AîáV[Jjûj[X÷õß †zVS×5†ÜT›âW”~Y(Çñ  Ð"p›J ‰›bÅP|’Š%M±ÅÃgÖ¯=þéÿó(Ä¢ÎÐÞXFÈDœ:9íVÊí¥Ö‹ËQw(YµÖÉ2"—@¦… $ƒs½ój}âÀÔ¯) BnFJ!Eò2x= é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]Dh?Ó?°*Aÿó(Ä¥ÀN¸^2D Ó“J±‰fR{Þ®úÿ±3q#ùäºt­wÜï÷;gù_s¾Ú¡iN€ø¸G† œÐáit”d€ ÿó(Ä¥>°H»*C‡¤§ìJ‘\¹ :—wu–è)@9²_+(`‡[s}ˆd"W`5~î”+)g=jõûEš4ýR)NÞ¿fÿó(Ĥ€úâïJ øÎÙ9n‚|­&¯ÿ’&ƒ/â8BÆ?°`ÄãÆLÀ²v‘´lï«öõ]Ûsç9ÙÚ]åÏÿõÿó(Ä Í—ÆDG?y .êNhƒÎ-(¥uºž•AòŽUÕžU‹Ÿ…B-[7$°< ‚ÁLyx …ÿó(Ę Š´L´ôðéÿP ¼Œ)g$×´„õ–þÛQy›âÜž²{<3ƒ!ÿÿÒÕ @y$—¥ÀÀ÷ý·ogÿó(Ä¥ ÁÞÞ Hÿúÿ;WþkÃ̾ Íkÿò•ÿmmùKœ•…¢QÕº8.`ˆ«&k‚+0ÕØŸB´gPé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D;@Ò@°Bÿó(Ä©@RâT+ D± U3¶ü6€]¨œuºžÇT¹PÎE9.ÓÍývO°RŒc“Qu·ÿ貆#zž¡`ä ¨ÿó(Ä«.æ6@†r‰ÐG¹¸-Dî´únåìfªj­­•…1ÿÿÏœƒõ>&"Gþ•ØT$tJ`hváMÿú¿»m@§` ¤ÿó(Ä® A~Ñ@Œ¸cj(QÑ>)œ¶÷_†ÐñÚ>0YÁzž‡‚ª•´« 0õV‰z¥\ÔíÊëôšýà ›ÿó(Ä´>ݾX¦IªÍ†Ü:=±¢ Ø¥Ÿ ‡X!V9fž\TºfCpÉŒJÓ ;8ýgJŒíÓ)R+Ê U9xItˆX“ÿó(Ä·Fɦ†Ê0’ÀÑh‹+@Û)Ñ,·QÂø– ]I– ‹„¨/Bæ<£«Žˆ£©ÿ÷ïKnyïûÿó(倞¹FˆâÿY`&|.Êø~ 4ßþ³Œ8ïûYùŸïþ" T+Ÿ—&R4î |»5MÚ—eòîæ3(—,ËœÁ é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D AÓA°ÚBÿó(Ä»@Vœ÷Ký7Wõˆÿ6Z÷z­¾x’;ª{@˜œ–â“?¨jœ¸"\TF°",h6«Ü\h€XU‰BÀG«’ ÿó(ĹvçŒA$Á#ÄOOyßžÖëW•+‡Vã·o•OÙ½¨D˜d©Ó’&Hxxå1dŽÐÀb¡bâJ–tÚé6¶0’ÿó(ÄšAnÍŸÃ,X ó̧äX%gEÃÇ»â"¯,oµSvëZ·–Ú-`p»«£ÜV#gt•Wƒ¥¦B凰ùég5ÿó(ÄœÀº^0H=:ß#V lÊÅ«EϵKRmd)ë`D5·f©Z˜‘ éà‰°&—˜ !ƒ2ë&M X=-d>ÿó(ÄœÀ¥ž`ëÐMi³Êá/(ÀÕ4Î÷ÕZQuÿ:«>”£q€ÉEé…Žn]å– `©0¥‰ K  ÃHSíÿó(Äœ@Ö®^(F\Fp‚ÞeÇúkG÷_lVƒˆ ¨iEÿʈjÇ “aØýx,¸ˆ s&0—YµC6Ý0¦0Ù¦ ©¤¬é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DàAÓB°²Cÿó(ÄšÀ6ŒÔx‚±ˆ@ák[«N|}BagÍu³öµÈOÁº¸*HᎢJFH%Øw²Ì¤z}RúdNYyÏÔÜð¶)‹ÿó(ÄšÀ†”ô`F `Ø®§”°æWØœXßâìÅ?"¿q¬€$30 A2ÓU7z‹È z0dq£úeæÔófÿó(ÄšΦ^FgôèÁãëŸ"“ºÈ>¶÷<@W æã¶X®€2k ¸¹BÂâØJvMc†OŠPµ‡ -x\î†1Cÿó(Ä™A™–HFØ–œÑ§ïevEÅ® KtPR\g*ȃ³Pä!¢ÄaáÎÉsÃäÈ(Â+TQ©#8ÓLMÌ>±b-ÿó(Ä›@™–H4s{#ìN.‰ÑQiÒ†qb CÐ+=ã?¯F¨"²k‰FÄ«]HÖÉ)@-ÁV :²‡Nœ‹-¬ÿó(ÄÀ©¾0Àg¶j3È­5qd9+f= CË©¢»2¹¬—¬Ú€ K~eº™dÌü yäÏl5{?™‘!3lm2lé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D³BÓC°ŠDÿó(ÄÀ.ˆx†_s<Õ®®íÐ}®"¤}O.` ¸Ç"?¡´Û׫ހ »&q½æÜU(Õ"áÄB– ¤š¬ -¨ÿó(Ä™À˜Vxa°Õ—aw‹ˆ¬ze~” «ÅÒÊ¥³(¯õjñ/eªá<ÀðÊ>Þþ;‚0òi a“Éìÿó(Ä™A†¶^DØM£?ý£…¬­'€93à€óåàþ¶±m÷Ýê=îÝüA8ud•X€š€ÛP¤Ýÿó(Ä—€~˜THĦN¥˜fä'«ÃÄL8“¯X Œ8¿Cm´³œgLit=LÛP{¯ÁcrpÛÇÊÕJ1L§mìíp–"­ÿó(Ę6©—H0¼Å²¤]LòÓ݈±µÛšwTµoGîr@¬ʪ˜ïO½ÿÕ—Þ±®¯ …Ë…qŽOJ½ úB¸¿êÚÿó(ć!AÂâç™y.„kîS«ó½Oÿÿÿý cËa*"A *ã…EE…·©šÃ“»Ëq)è%@'œ¯Tl–«é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D†CÓD°bEÿó(Ä= Á†ìÇ(—ÿë—ü+jÿ‰FvÕ–\ëêœ'µá-^ò£§¹#üT0 2}À[ ¨÷ó˜º" I ej¼õ2B/*tÿó(ÄM Á†ä°8M E¸\4%e?èXIúÃ_ÿò¿Á,»"Xà Ò‰y`á8“Ãh?”““<g :Õqî‘æÿÿó(ÄY ÀNØVÌ&^ÐÇèÿÿ_%¶KÀ Ôc°.|X=è$TUM<*<ä¼oQ>Ñ?‡^T¨ªlÒKC›ë®j]ÿó(Äe &Á¾Ÿý¬egdý,ˆ4:… bï¼íüšHÕFänw®ä‡{e?‚A~0¸U¬u!··ÿ}‹›þ¿ *VÜÿó(Äl .ɾF `žà€DäzÝØ±Pœ:Tò ihi%ƒ½AÅÍë×Î%SÙèuÀ^ï,jäqͨºÿ³ð<6Yÿó(Äs 2ÈRH´R®–@H‡¤˜qgF’Å ¹¢„Üäµ s™ôÜÿë‹w¯ÿºÿúÕKn€·ÖÈËTjH¸•é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DYDÓE°:Fÿó(Äz @>Øö„~»Cfïß<œ94ÿ‹<!‚ÂÀcÌB>ZdôPu½Ÿ¢ÃÜ §1F¬÷ø’[e9VUmiB€Ïÿó(Ä€ €.¬DHD•éGº„…íÐ[Ñúxî4qèiX•8} £ c*Ÿ¸ *Ï´i ÅÛ “Ž1/€CàÕVYp¨ÿó(ĉÍ–3ÌN—|’fü×ó0òùä!oª¬ÓBH”Y¡‘ƒQ_bJ/€¿±~@C|\ §ûòö;ÿó(Äz A"ÕèYRÞàÖ6'9éy1Ág*ø…$juH_ÿÿÿ£ @²Ôg£á DTËùõÁ×"ÎÈ !€þ<-0ÿó(Ä€ "â(XL˜èvµÑ¢Š ©p§’ÿÅ/€ÀîQñP@[¶oé߇Î+Ÿ8­‡5Þ¡¨¢s¹jß;Ü‹ÄOÕüÿó(Ä‹ ÆÝ–@F®Ü ,[ÕÿÿOÄ c€\òE8¸a Œ±ÓÀ6ü И&'bÿFz¦!9¬×‡;›€«˜ ìjÐ¥U*Xóý´tƒPëÝZ}(Ù¬ÿó(Ä¡ Näö8Œºø ârŸÓcw'^пe$¥±‚ÎG£gF—y¬¢€oÒiÔŽáðˆŽÙ©øÿ9 †>Õ.*4p@ ÿó(Ĩ^Ù®8D°‡ÅíÕäÜÀÇ'ƃboÀÿó(įAá¾(F´x9³È™YNbD´†îÊJÖÿ¡z!¯àG„DGÅÚ/ï°è×yö¨ [õ"¯£~rä9åHÄL‚Ùé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DþEÓG°êGÿó(ı^Üö8F²-  Ý ²`‘ñüÒ¹FkÇfFÏÿû®¯—«Üå$¢YDMB¨Ý—î²x»ÿF–)Åÿ”€1ÿó(Ä´@NÈ^ RB@R2r´aæ®÷ ¤µñ]M…ºÅUJdHkáŽ98h~VÉŠsR²° NTlF ¹=á`±>øÿó(ĶÀnÄ^R WÝâ³â(r¿I‘ÑÊOq0ÑZ“¾é¾üËm¼xHé?H$Á±„ÌÍ)3?vªùžº5¯ºQTÀlÿÅÿó(ĶÁVå¿Cã2ŽO(ð÷Ýú?ÿ¯RŸR¡A¨BÕ0߯VÿÿåºRiœ¥+5‘` &`¥+È‚£§ÀŽÿó(Ķ!AÞÒߘ` ÒÛ“ÁŒo©õÉŠ1(/ ÒÌ^.ÿ9 ÑŒ€/ÿ™¬ 3`ÀCŸýóŸÿÿÕ à,6ZÅCQ8늠ÿó(Äl ArèÈÔy¢X\½óy×B^kñd_s1ñü8ÊÖõ±©™÷âÕº¶¤|k˜ ´ÿýû=¾Óÿå?hp#é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÑFÓH°ÂHÿó(Äz AfÕnhFÚC€—‹´ ©XlïI×À>¯Ïþ‡ëÐaj«Ä5TÛ c¿¶U"¡§†w)?ÿõÿƒ†1@VãsŠDzÿó(Ä„AÞÝnSF¸ X†½?›ËÌû¼ÁÏ`Í*+¢WDÇXn ÖLt뉤 4”§þƒˆc•&Xqƒ0ë| FˆÒ¨°ÿó(Äz Þá–:Äh€8ñ©(@Œ ¤£õ©fŠ4BòÎk¿¶Ò?#±n…\D*6·OiÜpEÀš‚*êR_ DœðVŽ8q6/>ÿó(Ä ÞÌ^ „‘PáQ¢WÚÀñC…¨¶Õ˜7Ggø‹m^K¬b¯ÖÄÀÝXœ> 5\L%_Ç•o^–Ƕ³œœ˜kß6Çÿó(Ĉ @6Ð~FËûãï{Þûþý—ÓÏ¿…˜Ú–HÁ‡&"3ž¾ø€/P!ÛD€Hb­ *VPÀÒ!€G¢ÿó(ÄŽ @N´^3Ì xö< Ä‚ù±€Édd›[.Ên¸ì±n­!Œq‹OÞ4•zÍÏývþ¤ä»3ÿHJJº xT\,(¯ÿùé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]D¤GÓI°šIÿó(Ä”RÀ]OX8z¯êv³¿ü¸½Š{Æÿ€:.h²¦„AöÝ»ÿÿÿ]ÿõéÊz€“ŒšPÉá óÇIË9^å Kÿó(ĉâæaŒH¿5@ ˆðwGÁ ¡ž¥Ë·úv‘ý:ª\§~–Ú”ŒÌŒÂŒP\ h£åŸê=rYñ?àà6œ ÿó(Äf AzèÇ8fyAŒÑÎÚ¾"èÙˆnèd/?eÎÆBî 6Íaª‰ÿì8ð¹ÿÿú¿C ¸&¨ŸPûá1;ŒÏÿó(Ät A6åÚÄý;ð‰†dÒÔm?÷B‘Â9Zßd-™Xaaßùu"•^¿ € 2DðP{òä¬ò‚ùTéËË«–‹×›ÿó(Ä~ .Üö8ÂG-Aöt`"Lõÿø”î,i! ‘$ÿý¢æÚ‘“Z°$iYë5š )Ç?ÏæªÞUVGú§Rþÿó(ć ÁzÝ´ Ä,µaÊÆ?ývýŸ¯ô~£êË'%rzf„vgƒW )¢ÂMÌø'r¾FbrsŸŽ &ŽÆaõ1¤é‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DwHÒJ°rJÿó(Ä Áàö D.&ä pˆë˜†Y86NòxX´à4(QqàÜýš+ÍK3‰AŽé愃”ùlm™Û{6³)ïØ›ëÿó(Ä— ¬OIøò[*ÿ«÷¾ÍOÞÉïŽÿùv¹Uÿçßÿÿý\=Ä?ªº úí-œB´Š`ëq•X™%-…ÿó(Äž!ÂÇ Y~?ÓËúü ÁìN'”.'"Z™Ð•Ú¾oë…– •vW<`â§‹=g,ññNÿÿó(ÄU éjÙ‰Æüñå‚€ªÔñ ‰#ü·&`+À ‚¡—ʵ/ÐÁâ@F†††$&ao°PÔQâXjG¹ÛÉîè‰j~œ{ÿó(Ä` Àá–TGwz)³dT¿,¾ì¨†ðhë) M¹®•šÔxèDíR@ °ß8Gš»‚û³58É, ÇÕÿó(Äh €> UH©¯HÔòìçBÄ)6{ÿÃ,3A-.€ã¿éWa‡m pÎ5Þž<á­œíÏTÎT[WÙ&î¦Pÿó(Ä… 6Õ–DA"n’¨Ñàd÷ÿìà! KJ£§Ç*ö˜$f~©}Q9šØJêÎYâ;—È-ÃŒC˜rxÛÿó(ÄŒ ž0D˜…ƒ`ƒ …OÀJ߬qÀ!}ƒ¿‚.”*Íeº·dˆ* adF±Ä®@tXEH¨.}(|Ûc*a&ÿó(Ä“ ÁÅÀ¢T€¸–†ô-?È “?ÿ¶.O)¨ämÿäDI8YC@aÀH2*.¶†Åè ȺÀg­‰Ïé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DïJÓM°úLÿó(Ä›@ÞµD°¥¯ ‹ÌæŽ|Z¸÷T¿Ñim_è,ñ‹š¥i"€0pΔ̒T “"MQ‹èó4@Ek…ìZ‚¡Pÿó(Ä™€Æ\ ~©Û¨Ù¦¤~ámî×ñU€?ç\NênÀ cniŒ0(ƒ"®lwƒ–šŠ¹¦ |°8isÿó(Äš€ºRéDaût}–Ö»‹gË9fÎTh'[rK¡×11pÝQç‚+S&q“÷FÚ(ÒFÔ‘É0"‚¢§ÿó(Ä›@ι–D>œd‚Æ;9§áå‰líÝQZJ¥£V¯,¨¸,´À¨à©aóWƒŠ£ Xâi‚¤ž5€³@ÿó(ÄÀ¹¾`3ÔΖlKzTlµAíµìþíšR"ÞmD04‹–"‘ ‘HLËqT©BOö;þ.*d$Šÿó(Ä€²^Xe®Å[ÿÿZFÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]DÂKÓN°ÒMÿó(Äš€Œ4xÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó(Ä› ÀXz@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó(ħ[ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó(Äâ€[ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó(ÄÿÀ[ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó(ÄÿÀ[ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ï‚]v•LÓO}ªNÿó(ÄÿÀ[ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó(ÄÿÀ[ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó(ħ[ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó(Äâ€[ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó(ÄÿÀ[ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿó(ÄÿÀ[ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿé‰Ý1BÍ—‚fËÁ0.÷LNéŠl¼6^ wºbwLP³eà™²ðL ½Óºb…›/Í—‚`]î˜Ó,Ùx&l¼ïAudio-WMA-1.3/data/test2.wma0000644000076500007650000017644111105675616015031 0ustar danieldaniel0&²uŽfϦ٪bÎl@¤ÐÒãÒ—ð É^¨P¼ WMFSDKVersion10.00.00.3646WMFSDKNeeded0.0.0.0000 IsVBR(ASFLeakyBucketPairsrÀ]v80u ,ȯ}âÂP€©0W ¡¾# ‚@B_À\D -@KL€–˜ WM/EncodingTime€¸–€±¦ÄWM/AlbumTitleMy own albumWM/GenreBreak beatWM/TrackNumber1WM/AlbumArtistDale Phurrough WM/AudioFileURLWM/AuthorURL$WM/AudioSourceURL3&²uŽfϦ٪bÎll,Me saying test $ hereDale Phurrough¡Ü«ŒG©ÏŽäÀ Sehãµdi·£FIªíØASÎÅ'!ýðS5౦Ä §`Z¸ .. µ¿_.©ÏŽãÀ Se£ÒÓ«º©ÏŽæÀ Seu]‹ñ&„EìGŸ_eRÉêËøÅ¯[wH„gªŒDúLÊü IsVBR4DeviceConformanceTemplateL3.WM/WMADRCPeakReferenceù~4WM/WMADRCAverageReferencetÔßÊ E¤ºš«Ë–ªè Ë¥ærÆ2Cƒ™©iR[ZX â#èñÎq.ã33333ß)âÖÚ5Ñ4 ÉI¾"è”#D˜”ÑI¡ANEpTà.WM/MediaClassPrimaryID¼}`Ñ#ãâK†¡H¤*(D2WM/MediaClassSecondaryIDAuthor John Doe@Rц1У¤ ÉHöºARц1У¤ ÉHöWindows Media Audio 9.1*VBR Quality 98, 44 kHz, stereo 1-pass VBRa‘Ü··©ÏŽæÀ Ser@žiøM[Ϩý€_\D+PÍÿaÏ‹²ª´â èËaD¬Aœq. ˆŹq.q.Îuø{FÑ‚`—É¢²  6&²uŽfϦ٪bÎléãµdi·£FIªíØASÎÅ'‚]sq.¸ ßÿ€Ü"$HõþGpˆ‘#ÓÖä’L³ÿ<¤’IãŸ%ž¿l5àpKùÒชéÿ>_7Ç”Ûüþ S”[“o¦‡Á¤?tº) JÒÅ(¥) ©BÁbš*Hª°yö¾û˸jg€”@Üúœ~,ö¡"ÝE¹?“åºrš|I"Þ)¡óðµGÓå‚ݽõ»ÂÓ”`>'ø ’¶ú‡ô­­Û‹}/«*QEU´[ª>[|b‡ô-Òµ„íŒq£ ù¡0¶R¶³îu*åDNâZø \i¶;ù3>GÞkL[é¶9ÒÞ>%¼¡ÿóõÀµ€°ßé oŸ‹sëså·ùìú¸(·`:áý>O›À\Ivx²€¶+‡öœ¤¾+hâ¥ÄB›z_­:åžØ$Ï~4Ò´5H¡kŽŸò#­ùO¾$q-Њ¨üÌ¡ he?¤Ò(vÏíôÓû¤âH(·q!Û-e ­>|…¢â”¾BVÁn”PQôñ‡ÔB!+kd¥ÛÐú—éE Oª¾¡òi~M-¥ý¼h~xâr¸Yw7‚ìx ?ÜDt¿Uc*²âÓ뀟­à’Ø÷mŽ}€œD£>[zÖ /Ÿ%pà5§ÕÂýÿ ¯«„q`<¢ŠVøÏçoÀdRýýpжýiþ/ÑO›§(ýÒ‹wš·cÍPùh’úßXÆÝ\I®*Qù%%jÜúÝ”SXô%ø[§Í­SG»"9heÿÓRP·ûB Ýä’ž"·€¸–ÝŠè~”ùºmïÖŸÛÇ›ãð€9HB-ÖêǬz¨[BÕ¾ß\)q€°ý`©lŠ_¾Ké·;; ·ñ?¡i4SÇÅÆ—o@~þš”~©ÏjÇßqÛ¿;s ¾BmÎÃô’I¦ÝàuùQoe¿ò}JݯÌ[ße ~xÂ@t#‰)â¥Ù§‰ %u?*V©¡ý¨(viâ£tE5Rí…€Jp©5ûŠ’M¾j¢a¥‚ „…¥‚QI~øÕBk(¤˜XTãBP—ƪj $­‚<Ÿ\I"¤Y$–Ï\I"¤Y$–Ì\[3à^U\€¢@°?Æ ¿òvUÊÚr®EC¥ÿ<­¯Ýý?ˆÙ[|œ%»Ÿ‚=¬wé®0LV:r¶ "Ö~#g¾ +ÜydzÝj°9Ä·_Ö3êà¶?ù6°?ù5Ä[c“”ùªûóAÒ1Òÿ–Ïl÷tóTþ/G›§ÍxEke¥½ø¦Šéo×…”<y·ÙBÕ±öêÆðŽROPij8‡n·ÅæÓF )ý€‡pH ó¥6áù?Mp:›Ï“ò[[C·¦¸mÕŒ”ñ૸ ßFPÿŽÜÛíëOÊÕþ%¯ÚÚQnÊj¿·Q€²šÇFS᥯Éóÿ ¥o=ÿŸ®%º+‡)ât¤âWKs渟?F QÅoGšGíl× Û«…jßùdHµáë2O¹mk6÷Öú+߀©v)qh"Ž'þBßš9B_­q°„%úÝ/–ß-¥ý9NÊå4qPxðE6çôy¢ýò)ð¼æÐíø³Ù–Ž£ò·§‰/Ѐ³9oâ·e ÿVàŽ3E¿qRr”q[ßþóÜþßg¿좞'ÜKo–éâÁ·(Z¡¿Ûî;så~NŸzÆ'ñV=¾—mžæš_RmÄ¿RY–ùmmò8¸íÄ!jЉE4¾ZÊhâ¡n”-PµOèVHZ¥óãúâý'‰mn€°CïÛêñq[óÚÕ½òÒV‚S”à/ÝáJ×çÈX¢±óÙò2ž'ÉZ¢Þµû~‚_TE¾„þnávûèQù…º0øèãüü(Õ¢‚š'Œ>¢‡þJÒÝj›}å¼öóo…¹i4Òí¨ð±ÙM.Û͇߿ vPÿÂJVÝ,þÚÕ(ý~°r‡f—JGÙîš q 6å™Áü­Pí¿tÅ4qQXùGím4¡Ðj$?@ãq%º_-­»|èn”£þ ì…ªñ?ê–Ö– |YJi¦‚SH›q|ÿ! Kþ4Š?—éšÚN¥Ÿ—@[¬z8è§Ž¦Pµæ‡…ŸÍ!$PPµEøøøè~i $¿¦ÉhÛ¸Öè[MBÒúšhÊ-õR°)/Ö¢\A>Bh¡·B ÷ï¿%…¹kŒ­SWòJéÀh k_Ÿò)[JÐ(}MDJ—ô[Ê?H·¾O _×ïóâJ)Á*)@[üév±ø°T  ¿Bݦ" ¹[Z(¬Ÿ Héý…$,x¢—È—d$IE&ŠVÑBÑKæ§ŒŠ À;!(vÔÁ”„ÕXË㔔жhX»gâ¥cÉõÕ]ÅG)$.Iëª»ŠŽRH\’3>JÓ–³Ö¿u€€—Àö逸­öô`Ûù:[ÍqQXõÂâ'âüø:ÓŸ•·ÀLÀžÏ¿X.õ»öéûù6—*ÓßqÒ7ßÍg»¥Ö°M³äüÜEðà`0l®KV=`}½f+ù?~««N#a¬|«•§î–ÏwKq:~þOÁ%8.öS”`*àü¿¸‰l9ZYŠÏ‚tþE¸^ÏjÇüíŽqæÑl~ ÜKo€…Î?ùþ‘žß’Õ±ïÖ°E±ÏŽP0l#‹Í-ñ[ø­ß`rDÁ3€ÿ¥¿ÓáoóVëpZ·¿·e4þ–‡ç/íÏóÜ[ºÕ¿õoü¿'mù¾NSHÏjà5‚ºiâ/?ÛóÝo"_ÊßÇo?·É¡÷šýù´àØŸ×æ´ŸÍn“‚_Éi|\N–MÑÆè8 i<¾ßXᎅ±\iÙ~Sú¤ùKäT@Z¦¦Pš_’ér‚i}JhXŒ¡Ð€ÿt§ôSoHIÊ-ÏÉ[E¸ƒýÑÇJÚÛ÷e M4¿}€¡ÿ„xÖÖË÷üt>Ê3ØM%i?´x“úI¥ýp„œ§‰iil€°#óÊ_—ÔqÒþ‡Âš(}E¸­»Ê~þ…§lŠP™¤-¥ }o¡ú8Ê’ùoñ-%òÒ+% _Ðh·PþÔÒ óMT­-É|ýòÚRVÐûö8‡ðN R´ìñ&ߣ|@4„?~í‘T@«J! ˆ+`¥i6ú«`„€? bŠE_щ©[JZ_ ]²LšHBQBjA¢ƒYA¢”Rh„%ôÂV蔕¡@ãâ&œ# \keh-‚E5TSV„>~F¤ÕÀkT U+¿|”Ò±+Òü¤„¤š…ŠV–4LQ@58¦!bž#@!ÇT‹}PšmÈJ%## ¥ÛMGè@M D4U¬ÓÇL¥%$eéC·IE|QK YU …²(~ßH ”a»b„ÒM(·šƒ(¤I Ç *`*€­%êìy^ý..+h’äg¿K‹ŠÚ$$¹á*q‰Ò7ù3Àa ³‚\£ò­3Ÿ-c~ø­ø%óyíà!Püò‡ÿˆõôø T?“­Ëvü·K¬ÅVº_>•±k(·ºFå!A(ð¨ÿ"¿UŽéô¶;ù7ù;=Ö²Ÿ4âޏ#žþ{÷ƒcôÖ>SÅ‚E¼â6ñŸ5€ÿŸ¬lù:Y?E±Ø6`<ZcùçO—=óåY‹óUÁXöÇ­~n!ÐýĶùr®2šhÅBÞ mëvóûÊ)t¤¡ÒÞo‹)Oéììà—¸ n¸xŸ-ù§ÔÓú9íú¢ž5‡ÞQžÙFãýå5nZZv_8‡¦ÝO6ïqÛíÞ$ñg°Ê_%oõnó²·Æ³9ÄÿŒ¥j„þƒáù!o(¥4-~\_¯ ¿([â¢Þûõoãìo®–‹þ7⟠·y š8ßÊÞ8è·ñ>t¾QoÊxßg¾{ùº?t?[$¾Às”¿Á&DµJÝ+_šB×꯱ÿ™~mÙNQAÊmÎÝk([Á/ì¡oõæè¡ÛËŠÜÿöÿÄŽ4Ö0æÖ°8$ÀhÊ)ÀuÁ‚b±ßgÈšÇÏjQEp-e -QIüMo&ßÇÄ´„[ßù»wï÷n¢ÞŽ*á· ¡6çÉt¥|ý/ÿ>5·K­~B—K¥oø&ßlËî>7ßKõ‹ yºr%KçK?¥o)âóIîR¶]…§þn—n‘žÏ覱ø’û÷Åú£÷G{­à*h–øŸy§lìñå.Çë)âýñÒ4•¡ûð¥Ðh·þÂQXÀR¶è¸üÒµJݲ¾/Ò€ŠQ(ý?ìû¡ò-Âh[/Ÿ%l¿·[Ò RŠæßÔ¡Òÿ°ù võº_-`7ËnÃë{þ7üHÊVè'ó[Zª?i®¤QRž4è§Š‹rÒ) eüß%õKx§(® ÞPmßžRG›ZZ[·[¨Àvì¥ò×߀…@ 7ù?}€ß;øŸ-ñ“úÊ|ßë‰?µº‘Xô­qÐmë_’Ø¡ÆPùimhà%»rÚ2—n’h¡+k|tFRíß~©¤šGä4ÛüÒÕ¸,ËH¤>+Óê¯Òú ZÊ?5²„[ÂQM¹n“OçD­;cOŸººÜüäHM?º[é£Íå/Ãüq¢Ü•ªB(~ž:mÏÿyH4Ò¶_-: x–ÓM¹l¾§ö#)·Û‰©âKçïŸ[ÑEGm”¿·Š¢_­[ð{ü¡+I·þ^imn”)J(óitè¬e·nG÷éðªRh¡4ëy@ZãZOìÓE T"Øsù;´´¶Mí馮P‰€Ý·ê‡È§ö‰}JÝ/øßŽ2Œì¬O°ýlñ$?}€ÓJióNÊݽýcÒ'ó·Q‡Çn|‹z?$3ÍЛ{¶[¡ø[M…¬¥j’‡ùCê*Qá5A[Û~TyºC·ý`$¦aoŠÓë{ ñ%<\K_ „¿ÀfšB3Ú—âÓ@…»~QXîŽ!cÇK÷èJÚ0¼q%‘QoöƒMgŒ­qҚƷ”_¥nŠPµÅM$à%²û¥‚E Ñv_þÒýi/©+E9N¦€]„¤-P >j—ÅÛŠM+k|T"… úŽ'Ô>4£ôRƒ€’iHE+AibŠAM(Kê ivÔ¥~„&Š_¤˜JR‡òPú€Î4¿E¦¨C÷é«HETqÄÉŒ¢’šNJÕ`¦‚ë‚?|IbÚ.€IJ Û Öü1”»%0ùš_JSCçïWgÈñÂÑ%r‘"\‘ž8Z$®R$K’3ù1Óÿ„sà^|,€§€Ôà'3Ö¤V2]/E±õá §×šý¸‹á+óBƒˆƒõø»÷‚J?žÏ—ÀI ],µá>ãð°g³ˆg?yòÿ?úÁ6Á·=›~çÜKgÌ[ˆaü÷æþ¸+ƒ‹>E«~UÒßóî"qÿ'Ûáúqéûù;¾ü…±ß>kÂò„•¡Äýj¸\D}Zf܃oÏ|¥ÇÛ”qVþ²‘nâý­ñ­‹rÕp~_•¾±ðKFSYTT!+kt~gÂ4à7K~–Öc>.”‰t·€–íåÒëHüðïô›{÷n´ùly³”~ÿ^ù¸‰úÀuƒnóx ~ÊrŽ4è¦Þü£Í"ŸÞ{¡`$~¡Û-QE_¯Óê?7gõûBÚ-ÏÖŽ«÷ëO¡ÒÖëq¤8†ã®Ÿ×çC ‚û«x YF{¿·¥ÿéoh¦ŠÆOéjßKõµµºh§XŠßÄ?H|ûýQ‚ZKäy»vPùûˆ7ÉZ%”¾h£ø~ù ·!Z~•¡o!$Ô~ÿ,XÖä  - ?Zâ[¦”Öå´Í2ùE¸”q‚„ ¡óúM¿ô¶ê’j?·¾¥hÛ’ŸÚÕãöRßoZâ~úÜŽ/@Y—”Rè ¥ôÒý)¾7ë@¾X¡úØ<~mõoÖŸ£Œ-~ko‰· Ž%²ù`J-å&”>«‘Þ ü)éKô>â$ù®:)vöú?nA"…¾:©|Ф`$¥`Œ %4R‘Kâ î*d„@q%¾¢‚±·”-¡ü%#ò/’—a /ÊPŠL·ZÕ¨¢”ÑKù|KåŠ8t”?ð:Eº™¡ý(.Ê_PE/ÖÖ)„%¤Q@d­¬-ô¸@RŽ4»Uè 4ÒøÐ÷õ*!øCêß§*FšDÈ© G¤Ô–€â’±|+o ‘Rß?Xh|™|HKäì¾Je/Æ‘‘"Òì¥h¦ª(FG„J)¢ù(Ê‘@KôÒ’S@%Hâ’°tjš!ø5GíaR‹}.Á§û>?Æ—ÅJ™‰,•rÓM8#×ùîâØü¤åVmŽ¡ÒØ$Á#¥ò®2®?~~´ùÄ\§ÙÒù[2”>vþºÓ/èý~Ò¶é|¡öZâG›ýàÙù --¤V3üù#"OÏ(·åãý£Ž±ßqyµ§ÜVô­;M¹/­Ë@-¼£ÂÐ(B(ýqq[–¿,£õÅĵE­´-¿v>|hB(ü¸¨}E¿£õ”¡ð[·-#4„¾Šp¨}NRþ”„¿[âH~¿,£õH}€éòK³\/–Ÿ!hҵĵÇCçÜVïÊŠíªþ¨¡l[¿oÓo+kTåyBÓçËNÅŽ«òú„Sû+kÉmù|µKü¡ðÊDºFâ}n¡õ𬢱–––²”?® vüKKOŸ~TÒ-ËN ­ÙGê¸<Õp8ˆÒiââKêâ_­ñ %ýºÝnâ£ò@¡móã/¸ëßM¾“Ä)·>G ¦”Û‚Ñ¡nÜž>0þ©JmÉñ&_¾BÓô¢€ýÐ2¶ÖÞhE‚ÚÀ-ƔзE>¢Ü-„¾âJ¿oÒŸÚKú´!ô¿[M%÷ÝšVÃ嵪¡ÁBBj ø„?A }o@¦££‰Û[¨uVŸšÙâªúÖŸ>M4Ð…¥€ð0„&‚@¡úÝ5PMTЊR°š_‘EU hã§ Ù¤>"€‘J%h,E/È~CêºK‹¬ÄZD¹뤸ºÌE¤K‘ŽŸ&|¾°©Ä5cÒׄ_[àÕhðPg¾{WÌWš8&r¶ºF=øºØÿÛ°]‹wî¸]-Kˆ:á~µoq â/+1~zÌùV.x²œù3åÏo7€ðIJׄV‹¥¿>%±XØ6yºG[+XØä­ñ¿üíȬn?à#Џk‚ÝXÔ_ø‘o¡ò-ßât8ü ·”[èª_› &Þr„:^Œ¢œ¤¿§ŽÌþðÚßåXÿ»zÞSÄ·ûâ|?`dG‹wGÒ×8ëiõc[ÿ_›ˆ¦…¯Ø}o~Œ¢ÝÆ_Št-Û†QùþÂ_?FãOé ?®.. h[}Æû)KêÆ/°Õc¾¤[Ñ”ÑÇ”- ÇÀT¯ÉlþЇÎÂ)ýÛ¿nÏ)6âŸÚÓôÒ8ź”V„Bùo£‰÷4A®"él¥cúÀoƒü¦”e/Њáp—åicòKþ7ﲇmA~ø¥iõU¤ÈÊé)}n¥i$å˜ÊV–’¶‘Gë‹~o~ùi+|tþoŠ¡Tºéþ 3Þ±©}áOß-Û2þši~ÿû¶ÊV¿¤¡ùOR—åþ Ñoã·?·&² %¥®:_­`6» è¬wï‘”'ˆ­q Šmál7Ôà4Røq­SnE KhýºEøî¡â}Ji|µXï–Æ|8’œ÷ªûÍ¿Cëz|ÒÝ+hOŸ>ZO-ÜKnƒn[·?mj¯ TŸÊÞ·EJpÛúRš_-à­Û>~úÜŠ_¿5Â(BŽ+zÅõºˆâ/ë"‘ÅUmÙB2•¥ŠE¸aº¡ E)|„¡R„í‚Òx’µBÜP€„Ô¬°£äƒC%5²Mß„ÐPø-%úV/êP·@ÛTvJ*ÓE sAOÇ`Rùa2–—e)D¢¥4-’íÖè@vEÑD»bMDÁBVÖ Òƒ#ˆ¤ ¦¢Ý‚¶7@#”,KRM¼?¾&–âÇ“ë£D9‰.HÏ]!ÌH‰rFyÀ¨|éûÀL à%ð`:FÖ˜¬|â>‰¶;Â.–ü_”ÛüßíÓþ ¿ž¾s༠­t¾|šqùî?€ãü¿Û©t¶{~ü×â5iœ¸… ì+Ü´éûñsˆu˜ª\F×õƒaâãÁ³÷æü×ïÂ5Žéò¾Ê?à»Eiœ>·à›y¯7\ ¬tg­vìø*Ó)Ï|«§K §=³åt³ˆŽ!F±¿[°Á#å¯6ézÆ¥ÙüÓÇOëŸ"ßçoóKX (ÀN"å?– Šh|û(ü–Š| ¸hZý~AþQÆ•ºxòÊtå]'÷o}ÅoüÝ)+ƒÚ?þ~éI€¿k|C)[Ä›~üÿ'K¢¥¾ØúGêØî"_ oâEíø%¡ vêÆÈ’š“Åžÿ·ÈZX[¿nÚÜ? ü°SæQE4`0ùn¥/ÖóÚœ”[дýóôV?íûêǪÓü÷å”ÛÝõïÛ°û(tÛòÿõJ-︈žÕ€–Âзy§Kx@Ûøíÿ¿5K÷é Vå§ÆÝ”q²Qát¢±ÖbßRFqûõ™Tg¿ý…¥°ì!aÆùkö{~aÿ›O›K¥ßgºÓóBßämÿ™Êº[¦Œ4[¿$ñ,i[·Ö?攺 ¸,MDÛ³ÛõKú èH·ÀJ-û·àÚ‡nñ$-”þ­ÖêHý~›üöZýøZxèóOóߋͻvR—öïØ·P…†R…´; CÍÌñ`©–~¶ú€áÿ-Ïß[­Ïè‘RÜ…¯ÒÞPúÞдü-Ž9G…eq@·¾¢ÜûŒ¿ã~O -W‰#ó¬sPþ¸…NÞ„„¦šSBamúmÕQn[ I[|‡ÈyOè—ëkktå')H(EJ¯èE¹k(.Úšà ž2ýjŠVÝ+\I¡º—üf—ï–Ÿ£6÷Ïø©[ã6êCõ¿ÏŠ—Åk"„¿ZZ}ú>ƒúÞ·H?ýKä¿âBÁoö”'ó¬e´Òp²Šá¡o)•µºSJ+ºäÒ³))D-­…§ï¸‹·ý§öŠr%X¦‡ïß (IE”‚€ÿÍ¡òV¼Hâ~ýjš)$-P@Œÿ)ãK¥ú§íjšC RáV÷fÝE¹ AÐ2Š_R’ùÑBæø©BÚR·J‚0ýЇߪ »Ïî‡ïß¾·;wùE JÝcäHâe§öø·'ô·o¥òh¡ÐùòÓùZGån·º ÍD#BÑü¨+vî:áE)Oïˆåy¿ÌÙJÅŽR|·L¾#B«ž2-öå§ôSæŠÝ·ù¤1‘!¤„%(€ÍKxý%#ôúÞ…ºq$ÛßAšFREc>ZKî<¦Ü´ýø}H·šáüü-þSn/Ê?7em ~nÙ„Òøµocÿ)/…¸ëOÿOèûE¹(©Æý i[t²8Ðùõ ¤a"Ž%ªPOä ~ÑJ8–‘‘- oß-£Â–ݸotë¥+T¿ãBy»y—Ëf§ê“ |NÝR[JG Ûð‚Ÿ¤•¼¥ QXɪ> Ñù>5°J2“Ä´Š)Hót,h/¼ moùG›ãZ/éO(Gæ„’„!mòÐ|SM Eõ‰X¡ðM¿ ¢«ß-@ V0šÎZšR]³±ÅCïÄô¥©+ݰB?>2’þCôº@Kâ“BBR*µ)”SÄ*"ÝÆˆ~“Æeú0š‰E4Ê2ˆB_Ûè3R¢ ñBP8äšpÓBÜ¿E ª ç²¢@¢€€þ€Ž*Q(}HB‡È+a @&ù¦ŠÍõBNL%i"Þ‚ô‚M(I#÷I HALÒ Çˆ€hEPVÊI@+Eï¬y>¸‹\§)$%É눵Êr’B\‘žS8ÒåÄmðàº|™òÛÝ-otµ–b’´â'ë÷Æ„`˜t¾|÷à$pð  &8‰”`›&V=`âìöüÏóÎ!²¶[ü×çžÎ%¼º[ÌçÁø <×€…€ ù;ù otý€ò®xíÖê_øx¼#o[Á+§ÏâJßòf #kÄE§K`›gÈpJŸ~#"ÐéùÄU."ù«wåK÷þJ€ëLÛ©·Ó\4`,_å#÷ÅúKî,D‚Eª|ßí`ü‡ék÷ELQOì>IÏdþðR¶úž ·Cþ:Çâý­­‡ô,?|N ÖéûAÒËÍ`+}¿)ŒhZÊ8놟ÚÞS”­y»}ºÜûón¤,ƒùñþò‘nÊmë´SCþ:rš­¡úQBÛ¶Ê*Ž$ñ#ø«†›{þ'öónA|_5ªüçôìRýn‹vP¶ù÷Òiüè8ÍÉÛ¾·å oÓJ; Ýú£Ž”:]/è,QY£ôŠiGð,ö E¸O[Y•JsÝõ½Ÿ¤£\Aõ½øâã}ûZ+PšÆI4­Û‚­Ô·¥úÕc >i6ê_eúhOôSo(ü¸Ÿ…¯Ï?~8¨ãOâãZXqe?´£‰n—Aó^µM¸øYC÷Å(/é¡ý }€øé¢ŠáýGK: ¥min„‚ûÊ0V¶—èĵ@?– ¸mÜIBÕpà!”'‹÷ùÛ’CçÈã¥/©ZãJ*?ãZ+š-ÜC‹Œ¤§)+︓Cü‰2•‰˜§÷€é|ø‡éâ”y´ ™FPì ·”O ?5á`­Â ~xíÎÙ/­A£‹ˆW ¾…¤­`’•®1Äš<+)ý”Òù¦Ü„­Û¸–éãvQÇžÕÿ(ý~Al¿£ j±ß­Òèvi¬r¶´›wè»j_ þ‡ÞmiòNÊi(JM»¤?ü²‡nЇôà7ÿ Æ_!k(Z"ŠPé`”?Cä¾¥k¿¡?¯6Và2ü#(J­>ÀHCú(@üðŸ7n t?Àdдü¿¤¡jÜx©Bì~ÿdÕ¦‡ëe(ZH|Ú_ª’x¨|¶•»{äÑW‰+2ÿVçlìþo€E¸Òùò2‚…³”Û–‚‚è)|”-~Ö‡e ~¸ /Ê_$„%“ƶŸÚ¶ý/–¸­Õo}Å‘’Xq~t¬P¶ ÓõºÝn¦š‰üªÐ”¾B‡ä’þ’hJ8ÐJ+0jÒ“Kåˆ?°„Û3Y»‰)âAX% p·4-¾Kâš(!5S´Œ*%úÒ(| ±|BÒE5JÚÝTP&Šr‚•³JRÝIHž18+j´'Š(LÒÙ‡ tv!|Š@ªršm•Pš&ªK±n(”’P·BPø-„TZ|„%aI„šPĤq¥ ¤€í–PøÐ ÐRjØ©@4¬è>ÕT"Þ¶jUBRE² ¢Üú˜SLñ¤R€S)tŠE2SAšHo­¹[/‚_äZûZZ·­Súü_Oâëu±þzÿ€“@ØOóî–ÁgÉæ¼ãÕÄyN ‡Oÿ·HÇKÖ>{¡Ä?€‡€>\ø5˜¼oÞ|ñ:F[.ééŸ/óΗÁ±óüù”~_‹²‹rrŒÏøPð]Ž?Ë÷‚aÒø6þ‹¸íΗóŒøäÖò‡KÛ¿n–þzßùç»ÿמ·™í‚Oq~­ô~Vô§õá žõÁGæ0æ”­&ܶ—ßÉ–ÇQæŸÒŠéš0UFRíðI”€¸…«p@üé¡m“õ¤ ÷Ê?Ððƒðš?oð·-,ΡmnœÓJÒpÓXϽûî5…¹fu÷ïÍ£ôh¶>€µnZü©Z}úð¸å>kö´û=ø‚]s[q.+ “/£(óoÊ «BÞQú[¬eªSûÏl~m÷ím?«ðiÊkÝùþt[°l·:_gºÕp#)v/ ·-ñÓ”g³î+z?tº]8¸(Z øU½'õXÜ\n—ÒœÒpà< ¿[[ ­ÑB,éwÉý­Ö7›vÕÀt¾ý¾JÞP2#è[[·­Û…|”-qþÑWÍ­qñP¶D>¤Ÿ5á¿7û¬eª~ÿ5«qüÒú•¬¡n‡@}G²ŸÍ8 i¦¸€Zý­-þíÏÅhGŽ‡Æ„>D#õ€ß~ß#ô‰Ê?H®¾£)Kˆ©[¤`*R-ô¥/Ý·ä”-›éò8¸–òœ¦Q”øQ#õoð4åÖßК%oöž*mæšMy®4»z?x õ4ÓÇ”ž'üeóõ…ÖÑæüÒÑo¡n„¦Šеù¿óeo÷Kço òM/¿ið¤!úТþšá£ŽP_Ӏߡû÷ÉOé÷éj²[BM½õj‚iøÃô„- íoÍ~äñ­­‡ø jßE O¼-™}áiM/’´ý¼*ÞŸÛò´)M½ó°úŽ1C÷ÎÀE;+dàÚž7ï.ý+IK ~iGí4>A}E¿ˆÓÇE8 ƒE([ÈÉ>mmŒ¢ŠJÚxÐ=4“Æ”ññ§Š€¶ýóðÂP´¶¶G~Ž'ÏŸÑù%úf€O¥­ßªVíÏŠÞD´,)§õ‚¤ÓÆýòV²„PìQÇH[œA>¤~ŸSB_qÛ¨B)l*iBÛþ*8ÓE¿ˆñÖ7çû}ÅnÀ¤%ÿmþle(6â‘ÇMo‰úͺŒŸJ4?ãì‰mÞÇYSO{~|t„Uv ?0KêàÊ|ÞPµG0TO“út:kˆþ–Ž{!ŠŠø¸¼/ôøþt[¢ÞŽ:xíÖô[ŵEMþ_¥«riÊD§Ïê'¿BÙÏs€–ߊh~üå>m*E)t iü…(Êë„¥Ѐ]²Úœ£öø%'‰`ýk)âÁWí [·$>Æ´œÐ8¸ÆRíŸ-"‹z2’´—@ZvRýûçïÒúÜ„,2ƒo¡cÆeô;袄›ušmÔ"¯jèZãð¤P8ë+ RÿŒ'ÍÑM4RŠiJVÉÞì-’ûŒÔB’—þÇQcIHGìøSo4?E½ó䤾 …¥¿ÍÀ·ª‹KnÚ ))Ã6_¾Z RBØ"Ž*hX¾)¥`´ü!5f”-$”¬J]²)BRùò*AI}@A㢚VH¦µ+4Ò„‡Õj¡)~|ú… þi4‚±R¤¿Cä% „¢VÂÒ]nÍ9ïT¢—ïÖ(ãJaml¥anãÃJ(XPûóB Á4~ÂQ)Xš J´™4`&ÖH)Gè ŠñW(¬ÅҀ푪ˆvJPš¨A+=$¿ D?M¬QA I4>›}.È È·ÒŠ®Ü$P·M%"”ÒŲ°¡¥ä$$¥&’„R€ÒšPŽ'àÉ[ˆªúÜP“B]€<Ÿ].êjä‰$‘žº]ÔÕÉI#0Gž NS•³Îð˜x ØsÙÄ2Ú?gɃbÕ¼¦ßù`,BÖ k1~L5l{ˆŸÏ'ßÛ§êÆð„«ñ{ˆl?!Ÿ*Ó§ßzûÞ±ÿ“Ý,û)Á1€ÿ?äÏç¼"éø½ö·8‰€¼#B׿ÿñwåžþçÀYòùÇóÛÂ.”¿“ˆoÅÿÏ×{,Å':®"ÖbÍ8’µl~Q‚g=«†°:ŸäÏçÑn·¶œÀþº‡ßžD~óOß¿/ÿ%·Ë1|x f+>DÑIýÇí>jŒ¡ÒËGùî1nât¤¬e¤‚‹zßço·~ж4­>tûŠàã[¬o7G‰/ª¦ÝEcU·­¿Cçß«rßrŽ'Ï©âÏ–Üí¸øÂÚ×ëõO›ãýÒ·ÅùÛ©üÿFÝû¬oÉõïú}n'òÇš_~iÏ‘ó5Œ”­‘æ°½iÐi!øZ|·ú¥÷šý¥j±èMk)ãGš~ÿ‹ÍþuŽ‹s·>$Ö;ô-RúßûN YH~Ÿ4ÿú2—ɬt~KIó¾/ÒÛ¥­ÜX ~K\kYJÝcq­s¥ÖgVü+Œ`$"±ÎJÛ?vüù’f€—ÙKô¾~:àJB2›vSo|¶[²„g±­1IÊ0+d~kOК2Œ?T­ñÖ6P·€¢c!iý?·ÜkT>9MDþY픇öåºBÖ¦Ÿ5FQÆýok¨[ãqQùþèà7Kñ#Í>⤤q­eêB(§‹)¥8 ÞùjÞ°¬x4ÑoAÊ-ÅýãHE( GX~ŸñÆ-ôþ‘žÈü¨¡kk\Kvõ£ûM8‰c@¡÷íyOä•‚×ÓÄü™~Œ¡•·üVçâß+T¡ÛþÍ“ÅĵJV4­£ò ñÓû¢Š„e+h…²‡èÀH)JÕ/Ö¨·ñ¾¤>ZóK(·;¥?ºÆã}æÿ|íÖ°r‡ËKuÀ>/éK²”?·>CïÒÒÑâE)·Û–Ò_ `"ÿjÝE¹‰hÒþœWäÐýmÿè¿ã[~)B_ÓG |a!)@vè·P~j-ñæÜ¶‚ø¾~•  \oJÛ· º4¿?Hý(5Ä ÇÕ+_­?(ª¶RKûuþ˜BÝ( \k´P¶”%‰I¦‘/°JÀÁ#ÏøÐŠ¶„¿…¨‡ô»dSH¤ %+Âè„é5|û÷ÅJCRì­"$Q…Kô¾OìPšFݳ÷èHÂ&’„¡ÙHBV%`ùhn !%úE~jÕ4 ÒµH |E.ÇPRQQ¨/†~´Á(&ÝÄ„V‹úJPPJPšÈ¦G…Œ<£ŠF (¨”Kþ2AýÓT&Ü´ú §ö(¥cPP*±å{õWkG$D—$g¿Uv´rDIrF#+k¥íØ&þ SˆjpMëÄTàÙú·ÓÇüòךóYO„¯=ðMóÖ¿. 4·‚gyæÝ/ƒoò´Ïâ5'õÄél&ÿˆùò`›ºF:|¿Ï¸™ìélùEcøAÿÉØ&ùUÍ÷„|Øó~Kˆ˜%¶:±ß:|ß·Oö÷HÚÇãq´Ë¥Ón}ù`›~~/ÄwOžØçhâNÊÛÅ•r3à­†¼‚emkõÅû·Ñ\?c>Žÿ‰n•¯5”øCôµ”y´¢ÜŠàqŒC-qq:Xu¹ú'ôVÿ~oÍñgÈÿóÊ_!ùðcñý!¸íùEceîž7Ü\YN{þ_«r)9Oš·[µùÛ¨Ê|›u6þ'ÿ³úü–Ý÷íý.–·‚´ù[ááZÊP€ÿqØÁ^|œaø~8¸íß¿Êßú·ñ•ºG›ý>[ÀK|t~ëí¿tÓOäÿŠßn Í`vSžöÿÒ8¿x oôGçžËnÏ[ÿ^h”)ÀUÁ”ÖçKþ’í¨§ót¤âZüÿoé6÷Ôñ!‘ù¾¦ç°l¤„QæÅÖ¿;çžé[/‘o·Ño}BP›zyJÖSù>·#=Ÿ¾£ˆþtÓ”RœV²Š°{¡Øð½!nÞûö„¡óô-¾¢ÜÝ»ñ5¹ó÷ã‰ØM¼¿¡o"L§ôŸÚko)FSù€JÑ·RùýßñqÓ”-Q”%Ø9N6ï5ûüÖ9OóT¾qúýå8$+D-RµÅK²+ŠRŠQû[ãüèt P·ût·@ [Öé}”~ð×âgmnZý%6î7çôûômÁý5€ ºÝ€…’xíÜtñÒµù¢Ž+r8Ÿ¾Ò¶€—ÔåKûçß‘@ãÝù¡8*¤$-ÍikŠÝot·èZA £õûâEZ‚0lGô£Í-ÓúâBØ'óG÷ß•¸¿CìÑlËõ±Oï=È|·I”-ñ;)(ª·ú%/üÚÕŸÚ­à0ë|YBMªå4!"Šá¬Ú-ï–¿4ÒíÌ;cGèR•µ£oJQQ+Vú«x*ŸÐµ€ß‘ĵù£úp/Ðùû²”Ûòš›â4‡Æ„”Å/­Ô>·¢²X>\H~—_ñ„qdaÄú„­¢„~TQÅOŸ[¸øß¬Ê|šZ¥!kÍRµú¡9M­à¡ö¥HKêýÙ ¤ÐÿŒdH-Áõ&ž>0Ÿßä)[ -SM×ä% ÊhZýq~…¾ƒžå"ŠSQÿBŠ-ß‘~šà|ž*VÝŽ5¾?5F{>|‡ô¥Ü-É}AC÷ÜOŽ ‚¦„­Ó²šPÿŽ‚hã|¶ùoÂ!jŠSûâ/èÊr„¡ö·­íÿDñ?6å«x£ÍR·Æ¸Ò±}Ä0¸ÿIJß¾„þkNÇÒ?Iñ%óùã}O›mmЂ0Uªe4-­­ù´JÆšœyO>ã@+hK¥¢œ÷¢”­ÛГƚ8ŠhiŽÝIB)¾ßĶ]‚ü¢›wè¡hЦ‚è9GíúÒØþûM5_>XÐ]Ž£ ™ý[ÒPýiimü¿jñÛÒ…¾±·Pèßû'ôq•ª ñàeÀA€ ¶Jh[X­¡÷/Ÿ>}D¾JÚmô#‹Ž”‡Üt‚))Ê_ahÉKôQmý!ûú)E˜}E.ÚšD[‘Q!ýDn}HE¹hÛ1”%·)(A"¯P„Ô¥òÓéB(JÛà¶S [`q?]—a`ÒúšEñ ø¡$QH¦¡XSM+)Èú’ø"­Ò„ÅHž*RB!)}o)BCêd[É4PVÊ0§÷JL£*ïÀIE±ÕÃo¬zÇ4ÐEtµ UÃæ¸Ño(FóHeü(O³ÞØìù-⥿"[u»‹Â¿våºp»=Ê–Åp­Ó‚Wô¾ÀKyíÄ?x­-QXî–ZÏksÿÍ9M(⮬§(Ê ߀”?·qþvïͺËóJVüýþ{~Hýùº_»w…¿|¶Š8¼×ãÅGýSGþ1ùñå#(JnÁ^Q\4Ûhð°¿ü­ÞlSúZÀX%º*q-~x6Û–¦ßnJÒÓêhýeZv|Ð¥)H[}ný¡óô~KKbÝnZ&Ÿ4Œ@¢£úR°~°¦ž/4ýiÄêÝÄ‚µoâ6ê±·Pø%)âZ2ku([ZŽ4à*R„¢ÜüÍÀQæÍ¹MpñÓE¿õ‘¨[·?¥¿7Ån|ùþSÇK÷oæÒ• ·H­¾â+k6šKˆ?Ñ|ƒ”'#V:Kà…·Ï¿ï)~ûóâi¦‡çŽÜüPúš€…ö8è€Å­;Ú”?B|×›üéBÄ‚—ß´ñÔvôññÛý¿`[ß”?ý””ùªi/Ñ€Â_­`:õ‡íÐVŸxAý/ÿ¯4ûöÿ(ýP³9æÓûZB?i¢Š0¼¤ÙKê©ò<*­?À®¥`’Pš)˜âJ°PøÐkaò-˜¦¤R4ÌÔýTŠJp¨BP‰b€?VéÂmÿ¨H|‰l!Ø5 ïÕÔQ)HÀE)Í(Atb_”ݹ()Z„—nH+bŠà@ùÃVÐVKtЊ(—l ûZ5|IBI (+i.ܾ«OGÖ|®¥ÝHÞD‘$•/~º—u#yD’T½ø5òx  >¿«sìöÚ±œCù¯äÚá)¦_ù¼—±Óþ ŸçœDtµ»=¼ß„sÚÞ0I\¦p{-yªáý=eºØêà­3€üÕcàÙÇÇûýù§gÑá@|ýj‡hý!mo)® á[Gî¨â¶;÷ú!÷óëKT%?ºmËTÐ_¸‚Ê%i÷³Å”~òŒ£Š±ë‡Ÿ ý"„­qÓKánýþ݇öî?7úÊ–GçJº])hó·Öïʚটα°‘%¼ñ­U=ð$Gš|—ï–ª_~ŽSǀߞ'_•6å¿É«\tÛÿyJ_Ó@â+~mFQNR„Ûÿtñ¡ëzßë)E¹+UŽ×Åýp¿¦ Oäž3G|„ª”ñR—n…£Q6å‡îÝB-öú_Éã¢M)ãI·?Z¢—ïÅ ÿäø¥oŠšPÀ—ÁÐÓE.ÙõBýÛV:Q”QBÝ.Ý8%oZ·~_¾<§ò¦‡ïÿI¥jœ¥÷ë)+|OŸP”þu8èþßÉËúmÏŸ­ñþðTµKô¡+IvÈ¡ÙZ¡ÿõ¤£ˆ»(¥j•©¦i!mòÜÑKúBÓâþŠ(¡ÙãGó@FTÇÁl­­QEÊSMJ¨«B¦•ƒ !0þ™¦( ,-ô„> @)¥—îÀ¥òZE(v ¤­­Š…@즡¡õxY á@I¨Kà”„TJ_À¤-RëM\B)I¦AvJiRª˜[(‡bJÒLUD2)Jܬ ê¶ãHÅㄚ¤Ê«D\‘{ñÂMReU¢.H½þ^³? [ˆ´~‘à!`+nŸ/œ ‚=Á¶´ÎUÆ ¾VÇôþ#[ƒm."þoéüÝ>|åi‡Õ¦iq=ðmqâ6-~†{~Ÿº|ßž{:]>Á2éÿÂ+|T~vú0¬{z)ðÖ˜óTÓECXÈÉò#Í[ÑÆß mÉóO¸«…ôå¿÷û¯5ÄxŽ RšÆ·ù¤”à8¨úŒµù`"¶([S‘%¿ÂªRmÜ\T¢—@šàãE ¸ŠÜ_e4?óvüñåHÏzŽÚß”ÛÖ©¡kđő¨ü­ô'óZÊ]/`´—ëHÊmè|°§öxÿ.<¢ŸÒÝ•º(Jµù`:môñ×»uqxYÊž/Û奴Щ §Šš@Oã+KOé}”à.4`¯ÍÛÖ‡çBÅóÿΗïÝ‚þŽ$Ò—ï…½io÷n¢V–>h¢ß@¡óáÄÿñ„¡iÐ(óIó|OÀ~•µ¥®%²—Â…«}6ûý>[¬{zß¹nßKôÐÿôŽ?Õ¾™[£Œ ¾ý"…°—üT¾¬jhFR(ªpTŸÚ_¬oý#‰4å¾B8аâ¬Õ š âEº›{ÿÛáEM6ôPÿ wíùJ×ïŠÜý kfÞ‡ùAEÐ_¾Z£(ÀAm!ùK Ñ€?›ÿÐ[¢Ü±áh¥ ¢Üùûáo| BBQKä ˜ù~ß&—ët[°T¡)4QáT€”•„ q¦­ ñ$¾>šVæÄ‰~„Ô&ƒVšL!JÒ _ñ%!ýSvâ„ͺ«äQI%ÙA}‚µ¤¬áDQJ âý¤¥Ù”—ä– >JJJREP-SÇW#‰¥!õ3n"ª+7ÁûújSBn›^O®.­$r‰ ’FzâêÒG(¹$bÌ]¿õü÷€Ÿ€ÀL`à(À§Ï_¥Óö÷"\â"8«‡g¶{:~YŠð¸ù¯ß€™ÄZkÖÝ#CVœ÷Þ|ׄ«òÀVúÇ­3•·óÏ“‹+oò/=jʬ¦°?ÝÓæJ0IÅ‚ëà,gü~mÄGK‘æ«>GÙGòp·SáäïÄo4éæ°UÆ mÎ!ß~#?ÀuÜvìø¿ÓúÕ±ëYG›ý~¿?&gµÏe]TÊV–œCq¥þ{³-ÛJßäúÜùÓù¢±øÜC`?:[)â·äHµOë(M#¾E¼yªNQ”q?9M¹úók–QXÎÆR·á á¶;‰þZ}Ä„Ÿ4-Ø nÝXËoß~|VáûZýþoŸ?ZM8%[·¥o)ýù´¾~¶âòÊ7ÿ®$ :¥þN"JkTyµ¥·ãôššMŒ‚_ß„NãJ(e4§([ýñe!mõ¿ø ýy¼/ÊÌîâ·ÑKç︖ÏqV­üo²Œ£ôµ”`0Œ÷@~°}ÇÅÇ”R´ýõ+^Gé.ÛþkAhy¿ÚÚÞÁ+÷ÿ6ìù8²…¯Ëר›w5ÅÅù%ii?¯Ý.Å'‰óðŸÎŠÓúý[ÈóoÂÐOþ+xýÑÄû=€.‚Ž:Á£‹)£‰(|V°tÇ*ímk*ߞÿ±HZ¬|Ž$~¿aóçïßV8Cÿ5ûZvVŸùù¼€ß-eq[ÊÛúmùB«ñ¡.ƒnZ·Rc•´-Û¸ß>|œè¤~Ó@¡6ð¶Vì_¾ Ö8~Œ£ÓEÀOзAM­ø+<_·ÂÞQC·¤[Å +I¥oòX¤¦Þšk¤­~vñBx¸èCô%)|+ð SoýSB?Cþ²”$SæßQo5‘·‚°Gë‰n·ñ~oÑHE¾ªh~ùòÇôã–ª-ñ× n”«yFQC þKcó¬u´?Í?·akqq"ŒöH[?ºi¥mý h¤Ñ”[Ÿ-%nš× çÈ JÄ!hQn|€û)ýÛðR—ïé~²É Vâ‡îÊÛô ÇÇ€íÿ•4qe—ÕoÓÆ Ûä'øÿ|\hÀ|D»êj!j…¿4Q€—è·!Û­îÞ„ºRP--B8Óoî5€JÓ·TÓæè.Ùý¼ƒRÞJ×÷ËtSùe­ŸÛ· |€rœ¡òà‚SoJÒ8Ÿ#óýñ­~…¿ˆ>§ˆ[Œ\)ÂK÷mÅžÜ|_´Ûøùl¢›sú_?)ýÖ?) Kþ;y§‹ôúŒ´?OÓÇ@Ñù;dà. âBÕÞ¸)¤ÓM½4;jxøÑÄIâZ¡9H%mIi5_ñ» ÙN|žiطઑĴx¸–Ÿ­‚ü­, ·q§)IÊBRíßñÆZIãZA~—é寀·n·-ÒpTùž$-™[Z¡óóİãüø‹±ÆPIýš8 ÓIEºSÄ·ÆI·¾Z/è⤅ª)[vrƒÒ)+KÈ·ñ¥ߊž2rÝ+tÂÛõºhXÒ‚º +b¤?u¦”Ž0*%n‚SÆ€„„þ…¤SÂ<*Ž$"ÜÒmÅŠ_‡…M)M½Í4ÊRþ¡!mè|i §c ¤¡`ì>3O(M еK8è5@XQF 0·‘ßä¬ ¤¿|„„Pþ“nJ4¾~ÿ^/ˆã|J)BÁÐêVTÔ–’P”„À(X7üvä­¶Ié ¤¿)X!l‘JÝE ¥|BÒfJ( ZâDà®P¶„!oÐþ_€VÅ!I+K·âBÐH[| D ¤qšPOÀ­,I”Ò„øSò”-Pþ)EÿsÄóƧ7$YÆùãS›’ ¬ãx&Þ ÷Ïo-gËüœûŸ§î‘•ô~.Á±o>WHÊÀúÓ?»ŠÞéuªàÏ|£÷XïÑ”øAü>X`7dPýÿèe+HBVéÁ½åŸ7‰ÙÀT¢Üþš?ª«_’Óá”à7ëO©}\+cCþ|AöP’ùþQ€Ÿ„ñqW Õº¸müNÊÕ?ºUvÏÖ–¸Ý—ëF¸Ep>/|×›~ŠÈ;dáû÷ð·úý#÷ƵúÊsßòZ·þ³Ûóãó\¼­žoùÿ稶ÿžóÖ:|ÿÏç­_°×‚b´Æõ.–ʹ[ÏWçŸ%6Çþ¸«Œ¡S”QoXSÄþ•¬‰M»÷E BÕ t-€xø¨¥øCô¬S¤Q+yE.‚þÝÄùoˆ¿[K²M KT¦”„›y}ÅÄ ,méH[jŠøÂÝ„[ýÐh>ÆE !)JÚH¤ -/Ò°X%Bd-Ë·BAE¸É$¨ET¶"€E ¤»cB(D%Ù ‘\Ð-V—2jóù;¹ï\Ÿ«¿8†t¶¢“oóo߇Kelʬ`»%±Ä)8_ˆÙFS•·ßù?ñ{ˆzáK¶â RýúÛ÷ëfŽ..$Pù+oÒµÄúÜ”‚jŠ ä™Äû(ýq!”¥$1#L‡£jV·W|qY•µÄ_ÊßoqÍññ§öè/Ö«±Ÿ£÷æétºÑEQûüðÚÝ+t¢—ÿ»}¼à“õ‚Dÿ!²Šn"V3ˆe˜¬g³ï·ÆÊ±¿\oèâEúMJÉð|„"V)5Mï7¾·&eTÕ_YøŽâkޏ<ÕÁ Z¡§ßšØK ¢ Å ã[ðZ”špä´ùmÄOßæ‘”Ÿ4’sÙÓõ¿ó~Š<ÛïÓúkoò·ÊÃ÷Iû[I|2…ºx‘útµ»ÂM |N"q[¿Ÿî›zVO¿+§óFP”-~³ÝiÖ¿oŽQÇù„`¯Í-"›}!j—`‚Š©I4•]„ ¿¡ùl´IOú Ô %‰;xêTY7Œ¹¶Iu~rÝG€’@ñšpV—ø6¸‡Gï÷øº±†ZtºÌê?TøTÿt8‰žØ Â/–ÐùòÓˆn'Kqþ²‡ÕŽœ¶mñùñ-&…¥´¢ÜøQE.Ãä»ÓðâšÆ·~¸é~h(M"¥$š |û*EòÕ`wâÿ(òbØÊOæŸ7ÆéoÞP•¤·n‡èÊhK䄸R•«~Qú¢ßMc?[¶?ô8ŸeN„--qþ¨ãÀG÷ùç¶NUÕi•§oø¹ÓçüðlüÐ(J(q(!òÕ»Íà+zø¡(?§ÅøÏ‘Ä>SüöRŠÓ8 ~ßq­?}ùþŸ¸‰žø$Àx å)[·(¦Š‡òüüÒÚÁðÏyâvïÚZ£ô·A Ê?~jš??ÑÏ{sê袑AM+G=“”ИnãIü“Aó\h¥/–yM»tQCVøŸ”­-þ²šà¬|¢ßO„p±õ”¾¬zÓ‘µÁ‚^,§‹Œ-Á'„_¡û¬lFüßemtù0MÿHì÷|«€¿“\DÏlù­%Ò“Â>q±¿|D¾®‚_ÅØ&î‘•ŽsÛÂ9BÛó€²›sÿ`•òx‰H)¢ÞQHvر/\ p‡åj—ÅÖ­ùG›·Rü"ßúÄ·KáJ”¿ØOJ(J]’µÇúó«{åØ ÍñPø&ŸÕ¿‰ilQÇæ­Ëi·¾¦ßùï¨ÊV‚Új ¿BÚhOZý¡%„LD$1ÖŸ—åµ5¶&€ø%hˆ¢V–ÓÄè/ŠÛúO+h%/•¢ùØA·%i©Z·Ð* Ï€‰0o « AEX01D0‚ 1VdAVA) ”fâÂZ ˆ2ÀÁ X76C$ÉØ` h˜yyßTZ³1rëWž:¨µfb2.åÖ¯?Ÿ}à$Ðqĵðøø t|j>rÞ|«ˆÛà$Ðσð8ùÆ|¦>NI€€¦@ÀXÀà)ÐðÀø ¸|²>ÈH€—ÀK€l5ø 4|¨5¦p]ûcü¢9ð?7n·Û°Iæ²¶g²Ýp`,öÀX6[°Iù8‰\ ^®~VëwšýPúßGßïó®g¸—Kþtà4?ó~£õù`*ÆqQÅXÆ_£ø)«Æ<"·\6÷2«>oÍå4º_ó¤ñ#"špîßûÊVÿ:iÛþÿvü÷Ïç»§üyJ0ä­!¼Óün|µCòþÞpçÇûüÿ\x 6å·߬ˆî%¼ù0}û§õJTx]cqÐŒ¦…¼)MJh@5Àÿó·`/ËÍ'‹?|µÆ•‚](ãJÕTxP±¡`ÊÜšñ#Í—eñÊNPÿŒ”¸ƒH?µ¿Î”[Ÿ¾ý:Xå T„˶ʒ̣M(âýÛøÅ%ø o¸ám$ ¤-(HZÊ’%i)ÅtñåÓÆ…·ÿ5æœDÊëƒÅc-PâþPÿò ­¿âM ZÁ_çGò±ÿn"ùµ¿Ýcñ­¿+tº+T„RŠZ¶¶¶üq¥$-ªhþ'ôUZá IŒ**?|ìQ”¬P•¤xZÒÚ2‡Ï¸Öÿ$`,(~ùóä~­ÙBÕ¹+NÃêVøÖíçöú”~ÓÇÅ”SB]ŠNÀ›êÇ­2´µ\>m/¿?ÚÚT?JÅþR„"ÜIþZCä"ŠA|”VTEJSM)) [¥!"$? ¡/’‰¥òiÙªý([E#Ÿ­&ÜTZ£ˆ¾¥Û¾¥ ¸0Hâ-ùÿ&Œ«ŒªÆ 2®|%uŽéò:}?žÁ2é|ù]-•³ÙÄOÒÌ[¤m±îŸœCgÈâ/çŸ+÷ÔeÁ.S‚®%ºÇã·~­Ëx)ZóO­õÃùà*ÆÊ-î—®Ö •Á”çËæò‡Ø$Á/óî!уg„â. ¶êÆÁ³)ð‹¤nSùgµ¹mÒùJ+ƒòO>k(£Z¡/èJØ F”¡)KçÙô?® rÙ~üÔ¡£ŽÞh¡i+|nÚÜè+ek‰|t¢Ü´VÖдú•ºMSo·¢ÝúEeEÍ()㦔QÆmËT[1n§‹‰Ù¦‡ÅúÝGÀ?Âa†b Z´ `ªRT– ˜„¦¢ RBS Òšˆ)!”%‚Õ1%’` 0a¯M/êeÍurõ™ëV ±à$àÁu«ÿ~·-º~¬X`Ûá Ÿ CçQæÏæ¶+H+_š<ßéûò‹{â(âªÿ­­¿E%ùð¼£çëKÔš/é(I”1L$PMQ+°ýÜëurõˆã¶;õ€‘M KKI~š-Ùíæ…?¿7XùJhZGÊ]q~㤅¥§Â•·ä¦ßJ8¿O–4ÆFA¨…‚Ð¥úPùH@4ÒU)&I15ªJœ]ñ{Ï—ÇHßG î5«qt³¥Óù§>=òŒÓƒm±Ütþ©-…«}JÕpþO©¢”R©Oä”×íõ/íËhª„¡ù % kKt$¢­‰B@¤m‚‚¼Ï†úNµ8™á¾“­N&8–Ï£=¼Ä|œuÂâ5ñ-~ë÷žØ%¦Øì÷þy(ýà&PþÜh|´\5»ƒJÓ·}OR´ s³Gð|·U`ý4SJ)¢SLI‚]Îiq.†(Ù¸mª$¸ž¿õ™{¯3ž¸»š¼¬n*Ó6£ËêÇ¥Óçqx58 Ò3>Íà”å ïE/ÂQNQo£òãZZ·º~âý'޲6êà."y§Î–üÿKKYòxGÛ(üF9ìx ¿·V8AZM¹/ß~|o³Ý4Ûà!`ãá<ÚQ”¢Þ]ö¥9KïÍóûåžèîµæßœµæÇ‰?–R y»wôe4Ø[ý¾Ïwöü¥. è[ýœ§Óû·œ—ïÓ”‹{ûrÙ4ñ-¡nƒÆ´¶ Á+KIZ‡Öûw›â¢¸%¬§Š2ŒùqÛÿYïÄþÞµ”­R¶µùŠkYJiý¡ý'Ù~þšVéJVÒü¦—ç 5(‡Ái‰òçöê¨MºÞ´ìÛ–ÛBP…ƒúýòP‡ëKh¢Þù4¢‘JJÛ·JRšV4¡üÓVHJ †!* „J A‚„Å($&âÑ DŠ´$ ¡ &‚C"CÓW÷Û/.îõ5{qÄ5cøB¸<à5çÁ·òÀYAIÁ1•·=°Kå¬÷5ùV5»Â9Mpà˜Á·yº?yG„Oðî­"‡üTŠmÙNÊh’ùûâ(­~Ð)”;/Ÿ¢¢²ã·-¾IZ·€ÿ‹ŽhãâãÊ?o’„ ”?@H4ÅB„Ò’š€Š_~Ö–ß&ª)h¥ó÷Ô ºÁ"QH2„ †‚ÖƒrðCAAP÷X¹®%Þ8–åpºFe\šÓ6ÇÛðJ·‚Zåƒoíl&—Kþg‹ˆ­­¿}Äù+|´„ ñññ­‡ÈOí+_“äñÓÅŸ!/é4>@¨†ì±F°4ļu¿¼Ýu5ĺ….‘£Â%6šÆ[Ê?vûwï*åÒÙí\8$q÷ùþ–èñ'ò¡/©ÀoÊVÁHCä:c„V:|Ö§ò·£(¤¾„„- ¦„‘JhDÂR*Ô C ©"kÿz™•%óµ¥K½\ÕïÀDÀ‚néçÁv+ƒÂ$ón–üø¨¬óuŒÿù;=ßà™®>{e?Ÿ›ðP~.[Á³ñw€‘ÀÄ\]/Ÿ#ˆgKñ8‹æ°L~VìªÅº´ÎQl}¿Í>·?ãÅ€ð›[ón—tÿ‚ï8†¡f+>ƒjÓü÷ÊyGë=ÿƒFóæÓ€ÍW›Bݦ-ÙGê‹c˳‚GK[øéüÿo©¶9žSÇZg TþX$®gÍi×ë`+LÛëØÿä÷K¤`$ž?Ë>Z|4þ_¿ÅÉFPÿñ}½—·g±·?qÞµ”çµ±Ô¿Zt¾ ¢Üè~šxËáE”š” ”¦]@ ˜aÜŽÀbJÎÚFM%$Õq&*n $@j%¡³ 1ÂRƒP$Å@DÄK@ %µ6u°"®C 3Mø›—®¥é•§;ÏSçÛ°M¸¿“0L-çµ±ø Íù·éqáhJR˜ã~¶·Çû  ¦¡Zýq~…/B(Z¥ B×AXš¤³0nk½ïšó®¥é‹X—Û•snZÀi·'øŸþø«([Á3ûÀYE¾ŸË‹®"¤%ÊxÑ”"ÞýjÜÿöŠ)~ùõ½ødn*­~Emò ÓTº‘M(¡)$P%0Á MKÞ÷ª×Zœ3>Íùë\F¯5çnÁ/œyÄZðƒ¤kˆoÄÊœ¢‡ÉÝŽ„-£öŠh[·å–ý~tŠD¾·¢‘MfŸ×-¢‘Uõ/…4%  „ Ã”SE(ZW½¥u熘‡Hß*€”@ÀMÀZeiÒ3à/ñù0L¸†ÏZòš)Ïd§ôüÃ÷ë¡m¶9‘®!üÌÇø5_ÄjÓŸà&°q ÿÌ÷Á-ioó¡ò0išÀï-ÖxBŽ?ÖQJi¡v÷Ø";ÂMªÇ€›¸|ãÄw€”@ÀN à%ððp×€”ÄWO¦zåžµ`™|éûñÎ3øÇZaÄ:×ï*áf)mòÖ{`<£™G„_8†ü]ç­Á0â/â2Û§Õ÷œx·€ë€e.—€Òâó·Ö2ßìqSJÒÖ ›}¿ÇîŸß~­Žtþ·žùòe]­ ùü§òã}‚g*âÞúŒªÇék÷à"0㦌'ÍÖº[(·:qÝo}ù¿ý%mÿïà¾6ûcò‡ë1Y[V°HµžÎ—ü²œ`?Ðü!öÊ_qù¯6_Û“”ÒV«•»wínÞùo÷o+N—NSú·å&òœ¡#ö/ÚÖSžÉXþ²…µ«aÂ8‘”~©|?U”q&€–é¡ï7n¡ tÐ))ZKúPž4ñ¾·ž5§ükd›}E®<Ÿ"ÆúÜäé`ù>h¡úÓä­?Ê8íÏÖ¡Û©E4%jÞ´¶´ìзCú) Š_$¢ß€¿vïÞQM¢ÝJ_å |·ù Òœo}oü–ßþpþœ¥ o뇉¸ðcRk‡=¸Ÿ¿çå/‘ÇÇCãM Oß¡h[‰BÒÒ)äñ&±¨§Í[ß-ù ”%°x­à¢Ž5±VÞýý½òVíïÊÙã}”»wÉKôÐü%¥miÒ“)Ê ê§ò[Ê8ÿIZ¡ò(š º•ª_HŠ·Bi÷î߀‚sÝe?¬ñœ¡|EhVh‚(Ä?Hl"èM e XК¸ivÄ V‚hX%>¢ž#Äþ„P‡ï©â[Z[E.Å B(¥n‚VßREKêV¸èý¢”?~#ŽRüŠ ÒHvè+QEŠ¡£ " $ƒ!$¥„¶Cd|:˜PP˜Ã A% #HH°"šA,NJPJpɨMV˜I"L,C­ Ôê@B‡ê}Ò«uw˜–^®îj÷î•[«¼Ä²õwsW´§+g€§ÀÂ)ÀS •Xâʬ~ëõiœ­¹íàÕ+ÀO`à&°ðx5a<¡E€ iœøçà.Ðqüã%¦VϤ:[‰Ä_?à—óðH"ßœ«ŠÓøº°JǦ—\c(ãq¸?Eþ ¸&.´éz3ÝÄJÓ.!«Ì÷¶;Â?ɜȥ„“¼Õc"Óƒg®c°mþE'çµpþ.t+B±¿ŸZýø“N{þ“Cê-õÁnZý:ZÝüö{Û\/©BVèMo=¿yEpù«}»öéo7”Wš·Ûê¸r‡ï­ÿ£BDÐhýþ­ùEcþ–ÿX±¿:ÆóuÁ”Û°c~ÿ/ßü¸Ïïò·þÓBå |Cô³8kÍñe<_šÓ¥Ï›µOë÷n KyEU²SJßé¸$ZœöJ2#©ý­§öµ”š8¼ÚÚÁÒï–øéüÐìÂ4PȪˆã5· &¡©Å‘-–“úâ·%ÝÇOZ (€ ˆRtùëNu?§Ý® â;ÍøB´ÎÀyF ½»õü‹ü\žóhðƒˆËòÊ»Á%±þvQ€ÊÝ/Â-ÉE+kYEc×þ?Ýc?Z¥iÿ…à«ÍÛ–óÙ+I}‡JÒmÃö´šàÏwß¼”;?Áü²”q£‹ŠÞûÑ(·$-þŸÅùþ­æ„>/©Gïô€ÎÜ) ¦„>6î5ªVÖ²•§è·£ÍçÉû¡ùH¦„ÑQ(4ñR Ø(ª„¢pÀ”T,)5bç‡Ý%ë«Î&n’õÕç+oÀI à(`üF¶­Ø$óOðKùà“=ðm¦ÜûÍÖ5cà'üp•‡¸¡ØK²ù÷½úSBiÊ?h®Ù~µÆPýBx‚Óõ¾7õ8ª;b¶´’) A%)h@IJM,\Ò3Å^µ«—2Ý‚mŸ'€•€=j¶<ºF8… «œ£‹Â4~||c‰ÒÔñ-$Pž2û)[OäüþKtÑJ§; qÇo% OíÈ~Ž7eóêBVç‰5P‘ßM0V(اDœœ)æg¬žf§2zÉæjqs<®>tH€€Õ€Óÿâëwëäec¾t·ç€¿!ÄWÎ"`Ûû(0%k"Z¡5”:Ÿ?¡Ø[ZtÅò@¤SP K -¥5R–À}JR tÉT´F½#ê.õÄš¼tÿÇà(ð¸-V5.–NUÏ›¡?¿çí¦‹~ðŽQJ]µ!î>"ûŒ[²Š ÆúÞRßéý¾¢BÚ0V˜(J)Èô?X“J) BH¥òBd’L’ebOÞ\™Ó7»©§&tÏ)€œfŒ÷ð‡€ @ùïMž¼éù÷›¢¸rŒÁ±¦-ÁøZ."?[tùÿGÔñ`+c‹¥-¼n[H¡òÑ¡/ø‚×…q¾tºÒ>ã4 ­Q”`«öSB*!/–Ÿ¦‡ùFVÛ{ˆ¯íÔÒƒn¤[ÁÀi U·' %h>â§( &‚ì;e¬¦ßùÒ„¤&’…+BhJâ‚øB5@ ") ÃFªA @¡âöu«U{ÊÔË»qK•Ÿ”x ¬sà_ªÇþyÒ7÷€ëLe\à’°:¸\DY‹q |õ®"å\ø ˜<%tV> ¾zç‚ì:|®!C× ¿€¿7³éò­!Ó󈎟èÊÚéó`ÛMcçÉ\ÑÅoÊ|Ò0mÀh·£ñwìñ~èüœDY‹ÀnŸ–g?%ªá}€­Ô­> ¡ù¥ÿæ´Ÿßš|ýý¹þ{V;åµ¼<#‚T'ößp&ÛíŽü³ÝÒÖõ´[–Ý?R_q¾ „¦“E'–ÿOÿ/Õk§­[¿yJr‹wëŽßÆqMºÝÆú›uZi¡óïËô¶M?´>Z.Ü¿¦ßÇù¿¦œtñ>§À¨vHvxøøòŒ-…¼§óãÏ|÷ã·­ù¬«ÅɬþEà™â¶9qüø ³ùÿ'ù¥¼löqòóu¦r“æð¥ò•µªàóVçä¡þíæ±«±Ÿ¿ýg¶ 8¸ŠÝ)¬~:J8¨·P?^k(ÁU»íø¡ó媨 aü¤¡÷Òh«o·¿}XÙGåAJÀnž+så¾:JÑ·q`‘Á”~°¹÷íiý¾ÝÅùU·ž:<ךZðŽ Vè·,-ϼIÀ¿Î±ß€sßöŠàÀX+ý¾8 š\E[Ïn<¶Vø‘E»õB* ¿~‘ĶýÙ4¥/ê„ ¦ßI·--´ÒúŠ U­å% [Ïí+oßù´~KVëw¹ÿÛ÷aõGË»zÙ!l!â|‡ooãùy¯4û=óß¿´ññTÊ2Ž*&ßÇùдì¡òÒÐ KH&¤ (¢P‡Å%l"Š!‚C©!ýT¤,(ÝUŠÄ5A !M(D” ”€µE Ó)|€*EfþhB"R JLé" £ ú 00 a$ÁÐES&MB3€ ‚ˆ&XÈêdiQª¸pL±„MPk&™) «v‰`ACÃUúàÂï7WºÔ¹X ßüœûòK þ­üOò—Á6êi¶;óó^o>‚Wô~Ý,ÄlöZÁU9Gìд¶‘o¦‹u¾¸ŠýmaBÕ m¸å?¯ØãâãðºÆ¦¢hEi(’)~¶”-ÂKk ¦‡ô‡É«ÄµûZ~¶Ÿ­ P”Š( @Iã ‡e4¿¤Õvè|ùi £Œ¾'‰/é[~üP‡Ä¥Ø}E9MB-ß“çÆš)§÷ùà–¸0çæðü‰Ška‘Jhü_üÿš·~ߺ_)(Ï—þ^kôœöâð†Ï{s¤n •Äw›q-çžÁ³÷Xéòyë#?h[þM}æ¸ëó§õ‚OÞS”ù¾*pp”-[¿*ÆM.ÂÒß›ã[ý8‰ùà—>ZÇóN‘™W~CóüÿOÖß-þyEpqàÛMGèS·Ñ悸ÐìQ”ñÒµN£=ø¨ü¼(t¾¬|å>À\OÝ?xJ«Òø&N"q?ÊWQú·:XW œ÷Á%%ÄL5ZaÓþ m߬ùsÝÒ1÷ëÛù:ŸÅãôéwKÛÿŸ®¤à$¸‡¤¸‹€ðHŒÖ;§ÿÍþUÏ›¦±óåónƒ‚WOî"ù´[²5Ç”gÉú|ýÒî!óå·¾¢ÖP]/l}c`ØŠŸÊsÛÂì—îDÂ<Ý. ò¶º¬zÆt·0Iù~ò”þVêÆð…iŠkòâãÏzV-lv ‹~.<V¿W„pL,Å:YÄL)qXæ—Oïü ¾¸3Úß”ÛXî–ðóîŸÿãÍÛ”øGðÊy®$­qM?FS”¾Ê(â|V¼)+a‹ˆÛíø±è·% ­+|e)A¥&Š¡ðMi  °4¦Š(L$»ÀX iú+‡=üHq‹ö·Cê ½kõûq"°| Óå®8÷€•@ÀK â[Ç€ŸÀÀQà'YŠ­1ü‹ó×ÜC¸…8õ`wâ÷¢ž,?ȼ÷ýà˜Ï8Ïâü£=¨ÊçóÞ´ÆzÕçe\`/çÝ>^>$º}k˜.Åcç³¥ò›cÿ,­¹òñþœD®Ÿ'ëÂ9M‚Õp:Yiý±ëeh)[M¹óõ·u¡™Úáþìö}ù¥/­Â¨ãý5Æÿó®µEcþo©}QûûçûÁ&9ïÆ7æ²…¤q-çËûÁ'íö ?vÿÒ2‹wš·¿ÀH}Mp`*ÆB(BÚÚÛô¥÷ålv/ÿHMcV˜ Ä\”ÒÿÂ&3Û‹ˆ­­»6úÇÁ·¿£(Ç×ïÛÓ1¹âý?üò”º]l+wäélötýá*i …»vPŠx‚Ý”­ q~VçK`“Â$GæŒá5”gÉ”[³äÏe»~R‹wšÁ& 8¿^kòâ¬l¡ÒøÍøGCˆl'k=üØÁ+ˆwOöüµ€œC~#>¨µùñ× ì `<¡k(Á1ÇBÌS‰i‚GΟE¼9ï‚gß¡ÿóÿ“§ãntù–b¿²¶[€ðˆl>ÀTÛXÉüò—þk‹Â4àØ0Qn®ÍZÓ6÷ÕŽé{{ú…õÛ–²Ši~ýÒÙC±ÅoÊPh}€ÿ>4ÑæÏë=¸òšÆóVûcòž5¯Î…¾:'eÿG ~ðKÇÅÄÓ”Ÿ7ûý`?4·æ©ótП5o·[«ÄLâ±ÿ‚òœoâ·­~nÇõ¬¥Ð-€ÿaù~,¶\ kyíùº~[8 )ý-­ç¿$Ïwëx&8¸è¡kŠœ£Í?'èýe+\vü£ôüq~òÊŒþ\Tå&ßnâ~¶ù4T}o~Š8é·?~‡Á÷çúA+Vý~X ‡é¦‡Öû}»Œ[–è·Û© Є’×Ë_Òým$­>‡O©ÅÄBÚÚ P(~’€]µºa¥Ø  pM¾ßÆÿoø‘T!`´xÒR¶‡aúÞSKô->+tÒ(JÙ E–øà€P‡ÔHBjþÖøéC·¥ü-!g¿E-P‚„* ‚RPˆ€ ™MÀ%“$1BÆÌL“i1Õ`øU“BA›€‹ Õ’dÀ 7.Tõª•/f•d·²°ôeRöŽ:Ë×®*ZC´”Îw%qÖÖë‡òá&€{~ÐVíÅi)ðª Ê]ùï7ƒoVŧÃöœ›vPOÑúýŒ¥mûˆzÇÏjpê?¬ÚךÏzà[Êð"Š<Øv(M\ ¥Ù)JÕMDÐíĤR]„QIE2]—ÏÝ…·Ô—äþÿ\ªÖЂ8è H¤›pCù~Šk5­¾õZØBÚТ(/ÑÆüB_åm÷hâX#ŠÓ÷ùJÚÒsÞœ÷OåùÓùº]mý”~¨ ùÙãã~íðÝû®S”ñ:Yö{:Yo÷oýŠàÊ(ü­ÿ¯5á €©Á/ìŠx²5æ°š¬jà¡jÝXÎ"`˜¶;ŸªÆ}”y¿×pÖ;§×ñÂ.Ÿ>Uf±ü Œçòc¥‡â;¥ðGŽŸ6UÎ ŸàÚéÿ÷Zcõüý±öì­ÑXØ$ŽVëLññelü\éõÏ‚¡bâ0]—2Ÿ8ûˆPʹ­1žèÁ)JÝ¾ÝæéGî±ðm5ÂŒ§)O›ÈÁ±Ä?óßÉþ/Ä|¡úiðØ­W §ÿßšÁ¶Š“Ž ŽÍ¾±­¶?Í"¸Pýóõªr”¡4>ñ!÷ãÏ’+õc~Ño«€ÖŸ#¥oŠßlJÒmþü–°KÅXÉÊ_-&‰EcRŒµN /üýºØçKù·ÿÉ¢„º\q--º\:^Œ­¹O„INP´ìy¤[­Þ[Z·à$xGÍV=Áû·ÛœCøC>\¡õ`zû­0éþ€ûŠ”z(®áôÛÄâ%<^m 3ð >SŠßn¬|”'Í:^±­ÿ–¶=Øä­~~oÍþ¸Ö«Ò1Ä_Èàq:?‘Zã|VÖ¼!\öûõXÿ—ï(Ï‘ý±ÆŽ1æÜEðŠ kÄJ< ú±øðLøG)~¶â/çæÿ‘nŸÉ¬tg¾|©ü­Î!œDt·çá vVŪÇÁ%±öÇ~uXè.!òœù>G³Ç×Î=ü‹üÿx#ÇO£ˆ¾q cóÖ¾?.€ ¿Þý:X¸†¦ž§ùì÷tEcºÁ-#ÜŸðšt»÷£žßɖǾt»¥+¤m±Ïè[txP‘æ–?:áq mø$Gåùž'O‘õ.Ÿ\wOø&säq+«¸†q¿'Ü^kù6±è·ù¬£=°l~ùþS•qXÞq ”!)·à,·€ÏçúóHãÊe/©ZüçõªPÒøR’ü»óOð²þ¸<ß›·e>mm+cõÆþ€‹)M½óä&—nBJØ4Ð;wæéoe]`7ÉÊ2—x¼Ý9ío|´°Z§(âJ–ð¿yºk†¸Cñ: ×çÄŠ)Kˆ™OëôCêá!j•µµ¯ßæâ/ÿÐ@Àyì°¶?"JáÊš·à!žü~óh6ú],µoâДñ$`®Qú® cíôà/5úq´Ïëöúßl}i•¥¼Û¿$­V7cþ¨t´ùõcñ­P¶üšÆBÛäÑo¿@¡l'‰ý/²‡è¥)}AÁU/Š2•¬‰Oë4!$jPXƒ@ãýSûBi¢‡ï’P´°¡ eõT?ý>E^7Ï¿I·[­üt!) ­ñƒM¾£¶¥oö¶…ªЗԾX’-øeóëzÚQE ‰ÙB)|RËä·ÈH|´ýicBi­e>ib¶ši”ABÒÚ)AZCô&‡d¥_­?h"”жþ)IZHnź’@£öŠКhš_ž4à£|‰HvhI¥b±’SJHýÂÄPŠV[¿;sçôþUŽù÷íД'(~±@¤ o‰ÛÛ–È!¿h6þ$Sù­"”…ºIýRQn·¾BØ·ÑBÚÚÒiü©¤>ó~[~él­¾k:_÷\ '(ã Ûð÷Kø@¿ Vþ'gøAÓî/׿-ÞoòB?x6çÀ¿yòº~¬wKÛXÞÏ“ÂVéû> ùü<Ž9E°Õ•µ&k³Ý¥˜º[œEìpJµøü‹Êp ”çÉŸ*×ëÍÒùÄ3ì£×Oš°?Œ`1žßÉõ¦8ëó·-[°[ü°mtŒÁ¶¥c á}K¥ø³äóo–òålÀn—À\N–4ÛXüyBß¶:¸<Wü¸«…(.!ë‚pLçÁ`:Ƭz|ãÕéZ¦±«Lñ`*?øh°ëó· ›~|•Žþ¸+œ+‡ÒÉ4£ŠŠÇóO’)ü‚h£ö„糈® Ÿ[ÇåÇOåÆŒ¦¸2›u½Â’8Ð_q[ÿV÷Ï©+kB”QÆ·Åù¾t¶|¿ÏgÊq`7K[ßþx$ £ù7*â¸?Ÿ£)¬e¸6î:.,÷|úÝû¡óûu+It½±Ôq¢ßÄ]#2¶þÝ?yµ¬§ò9Kä>JÝp?®«rmè(ÊmÔ§‰ óuZcÂ(úk$QÆúÝo4Û½c‚Lº~ýþužùWKuùxGõÄýä•·ßÁZIãóãFQÆâÜéû=íï°K‚O6´NSøº°>Ÿ4ùÄ;¤ec¬2Ž7ËVÇàÙá;ÃXËvÇyësà_‹ÿYWȾ7-l~{þ‡Ùï‚J?Ÿq èÉîŸ3§ç¶¸0mtŒ~|^yðVÇg³ˆÚézÓŸ3§×ÀBÀâùÿäÅ¿7ÇK§ÍZgùü­•ùà»9U‡ùí\5bœKyÁ1žùWòà?Ûˆ˜6`Ûƒmc>® ÷Eú]?8‡E»Í8‹‚·O“Üï„<Òßêâ?=j·:}|°fjÓN|¨óKyì…˜¼ù)ý׿ø>/7oý?·à“Â9~ß~‘€ÿKe X[ÿYHX~¿:”-ÛÑúüÑ+ YŸþyí‚ZÆOéÄTq-ù®:G(®$þIO½öSù~èH-~è·Û«÷”$¿ü­éZX`7ß•p¾Zt±¶ñy§OÎ –óî‘òŒù$×ßNKä‡\£ )mGòH‚ “%QQ°……`V" Ò‰@ªKê´È"³)Ûlº– D‘þ@KÕ© €“TUH&­dÂI„Q$iß%ՙжk{¸êñn±¼äü %·ÿ¬éXlucQúqb,£)¬n'ùòñSnÀAõ&ŠÇE±ÿ«wx“\6ÇŸ €ó—æ+”RƒÅE4ÇÚh}ÇNPµ€èÊ0¬Ò’­•§Ët!+j¡5R…²0¶µÇB?tM¬¦„å9킺mÔSÅ\<_–VÚÇÏ|¥kÍ>¶?¸…ÄäïË>•Yó|Ö>TøšÏ|¦ŸçœC~­†·Kx ´/‚ëçÉüöÁ1ü‡ÊO€•ÙÁv<õŽ—ÊÛEpà?å9ò`$ñeõp¼¥ ~oÂ5-Ïòž*-ëVñXùF ?$-`­ÿ倿'ÙEÿ(È—>U¥®7Kþéã n"~^mÓþSúZã[·"…¾?Ý"€R´¶%m/“JGè-¤%ù[BÕ½ÒùOêŽ<÷ZZ[9ìø!mýc8‰XÕGï)¢„œn'(¡Ðx‡å!mý^?Ïo‹‹)~µU/‘oâACülÈÊûüOù`Ù”`:<ÖQ€éâþ~±ø/ŸÛl8Á#ˆ¿Ïñ~œCà”ÛŒ÷µü÷óÔ~Yíüóäù¿çÝ.µ@§þfŒù“ðmOâÿ5•q\.‘¹ò=•µÒ7öÿe Cÿ?ù~#y¯çüã+1k1X.Ç`}`ï(Á&{cÖbÿçÊŒlæ Œöü¼ÒÛˆ¹òþé¥o)ðŽ{åm¶óàÿÀ¬lù>lã¤c¥³‚]7hq.ï8ge˜§HÌ~–¿%¿7žëtq¸‹‚ZNÊh· Sá ÆÏ||Ö®üq;{sêrŠ<Ùü¸ÿkG=üØ4þš3Ú±–øÇéÄ_U%n¸kš;yK奫wT‡ïÓPÍ¿4¿JJBS|(vE -Ԕ EU³„Jäa!ii˜)"ªI E5 &0† 0À&øAˆEá±¶î5N ] WæKXÙR[$Jö±•`QÒõðÀ@Ô½øjTFÑåÜ­q‰Á±4W€šÀ>OÊܵoÈ—(Zt°¡mÛç¶Péû=ò¶à—–÷üOŽüŸgËoü’éþ±òŸ×›·×UÍcWótþuŽqx`–ò—Kq`<ÇæŸ[ø¼Ûî,€¼#柣žmmkЏpIǃe6ç¾|â.QÄú›„:R×{y¸ZH¦šmé|íÿ|tR å·ÆßFPÿˆ[¸?tñ»gaûô;e±E6çåú Án›r)ý%4Rüþeú:SKõ´þÓÄ_QGZZX ƒ)¡?¾2I¦„Ò(ïOš®ªOt©¦Þ([X„»°´B)gþß ¹Cô#öŸ Ê2Ø¡nÞÊ¥+eiùó_¾.,§)·•§É[üüÞ|‹H·ù]-‚[u½qÿ=gÖ ž[ü¡L>4ù®7où~íÖçè+h|“á^$:Á'„-ÿ"±«(Ê|!o ¿ZE»=Ó”>âüüÒ_¡øð¸.€œ¥j¸<"2‡Ø ­?Ecþ¼-`( ÛèÊպ߀’þÝJ׿´ŸÛ¶tºQJrŠhE?ÀüÐý(¤[­ùíO²œ¡nŠV–4Û­åóþ*P†ƒBxß[¼Ú;ýþH­3\ƒoä'‰)Z·¢ŸÞPŒ¥o‹à’¸x«e5ÁùÛß—?k|Ao=«>OÜœö¬|£>^'aÒ•o=­Î!ÜD·?•³=ø¿å –?®?×íÒÎ"à.7oƒfVÚÆ¦š?,×¥ðlóyGêÞúßXî–[¥oЏ3ÝòÒ)}J+¨¬jáÀKtÛ¿n€·ù#öpÿ ~úÞøqþK?ÍåKJ]¹6ì¥÷êß”~x 6쀭üx úÇÍ-€<áo°Vø•¤Rú¸‡ò¡/Ónýñe/°„kjßn¬¥jV¿k\aõ!h£j߀¿|IZüø©¡`±Eü¡nA¢’ùý |Oßx_JJVß"ßG÷æµÅ€ÿ%·ËÔe?•¼T·Û¸ßPÿ[ß>ÊR·\ÅávâšÆÀtù§ükIÁ#¥Ó͏òšÆã}æë‹öýÛøAmnÜ+…k)}€–ÓÆŠ8ß­‡õ°ø?%i+Vô%ß¡õ(£Œ —Å4б}JÑXÓúMU§é|_¾‚&…±eR’‘4 ¬  $j¤˜™ÒQPMZ RP”U"³A„L*‚‘J AuR†Tã¢d” ¡ …Š"“E(~ 15A#p_÷Ð,$ ($6 ‚'Ô†¢D ¤D´b5c LBeF6@Ü‘ ªùhÐ ÔÚØ¼W=ˆ™‘¿ LÂjcí­,ç>Í^§n¢¯ÿ–•GsvCÃÉñ¤´‡0Œ«»“YãIiaWw&³¼ÉÃÀLÀùx `-ÿ½k)}ÇûÊÙá+Á³ñsˆwK~ÑüàÕ“]>µÄ~U`eð,ù3àÜEtùåmüüÕc:]ÄLñç¾V×KxFÝç!.–ó­V™Àvêr¶e\xCÝý±ÖñZgòÊp{~YN µ`…xEÄO6éýÄ;§ìwK¸‡ðþœ{cÜCåm}”­çµcºZ´Íp~Ý?ñelþ}Ä(º~[W>j¸Kþ/5”P·ú}AJ׿þ¢-ëT¡9ò8‹€íè¬uªÇ[3Äý£ÍñþtWšý§ø+_·ß’Ðý-*áq‹öþ×ÊxŸWæ?€ì¡÷æúß”>ó\_‘¡i ÈÜIX:š!õi+c÷n£=«„ç¶{­$¿§(ã¬wKº[ö„­Û?vïÊF¦š–çëTñ¾[·,iü¼Ýº¸r‚ÿò®¡ýºŽ:Vø­ÏøíÈOê±ÿVëcüÕ?Ï%5”þ¦×{q¾tü³\‡±ùG pšqƒgç@¬lù+h[¢”«¬oü°Klw„MëóÉóyíoB×çXÁkœötùÝ>E˜¾,÷|R·ÇMp'òÀ`~ëƒÍç¶ £‚Üþ±°mÁ³Â q¥(ü¨ý'=ð¥&ßžÆßù Óæ«jŒ”ÑÆâ Ø£Š¸8ݽ?—ï=«”~¿×—·¿Í9í”Û²’´(¬t`<-Š?~ýÛ–üÒÝ*Æn·q­à“´þ_šßå‚Z%/¼ÞQMc×c­?® ù]-€ÒýÛ8Šù%Ê×pç°nãt·„H·-Û–èâý¾·åÑXëNË⦸BÕžþk÷”Ö0XÒµ\J)â yOåûZüÖ«Í¡ûî?Õ½ÿr‡o”`7À•·mY-þø›ÀOÑF –Ý­V;î ´þ„R´þKãKå°VèTÂCð‚ŸÒÑ4­‡ßµ¥§ôA¢šR¿Ž$#Àíâx–¨Š8é¥õ_¤ØqM»ˆ„ qÛíÙJ]-E$Q扺 ÄŠh[ð¯6´_>¡maà"Ï—Š´Ïò-Ä54V6 pHézS‚<Á6[ÏgKº|ŸÏ~Hý¸†ð†VËwåá+tºyFQJÛî?[üÕ±èâÁ+¥ëÿ×çÅXüšéoËõá á*Ê3ÙÄ_çÿ.*Ç}\?Ÿšt¶PµøŒâ«L,Å×9E»¸6dH—ü~¥4åt§)Ê_!n¸k±óÙkùêpW\ßJ×ßê›z-ÿ“ì©þƒón‚¶…ªÇð€>iúß„?NÍc8‹nýyµ¬¢‡éÀcxF±Ÿ¿üƒì¡ }”å4-[3ùq[ÑÄûÐåì§)[|‡Vê2‡ô~Þÿ(ZÁ"Åki4š/íëoßöõ®!€–øÖ­ß™·à,ùà/Êž …¥«z×úQ”`:?“¿k|fž;~Pùûì£>U§é~aõ)~éýÒÏÝ/æ…¼e+H¡÷å”þŸ¢¡Ê)[¢5oâýÓoýqV?êÓ°ûÍ¿ZE hâýÍ&¸Qúâ[Ec‹r_þ²%­e|éÒ)v_жhæ…¾ÝM»¯…cº]÷çæò……p~–üÝ)À\n‘¶êV³Ýóäç².1ú/Óú~û‰ÒÏíÙM¸¿·[ðÿË‹Ž‡þjhGík÷Fü–Ÿ[Á·ÇùeÂP¡óçø›aÊO¸yºà~h)üŸ¥mûúmÖõ¥¾7ÿ¥®<§(ãº—ÔŸÏ rfÞh¡iii÷ªRû¸ß,E!k¿/“û}æ¸ß-'îÙ6ú)KôþüÕQÄèÿ4øÒ‹rÅóàÿ÷nFG¥ú즟àq)âÊM!ñ¥?¹ Qot»å…”ñ?·[ÆQÅJ|×ôÔâ ¢Ÿ7E”‹_'@ÓIÊбù“o£Íñ`–šiÀKKtþŸ~Ÿ~_¥¯Él-¾£‰ijš­ÑM½/©*ý¥)Ž>4?òãÁ'›ý¡'(Š»â¶„yªQüú©â}Cä xß×P¶(@â|´hMTþÿA)ókEnA|x²—ÉZ[£óÈ”~è§õnF|œæéOà*’)%÷ï(4e>ý?ÁRxðRŒ”-à:CêrÌ~Â<ÖSXËx+[ÀKhZD¡o‹(”RŽ<¥”-¸¥ðß±÷ëk¿£ŽŠVÇðxÂé~Š+÷ú!)|´šŒ¥(òÉ)ZZâât Aãý¦‡ä%a6ä-­:¡+KIŠ >F¬p_"…‰§õ”"‹q©A|šiÄŸÊ„_-E!ŽßÑÅ൲µùeñÒ”‡ï(ð¤Ï÷ùïÆ_ ”‚´´øÂÙý!Û(|—Ä%8¼Ûú_Pÿ)|„Ûÿ(~ß­º-¿â>iø[âtµ½bM¸>¨ýj)}”ÕøÑJ¶í’ùÐ0Hš9E²?ã¡i/é4¾[OøÒ_жIHX%õE®5§b…¤T|·P”xD¥jܶ€þÞšRìëT!©Cçn¶hñ’›r)ü¸U´%l¾4¤%ÛŠ_éJ)Hý£Ž }Äì"„•¤­Pù4¢—Ëi·"œ¦•ªíë\t ?ÈÖïʪü‡ÉZ@¤Ðn dgô¾â$ж˜¬« ŠR@¤¦•¢]²ÚVá­ÕE/‘ E«ô’°ÀF²¡+EØ[ JQ2üeWÂRµ”QJ_„(Xñ4$¥ð[$q?¢ƒGÈë±M½h! „´ù‚ŠI@ýÐ ?~eúpÿUJQ%Ø¡5&šHJ*ýÑV²-Ȥ¤ÐEGA ¡.ÊÆ’НÓT• ê!H~°2¶˜ª0ø¡)ýP‚_×kÉõÂí ÊU’K’o× ´')VI.I¿€týà&Àð¸ø $‘~¼ù?äû}XÖ÷üx6~Iý'Ž–ð`ç®o¸¿?ÅÿÉ–úÀç«Þ¸-†µ§Oµc:F>¬® ÓÏ,Å<â÷øüŸŸ´œ£y€­Á7tùân ¦ž2üRþŒ´þ§é(BÝcq—îÃúx²jÊÞ{ñ&Ÿßš£Œ‰i+r¶ù$ã¢Ü°óVî7elþ¿H·R„qŽ:2$ÁU/øøé¥ñã1G¿ó¡)}€ÖŸ­%óçühZX­>EWëkUr›{çæ—ï­Ø ûð´·CÿàÖ3å è4¾/èvVè¥)·%ý ·¾J î5¿ÊŠ‹rP+n‡nP„ ŠM kÖïÕ?š-Ç)}A¢ŠÇCô!÷~VêVÒøà3Ä·Oê•¥¥²°ÊRþ©viZEWôñå&ØJSo[X!ñã¥?«æ‡bßùdy§‰Û-øYÊc! JBd'=Š?TÜTþtþ–©¤?Š-åÜý6ãù'ô¶*û?|ùÙ4ÑJÕ KkVì¤ÆPùn­•)·¬?nßñPŸÝ½û¶E9JÕª”¥Ù4еĵB׿´»)Ui#öìeÁU/éJÕ¿)k(·>|~ÿ_·è㮥·ÅðvE(&Ýæ‹²´ý%/Ÿñ¥ñ”ñ¬(Zót¦ž5…¾º4Q‚¢2>Sùoü¨/Òýóëu7¢?N ’R”­¾|‚øÓÇoKâhã¡/Âk„ùºRíÑE4Pè!Oég·µàFÜ §òM/Ã÷Aë{énEºîŸÍÐVøŠ¿ “âJݺ—öûr×è[‘”ä~<¡j„"6—Ϩ[¥úQCõ¤­q-~|t$Ð8Å/¿kt”›wꉥ!'ˆR<.…¤¥´,N ¨¡'ó[¡’pî‘øœ[ÐéJ´””Ñ€ÖÝšx­Ô>BÅ(Kî>)E!ñ‰4`ªjì%÷_ÐV‰ãJbßÇ»|˜JÚ0VŠ*¾·$’‡ÔR( Eê¡Õ4R—õRUÕvmõš @~š¡.ØŠQ”™Ã@¡iúÝ5¡?X"„”¢¢×?Hvé[ü’M(•¾5¥£ICãàt¡búH·…€â[@©IHX?~VÖ‘Uò@NÁðªfu((M!-Òú´V/é·” !$>ue)@XPj”¦²¥²B_AvÔ;d Ë…X4„¬_ „SM)4Ûè’’“/ÖáÛ­P‚„q¤HƒùR!j„Ò‚ßÛðüñÄÊ•irI¾xâeJ´¹$ßœcÀT@á`,9U‡:ZØÿˆzàÀxͬÅg¶{xJÿNŸ©ÀOøðà?ÎÜ2•»šý¢ŸÙ}€‘\[íôV>SÄmØ A§óŠàÀtÑOp kx‹zVú2”þ“”>vüT[„->ýRœž+y Z!Òø [Ö‡Œ "”ñà%¯ÕÊQG›|¶”ûCàùnšU§õo-e›z8“Tþ¨@lҗߤ,û€ò”¾F{q~Å!ÓÇæŠÒßM¥i(Gíð¡õ ³M·-[ÊÚ mé¡mñ?²Ðµûã§)M!9A·>FQMèZZ£Ò2ŸÏŒ”¬BM.ÚƒCå§ïàSú¡jŠiýþŸ¡ýQÄhEùâý%òÛ勱B*š>’š]šVø¨(¢”Õ}MŠª_€R‡Ã”$,V—É"*SE$„ KñJ¬Âp´!mi W3Ýu¹v’î£2& `xóÖ:ÊÛá¡kÏÄwÙò~VÇÓæÿyB ÖRûòÊBÛˆ£ÍÒ’œ£Í£÷ùÕ•¼ÑÅnâ§óB]-ù>+~Rè)6ôÛÃú M Ò<(~©[ÀkoªþÍô´hýÛ¥+oÏä+†ŠhZ[· Rýõƒoð¥ì~\@¡ûî$»krÑ~¶SJ©|Ši«rM¡JKäž •´?¨R‘@MGÂhCêR$»%ý¾—éC²BPfyyÍi3ÀKÀæ¼ÒÞRâöSù`+u b„ÿ±æ–«Šœ¸‚~•·ÖêQMN$¿(|—ÿ•G)ãM/Ÿ­%;´-¥ùBxŸ„'([Z¥Š±n´þ€Bh¦«â¶ƒn™÷]nµ“£1ÒùGxðšO›[ ¿óeb’„?ÊkÞ“JÒSGç\ÀhýQÅÅ”ÿ?ù×p?¦šYBù¿qÇõÃù`˜ü­ïÉâÀO @€—é)JTLLµéŸgšË!Æ8–åp­[’â'±ëvÇqñq刻 |X%® ÆÊÚþŠNÀhCä£õO…5®;~Pión‚QüÜhMºÞ¶ÛŠj¥òØð·A¤¤“Æ´ü!5Cð–’1.ÁCÏ?çÅT–¹yà& ¬rû`™®Qù€üÕŠr…¾:ÆókO’´e+|_·ëaã£òOš_Û–ß¿[[ÐýöQµ®/Éõ¾ŠE¹ýPœ¢…¿5ÅoJ€øÖÍ—8”Д”¥)ÊVøêå(}”¡ ì¶Œ€šÆâ”QNQ€ÓJÛ÷É[/‰ Eð4ºJ”ŸÙ¡ÐRЄB1&]šRi)L !høU#Có®¦ÒT’I3Öðp:|õØ ÒîŸ+§ÕgÏ¿&Øóƒcˆ”qñøEkòÊ0ûwëÉoõoÊ0SùÛèýPµ””ùµ£ÆsÝ+Xž2ûÍÓÇlvZü’”¢ŸÉ6ïÏÍS€ò‡é \IÁ]#(ýÑM ÁWämÉãB×ô:Yõ’À`PµGëÍSûðJ]²Qo}úóxÍ~ðS€–Ï)âÛò… ü%ò*mëC‰ÿ8ÑJ]-”>Z·­¾¢Ør±óYîý?’ßéúÓ²´~Á¡?‘üß---Ö1BmÔç½ÖR‡mÅùþIü°¾±–ÿ5¾"0ÝcÓÅJÒ)¤Pùmao}S)vÖàŠ)ý¿BÕ¿?Êx¿F¸a \_ºxÒùiú)ZKòŠˆ)|´ùmÛͺ‚šÌ¡/ÎTè |yE­‰Z ‘YM/‚M.ËäPþ¥S$¡2 âÿú”%j¬‘B)M ; h ST%õ ¦¢%ú(BR„>ªþ„¾O®âÕÍ\ˆµÅï× qjæ®DZâ÷ú¶?ßäÏä_€»ÀÀMÀnG„mßÉ®Ÿ¿<÷ü¿*mŽ8&ÕÃü™àÕ\Eð¸†Ïƒð@Ó\?ÏþKvÇ8‰\l5>þNÀ_§x©tþšÇÀN–Ê|!‚ï[ZcÛÍ~œgö³ü÷ïù÷l·žèÀc+f{!þ|óëoÝ/Ÿ&QXΗÁ³绥¸üßÖ|Ž'O¦UÏæ(üÝ>Åî–üÿ¬Åþ^¬ªÎ ¹W!ÄT-×?Ï#(ãÏ|ù¯Í÷š·þßÐ…¿7nMc-à™.—¶>ÝJѬn*ÇB)3ßÍ'ÍRk“ô¡!Gšt²…®;wïø+\\c‰Ó÷ã}ù~Ÿ[–Òý÷ðSoZ¡jÝo¬uº_Û²ŠÆ(®¼¦ÒsÞ±¿_ªÇóKyE(â§ó<_£Xø ý½ò-g¾QùþiAhäJýþ{R”Š0š¢Ÿ4ýoÄœåÍ¿)?•ŸÉm÷š4R‘ú£ôrž/Éú2›}½io÷o·Ð·”Š‘—üF‡éý~Ÿ-­þiB-Ï­ËBÝA·-­”× úáâóoÿ§KÛ¸‘ù`«‹Í$Qû£)X­qà/θññÉl¾X$·:ZßO걟~x ø$~tQQj—È}ÇÄ­îÝkÍ:è·¿¡inŒ§(¢œ¡aoH¤¿¦ŠŸ`:-Ö÷ÔçÈùòV‡ìÓnÊsÜ&ßás¥ðH´-ô;l]—ß·ß—êßú4à%«v ÿ+u4‡Ã( So š¥Óánãýºß…B]ºœtR_%j‡@BÚ e9D­[ÓúFRíŸ;s¥"ÙÊ´±Kësü£÷Oíõ¾¸h[·[ÜC[ÓGâzx ‹wéòÕ¹hšÓ”SUø‘€ø‚(§‹ ÛÈiM+~iÿ“”£Šƒ€‘G+|K\aoÍ`)/ê~Ÿñ~­é~ŸÝ+¥¡ÄûÂ$þTñq~~M%?º8Íp¢ß”>ÁR×,-ïŸÓÅo~è(ú´ùÐý¾ããþ î7ëC)¢š0æ‡ËáhýþH!lþèvèýåõdè÷ÙJRèŠx¥?´škƒ÷Çú$W >ýEB± Qú¦Üø?ÊPš¹AE4ñ$xS¥¸©¦„~øÓS!+_«wš|ú”ñ?#Ä„%å h HB~^l!jÞÿ))¢Üý4…º–úmËh8*~<ÕE§ë^mý#"9i6ïÊÞKpèÐG뎇ËUÀž*(MT¡Vúà§õoZvϵCð´+·Í! t¤FF}nã㦔Ӕ;pûöýþÊ Z Ø H[¡/ÿ)?• o‘nãý')%÷6àmÏÐn4ÐOé.ÊVßå“ÿÉ6ñoý-þ–*¿JÁ—ì­%h'÷OìÊM¿Œþ¸‘Ä•®5«}“o[¥l?}I|itš_>ýÈ+v×åIA[¥b‡fš…®4ᢊ´ž2%j…²E9R¶Hã!"”Ò* P”šCòŠKçóù  Ð ”¾.Ëçá#±û5)¤Š´!Ø·»(Z¤¡õ$U~Q4ÑJ¢JÚ?Eƒº?PBÚÒA UJ)ãâXÐH#ô(B?i¢¡¢š‰¤Ê¨vKçmADÒ -¡„ b”‡éýR—üUPíÑnv‡ò(Iš(Iò$‡f·LÓ¡jеHIMSJxé\D%Û¦¥4>JVŠŸ )¨]YE$KAŽ)>QÀ‹u Mñ ¬VƒÕXòOå‚c÷üý?–S\–q|¢?ϾðhþVÇ×ðƒˆÞþOZʬþ\_Ï­~Yò:_à<­™ðx ÷ò/=¿žóKyOâ?ò~DŸ‹,â& ”¾[tºNZ¬ld`•ðýþ.Á Àtg¿„k‹*³Xî"qøGŽØj¶=êà?—ïóÁ8†ýy§OŸ‹(Ïe¤£=¸–íȤ--8‰ûZ€«€yªá)ÊÖò€ÿ>_ñq¦ÝžõÂptµ4`%»qþ{Â/¼Óì¡+\KF¥ùóX òßS‚Z¶Çi}ùyªx²—ϩ⧭y´-Ošããà;c‡éÿšýqV=­`?>¶>Þµ”¾[KêB×éø¡ÿN{`5¬¥bû(·øW„­ñ;ºú¸)[óKX6V;ú?./ÒÚݼþuûZV­Î–­1\’hâ q,/-ÛÍ |8¿"íÐû÷nÊ»ûwëóM¿ŒÛÑ oÖgVòŒ¤äH·o¡(Z·~†PµXô¿ýT[ý!ú0cq[–Ÿ­>®ÒÒÕcq¥ý¹/ßx‘ÅJÛü¥óêi[GêÝá á|\ªSûXþ†QúÄéd?â[¬ÿH·&Ž:?‚ýÿš|´•´'ö°E4¢¸( %ÒćÖê?,ˆôà$-e?ªÆóu€òŠÛ­ô»R_¾§)ýÛ²—JN< ×åG?¡Äµû[·ÛìR8†Pú—ånÜž:ÇOîšJÙM%"—üt- ¦±è ñ­£÷Q/Ÿ¥kЇé|·E/øÒ´ìù·È~µ”E+YFQûZXÒþšÇ4qÍõ^<¢Ýo~x–øíåð¬u§îÉ Eº‹x[¢‡Ø ) ,-ë$[Ë·%óðí’ì¾4¥l;u§è|þ•°V. ]‡Ürþ‹rÛ±o¥4ÐmáöSûý!jšrÒß¼!þ|Ž;z×÷Ä%ýúi·þ’´ø¦ÞœŠmÿ³JmîÇ(ã}F[ý;¥iil"ª(þ¤'=ðЧ)·e.Ü ñ¿ùe/ÉãZE O¸üÐ|‡@O…¬)À||oø¿El­šE¾”¾ R¶ƒût*â|š 5¹[4å h!dÐmΗý¾¥_ª´-­¥#ø/‹ÿÕ oé~Éõí©ã.ÞÉj‡àñø-Ñn|Ž>:SÄìýo­ñRЄ 7BÖ†âJÑB-Öú(hA}”q‡ÿ¯7MQCü¡ªü`'lµo¥ü8òŽ%´»t$PM¿ô¶*RûÂÐ퉣ø+i~Ñ”?¢œ¡šr—Ôïò•ºÍ+>}”-ø]¾¸I¤ÂÒ-ÙMŠi‚B*жÿ"L¡/ÇhMÒ•´Šplâ+QnO)”Н©6ì°¦Ž<¥jŽ:8è¡‚ŸÛçôQÇû~µn~·M–ò” yº_¾}ù¾C÷l’—Æ…®7ÎÂßûý! ù®-ññž$¾Ê8ˆÁPE6ò‰X~uSúJK JÚñ„%ú_ÑJmá+Còý’O Ëf˜ý”%R@šx¸ÑÄ(~š ø¥nŸÕ¹ E[xE)â$ñQI~PŠQ‘(5J5Œ¥/¸ÓâM’—ôR”>ã¿MQA -~Ò”ÒŠ¯š2¤(M5 Jа ¾Ô}‡…BNRš&¨)~jBR@-ID!5 ¿¨—@¦) d¤Ò‡ÉJý!aoOÅüÏy¼§Í8‰•·ÿ=o ÏÍ8‹æŸq8‹žØ[¼ãî#VVÜù?o?Û-û¦¸såtù?Ö˜ðÀ× -Žð¥. Œç­ðj+þÓ”þŸ­ ¢Øú8­ø õlQƒn}€–üÝ+vÇ%9NQŸ-iXèGÊû}ºŽ/Ïç²ÕcºX`ÛB2Œ£)ýÛÿ,€íÔÓot·›?•ïBÖRµžØ%·e"Œ£öû~øÑ‚¥ªá¦ÜSÅMññç³êxÂiÊq­e/ŸÑÄ)K÷Ã÷lwïÍ­;,A|ÿÍ~qo·?ÀT:^Ž>/ÖQæÿ? ü¿`[è·e5Œézàã£õ¿Síã=¼&¯¿Vëcü!á||YMp,Æ·‚E®4ñ¾(¡õ>oô×â¤×þA'‹)MòýзÇ\ r£Íà'aûþ< [ðÿÎÜ·ùR—g(ý¢›u(¤~’r‹}—ýV7ì,?i£=¼ÛêVÐø­QXôù§îÂ_¤¾ qJýóïÍñXKî5·ËB—o5€ÿ\eõ¿ô·€–ðÕ»÷BЬyüŠœEý-É[t'ÅýºÞ•¤¢¢-ïÖ‡4þø“”-¤‡Þo(·qšxŸÓ”qþ¿tR·úâýº çÁ/֑ư"Ý”ÓB(”¥?¤’Ši C÷€¼ÛêèãI¬jÇZAýå [·öÌþ¨Ò_å \eûçoú£"?ŠÜ‘E¼­[ÿ,§Íy³ù-ÓCáXùB<’ÓMAO·Û¥ø+D£hGÖJr„»`SE«ô--Û’ýþQJ?~h~ÿvïùµ§b’Š‹¿ÉÐçJ8–¸Ö.Î t~Àâ¬øßøCÐE IãvÎÙþ{×¼'ˆÒhH4S [¢ÝùñÔ»gô­å–ÇÿT~éâvV YHKì1BƒXÅù€´möïÚnM+nÙ6å´›}c VÐÿeý—Ȥ§‰¿[t·›}M»ó·SÄû)BÅ÷4ñ£ô_¡4RZ¦ÞøPùoöúÝJݹúh}ovµKñCëzmÔ Wš¿‹¼×âÿ5沟ݻÍ8‡9[Cå8&+)¬d¥mk8еžÞZý`<¡6úÆ·­åÒí“ùºYo͸‰ûÏzÓ\.‘žýålqžþ}ògËGåû}o·q`Ûžß§Oø$£¿§éýe4~°Óì¦ÝKÿËóiÒï«Â+^iÒï²7G½?Rž*_åøðÝc~i® áʺÏwJO6?_´"š)[Ö…¿ômùE<¤¿ &•¤e'ßµ¢•®4[¼ß›·Q”þ’·úãtÛê-üInã6ïÚ­ô _Rq¾G4þ¿hýV=ºÜé|Å‚_4û=ð??Ñ[|HŠP­%ÿ뎟5ù¦±°ü¿h¡o‰lå  =Ö¿'KÛ¿Un£)ý%oô·Oém+T”/¼.Ü2œ£yE+®3nýеûZ |OÓn·‹vRùk)ZE½h?¢H¡m Vú[Ö½¹úYJ-؉÷›ü‡ç€Ÿ­þ_´[¼ßêŠá¬cæóÙo÷žß5æÆQù¾£ŽÜý9FR2ŒGR´ø©JÒØ¡mó³ÅM6çéZ¤£ mhqñ:n[M¹l­StxŸ§õo9Gæ?YM­üEoô¶Ÿ×ìq~Ö‘û·êšx–Ãî7È[}U Å/©-¾vãÇú¥ÿém+KhCõ¤Ón[+\hGmø oÍe)ü¿:8¿>*?|EúÕ+ôV–ü+ö‹wçGSE tCô!ýš÷΃n<¤­ñhjÁø}ƇÖ÷ÈãZvëIM„?¡cA(J/–/ŠhL%ÐüQÆùþ!o·¾*Rùm[Ö‘oâ kF—Ô¬)(&„”UX&•¢¶´íßЊhX¾I|¶Š-ëTe+T[Öƒ÷ÉX?@~øÒµI}MD„Š8èâÊh·e(Z[Š_ }»ø9Aýåñþ–Ónã V÷È·ñ:é 6; BEGIN { use_ok('Audio::WMA') }; ######################### { my $wma = Audio::WMA->new('data/test-drm.wma'); ok($wma); my $info = $wma->info(); ok $info; ok($wma->info('max_bitrate') == 160639); my $tags = $wma->tags(); ok $tags; is($wma->tags('title'), 'Love Is Strange'); } __END__ Audio-WMA-1.3/t/pod-coverage.t0000644000076500007650000000027411114345076015334 0ustar danieldanieluse Test::More; eval "use Test::Pod::Coverage tests => 1"; plan skip_all => "Test::Pod::Coverage required for testing POD" if $@; pod_coverage_ok("Audio::WMA", "Audio::WMA is covered" ); Audio-WMA-1.3/t/2.t0000644000076500007650000000060411105675616013125 0ustar danieldaniel######################### use Test::More tests => 6; BEGIN { use_ok('Audio::WMA') }; ######################### { my $wma = Audio::WMA->new('data/test2.wma'); ok $wma; my $info = $wma->info(); ok $info; ok($wma->info('sample_rate') == 44100); my $tags = $wma->tags(); ok $tags; # This has an extended data object. is($wma->tags('author')->[1], ' John Doe'); } __END__ Audio-WMA-1.3/t/1.t0000644000076500007650000000062211105675616013124 0ustar danieldaniel######################### use Test::More tests => 7; BEGIN { use_ok('Audio::WMA') }; ######################### { my $wma = Audio::WMA->new('data/test1.wma'); ok $wma; my $info = $wma->info(); ok $info; ok($wma->info('max_bitrate') == 20000); ok($wma->info('playtime_seconds') == 16.91); my $tags = $wma->tags(); ok $tags; is($wma->tags('title'), 'Upgrade Your Player'); } __END__ Audio-WMA-1.3/t/pod.t0000644000076500007650000000020111105675616013537 0ustar danieldanieluse Test::More; eval "use Test::Pod 1.00"; plan skip_all => "Test::Pod 1.00 required for testing POD" if $@; all_pod_files_ok(); Audio-WMA-1.3/MANIFEST0000644000076500007650000000071311105675616013466 0ustar danieldanielChanges Makefile.PL MANIFEST README WMA.pm META.yml data/test1.wma data/test2.wma data/test-drm.wma t/1.t t/2.t t/drm.t t/pod.t t/pod-coverage.t inc/Module/Install.pm inc/Module/Install/Metadata.pm inc/Module/Install/Base.pm inc/Module/Install/AutoInstall.pm inc/Module/Install/Include.pm inc/Module/Install/Makefile.pm inc/Module/Install/WriteAll.pm inc/Module/Install/Win32.pm inc/Module/Install/Can.pm inc/Module/Install/Fetch.pm inc/Module/AutoInstall.pm Audio-WMA-1.3/META.yml0000644000076500007650000000056511114345773013611 0ustar danieldaniel--- abstract: Perl extension for reading WMA/ASF Metadata author: Dan Sully, distribution_type: module generated_by: Module::Install version 0.67 license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.3.html version: 1.3 name: Audio-WMA no_index: directory: - inc - t requires: perl: 5.005 version: 1.3 Audio-WMA-1.3/WMA.pm0000644000076500007650000013163411114345464013321 0ustar danieldanielpackage Audio::WMA; use strict; use vars qw($VERSION); # WMA stores tags in UTF-16LE by default. my $utf8 = 0; # Minimum requirements if ($] > 5.007) { require Encode; } $VERSION = '1.3'; my %guidMapping = _knownGUIDs(); my %reversedGUIDs = reverse %guidMapping; my %objectParsers = _knownParsers(); my $DEBUG = 0; my $WORD = 2; my $DWORD = 4; my $QWORD = 8; my $GUID = 16; sub new { my $class = shift; my $file = shift; my $size = shift; my $self = {}; bless $self, $class; if (ref $file) { binmode $file; $self->{'fileHandle'} = $file; if ($size) { $self->{'size'} = $size; } } else { open(FILE, $file) or do { warn "[$file] does not exist or cannot be read: $!"; return undef; }; binmode FILE; $self->{'filename'} = $file; $self->{'fileHandle'} = \*FILE; $self->{'size'} = -s $file; } $self->{'offset'} = 0; $self->_parseWMAHeader(); delete $self->{'headerData'}; unless (ref $file) { close $self->{'fileHandle'}; close FILE; } delete $self->{'fileHandle'}; return $self; } sub parseObject { my $class = shift; my $data = shift; # Read the GUID for this object my $hex = qr/[0-9A-F]/i; my $gr = qr/($hex{8})($hex{4})($hex{4})($hex{4})($hex{12})/; my $guid; map { $guid .= $_ } unpack( 'H*', substr $data, 0, 16 ); $guid = uc( join '-', ( $guid =~ /$gr/ ) ); my $name = $reversedGUIDs{$guid}; # Set up a new WMA object for parsing my $self = { headerData => $data, offset => 16, }; bless $self, $class; # Read the size my $objectSize = _parse64BitString($self->_readAndIncrementOffset(8)); return -1 if !defined $objectSize; my $parser = $objectParsers{$name}; if (ref $parser) { $DEBUG && warn "Parsing $name (size: $objectSize)\n"; $parser->( $self ); } else { $DEBUG && warn "No parser found for $name (size: $objectSize)\n"; } return $self; } sub setConvertTagsToUTF8 { my $class = shift; my $val = shift; $utf8 = $val if (($val == 0) || ($val == 1)); return $utf8; } sub setDebug { my $self = shift; $DEBUG = shift || 0; } sub info { my ($self, $key) = @_; return $self->{'INFO'} unless $key; return $self->{'INFO'}{lc $key}; } sub tags { my ($self, $key) = @_; return $self->{'TAGS'} unless $key; return $self->{'TAGS'}{uc $key}; } sub stream { my ($self, $index) = @_; return undef unless $self->{'STREAM'}; return $self->{'STREAM'} unless defined($index); return $self->{'STREAM'}->[$index]; } sub _readAndIncrementOffset { my ($self, $size) = @_; my $value = substr($self->{'headerData'}, $self->{'offset'}, $size); $self->{'offset'} += $size; return $value; } sub _readAndIncrementInlineOffset { my ($self, $size) = @_; my $value = substr($self->{'inlineData'}, $self->{'inlineOffset'}, $size); $self->{'inlineOffset'} += $size; return $value; } sub _UTF16ToUTF8 { my $data = shift; if ($utf8 && $] > 5.007) { # This also turns on the utf8 flag - perldoc Encode $data = eval { Encode::decode('UTF-16LE', $data) } || $data; } elsif ($] > 5.007) { # otherwise try and turn it into ISO-8859-1 if we have Encode $data = eval { Encode::encode('latin1', $data) } || $data; } return _denull($data); } sub _denull { my $string = shift; $string =~ s/\0//g if defined $string; return $string; } sub _parseWMAHeader { my $self = shift; my $fh = $self->{'fileHandle'}; read($fh, my $headerObjectData, 30) or return -1; my $objectId = substr($headerObjectData, 0, $GUID); my $objectSize = unpack('V', substr($headerObjectData, 16, $QWORD) ); my $headerObjects = unpack('V', substr($headerObjectData, 24, $DWORD)); my $reserved1 = vec(substr($headerObjectData, 28, 1), 0, $DWORD); my $reserved2 = vec(substr($headerObjectData, 29, 1), 0, $DWORD); if ($DEBUG) { printf("ObjectId: [%s]\n", _byteStringToGUID($objectId)); print "\tobjectSize: [$objectSize]\n"; print "\theaderObjects [$headerObjects]\n"; print "\treserved1 [$reserved1]\n"; print "\treserved2 [$reserved2]\n\n"; } # some sanity checks return -1 if ($self->{'size'} && $objectSize > $self->{'size'}); # Must begin with ASF_Header_Object GUID return -1 unless _byteStringToGUID($objectId) eq $guidMapping{ASF_Header_Object}; read($fh, $self->{'headerData'}, ($objectSize - 30)); for (my $headerCounter = 0; $headerCounter < $headerObjects; $headerCounter++) { my $nextObjectGUID = $self->_readAndIncrementOffset($GUID); my $nextObjectGUIDText = _byteStringToGUID($nextObjectGUID); my $nextObjectSize = _parse64BitString($self->_readAndIncrementOffset($QWORD)); my $nextObjectGUIDName = $reversedGUIDs{$nextObjectGUIDText}; # FIX: calculate the next offset up-front to allow for # object handlers that don't read the full object. my $nextObjectOffset = $self->{'offset'} + ($nextObjectSize - (16 + 8)); if ($DEBUG) { print "nextObjectGUID: [" . $nextObjectGUIDText . "]\n"; print "nextObjectName: [" . (defined($nextObjectGUIDName) ? $nextObjectGUIDName : "") . "]\n"; print "nextObjectSize: [" . $nextObjectSize . "]\n"; print "nextObjectOffset: [" . $nextObjectOffset . "]\n"; print "\n"; } # FIX: don't error out on unknown objects (they are properly # skipped below), report a debug message if we get an # inconsistent object size. some sanity checks if ((!defined $nextObjectSize) || ($nextObjectSize > $self->{'size'})) { print "Inconsistent object size: $nextObjectSize\n" if $DEBUG; return -1; } # FIX: fall-through to the bottom which sets the # offset for the next object. if (defined($nextObjectGUIDName)) { # start the different header types parsing if ($nextObjectGUIDName eq 'ASF_File_Properties_Object') { $self->_parseASFFilePropertiesObject(); } elsif ($nextObjectGUIDName eq 'ASF_Content_Description_Object') { $self->_parseASFContentDescriptionObject(); } elsif ($nextObjectGUIDName eq 'ASF_Content_Encryption_Object' || $nextObjectGUIDName eq 'ASF_Extended_Content_Encryption_Object') { $self->_parseASFContentEncryptionObject(); } elsif ($nextObjectGUIDName eq 'ASF_Extended_Content_Description_Object') { $self->_parseASFExtendedContentDescriptionObject(); } if ($nextObjectGUIDName eq 'ASF_Stream_Properties_Object') { $self->_parseASFStreamPropertiesObject(0); next; } elsif ($nextObjectGUIDName eq 'ASF_Stream_Bitrate_Properties_Object') { $self->_parseASFStreamBitratePropertiesObject(); } elsif ($nextObjectGUIDName eq 'ASF_Header_Extension_Object') { $self->_parseASFHeaderExtensionObject(); } } # FIX: set the next offset based on what we calculated # up-front, rather then relying on our object handlers. $self->{'offset'} = $nextObjectOffset; } # Now work on the subtypes. for my $stream (@{$self->{'STREAM'}}) { # insert stream bitrate $stream->{'bitrate'} = $self->{'BITRATES'}->{ $stream->{'streamNumber'} }; if ($reversedGUIDs{ $stream->{'stream_type_guid'} } eq 'ASF_Audio_Media') { my $audio = $self->_parseASFAudioMediaObject($stream); while (my ($key, $value) = each %$audio) { $self->{'INFO'}->{$key} = $value; } } } # pull these out and normalize them. my @arrayOk = qw(ALBUMARTIST GENRE COMPOSER AUTHOR); for my $ext (@{$self->{'EXT'}}) { while (my ($k,$v) = each %{$ext->{'content'}}) { # this gets both WM/Title and isVBR next unless $v->{'name'} =~ s#^(?:WM/|is|replay)##i || $v->{'name'} =~ /^Author/; my $name = uc($v->{'name'}); my $value = $v->{'value'} || 0; # Append onto an existing item, as an array ref if (exists $self->{'TAGS'}->{$name} && grep { /^$name$/ } @arrayOk) { if (ref($self->{'TAGS'}->{$name}) eq 'ARRAY') { push @{$self->{'TAGS'}->{$name}}, $value; } else { my $oldValue = delete $self->{'TAGS'}->{$name}; @{$self->{'TAGS'}->{$name}} = ($oldValue, $value); } } else { $self->{'TAGS'}->{$name} = $value; } } } delete $self->{'EXT'}; } # We can't do anything about DRM'd files. sub _parseASFContentEncryptionObject { my $self = shift; $self->{'INFO'}->{'drm'} = 1; } sub _parseASFFilePropertiesObject { my $self = shift; my %info = (); $info{'fileid_guid'} = _byteStringToGUID($self->_readAndIncrementOffset($GUID)); $info{'filesize'} = _parse64BitString($self->_readAndIncrementOffset($QWORD)); $info{'creation_date'} = unpack('V', $self->_readAndIncrementOffset($QWORD)); $info{'creation_date_unix'} = _fileTimeToUnixTime($info{'creation_date'}); $info{'data_packets'} = unpack('V', $self->_readAndIncrementOffset($QWORD)); $info{'play_duration'} = _parse64BitString($self->_readAndIncrementOffset($QWORD)); $info{'send_duration'} = _parse64BitString($self->_readAndIncrementOffset($QWORD)); $info{'preroll'} = unpack('V', $self->_readAndIncrementOffset($QWORD)); $info{'playtime_seconds'} = ($info{'play_duration'} / 10000000)-($info{'preroll'} / 1000); $info{'flags_raw'} = unpack('V', $self->_readAndIncrementOffset(4)); $info{'flags'}->{'broadcast'} = ($info{'flags_raw'} & 0x0001) ? 1 : 0; $info{'flags'}->{'seekable'} = ($info{'flags_raw'} & 0x0002) ? 1 : 0; $info{'min_packet_size'} = unpack('V', $self->_readAndIncrementOffset($DWORD)); $info{'max_packet_size'} = unpack('V', $self->_readAndIncrementOffset($DWORD)); $info{'max_bitrate'} = unpack('V', $self->_readAndIncrementOffset($DWORD)); $info{'bitrate'} = ($info{'playtime_seconds'}) ? ($info{'filesize'} * 8) / $info{'playtime_seconds'} : undef; $self->{'INFO'} = \%info; } sub _parseASFContentDescriptionObject { my $self = shift; my %desc = (); my @keys = qw(TITLE AUTHOR COPYRIGHT DESCRIPTION RATING); # populate the lengths of each key for my $key (@keys) { $desc{"_${key}length"} = unpack('v', $self->_readAndIncrementOffset($WORD)); } # now pull the data based on length for my $key (@keys) { my $lengthKey = "_${key}length"; $desc{$key} = _UTF16ToUTF8($self->_readAndIncrementOffset($desc{$lengthKey})); delete $desc{$lengthKey}; } $self->{'TAGS'} = \%desc; } sub _parseASFExtendedContentDescriptionObject { my $self = shift; my %ext = (); my $content_count = unpack('v', $self->_readAndIncrementOffset($WORD)); for (my $id = 0; $id < $content_count; $id++) { my $name_length = unpack('v', $self->_readAndIncrementOffset($WORD)); my $name = _denull( $self->_readAndIncrementOffset($name_length) ); my $data_type = unpack('v', $self->_readAndIncrementOffset($WORD)); my $data_length = unpack('v', $self->_readAndIncrementOffset($WORD)); my $value = $self->_bytesToValue($data_type, $self->_readAndIncrementOffset($data_length)); if ( $DEBUG && uc($name) ne 'WM/PICTURE' ) { print "Ext Cont Desc: $id"; print "\tname = $name\n"; print "\tvalue = $value\n"; print "\ttype = $data_type\n"; print "\tlength = $data_length\n"; print "\n"; } # Parse out the WM/Picture structure into something we can use. # # typedef struct _WMPicture { # LPWSTR pwszMIMEType; # BYTE bPictureType; # LPWSTR pwszDescription; # DWORD dwDataLen; # BYTE* pbData; # }; if (uc($name) eq 'WM/PICTURE') { my $image_type_id = unpack('v', substr($value, 0, 1)); my $image_size = unpack('v', substr($value, 1, $DWORD)); my $image_mime = ''; my $image_desc = ''; my $image_data = ''; my $offset = 5; my $byte_pair = ''; do { $byte_pair = substr($value, $offset, 2); $offset += 2; $image_mime .= $byte_pair; } while ($byte_pair ne "\x00\x00"); do { $byte_pair = substr($value, $offset, 2); $offset += 2; $image_desc .= $byte_pair; } while ($byte_pair ne "\x00\x00"); $image_mime = _UTF16ToUTF8($image_mime); $image_desc = _UTF16ToUTF8($image_desc); $image_data = substr($value, $offset, $image_size); $value = { 'TYPE' => $image_mime, 'DATA' => $image_data, }; if ($DEBUG) { print "Ext Cont Desc: $id"; print "\tname = $name\n"; print "\timage_type_id = $image_type_id\n"; print "\timage_size = $image_size\n"; print "\timage_mime = $image_mime\n"; print "\timage_desc = $image_desc\n"; print "\n"; } } $ext{'content'}->{$id} = { 'name' => $name, 'value' => $value, }; } push @{$self->{'EXT'}}, \%ext; } sub _parseASFStreamPropertiesObject { my $self = shift; my $inline = shift; my %stream = (); my $streamNumber; # Stream Properties Object: (mandatory, one per media stream) # Field Name Field Type Size (bits) # Object ID GUID 128 GUID for stream properties object - ASF_Stream_Properties_Object # Object Size QWORD 64 size of stream properties object, including 78 bytes of # Stream Properties Object header # Stream Type GUID 128 ASF_Audio_Media, ASF_Video_Media or ASF_Command_Media # Error Correction Type GUID 128 ASF_Audio_Spread for audio-only streams, # ASF_No_Error_Correction for other stream types # Time Offset QWORD 64 100-nanosecond units. typically zero. added to all # timestamps of samples in the stream # Type-Specific Data Length DWORD 32 number of bytes for Type-Specific Data field # Error Correction Data Length DWORD 32 number of bytes for Error Correction Data field # Flags WORD 16 # * Stream Number bits 7 (0x007F) number of this stream. 1 <= valid <= 127 # * Reserved bits 8 (0x7F80) reserved - set to zero # * Encrypted Content Flag bits 1 (0x8000) stream contents encrypted if set # Reserved DWORD 32 reserved - set to zero # Type-Specific Data BYTESTREAM variable type-specific format data, depending on value of Stream Type # Error Correction Data BYTESTREAM variable error-correction-specific format data, depending on # value of Error Correct Type # # There is one ASF_Stream_Properties_Object for each stream (audio, video) but the # stream number isn't known until halfway through decoding the structure, hence it # it is decoded to a temporary variable and then stuck in the appropriate index later my $method = $inline ? '_readAndIncrementInlineOffset' : '_readAndIncrementOffset'; $stream{'stream_type'} = $self->$method($GUID); $stream{'stream_type_guid'} = _byteStringToGUID($stream{'stream_type'}); $stream{'error_correct_type'} = $self->$method($GUID); $stream{'error_correct_guid'} = _byteStringToGUID($stream{'error_correct_type'}); $stream{'time_offset'} = unpack('v', $self->$method($QWORD)); $stream{'type_data_length'} = unpack('V', $self->$method($DWORD)); $stream{'error_data_length'} = unpack('V', $self->$method($DWORD)); $stream{'flags_raw'} = unpack('v', $self->$method($WORD)); $stream{'streamNumber'} = $stream{'flags_raw'} & 0x007F; $stream{'flags'}{'encrypted'} = ($stream{'flags_raw'} & 0x8000); # Skip the reserved DWORD $self->$method($DWORD); # XXX: If a file has bogus data for either of these length values # it will screw up parsing the rest of the header # i.e. mms://c9l.earthcache.net/wlc-01.media.globix.net/COMP005996BCT1_wqxr_live_hi.wmv $stream{'type_specific_data'} = $self->$method($stream{'type_data_length'}); $stream{'error_correct_data'} = $self->$method($stream{'error_data_length'}); push @{$self->{'STREAM'}}, \%stream; } sub _parseASFStreamBitratePropertiesObject { my $self = shift; my $bitrates = {}; my $count = unpack('v', $self->_readAndIncrementOffset($WORD)); # Read each bitrate record for ( 1..$count ) { my $stream = unpack('v', $self->_readAndIncrementOffset($WORD)) & 0x007F; my $bitrate = unpack('V', $self->_readAndIncrementOffset($DWORD)); $bitrates->{$stream} = $bitrate; } $self->{'BITRATES'} = $bitrates; } sub _parseASFAudioMediaObject { my $self = shift; my $stream = shift; # Field Name Field Type Size (bits) # Codec ID / Format Tag WORD 16 unique ID of audio codec - defined as wFormatTag field of WAVEFORMATEX structure # # Number of Channels WORD 16 number of channels of audio - defined as nChannels field of WAVEFORMATEX structure # # Samples Per Second DWORD 32 in Hertz - defined as nSamplesPerSec field of WAVEFORMATEX structure # # Average number of Bytes/sec DWORD 32 bytes/sec of audio stream - defined as nAvgBytesPerSec field of WAVEFORMATEX structure # # Block Alignment WORD 16 block size in bytes of audio codec - defined as nBlockAlign field of WAVEFORMATEX structure # # Bits per sample WORD 16 bits per sample of mono data. set to zero for variable bitrate codecs. # defined as wBitsPerSample field of WAVEFORMATEX structure # # Codec Specific Data Size WORD 16 size in bytes of Codec Specific Data buffer - # defined as cbSize field of WAVEFORMATEX structure # # Codec Specific Data BYTESTREAM variable array of codec-specific data bytes $stream->{'audio'} = $self->_parseWavFormat(substr($stream->{'type_specific_data'}, 0, $GUID)); return $stream->{'audio'}; } sub _parseWavFormat { my $self = shift; my $data = shift; my $wFormatTag = unpack('v', substr($data, 0, 2)); my %wav = ( 'codec' => _RIFFwFormatTagLookup($wFormatTag), 'channels' => unpack('v', substr($data, 2, $WORD)), 'sample_rate' => unpack('V', substr($data, 4, $DWORD)), # See bitrate in _parseASFFilePropertiesObject() for the correct calculation. #'bitrate' => unpack('v', substr($data, 8, $DWORD)) * 8, 'bits_per_sample' => unpack('v', substr($data, 14, $WORD)), ); if ($wFormatTag == 0x0001 || $wFormatTag == 0x0163) { $wav{'lossless'} = 1; } return \%wav; } sub _parseASFExtendedStreamPropertiesObject { my $self = shift; my $size = shift; my $offset = $self->{'inlineOffset'}; my %ext = ( startTime => $self->_bytesToValue(4, $self->_readAndIncrementInlineOffset($QWORD)), endTime => $self->_bytesToValue(4, $self->_readAndIncrementInlineOffset($QWORD)), dataBitrate => $self->_bytesToValue(3, $self->_readAndIncrementInlineOffset($DWORD)), bufferSize => $self->_bytesToValue(3, $self->_readAndIncrementInlineOffset($DWORD)), bufferFullness => $self->_bytesToValue(3, $self->_readAndIncrementInlineOffset($DWORD)), altDataBitrate => $self->_bytesToValue(3, $self->_readAndIncrementInlineOffset($DWORD)), altBufferSize => $self->_bytesToValue(3, $self->_readAndIncrementInlineOffset($DWORD)), altBufferFullness => $self->_bytesToValue(3, $self->_readAndIncrementInlineOffset($DWORD)), maxObjectSize => $self->_bytesToValue(3, $self->_readAndIncrementInlineOffset($DWORD)), flags => $self->_bytesToValue(3, $self->_readAndIncrementInlineOffset($DWORD)), streamNumber => $self->_bytesToValue(5, $self->_readAndIncrementInlineOffset($WORD)), streamLanguageID => $self->_bytesToValue(5, $self->_readAndIncrementInlineOffset($WORD)), averageTimePerFrame => $self->_bytesToValue(4, $self->_readAndIncrementInlineOffset($QWORD)), streamNameCount => $self->_bytesToValue(5, $self->_readAndIncrementInlineOffset($WORD)), payloadExtensionCount => $self->_bytesToValue(5, $self->_readAndIncrementInlineOffset($WORD)), ); for (my $s = 0; $s < $ext{'streamNameCount'}; $s++) { my $language = unpack('v', $self->_readAndIncrementInlineOffset($WORD)) || last; my $length = unpack('v', $self->_readAndIncrementInlineOffset($WORD)); $self->_readAndIncrementInlineOffset($length); $self->{'inlineOffset'} += 4; } for (my $p = 0; $p < $ext{'payloadExtensionCount'}; $p++) { $self->_readAndIncrementInlineOffset(18) || last; my $length = unpack('V', $self->_readAndIncrementInlineOffset($DWORD)); $self->_readAndIncrementInlineOffset($length); $self->{'inlineOffset'} += 22; } if (($self->{'inlineOffset'} - $offset) < $size) { my $nextObjectGUID = _byteStringToGUID($self->_readAndIncrementInlineOffset($GUID)); my $nextObjectName = $reversedGUIDs{$nextObjectGUID} || 'ASF_Unknown_Object'; my $nextObjectSize = unpack('v', $self->_readAndIncrementInlineOffset($QWORD)); if ($DEBUG) { print "extendedStreamPropertiesObject nextObjectGUID: [" . $nextObjectGUID . "]\n"; print "extendedStreamPropertiesObject nextObjectName: [" . $nextObjectName . "]\n"; print "extendedStreamPropertiesObject nextObjectSize: [" . $nextObjectSize . "]\n"; print "\n"; } if (defined $nextObjectName && $nextObjectName eq 'ASF_Stream_Properties_Object') { $self->_parseASFStreamPropertiesObject(1); } } } sub _parseASFHeaderExtensionObject { my $self = shift; my %ext = (); $ext{'reserved_1'} = _byteStringToGUID($self->_readAndIncrementOffset($GUID)); $ext{'reserved_2'} = unpack('v', $self->_readAndIncrementOffset($WORD)); $ext{'extension_data_size'} = unpack('V', $self->_readAndIncrementOffset($DWORD)); $ext{'extension_data'} = $self->_readAndIncrementOffset($ext{'extension_data_size'}); # Set these so we can use a convience method. $self->{'inlineData'} = $ext{'extension_data'}; $self->{'inlineOffset'} = 0; if ($DEBUG) { print "Working on an ASF_Header_Extension_Object:\n\n"; } while ($self->{'inlineOffset'} < $ext{'extension_data_size'}) { my $nextObjectGUID = _byteStringToGUID($self->_readAndIncrementInlineOffset($GUID)) || last; my $nextObjectName = $reversedGUIDs{$nextObjectGUID} || 'ASF_Unknown_Object'; my $nextObjectSize = unpack('v', $self->_readAndIncrementInlineOffset($QWORD)); # some sanity checks next if $nextObjectSize == 0 || $nextObjectSize > $ext{'extension_data_size'}; next unless defined $nextObjectName; if ($DEBUG) { print "\textensionObject nextObjectGUID: [$nextObjectGUID]\n"; print "\textensionObject nextObjectName: [$nextObjectName]\n"; print "\textensionObject nextObjectSize: [$nextObjectSize]\n"; print "\n"; } # We only handle this object type for now. if ($nextObjectName eq 'ASF_Metadata_Library_Object' || $nextObjectName eq 'ASF_Metadata_Object') { my $content_count = unpack('v', $self->_readAndIncrementInlineOffset($WORD)); if ($DEBUG) { print "\tContent Count: [$content_count]\n"; } # Language List Index WORD 16 # Stream Number WORD 16 # Name Length WORD 16 # Data Type WORD 16 # Data Length DWORD 32 # Name WCHAR varies # Data See below varies for (my $id = 0; $id < $content_count; $id++) { my $language_list = unpack('v', $self->_readAndIncrementInlineOffset($WORD)); my $stream_number = unpack('v', $self->_readAndIncrementInlineOffset($WORD)); my $name_length = unpack('v', $self->_readAndIncrementInlineOffset($WORD)); my $data_type = unpack('v', $self->_readAndIncrementInlineOffset($WORD)); my $data_length = unpack('V', $self->_readAndIncrementInlineOffset($DWORD)); my $name = _denull($self->_readAndIncrementInlineOffset($name_length)); my $value = $self->_bytesToValue($data_type, $self->_readAndIncrementInlineOffset($data_length)); if ($name eq 'WM/Picture') { $value = { 'TYPE' => 'image/jpg', 'DATA' => $value, }; } $ext{'content'}->{$id}->{'name'} = $name; $ext{'content'}->{$id}->{'value'} = $value; if ($DEBUG) { print "\t$nextObjectName: $id\n"; print "\t\tname = $name\n"; print "\t\tvalue = $value\n"; print "\t\ttype = $data_type\n"; print "\t\tlength = $data_length\n"; print "\n"; } } } elsif ($nextObjectName eq 'ASF_Extended_Stream_Properties_Object') { $self->_parseASFExtendedStreamPropertiesObject($nextObjectSize - $GUID - $QWORD); } else { # Only increment the offset if we couldn't parse the object. $self->{'inlineOffset'} += ($nextObjectSize - $GUID - $QWORD); } } delete $ext{'extension_data'}; delete $self->{'inlineData'}; delete $self->{'inlineOffset'}; push @{$self->{'EXT'}}, \%ext; } sub _bytesToValue { my ($self, $data_type, $value) = @_; # 0x0000 Unicode string. The data consists of a sequence of Unicode characters. # # 0x0001 BYTE array. The type of the data is implementation-specific. # # 0x0002 BOOL. The data is 2 bytes long and should be interpreted as a # 16-bit unsigned integer. Only 0x0000 or 0x0001 are permitted values. # # 0x0003 DWORD. The data is 4 bytes long - 32-bit unsigned integer. # # 0x0004 QWORD. The data is 8 bytes long - 64-bit unsigned integer. # # 0x0005 WORD. The data is 2 bytes long - 16-bit unsigned integer. # # 0x0006 GUID. The data is 16 bytes long - 128-bit GUID. if ($data_type == 0) { $value = _UTF16ToUTF8($value); } elsif ($data_type == 1) { # Leave byte arrays as is. } elsif ($data_type == 2 || $data_type == 5) { $value = unpack('v', $value); } elsif ($data_type == 3) { $value = unpack('V', $value); } elsif ($data_type == 4) { $value = _parse64BitString($value); } elsif ($data_type == 6) { $value = _byteStringToGUID($value); } return $value; } sub _parse64BitString { my ($low,$high) = unpack('VV', shift); return $high * 2 ** 32 + $low; } sub _knownGUIDs { my %guidMapping = ( 'ASF_Extended_Stream_Properties_Object' => '14E6A5CB-C672-4332-8399-A96952065B5A', 'ASF_Padding_Object' => '1806D474-CADF-4509-A4BA-9AABCB96AAE8', 'ASF_Payload_Ext_Syst_Pixel_Aspect_Ratio' => '1B1EE554-F9EA-4BC8-821A-376B74E4C4B8', 'ASF_Script_Command_Object' => '1EFB1A30-0B62-11D0-A39B-00A0C90348F6', 'ASF_No_Error_Correction' => '20FB5700-5B55-11CF-A8FD-00805F5C442B', 'ASF_Content_Branding_Object' => '2211B3FA-BD23-11D2-B4B7-00A0C955FC6E', 'ASF_Content_Encryption_Object' => '2211B3FB-BD23-11D2-B4B7-00A0C955FC6E', 'ASF_Digital_Signature_Object' => '2211B3FC-BD23-11D2-B4B7-00A0C955FC6E', 'ASF_Extended_Content_Encryption_Object' => '298AE614-2622-4C17-B935-DAE07EE9289C', 'ASF_Simple_Index_Object' => '33000890-E5B1-11CF-89F4-00A0C90349CB', 'ASF_Degradable_JPEG_Media' => '35907DE0-E415-11CF-A917-00805F5C442B', 'ASF_Payload_Extension_System_Timecode' => '399595EC-8667-4E2D-8FDB-98814CE76C1E', 'ASF_Binary_Media' => '3AFB65E2-47EF-40F2-AC2C-70A90D71D343', 'ASF_Timecode_Index_Object' => '3CB73FD0-0C4A-4803-953D-EDF7B6228F0C', 'ASF_Metadata_Library_Object' => '44231C94-9498-49D1-A141-1D134E457054', 'ASF_Reserved_3' => '4B1ACBE3-100B-11D0-A39B-00A0C90348F6', 'ASF_Reserved_4' => '4CFEDB20-75F6-11CF-9C0F-00A0C90349CB', 'ASF_Command_Media' => '59DACFC0-59E6-11D0-A3AC-00A0C90348F6', 'ASF_Header_Extension_Object' => '5FBF03B5-A92E-11CF-8EE3-00C00C205365', 'ASF_Media_Object_Index_Parameters_Obj' => '6B203BAD-3F11-4E84-ACA8-D7613DE2CFA7', 'ASF_Header_Object' => '75B22630-668E-11CF-A6D9-00AA0062CE6C', 'ASF_Content_Description_Object' => '75B22633-668E-11CF-A6D9-00AA0062CE6C', 'ASF_Error_Correction_Object' => '75B22635-668E-11CF-A6D9-00AA0062CE6C', 'ASF_Data_Object' => '75B22636-668E-11CF-A6D9-00AA0062CE6C', 'ASF_Web_Stream_Media_Subtype' => '776257D4-C627-41CB-8F81-7AC7FF1C40CC', 'ASF_Stream_Bitrate_Properties_Object' => '7BF875CE-468D-11D1-8D82-006097C9A2B2', 'ASF_Language_List_Object' => '7C4346A9-EFE0-4BFC-B229-393EDE415C85', 'ASF_Codec_List_Object' => '86D15240-311D-11D0-A3A4-00A0C90348F6', 'ASF_Reserved_2' => '86D15241-311D-11D0-A3A4-00A0C90348F6', 'ASF_File_Properties_Object' => '8CABDCA1-A947-11CF-8EE4-00C00C205365', 'ASF_File_Transfer_Media' => '91BD222C-F21C-497A-8B6D-5AA86BFC0185', 'ASF_Advanced_Mutual_Exclusion_Object' => 'A08649CF-4775-4670-8A16-6E35357566CD', 'ASF_Bandwidth_Sharing_Object' => 'A69609E6-517B-11D2-B6AF-00C04FD908E9', 'ASF_Reserved_1' => 'ABD3D211-A9BA-11cf-8EE6-00C00C205365', 'ASF_Bandwidth_Sharing_Exclusive' => 'AF6060AA-5197-11D2-B6AF-00C04FD908E9', 'ASF_Bandwidth_Sharing_Partial' => 'AF6060AB-5197-11D2-B6AF-00C04FD908E9', 'ASF_JFIF_Media' => 'B61BE100-5B4E-11CF-A8FD-00805F5C442B', 'ASF_Stream_Properties_Object' => 'B7DC0791-A9B7-11CF-8EE6-00C00C205365', 'ASF_Video_Media' => 'BC19EFC0-5B4D-11CF-A8FD-00805F5C442B', 'ASF_Audio_Spread' => 'BFC3CD50-618F-11CF-8BB2-00AA00B4E220', 'ASF_Metadata_Object' => 'C5F8CBEA-5BAF-4877-8467-AA8C44FA4CCA', 'ASF_Payload_Ext_Syst_Sample_Duration' => 'C6BD9450-867F-4907-83A3-C77921B733AD', 'ASF_Group_Mutual_Exclusion_Object' => 'D1465A40-5A79-4338-B71B-E36B8FD6C249', 'ASF_Extended_Content_Description_Object' => 'D2D0A440-E307-11D2-97F0-00A0C95EA850', 'ASF_Stream_Prioritization_Object' => 'D4FED15B-88D3-454F-81F0-ED5C45999E24', 'ASF_Payload_Ext_System_Content_Type' => 'D590DC20-07BC-436C-9CF7-F3BBFBF1A4DC', 'ASF_Index_Object' => 'D6E229D3-35DA-11D1-9034-00A0C90349BE', 'ASF_Bitrate_Mutual_Exclusion_Object' => 'D6E229DC-35DA-11D1-9034-00A0C90349BE', 'ASF_Index_Parameters_Object' => 'D6E229DF-35DA-11D1-9034-00A0C90349BE', 'ASF_Mutex_Language' => 'D6E22A00-35DA-11D1-9034-00A0C90349BE', 'ASF_Mutex_Bitrate' => 'D6E22A01-35DA-11D1-9034-00A0C90349BE', 'ASF_Mutex_Unknown' => 'D6E22A02-35DA-11D1-9034-00A0C90349BE', 'ASF_Web_Stream_Format' => 'DA1E6B13-8359-4050-B398-388E965BF00C', 'ASF_Payload_Ext_System_File_Name' => 'E165EC0E-19ED-45D7-B4A7-25CBD1E28E9B', 'ASF_Marker_Object' => 'F487CD01-A951-11CF-8EE6-00C00C205365', 'ASF_Timecode_Index_Parameters_Object' => 'F55E496D-9797-4B5D-8C8B-604DFE9BFB24', 'ASF_Audio_Media' => 'F8699E40-5B4D-11CF-A8FD-00805F5C442B', 'ASF_Media_Object_Index_Object' => 'FEB103F8-12AD-4C64-840F-2A1D2F7AD48C', 'ASF_Alt_Extended_Content_Encryption_Obj' => 'FF889EF1-ADEE-40DA-9E71-98704BB928CE', 'ASF_Index_Placeholder_Object' => 'D9AADE20-7C17-4F9C-BC28-8555DD98E2A2', 'ASF_Compatibility_Object' => '26F18B5D-4584-47EC-9F5F-0E651F0452C9', ); return %guidMapping; } sub _knownParsers { return ( 'ASF_File_Properties_Object' => \&_parseASFFilePropertiesObject, 'ASF_Content_Description_Object' => \&_parseASFContentDescriptionObject, 'ASF_Stream_Bitrate_Properties_Object' => \&_parseASFStreamBitratePropertiesObject, # We don't currently use most of these, so no point in spending time parsing them #'ASF_Extended_Content_Description_Object' => \&_parseASFExtendedContentDescriptionObject, #'ASF_Content_Encryption_Object' => \&_parseASFContentEncryptionObject, #'ASF_Extended_Content_Encryption_Object' => \&_parseASFContentEncryptionObject, #'ASF_Stream_Properties_Object' => \&_parseASFStreamPropertiesObject, ); } sub _RIFFwFormatTagLookup { my $wFormatTag = shift; my %formatTags = ( 0x0000 => 'Microsoft Unknown Wave Format', 0x0001 => 'Pulse Code Modulation (PCM)', 0x0002 => 'Microsoft ADPCM', 0x0003 => 'IEEE Float', 0x0004 => 'Compaq Computer VSELP', 0x0005 => 'IBM CVSD', 0x0006 => 'Microsoft A-Law', 0x0007 => 'Microsoft mu-Law', 0x0008 => 'Microsoft DTS', 0x000A => 'Windows Media Audio 9 Voice', 0x000B => 'Microsoft Windows Media RT Voice Audio', 0x0010 => 'OKI ADPCM', 0x0011 => 'Intel DVI/IMA ADPCM', 0x0012 => 'Videologic MediaSpace ADPCM', 0x0013 => 'Sierra Semiconductor ADPCM', 0x0014 => 'Antex Electronics G.723 ADPCM', 0x0015 => 'DSP Solutions DigiSTD', 0x0016 => 'DSP Solutions DigiFIX', 0x0017 => 'Dialogic OKI ADPCM', 0x0018 => 'MediaVision ADPCM', 0x0019 => 'Hewlett-Packard CU', 0x0020 => 'Yamaha ADPCM', 0x0021 => 'Speech Compression Sonarc', 0x0022 => 'DSP Group TrueSpeech', 0x0023 => 'Echo Speech EchoSC1', 0x0024 => 'Audiofile AF36', 0x0025 => 'Audio Processing Technology APTX', 0x0026 => 'AudioFile AF10', 0x0027 => 'Prosody 1612', 0x0028 => 'LRC', 0x0030 => 'Dolby AC2', 0x0031 => 'Microsoft GSM 6.10', 0x0032 => 'MSNAudio', 0x0033 => 'Antex Electronics ADPCME', 0x0034 => 'Control Resources VQLPC', 0x0035 => 'DSP Solutions DigiREAL', 0x0036 => 'DSP Solutions DigiADPCM', 0x0037 => 'Control Resources CR10', 0x0038 => 'Natural MicroSystems VBXADPCM', 0x0039 => 'Crystal Semiconductor IMA ADPCM', 0x003A => 'EchoSC3', 0x003B => 'Rockwell ADPCM', 0x003C => 'Rockwell Digit LK', 0x003D => 'Xebec', 0x0040 => 'Antex Electronics G.721 ADPCM', 0x0041 => 'G.728 CELP', 0x0042 => 'MSG723', 0x0050 => 'MPEG Layer-2 or Layer-1', 0x0052 => 'RT24', 0x0053 => 'PAC', 0x0055 => 'MPEG Layer-3', 0x0059 => 'Lucent G.723', 0x0060 => 'Cirrus', 0x0061 => 'ESPCM', 0x0062 => 'Voxware', 0x0063 => 'Canopus Atrac', 0x0064 => 'G.726 ADPCM', 0x0065 => 'G.722 ADPCM', 0x0066 => 'DSAT', 0x0067 => 'DSAT Display', 0x0069 => 'Voxware Byte Aligned', 0x0070 => 'Voxware AC8', 0x0071 => 'Voxware AC10', 0x0072 => 'Voxware AC16', 0x0073 => 'Voxware AC20', 0x0074 => 'Voxware MetaVoice', 0x0075 => 'Voxware MetaSound', 0x0076 => 'Voxware RT29HW', 0x0077 => 'Voxware VR12', 0x0078 => 'Voxware VR18', 0x0079 => 'Voxware TQ40', 0x0080 => 'Softsound', 0x0081 => 'Voxware TQ60', 0x0082 => 'MSRT24', 0x0083 => 'G.729A', 0x0084 => 'MVI MV12', 0x0085 => 'DF G.726', 0x0086 => 'DF GSM610', 0x0088 => 'ISIAudio', 0x0089 => 'Onlive', 0x0091 => 'SBC24', 0x0092 => 'Dolby AC3 SPDIF', 0x0093 => 'MediaSonic G.723', 0x0094 => 'Aculab PLC Prosody 8kbps', 0x0097 => 'ZyXEL ADPCM', 0x0098 => 'Philips LPCBB', 0x0099 => 'Packed', 0x00FF => 'AAC', 0x0100 => 'Rhetorex ADPCM', 0x0101 => 'IBM mu-law', 0x0102 => 'IBM A-law', 0x0103 => 'IBM AVC Adaptive Differential Pulse Code Modulation (ADPCM)', 0x0111 => 'Vivo G.723', 0x0112 => 'Vivo Siren', 0x0123 => 'Digital G.723', 0x0125 => 'Sanyo LD ADPCM', 0x0130 => 'Sipro Lab Telecom ACELP NET', 0x0131 => 'Sipro Lab Telecom ACELP 4800', 0x0132 => 'Sipro Lab Telecom ACELP 8V3', 0x0133 => 'Sipro Lab Telecom G.729', 0x0134 => 'Sipro Lab Telecom G.729A', 0x0135 => 'Sipro Lab Telecom Kelvin', 0x0140 => 'Windows Media Video V8', 0x0150 => 'Qualcomm PureVoice', 0x0151 => 'Qualcomm HalfRate', 0x0155 => 'Ring Zero Systems TUB GSM', 0x0160 => 'Microsoft Audio 1', 0x0161 => 'Windows Media Audio V7 / V8 / V9', 0x0162 => 'Windows Media Audio Professional V9', 0x0163 => 'Windows Media Audio Lossless V9', 0x0200 => 'Creative Labs ADPCM', 0x0202 => 'Creative Labs Fastspeech8', 0x0203 => 'Creative Labs Fastspeech10', 0x0210 => 'UHER Informatic GmbH ADPCM', 0x0220 => 'Quarterdeck', 0x0230 => 'I-link Worldwide VC', 0x0240 => 'Aureal RAW Sport', 0x0250 => 'Interactive Products HSX', 0x0251 => 'Interactive Products RPELP', 0x0260 => 'Consistent Software CS2', 0x0270 => 'Sony SCX', 0x0300 => 'Fujitsu FM Towns Snd', 0x0400 => 'BTV Digital', 0x0401 => 'Intel Music Coder', 0x0450 => 'QDesign Music', 0x0680 => 'VME VMPCM', 0x0681 => 'AT&T Labs TPC', 0x08AE => 'ClearJump LiteWave', 0x1000 => 'Olivetti GSM', 0x1001 => 'Olivetti ADPCM', 0x1002 => 'Olivetti CELP', 0x1003 => 'Olivetti SBC', 0x1004 => 'Olivetti OPR', 0x1100 => 'Lernout & Hauspie Codec (0x1100)', 0x1101 => 'Lernout & Hauspie CELP Codec (0x1101)', 0x1102 => 'Lernout & Hauspie SBC Codec (0x1102)', 0x1103 => 'Lernout & Hauspie SBC Codec (0x1103)', 0x1104 => 'Lernout & Hauspie SBC Codec (0x1104)', 0x1400 => 'Norris', 0x1401 => 'AT&T ISIAudio', 0x1500 => 'Soundspace Music Compression', 0x181C => 'VoxWare RT24 Speech', 0x1FC4 => 'NCT Soft ALF2CD (www.nctsoft.com)', 0x2000 => 'Dolby AC3', 0x2001 => 'Dolby DTS', 0x2002 => 'WAVE_FORMAT_14_4', 0x2003 => 'WAVE_FORMAT_28_8', 0x2004 => 'WAVE_FORMAT_COOK', 0x2005 => 'WAVE_FORMAT_DNET', 0x674F => 'Ogg Vorbis 1', 0x6750 => 'Ogg Vorbis 2', 0x6751 => 'Ogg Vorbis 3', 0x676F => 'Ogg Vorbis 1+', 0x6770 => 'Ogg Vorbis 2+', 0x6771 => 'Ogg Vorbis 3+', 0x7A21 => 'GSM-AMR (CBR, no SID)', 0x7A22 => 'GSM-AMR (VBR, including SID)', 0xFFFE => 'WAVE_FORMAT_EXTENSIBLE', 0xFFFF => 'WAVE_FORMAT_DEVELOPMENT', ); return $formatTags{$wFormatTag}; } sub _guidToByteString { my $guidString = shift; # Microsoft defines these 16-byte (128-bit) GUIDs as: # first 4 bytes are in little-endian order # next 2 bytes are appended in little-endian order # next 2 bytes are appended in little-endian order # next 2 bytes are appended in big-endian order # next 6 bytes are appended in big-endian order # AaBbCcDd-EeFf-GgHh-IiJj-KkLlMmNnOoPp is stored as this 16-byte string: # $Dd $Cc $Bb $Aa $Ff $Ee $Hh $Gg $Ii $Jj $Kk $Ll $Mm $Nn $Oo $Pp my $hexByteCharString; $hexByteCharString = chr(hex(substr($guidString, 6, 2))); $hexByteCharString .= chr(hex(substr($guidString, 4, 2))); $hexByteCharString .= chr(hex(substr($guidString, 2, 2))); $hexByteCharString .= chr(hex(substr($guidString, 0, 2))); $hexByteCharString .= chr(hex(substr($guidString, 11, 2))); $hexByteCharString .= chr(hex(substr($guidString, 9, 2))); $hexByteCharString .= chr(hex(substr($guidString, 16, 2))); $hexByteCharString .= chr(hex(substr($guidString, 14, 2))); $hexByteCharString .= chr(hex(substr($guidString, 19, 2))); $hexByteCharString .= chr(hex(substr($guidString, 21, 2))); $hexByteCharString .= chr(hex(substr($guidString, 24, 2))); $hexByteCharString .= chr(hex(substr($guidString, 26, 2))); $hexByteCharString .= chr(hex(substr($guidString, 28, 2))); $hexByteCharString .= chr(hex(substr($guidString, 30, 2))); $hexByteCharString .= chr(hex(substr($guidString, 32, 2))); $hexByteCharString .= chr(hex(substr($guidString, 34, 2))); return $hexByteCharString; } sub _byteStringToGUID { my $buff = unpack('H*',pack('NnnNN',unpack('VvvNN',$_[0]))); $buff =~ s/(.{8})(.{4})(.{4})(.{4})/$1-$2-$3-$4-/; return uc($buff); } sub _fileTimeToUnixTime { my $filetime = shift; my $round = shift || 1; # filetime is a 64-bit unsigned integer representing # the number of 100-nanosecond intervals since January 1, 1601 # UNIX timestamp is number of seconds since January 1, 1970 # 116444736000000000 = 10000000 * 60 * 60 * 24 * 365 * 369 + 89 leap days if ($round) { return int(($filetime - 116444736000000000) / 10000000); } return ($filetime - 116444736000000000) / 10000000; } 1; __END__ =head1 NAME Audio::WMA - Perl extension for reading WMA/ASF Metadata =head1 SYNOPSIS use Audio::WMA; my $wma = Audio::WMA->new($file); my $info = $wma->info(); foreach (keys %$info) { print "$_: $info->{$_}\n"; } my $tags = $wma->tags(); foreach (keys %$tags) { print "$_: $tags->{$_}\n"; } =head1 DESCRIPTION This module implements access to metadata contained in WMA files. =head1 METHODS =over 4 =item * new( $file ) Create a new Audio::WMA instance from the data in $file =item * info( ) Get the audio data information in the form of a hash ref. =item * tags( ) Get the metadata / tag information in the form of a hash ref. =item * stream( ) Get the current ASF stream. =item * parseObject( $asf ) Parse a standalone ASF object. =item * setDebug( 0 | 1 ) Toggle debugging. =item * setConvertTagsToUTF8( 0 | 1 ) Toggle Encoding metadata tags as UTF-8 Toggle debugging. =back =head1 SEE ALSO Audio::FLAC::Header, L http://github.com/dsully/perl-audio/tree/master/Audio-WMA =head1 AUTHOR Dan Sully, Edaniel | at | cpan.orgE =head1 COPYRIGHT AND LICENSE Copyright 2003-2008 by Dan Sully & Logitech. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut # vim: tabstop=8 shiftwidth=4 smarttab expandtab softtabstop=4 autoindent Audio-WMA-1.3/README0000644000076500007650000000175511114345467013222 0ustar danieldanielAudio/WMA version 1.3 ====================== The README is used to introduce the module and provide instructions on how to install the module, any machine dependencies it may have (for example C compilers and installed libraries) and any other information that should be provided before the module is installed. A README file is required for CPAN modules since CPAN extracts the README file from a module distribution so that people browsing the archive can use it get an idea of the modules uses. It is usually a good idea to provide version information here so that people can decide whether fixes for the module are worth downloading. INSTALLATION To install this module type the following: perl Makefile.PL make make test make install SOURCE http://github.com/dsully/perl-audio/tree/master/Audio-WMA COPYRIGHT AND LICENCE Copyright (C) 2003-2008 Dan Sully & Logitech. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. Audio-WMA-1.3/Makefile.PL0000644000076500007650000000027411105675616014311 0ustar danieldaniel# $Id: Makefile.PL 10 1998-12-16 23:02:45Z daniel $ use inc::Module::Install; name('Audio-WMA'); license('perl'); perl_version('5.005'); all_from('WMA.pm'); auto_install(); WriteAll();