Archive-Any-0.0946/000755 000765 000024 00000000000 13451733207 014013 5ustar00olafstaff000000 000000 Archive-Any-0.0946/perltidyrc000644 000765 000024 00000000325 13451733207 016117 0ustar00olafstaff000000 000000 --blank-lines-before-packages=0 --iterations=2 --no-outdent-long-comments -bar -boc -ci=4 -i=4 -l=78 -nolq -se -wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=" Archive-Any-0.0946/perlcriticrc000644 000765 000024 00000005000 13451733207 016416 0ustar00olafstaff000000 000000 severity = 3 verbose = 11 theme = core + pbp + bugs + maintenance + cosmetic + complexity + security + tests + moose program-extensions = pl psgi t exclude = Subroutines::ProhibitCallsToUndeclaredSubs [BuiltinFunctions::ProhibitStringySplit] severity = 3 [CodeLayout::RequireTrailingCommas] severity = 3 [ControlStructures::ProhibitCStyleForLoops] severity = 3 [Documentation::RequirePackageMatchesPodName] severity = 3 [Freenode::WhileDiamondDefaultAssignment] set_themes = core [InputOutput::RequireCheckedSyscalls] functions = :builtins exclude_functions = sleep severity = 3 [Moose::RequireCleanNamespace] modules = Moose Moose::Role MooseX::Role::Parameterized Moose::Util::TypeConstraints cleaners = namespace::autoclean [NamingConventions::Capitalization] package_exemptions = [A-Z]\w+|main file_lexical_variables = [A-Z]\w+|[^A-Z]+ global_variables = :starts_with_upper scoped_lexical_variables = [A-Z]\w+|[^A-Z]+ severity = 3 # Given our code base, leaving this at 5 would be a huge pain [Subroutines::ProhibitManyArgs] max_arguments = 10 [RegularExpressions::ProhibitComplexRegexes] max_characters = 200 [RegularExpressions::ProhibitUnusualDelimiters] severity = 3 [Subroutines::ProhibitUnusedPrivateSubroutines] private_name_regex = _(?!build)\w+ [TestingAndDebugging::ProhibitNoWarnings] allow = redefine [ValuesAndExpressions::ProhibitEmptyQuotes] severity = 3 [ValuesAndExpressions::ProhibitInterpolationOfLiterals] severity = 3 [ValuesAndExpressions::RequireUpperCaseHeredocTerminator] severity = 3 [Variables::ProhibitPackageVars] add_packages = Test::Builder [-ControlStructures::ProhibitCascadingIfElse] [-ErrorHandling::RequireCarping] [-InputOutput::RequireBriefOpen] [-ValuesAndExpressions::ProhibitConstantPragma] # No need for /xsm everywhere [-RegularExpressions::RequireDotMatchAnything] [-RegularExpressions::RequireExtendedFormatting] [-RegularExpressions::RequireLineBoundaryMatching] # by concensus in standup 2015-05-12 we decided to allow return undef # this is mainly so bar can be written to return undef so that # foo( bar => bar(), bazz => baz() ) won't cause problems [-Subroutines::ProhibitExplicitReturnUndef] # This incorrectly thinks signatures are prototypes. [-Subroutines::ProhibitSubroutinePrototypes] # http://stackoverflow.com/questions/2275317/why-does-perlcritic-dislike-using-shift-to-populate-subroutine-variables [-Subroutines::RequireArgUnpacking] [-Subroutines::RequireFinalReturn] # "use v5.14" is more readable than "use 5.014" [-ValuesAndExpressions::ProhibitVersionStrings] Archive-Any-0.0946/cpanfile000644 000765 000024 00000002671 13451733207 015525 0ustar00olafstaff000000 000000 requires "Archive::Tar" => "0"; requires "Archive::Zip" => "0"; requires "Cwd" => "0"; requires "File::MMagic" => "0"; requires "File::Spec::Functions" => "0"; requires "MIME::Types" => "0"; requires "Module::Find" => "0"; requires "base" => "0"; requires "perl" => "5.006"; requires "strict" => "0"; requires "warnings" => "0"; on 'test' => sub { requires "ExtUtils::MakeMaker" => "0"; requires "File::Spec" => "0"; requires "Test::More" => "0"; requires "Test::Warn" => "0"; requires "perl" => "5.006"; }; on 'test' => sub { recommends "CPAN::Meta" => "2.120900"; }; on 'configure' => sub { requires "ExtUtils::MakeMaker" => "0"; requires "perl" => "5.006"; }; on 'develop' => sub { requires "Code::TidyAll" => "0.71"; requires "Code::TidyAll::Plugin::SortLines::Naturally" => "0.000003"; requires "Code::TidyAll::Plugin::Test::Vars" => "0.04"; requires "Code::TidyAll::Plugin::UniqueLines" => "0.000003"; requires "Parallel::ForkManager" => "1.19"; requires "Perl::Critic" => "1.132"; requires "Perl::Tidy" => "20180220"; requires "Pod::Wordlist" => "0"; requires "Test::CPAN::Changes" => "0.19"; requires "Test::Code::TidyAll" => "0.50"; requires "Test::More" => "0.96"; requires "Test::Pod" => "1.41"; requires "Test::Spelling" => "0.12"; requires "Test::Synopsis" => "0"; requires "Test::Vars" => "0.014"; }; on 'develop' => sub { recommends "Dist::Zilla::PluginBundle::Git::VersionManager" => "0.007"; }; Archive-Any-0.0946/anonymize-archives000755 000765 000024 00000007005 13451733207 017556 0ustar00olafstaff000000 000000 #!/usr/bin/env perl use strict; use warnings; use File::Temp qw( tempdir tempfile ); use Archive::Any; use File::LibMagic; use Path::Class; # This program will replace the content of any files contained in a tar, # tar.gz or zip archive by random noise, while preserving the permissions # and ownership (assuming all files in the archive have the same owner as # the first file). # # It will skip unrecognized files. It requires GNU tar for extracting # the archives and bsdtar for repacking them. # # Usage: anonymize-archives file ... my $magic = File::LibMagic->new; # process files given on the command line while ( my $file = shift ) { # open the archive my $archive = eval { local $SIG{__WARN__} = sub { }; # no warnings from Archive::Any Archive::Any->new($file); } or do { print STDERR "Skipping $file\n"; next; }; my $type = $archive->type; print STDERR "Processing $file ($type)\n"; # get the list of files my @files = $archive->files; # extract the archive in a temporary directory my $dir = tempdir( CLEANUP => 1 ); # re-create an archive with same files and dummy content my $tmp = "$file.tmp"; if ( $type eq 'tar' ) { # save differently if compressed my ($mime) = split ';', $magic->checktype_filename($file); my $gzip = $mime eq 'application/x-gzip' ? 'z' : ''; # record list of files for tar ( undef, my $list ) = tempfile( UNLINK => 1 ); file($list)->spew( [ map +( $archive->is_naughty ? substr( $_, 1 ) : $_ ) . "\n", @files ] ); # extract archive `tar x${gzip}f $file -C $dir --delay-directory-restore`; # replace all file content with random data my @mtime; for my $path (@files) { my $mode; my $member = file( $dir, $path ); unshift @mtime, [ ( ( stat $member )[9] ) x 2, "$member" ]; next if -d $member; if ( !-w $member ) { $mode = ( stat $member )[2] if !-w $member; chmod 0644, $member; } $member->spew( pack "C*", map rand 256, 1 .. -s $member ); chmod $mode, $member if $mode; } # restore date and time utime @$_ for @mtime; # pick up owner and group my $iter = Archive::Tar->iter($file); my $member = $iter->(); my @opts = ( '--uid' => $member->uid, '--uname' => $member->uname, '--gid' => $member->gid, '--gname' => $member->gname, ( '-s', ':^:/:', '--absolute-paths' )x!! $archive->is_naughty, ); # repack the file `bsdtar -c${gzip}f $tmp -C $dir -T $list --no-recursion @opts`; } elsif ( $type eq 'zip' ) { # read the list of files and their properties my $old = Archive::Zip->new; $old->read($file) and do { warn "Error reading $file\n"; next }; my @members = $old->members(); # create a new zip file with dummy content my $zip = Archive::Zip->new; for my $member (@members) { $member->contents( pack "C*", map rand 256, 1 .. $member->uncompressedSize ); $zip->addMember($member); } # save the new zip $zip->writeToFileNamed($tmp); } else { print STDERR "Skipping $file ($type)\n"; next; } # replace archive rename $tmp, $file; } Archive-Any-0.0946/Changes000644 000765 000024 00000005537 13451733207 015320 0ustar00olafstaff000000 000000 0.0946 2019-04-05 20:11:47Z - Added copyright holder/year meta to dist.ini. (GH#6) (Mohammad S Anwar) - Auto generate META.yml using the plugin [MetaYAML]. (GH#8) (Mohammad S Anwar) 0.0945 2016-05-02 18:56:57 America/Toronto - Use 'base' rather than @ISA in Zip.pm 0.0944 2016-04-01 18:30:02 America/Toronto - Use warnings in more modules (Jenish G) 0.0943 2016-04-01 18:28:03 America/Toronto - Use 'base' rather than @ISA (@real-dam and Jenish G) 0.0942 2015-01-28 17:07:43 America/Toronto - Replaces contents of archives in test folder with random noise in order to avoid any licensing issues. (Philippe Bruhat (BooK)) 0.0941 2013-11-06 21:38:55 America/Toronto - Fixes version number in lib/Archive/Any.pm - Previous release had broken permissions. 0.0940 2013-10-18 01:35:34 America/Toronto - Adds x-bzip2 as per PERLER's patch in RT#67738. - Converts dist to Dist::Zilla 0.931 2008-04-23 - Resisted the urge to make large sweeping changes. Fixed a problem with the tests and called it good. 0.93 2008-04-23 - DESTROY ALL TABS! [schwern] - The example for Plugin->can_handle showed the wrong return value. [schwern] 0.92 2006-08-26 - Added pod tests and a README for kwalitee. Not exactly a critical update! 0.91 2006-08-14 - type() is there now. I'm not in the business of breaking other people's scripts. - Fixed several issues with the pod. - type() is going AWAY AWAY AWAY - use mime_type instead. It actually has useful information. - Added a test for the backwardsness. 0.09 2006-08-13 - Complete rework of the module. - Supports simple plugins for adding support for archive formats. 0.06 2003-10-29 - Updating to Archive::Zip 1.07 which fixes extractTree(). * Forgot to include *.tar in the "what is a tarball" logic! [Thanks Kevin Pease] - Minor doc improvements. 0.05 2003-10-20 * Archive::Any->new($file, $type) wasn't working (thanks to Simon Wistow for catching this). 0.04 2003-10-20 * Removing unzip binary hack around Archive::Zip->extractMember bug. - Working around new extractTree() bug which can cause directories to be unzipped with permissions set to 0000. - Fixing is_impolite() and is_naughty() so they return true or false instead of the scalar result of a grep. - Failing gracefully should Archive::Tar/Zip->new() fail. * Fixing list_archive() and extract_archive() misuse so we work with modern Archive::Tar. - Class::Virtually::Abstract now has a version # on CPAN. * is_naughty() would screw up if the first file in the archive wasn't a lone directory 0.03 2001-09-03 * It is now safe to chdir() after creating an Archive::Any object 0.01 2001-08-26 * First working version * Archive::Zip is broken. Using unzip binary to extract. Archive-Any-0.0946/INSTALL000644 000765 000024 00000004324 13451733207 015047 0ustar00olafstaff000000 000000 This is the Perl distribution Archive-Any. Installing Archive-Any is straightforward. ## Installation with cpanm If you have cpanm, you only need one line: % cpanm Archive::Any If it does not have permission to install modules to the current perl, cpanm will automatically set up and install to a local::lib in your home directory. See the local::lib documentation (https://metacpan.org/pod/local::lib) for details on enabling it in your environment. ## Installing with the CPAN shell Alternatively, if your CPAN shell is set up, you should just be able to do: % cpan Archive::Any ## Manual installation As a last resort, you can manually install it. Download the tarball, untar it, install configure prerequisites (see below), then build it: % perl Makefile.PL % make && make test Then install it: % make install On Windows platforms, you should use `dmake` or `nmake`, instead of `make`. If your perl is system-managed, you can create a local::lib in your home directory to install modules to. For details, see the local::lib documentation: https://metacpan.org/pod/local::lib The prerequisites of this distribution will also have to be installed manually. The prerequisites are listed in one of the files: `MYMETA.yml` or `MYMETA.json` generated by running the manual build process described above. ## Configure Prerequisites This distribution requires other modules to be installed before this distribution's installer can be run. They can be found under the "configure_requires" key of META.yml or the "{prereqs}{configure}{requires}" key of META.json. ## Other Prerequisites This distribution may require additional modules to be installed after running Makefile.PL. Look for prerequisites in the following phases: * to run make, PHASE = build * to use the module code itself, PHASE = runtime * to run tests, PHASE = test They can all be found in the "PHASE_requires" key of MYMETA.yml or the "{prereqs}{PHASE}{requires}" key of MYMETA.json. ## Documentation Archive-Any documentation is available as POD. You can run `perldoc` from a shell to read the documentation: % perldoc Archive::Any For more information on installing Perl modules via CPAN, please see: https://www.cpan.org/modules/INSTALL.html Archive-Any-0.0946/MANIFEST000644 000765 000024 00000001435 13451733207 015147 0ustar00olafstaff000000 000000 # This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012. CONTRIBUTORS Changes INSTALL LICENSE MANIFEST META.json META.yml Makefile.PL README.md anonymize-archives cpanfile dist.ini lib/Archive/Any.pm lib/Archive/Any/Plugin.pm lib/Archive/Any/Plugin/Tar.pm lib/Archive/Any/Plugin/Zip.pm lib/Archive/Any/Tar.pm lib/Archive/Any/Zip.pm perlcriticrc perltidyrc t/00-report-prereqs.dd t/00-report-prereqs.t t/00compile.t t/Acme-POE-Knee-1.10.zip t/Any.t t/LoadHtml.5_0.tar.gz t/fail.t t/garbage.foo t/im_not_really_a.zip t/impolite.tar.gz t/lib.tgz t/lib.zip t/naughty.hominawoof t/naughty.tar t/naughty.tar.gz t/not_a_zip.zip t/type.t t/your-0.01.tar.gz tidyall.ini xt/author/pod-spell.t xt/author/pod-syntax.t xt/author/synopsis.t xt/author/tidyall.t xt/release/cpan-changes.t Archive-Any-0.0946/LICENSE000644 000765 000024 00000044012 13451733207 015021 0ustar00olafstaff000000 000000 This software is copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Terms of the Perl programming language system itself a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" --- The GNU General Public License, Version 1, February 1989 --- This software is Copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders. This is free software, licensed under: The GNU General Public License, Version 1, February 1989 GNU GENERAL PUBLIC LICENSE Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The license agreements of most software companies try to keep users at the mercy of those companies. By contrast, our General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. The General Public License applies to the Free Software Foundation's software and to any other program whose authors commit to using it. You can use it for your programs, too. When we speak of free software, we are referring to freedom, not price. Specifically, the General Public License is designed to make sure that you have the freedom to give away or sell copies of free software, that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of a such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any work containing the Program or a portion of it, either verbatim or with modifications. Each licensee is addressed as "you". 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this General Public License and to the absence of any warranty; and give any other recipients of the Program a copy of this General Public License along with the Program. You may charge a fee for the physical act of transferring a copy. 2. You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above, provided that you also do the following: a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and b) cause the whole of any work that you distribute or publish, that in whole or in part contains the Program or any part thereof, either with or without modifications, to be licensed at no charge to all third parties under the terms of this General Public License (except that you may choose to grant warranty protection to some or all third parties, at your option). c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the simplest and most usual way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this General Public License. d) You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. Mere aggregation of another independent work with the Program (or its derivative) on a volume of a storage or distribution medium does not bring the other work under the scope of these terms. 3. You may copy and distribute the Program (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following: a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or, b) accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or, c) accompany it with the information you received as to where the corresponding source code may be obtained. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form alone.) Source code for a work means the preferred form of the work for making modifications to it. For an executable file, complete source code means all the source code for all modules it contains; but, as a special exception, it need not include source code for modules which are standard libraries that accompany the operating system on which the executable file runs, or for standard header files or definitions files that accompany that operating system. 4. You may not copy, modify, sublicense, distribute or transfer the Program except as expressly provided under this General Public License. Any attempt otherwise to copy, modify, sublicense, distribute or transfer the Program is void, and will automatically terminate your rights to use the Program under this License. However, parties who have received copies, or rights to use copies, from you under this General Public License will not have their licenses terminated so long as such parties remain in full compliance. 5. By copying, distributing or modifying the Program (or any work based on the Program) you indicate your acceptance of this license to do so, and all its terms and conditions. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. 7. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of the license which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the license, you may choose any version ever published by the Free Software Foundation. 8. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to humanity, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19xx name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (a program to direct compilers to make passes at assemblers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice That's all there is to it! --- The Artistic License 1.0 --- This software is Copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders. This is free software, licensed under: The Artistic License 1.0 The Artistic License Preamble The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. Definitions: - "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. - "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder. - "Copyright Holder" is whoever is named in the copyright or copyrights for the package. - "You" is you, if you're thinking about copying or distributing this Package. - "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) - "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. 1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. 3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. b) use the modified Package only within your corporation or organization. c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. d) make other distribution arrangements with the Copyright Holder. 4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. b) accompany the distribution with the machine-readable source of the Package with your modifications. c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. d) make other distribution arrangements with the Copyright Holder. 5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. 6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package. 7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package. 8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. The End Archive-Any-0.0946/t/000755 000765 000024 00000000000 13451733207 014256 5ustar00olafstaff000000 000000 Archive-Any-0.0946/xt/000755 000765 000024 00000000000 13451733207 014446 5ustar00olafstaff000000 000000 Archive-Any-0.0946/META.yml000644 000765 000024 00000040437 13451733207 015274 0ustar00olafstaff000000 000000 --- abstract: 'Single interface to deal with file archives.' author: - 'Clint Moore' - 'Michael G Schwern (author emeritus)' - 'Olaf Alders (current maintainer)' build_requires: ExtUtils::MakeMaker: '0' File::Spec: '0' Test::More: '0' Test::Warn: '0' perl: '5.006' configure_requires: ExtUtils::MakeMaker: '0' perl: '5.006' dynamic_config: 0 generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: Archive-Any no_index: directory: - examples - t - xt file: - anonymize-archives requires: Archive::Tar: '0' Archive::Zip: '0' Cwd: '0' File::MMagic: '0' File::Spec::Functions: '0' MIME::Types: '0' Module::Find: '0' base: '0' perl: '5.006' strict: '0' warnings: '0' resources: bugtracker: https://github.com/oalders/archive-any/issues homepage: https://github.com/oalders/archive-any repository: https://github.com/oalders/archive-any.git version: '0.0946' x_Dist_Zilla: perl: version: '5.026001' plugins: - class: Dist::Zilla::Plugin::PromptIfStale config: Dist::Zilla::Plugin::PromptIfStale: check_all_plugins: 0 check_all_prereqs: 0 modules: - Dist::Zilla::PluginBundle::Author::OALDERS phase: build run_under_travis: 0 skip: [] name: '@Author::OALDERS/stale modules, build' version: '0.055' - class: Dist::Zilla::Plugin::PromptIfStale config: Dist::Zilla::Plugin::PromptIfStale: check_all_plugins: 1 check_all_prereqs: 1 modules: [] phase: release run_under_travis: 0 skip: [] name: '@Author::OALDERS/stale modules, release' version: '0.055' - class: Dist::Zilla::Plugin::MAXMIND::TidyAll name: '@Author::OALDERS/MAXMIND::TidyAll' version: '0.83' - class: Dist::Zilla::Plugin::AutoPrereqs name: '@Author::OALDERS/AutoPrereqs' version: '6.012' - class: Dist::Zilla::Plugin::CheckChangesHasContent name: '@Author::OALDERS/CheckChangesHasContent' version: '0.011' - class: Dist::Zilla::Plugin::MakeMaker config: Dist::Zilla::Role::TestRunner: default_jobs: 1 name: '@Author::OALDERS/MakeMaker' version: '6.012' - class: Dist::Zilla::Plugin::CPANFile name: '@Author::OALDERS/CPANFile' version: '6.012' - class: Dist::Zilla::Plugin::ContributorsFile name: '@Author::OALDERS/ContributorsFile' version: 0.3.0 - class: Dist::Zilla::Plugin::MetaJSON name: '@Author::OALDERS/MetaJSON' version: '6.012' - class: Dist::Zilla::Plugin::MetaYAML name: '@Author::OALDERS/MetaYAML' version: '6.012' - class: Dist::Zilla::Plugin::Manifest name: '@Author::OALDERS/Manifest' version: '6.012' - class: Dist::Zilla::Plugin::MetaNoIndex name: '@Author::OALDERS/MetaNoIndex' version: '6.012' - class: Dist::Zilla::Plugin::MetaConfig name: '@Author::OALDERS/MetaConfig' version: '6.012' - class: Dist::Zilla::Plugin::MetaResources name: '@Author::OALDERS/MetaResources' version: '6.012' - class: Dist::Zilla::Plugin::License name: '@Author::OALDERS/License' version: '6.012' - class: Dist::Zilla::Plugin::InstallGuide name: '@Author::OALDERS/InstallGuide' version: '1.200012' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: requires name: '@Author::OALDERS/Modules for use with tidyall' version: '6.012' - class: Dist::Zilla::Plugin::ExecDir name: '@Author::OALDERS/ExecDir' version: '6.012' - class: Dist::Zilla::Plugin::Test::PodSpelling config: Dist::Zilla::Plugin::Test::PodSpelling: directories: - bin - lib spell_cmd: '' stopwords: - Alders - "Alders'" - MetaCPAN wordlist: Pod::Wordlist name: '@Author::OALDERS/Test::PodSpelling' version: '2.007005' - class: Dist::Zilla::Plugin::PodSyntaxTests name: '@Author::OALDERS/PodSyntaxTests' version: '6.012' - class: Dist::Zilla::Plugin::Test::CPAN::Changes config: Dist::Zilla::Plugin::Test::CPAN::Changes: changelog: Changes name: '@Author::OALDERS/Test::CPAN::Changes' version: '0.012' - class: Dist::Zilla::Plugin::TestRelease name: '@Author::OALDERS/TestRelease' version: '6.012' - class: Dist::Zilla::Plugin::Test::ReportPrereqs name: '@Author::OALDERS/Test::ReportPrereqs' version: '0.027' - class: Dist::Zilla::Plugin::Test::Synopsis name: '@Author::OALDERS/Test::Synopsis' version: '2.000007' - class: Dist::Zilla::Plugin::Test::TidyAll name: '@Author::OALDERS/Test::TidyAll' version: '0.04' - class: Dist::Zilla::Plugin::RunExtraTests config: Dist::Zilla::Role::TestRunner: default_jobs: 1 name: '@Author::OALDERS/RunExtraTests' version: '0.029' - class: Dist::Zilla::Plugin::MinimumPerl name: '@Author::OALDERS/MinimumPerl' version: '1.006' - class: Dist::Zilla::Plugin::PodWeaver config: Dist::Zilla::Plugin::PodWeaver: finder: - ':InstallModules' - ':ExecFiles' plugins: - class: Pod::Weaver::Plugin::EnsurePod5 name: '@CorePrep/EnsurePod5' version: '4.015' - class: Pod::Weaver::Plugin::H1Nester name: '@CorePrep/H1Nester' version: '4.015' - class: Pod::Weaver::Plugin::SingleEncoding name: '@Default/SingleEncoding' version: '4.015' - class: Pod::Weaver::Section::Name name: '@Default/Name' version: '4.015' - class: Pod::Weaver::Section::Version name: '@Default/Version' version: '4.015' - class: Pod::Weaver::Section::Region name: '@Default/prelude' version: '4.015' - class: Pod::Weaver::Section::Generic name: SYNOPSIS version: '4.015' - class: Pod::Weaver::Section::Generic name: DESCRIPTION version: '4.015' - class: Pod::Weaver::Section::Generic name: OVERVIEW version: '4.015' - class: Pod::Weaver::Section::Collect name: ATTRIBUTES version: '4.015' - class: Pod::Weaver::Section::Collect name: METHODS version: '4.015' - class: Pod::Weaver::Section::Collect name: FUNCTIONS version: '4.015' - class: Pod::Weaver::Section::Leftovers name: '@Default/Leftovers' version: '4.015' - class: Pod::Weaver::Section::Region name: '@Default/postlude' version: '4.015' - class: Pod::Weaver::Section::Authors name: '@Default/Authors' version: '4.015' - class: Pod::Weaver::Section::Legal name: '@Default/Legal' version: '4.015' name: '@Author::OALDERS/PodWeaver' version: '4.008' - class: Dist::Zilla::Plugin::PruneCruft name: '@Author::OALDERS/PruneCruft' version: '6.012' - class: Dist::Zilla::Plugin::CopyFilesFromBuild name: '@Author::OALDERS/CopyFilesFromBuild' version: '0.170880' - class: Dist::Zilla::Plugin::GithubMeta name: '@Author::OALDERS/GithubMeta' version: '0.58' - class: Dist::Zilla::Plugin::Git::GatherDir config: Dist::Zilla::Plugin::GatherDir: exclude_filename: - Install - LICENSE - META.json - Makefile.PL - README.md - cpanfile exclude_match: [] follow_symlinks: 0 include_dotfiles: 0 prefix: '' prune_directory: [] root: . Dist::Zilla::Plugin::Git::GatherDir: include_untracked: 0 name: '@Author::OALDERS/Git::GatherDir' version: '2.046' - class: Dist::Zilla::Plugin::CopyFilesFromRelease config: Dist::Zilla::Plugin::CopyFilesFromRelease: filename: - Install match: [] name: '@Author::OALDERS/CopyFilesFromRelease' version: '0.006' - class: Dist::Zilla::Plugin::Git::Check config: Dist::Zilla::Plugin::Git::Check: untracked_files: die Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - Changes - Install - LICENSE - META.json - Makefile.PL - README.md - cpanfile - dist.ini allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.21.0 repo_root: . name: '@Author::OALDERS/Git::Check' version: '2.046' - class: Dist::Zilla::Plugin::Git::Contributors config: Dist::Zilla::Plugin::Git::Contributors: git_version: 2.21.0 include_authors: 0 include_releaser: 1 order_by: name paths: [] name: '@Author::OALDERS/Git::Contributors' version: '0.035' - class: Dist::Zilla::Plugin::ReadmeAnyFromPod config: Dist::Zilla::Role::FileWatcher: version: '0.006' name: '@Author::OALDERS/ReadmeMdInBuild' version: '0.163250' - class: Dist::Zilla::Plugin::ShareDir name: '@Author::OALDERS/ShareDir' version: '6.012' - class: Dist::Zilla::Plugin::TravisCI::StatusBadge name: '@Author::OALDERS/TravisCI::StatusBadge' version: '0.007' - class: Dist::Zilla::Plugin::CheckIssues name: '@Author::OALDERS/CheckIssues' version: '0.010' - class: Dist::Zilla::Plugin::ConfirmRelease name: '@Author::OALDERS/ConfirmRelease' version: '6.012' - class: Dist::Zilla::Plugin::UploadToCPAN name: '@Author::OALDERS/UploadToCPAN' version: '6.012' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: recommends name: '@Author::OALDERS/@Git::VersionManager/pluginbundle version' version: '6.012' - class: Dist::Zilla::Plugin::RewriteVersion::Transitional config: Dist::Zilla::Plugin::RewriteVersion: add_tarball_name: 0 finders: - ':ExecFiles' - ':InstallModules' global: 0 skip_version_provider: 0 Dist::Zilla::Plugin::RewriteVersion::Transitional: {} name: '@Author::OALDERS/@Git::VersionManager/RewriteVersion::Transitional' version: '0.009' - class: Dist::Zilla::Plugin::MetaProvides::Update name: '@Author::OALDERS/@Git::VersionManager/MetaProvides::Update' version: '0.007' - class: Dist::Zilla::Plugin::CopyFilesFromRelease config: Dist::Zilla::Plugin::CopyFilesFromRelease: filename: - Changes match: [] name: '@Author::OALDERS/@Git::VersionManager/CopyFilesFromRelease' version: '0.006' - class: Dist::Zilla::Plugin::Git::Commit config: Dist::Zilla::Plugin::Git::Commit: add_files_in: [] commit_msg: v%V%n%n%c Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - Changes - Install - LICENSE - META.json - Makefile.PL - README.md - cpanfile - dist.ini allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.21.0 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@Author::OALDERS/@Git::VersionManager/release snapshot' version: '2.046' - class: Dist::Zilla::Plugin::Git::Tag config: Dist::Zilla::Plugin::Git::Tag: branch: ~ changelog: Changes signed: 0 tag: v0.0946 tag_format: v%V tag_message: v%V Dist::Zilla::Role::Git::Repo: git_version: 2.21.0 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@Author::OALDERS/@Git::VersionManager/Git::Tag' version: '2.046' - class: Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional config: Dist::Zilla::Plugin::BumpVersionAfterRelease: finders: - ':ExecFiles' - ':InstallModules' global: 0 munge_makefile_pl: 1 Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional: {} name: '@Author::OALDERS/@Git::VersionManager/BumpVersionAfterRelease::Transitional' version: '0.009' - class: Dist::Zilla::Plugin::NextRelease name: '@Author::OALDERS/@Git::VersionManager/NextRelease' version: '6.012' - class: Dist::Zilla::Plugin::Git::Commit config: Dist::Zilla::Plugin::Git::Commit: add_files_in: [] commit_msg: 'increment $VERSION after %v release' Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - Build.PL - Changes - Makefile.PL allow_dirty_match: - (?^:^lib/.*\.pm$) changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.21.0 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@Author::OALDERS/@Git::VersionManager/post-release commit' version: '2.046' - class: Dist::Zilla::Plugin::Git::Push config: Dist::Zilla::Plugin::Git::Push: push_to: - origin remotes_must_exist: 1 Dist::Zilla::Role::Git::Repo: git_version: 2.21.0 repo_root: . name: '@Author::OALDERS/Git::Push' version: '2.046' - class: Dist::Zilla::Plugin::Encoding name: Encoding version: '6.012' - class: Dist::Zilla::Plugin::MetaNoIndex name: MetaNoIndex version: '6.012' - class: Dist::Zilla::Plugin::StaticInstall config: Dist::Zilla::Plugin::StaticInstall: dry_run: 0 mode: on name: StaticInstall version: '0.012' - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':ExtraTestFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':PerlExecFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':AllFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':NoFiles' version: '6.012' zilla: class: Dist::Zilla::Dist::Builder config: is_trial: '0' version: '6.012' x_contributors: - 'jenishg ' - 'Mohammad S Anwar ' - 'Olaf Alders ' - 'Philippe Bruhat (BooK) ' - 'unknown ' x_generated_by_perl: v5.26.1 x_serialization_backend: 'YAML::Tiny version 1.70' x_static_install: 1 Archive-Any-0.0946/CONTRIBUTORS000644 000765 000024 00000000537 13451733207 015700 0ustar00olafstaff000000 000000 # ARCHIVE-ANY CONTRIBUTORS # This is the (likely incomplete) list of people who have helped make this distribution what it is, either via code contributions, patches, bug reports, help with troubleshooting, etc. A huge 'thank you' to all of them. * jenishg * Mohammad S Anwar * Olaf Alders * Philippe Bruhat (BooK) * unknown Archive-Any-0.0946/META.json000644 000765 000024 00000063212 13451733207 015440 0ustar00olafstaff000000 000000 { "abstract" : "Single interface to deal with file archives.", "author" : [ "Clint Moore", "Michael G Schwern (author emeritus)", "Olaf Alders (current maintainer)" ], "dynamic_config" : 0, "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : 2 }, "name" : "Archive-Any", "no_index" : { "directory" : [ "examples", "t", "xt" ], "file" : [ "anonymize-archives" ] }, "prereqs" : { "configure" : { "requires" : { "ExtUtils::MakeMaker" : "0", "perl" : "5.006" } }, "develop" : { "recommends" : { "Dist::Zilla::PluginBundle::Git::VersionManager" : "0.007" }, "requires" : { "Code::TidyAll" : "0.71", "Code::TidyAll::Plugin::SortLines::Naturally" : "0.000003", "Code::TidyAll::Plugin::Test::Vars" : "0.04", "Code::TidyAll::Plugin::UniqueLines" : "0.000003", "Parallel::ForkManager" : "1.19", "Perl::Critic" : "1.132", "Perl::Tidy" : "20180220", "Pod::Wordlist" : "0", "Test::CPAN::Changes" : "0.19", "Test::Code::TidyAll" : "0.50", "Test::More" : "0.96", "Test::Pod" : "1.41", "Test::Spelling" : "0.12", "Test::Synopsis" : "0", "Test::Vars" : "0.014" } }, "runtime" : { "requires" : { "Archive::Tar" : "0", "Archive::Zip" : "0", "Cwd" : "0", "File::MMagic" : "0", "File::Spec::Functions" : "0", "MIME::Types" : "0", "Module::Find" : "0", "base" : "0", "perl" : "5.006", "strict" : "0", "warnings" : "0" } }, "test" : { "recommends" : { "CPAN::Meta" : "2.120900" }, "requires" : { "ExtUtils::MakeMaker" : "0", "File::Spec" : "0", "Test::More" : "0", "Test::Warn" : "0", "perl" : "5.006" } } }, "release_status" : "stable", "resources" : { "bugtracker" : { "web" : "https://github.com/oalders/archive-any/issues" }, "homepage" : "https://github.com/oalders/archive-any", "repository" : { "type" : "git", "url" : "https://github.com/oalders/archive-any.git", "web" : "https://github.com/oalders/archive-any" } }, "version" : "0.0946", "x_Dist_Zilla" : { "perl" : { "version" : "5.026001" }, "plugins" : [ { "class" : "Dist::Zilla::Plugin::PromptIfStale", "config" : { "Dist::Zilla::Plugin::PromptIfStale" : { "check_all_plugins" : 0, "check_all_prereqs" : 0, "modules" : [ "Dist::Zilla::PluginBundle::Author::OALDERS" ], "phase" : "build", "run_under_travis" : 0, "skip" : [] } }, "name" : "@Author::OALDERS/stale modules, build", "version" : "0.055" }, { "class" : "Dist::Zilla::Plugin::PromptIfStale", "config" : { "Dist::Zilla::Plugin::PromptIfStale" : { "check_all_plugins" : 1, "check_all_prereqs" : 1, "modules" : [], "phase" : "release", "run_under_travis" : 0, "skip" : [] } }, "name" : "@Author::OALDERS/stale modules, release", "version" : "0.055" }, { "class" : "Dist::Zilla::Plugin::MAXMIND::TidyAll", "name" : "@Author::OALDERS/MAXMIND::TidyAll", "version" : "0.83" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", "name" : "@Author::OALDERS/AutoPrereqs", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::CheckChangesHasContent", "name" : "@Author::OALDERS/CheckChangesHasContent", "version" : "0.011" }, { "class" : "Dist::Zilla::Plugin::MakeMaker", "config" : { "Dist::Zilla::Role::TestRunner" : { "default_jobs" : 1 } }, "name" : "@Author::OALDERS/MakeMaker", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::CPANFile", "name" : "@Author::OALDERS/CPANFile", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::ContributorsFile", "name" : "@Author::OALDERS/ContributorsFile", "version" : "0.3.0" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "@Author::OALDERS/MetaJSON", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "@Author::OALDERS/MetaYAML", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Manifest", "name" : "@Author::OALDERS/Manifest", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaNoIndex", "name" : "@Author::OALDERS/MetaNoIndex", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "@Author::OALDERS/MetaConfig", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaResources", "name" : "@Author::OALDERS/MetaResources", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "@Author::OALDERS/License", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::InstallGuide", "name" : "@Author::OALDERS/InstallGuide", "version" : "1.200012" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "requires" } }, "name" : "@Author::OALDERS/Modules for use with tidyall", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::ExecDir", "name" : "@Author::OALDERS/ExecDir", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Test::PodSpelling", "config" : { "Dist::Zilla::Plugin::Test::PodSpelling" : { "directories" : [ "bin", "lib" ], "spell_cmd" : "", "stopwords" : [ "Alders", "Alders'", "MetaCPAN" ], "wordlist" : "Pod::Wordlist" } }, "name" : "@Author::OALDERS/Test::PodSpelling", "version" : "2.007005" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "@Author::OALDERS/PodSyntaxTests", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes", "config" : { "Dist::Zilla::Plugin::Test::CPAN::Changes" : { "changelog" : "Changes" } }, "name" : "@Author::OALDERS/Test::CPAN::Changes", "version" : "0.012" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "@Author::OALDERS/TestRelease", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs", "name" : "@Author::OALDERS/Test::ReportPrereqs", "version" : "0.027" }, { "class" : "Dist::Zilla::Plugin::Test::Synopsis", "name" : "@Author::OALDERS/Test::Synopsis", "version" : "2.000007" }, { "class" : "Dist::Zilla::Plugin::Test::TidyAll", "name" : "@Author::OALDERS/Test::TidyAll", "version" : "0.04" }, { "class" : "Dist::Zilla::Plugin::RunExtraTests", "config" : { "Dist::Zilla::Role::TestRunner" : { "default_jobs" : 1 } }, "name" : "@Author::OALDERS/RunExtraTests", "version" : "0.029" }, { "class" : "Dist::Zilla::Plugin::MinimumPerl", "name" : "@Author::OALDERS/MinimumPerl", "version" : "1.006" }, { "class" : "Dist::Zilla::Plugin::PodWeaver", "config" : { "Dist::Zilla::Plugin::PodWeaver" : { "finder" : [ ":InstallModules", ":ExecFiles" ], "plugins" : [ { "class" : "Pod::Weaver::Plugin::EnsurePod5", "name" : "@CorePrep/EnsurePod5", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::H1Nester", "name" : "@CorePrep/H1Nester", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::SingleEncoding", "name" : "@Default/SingleEncoding", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Name", "name" : "@Default/Name", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Version", "name" : "@Default/Version", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@Default/prelude", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "SYNOPSIS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "DESCRIPTION", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "OVERVIEW", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "ATTRIBUTES", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "METHODS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "FUNCTIONS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Leftovers", "name" : "@Default/Leftovers", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@Default/postlude", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Authors", "name" : "@Default/Authors", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Legal", "name" : "@Default/Legal", "version" : "4.015" } ] } }, "name" : "@Author::OALDERS/PodWeaver", "version" : "4.008" }, { "class" : "Dist::Zilla::Plugin::PruneCruft", "name" : "@Author::OALDERS/PruneCruft", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::CopyFilesFromBuild", "name" : "@Author::OALDERS/CopyFilesFromBuild", "version" : "0.170880" }, { "class" : "Dist::Zilla::Plugin::GithubMeta", "name" : "@Author::OALDERS/GithubMeta", "version" : "0.58" }, { "class" : "Dist::Zilla::Plugin::Git::GatherDir", "config" : { "Dist::Zilla::Plugin::GatherDir" : { "exclude_filename" : [ "Install", "LICENSE", "META.json", "Makefile.PL", "README.md", "cpanfile" ], "exclude_match" : [], "follow_symlinks" : 0, "include_dotfiles" : 0, "prefix" : "", "prune_directory" : [], "root" : "." }, "Dist::Zilla::Plugin::Git::GatherDir" : { "include_untracked" : 0 } }, "name" : "@Author::OALDERS/Git::GatherDir", "version" : "2.046" }, { "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease", "config" : { "Dist::Zilla::Plugin::CopyFilesFromRelease" : { "filename" : [ "Install" ], "match" : [] } }, "name" : "@Author::OALDERS/CopyFilesFromRelease", "version" : "0.006" }, { "class" : "Dist::Zilla::Plugin::Git::Check", "config" : { "Dist::Zilla::Plugin::Git::Check" : { "untracked_files" : "die" }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ "Changes", "Install", "LICENSE", "META.json", "Makefile.PL", "README.md", "cpanfile", "dist.ini" ], "allow_dirty_match" : [], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.21.0", "repo_root" : "." } }, "name" : "@Author::OALDERS/Git::Check", "version" : "2.046" }, { "class" : "Dist::Zilla::Plugin::Git::Contributors", "config" : { "Dist::Zilla::Plugin::Git::Contributors" : { "git_version" : "2.21.0", "include_authors" : 0, "include_releaser" : 1, "order_by" : "name", "paths" : [] } }, "name" : "@Author::OALDERS/Git::Contributors", "version" : "0.035" }, { "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod", "config" : { "Dist::Zilla::Role::FileWatcher" : { "version" : "0.006" } }, "name" : "@Author::OALDERS/ReadmeMdInBuild", "version" : "0.163250" }, { "class" : "Dist::Zilla::Plugin::ShareDir", "name" : "@Author::OALDERS/ShareDir", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::TravisCI::StatusBadge", "name" : "@Author::OALDERS/TravisCI::StatusBadge", "version" : "0.007" }, { "class" : "Dist::Zilla::Plugin::CheckIssues", "name" : "@Author::OALDERS/CheckIssues", "version" : "0.010" }, { "class" : "Dist::Zilla::Plugin::ConfirmRelease", "name" : "@Author::OALDERS/ConfirmRelease", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "@Author::OALDERS/UploadToCPAN", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "recommends" } }, "name" : "@Author::OALDERS/@Git::VersionManager/pluginbundle version", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::RewriteVersion::Transitional", "config" : { "Dist::Zilla::Plugin::RewriteVersion" : { "add_tarball_name" : 0, "finders" : [ ":ExecFiles", ":InstallModules" ], "global" : 0, "skip_version_provider" : 0 }, "Dist::Zilla::Plugin::RewriteVersion::Transitional" : {} }, "name" : "@Author::OALDERS/@Git::VersionManager/RewriteVersion::Transitional", "version" : "0.009" }, { "class" : "Dist::Zilla::Plugin::MetaProvides::Update", "name" : "@Author::OALDERS/@Git::VersionManager/MetaProvides::Update", "version" : "0.007" }, { "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease", "config" : { "Dist::Zilla::Plugin::CopyFilesFromRelease" : { "filename" : [ "Changes" ], "match" : [] } }, "name" : "@Author::OALDERS/@Git::VersionManager/CopyFilesFromRelease", "version" : "0.006" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", "config" : { "Dist::Zilla::Plugin::Git::Commit" : { "add_files_in" : [], "commit_msg" : "v%V%n%n%c" }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ "Changes", "Install", "LICENSE", "META.json", "Makefile.PL", "README.md", "cpanfile", "dist.ini" ], "allow_dirty_match" : [], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.21.0", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@Author::OALDERS/@Git::VersionManager/release snapshot", "version" : "2.046" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", "config" : { "Dist::Zilla::Plugin::Git::Tag" : { "branch" : null, "changelog" : "Changes", "signed" : 0, "tag" : "v0.0946", "tag_format" : "v%V", "tag_message" : "v%V" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.21.0", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@Author::OALDERS/@Git::VersionManager/Git::Tag", "version" : "2.046" }, { "class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional", "config" : { "Dist::Zilla::Plugin::BumpVersionAfterRelease" : { "finders" : [ ":ExecFiles", ":InstallModules" ], "global" : 0, "munge_makefile_pl" : 1 }, "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional" : {} }, "name" : "@Author::OALDERS/@Git::VersionManager/BumpVersionAfterRelease::Transitional", "version" : "0.009" }, { "class" : "Dist::Zilla::Plugin::NextRelease", "name" : "@Author::OALDERS/@Git::VersionManager/NextRelease", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", "config" : { "Dist::Zilla::Plugin::Git::Commit" : { "add_files_in" : [], "commit_msg" : "increment $VERSION after %v release" }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ "Build.PL", "Changes", "Makefile.PL" ], "allow_dirty_match" : [ "(?^:^lib/.*\\.pm$)" ], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.21.0", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@Author::OALDERS/@Git::VersionManager/post-release commit", "version" : "2.046" }, { "class" : "Dist::Zilla::Plugin::Git::Push", "config" : { "Dist::Zilla::Plugin::Git::Push" : { "push_to" : [ "origin" ], "remotes_must_exist" : 1 }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.21.0", "repo_root" : "." } }, "name" : "@Author::OALDERS/Git::Push", "version" : "2.046" }, { "class" : "Dist::Zilla::Plugin::Encoding", "name" : "Encoding", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaNoIndex", "name" : "MetaNoIndex", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::StaticInstall", "config" : { "Dist::Zilla::Plugin::StaticInstall" : { "dry_run" : 0, "mode" : "on" } }, "name" : "StaticInstall", "version" : "0.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExtraTestFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":PerlExecFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":AllFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":NoFiles", "version" : "6.012" } ], "zilla" : { "class" : "Dist::Zilla::Dist::Builder", "config" : { "is_trial" : 0 }, "version" : "6.012" } }, "x_contributors" : [ "jenishg ", "Mohammad S Anwar ", "Olaf Alders ", "Philippe Bruhat (BooK) ", "unknown " ], "x_generated_by_perl" : "v5.26.1", "x_serialization_backend" : "Cpanel::JSON::XS version 4.04", "x_static_install" : 1 } Archive-Any-0.0946/README.md000644 000765 000024 00000005124 13451733207 015274 0ustar00olafstaff000000 000000 # NAME Archive::Any - Single interface to deal with file archives. # VERSION version 0.0946 # SYNOPSIS use Archive::Any; my $archive = Archive::Any->new( 'archive_file.zip' ); my @files = $archive->files; $archive->extract; my $type = $archive->type; $archive->is_impolite; $archive->is_naughty; # DESCRIPTION This module is a single interface for manipulating different archive formats. Tarballs, zip files, etc. - **new** my $archive = Archive::Any->new( $archive_file ); my $archive_with_type = Archive::Any->new( $archive_file, $type ); $type is optional. It lets you force the file type in case Archive::Any can't figure it out. - **extract** $archive->extract; $archive->extract( $directory ); Extracts the files in the archive to the given $directory. If no $directory is given, it will go into the current working directory. - **files** my @file = $archive->files; A list of files in the archive. - **mime\_type** my $mime_type = $archive->mime_type(); Returns the mime type of the archive. - **is\_impolite** my $is_impolite = $archive->is_impolite; Checks to see if this archive is going to unpack into the current directory rather than create its own. - **is\_naughty** my $is_naughty = $archive->is_naughty; Checks to see if this archive is going to unpack **outside** the current directory. # DEPRECATED - **type** my $type = $archive->type; Returns the type of archive. This method is provided for backwards compatibility in the Tar and Zip plugins and will be going away **soon** in favor of `mime_type`. # PLUGINS For detailed information on writing plugins to work with Archive::Any, please see the pod documentation for [Archive::Any::Plugin](https://metacpan.org/pod/Archive::Any::Plugin). # SEE ALSO Archive::Any::Plugin # SUPPORT You can find documentation for this module with the perldoc command. perldoc Archive::Any You can also look for information at: - MetaCPAN [https://metacpan.org/module/Archive::Any](https://metacpan.org/module/Archive::Any) - Issue tracker [https://github.com/oalders/archive-any/issues](https://github.com/oalders/archive-any/issues) # AUTHORS - Clint Moore - Michael G Schwern (author emeritus) - Olaf Alders (current maintainer) # COPYRIGHT AND LICENSE This software is copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Archive-Any-0.0946/tidyall.ini000644 000765 000024 00000000647 13451733207 016165 0ustar00olafstaff000000 000000 [PerlTidy] select = **/*.{pl,pm,t,psgi} ignore = .build/**/* ignore = Archive-Any-*/**/* ignore = blib/**/* ignore = t/00-* ignore = t/author-* ignore = t/release-* ignore = t/zzz-* ignore = xt/**/* argv = --profile=$ROOT/perltidyrc [Test::Vars] select = **/*.pm ignore = .build/**/* ignore = Archive-Any-*/**/* ignore = blib/**/* ignore = t/00-* ignore = t/author-* ignore = t/release-* ignore = t/zzz-* ignore = xt/**/* Archive-Any-0.0946/lib/000755 000765 000024 00000000000 13451733207 014561 5ustar00olafstaff000000 000000 Archive-Any-0.0946/Makefile.PL000644 000765 000024 00000003152 13451733207 015766 0ustar00olafstaff000000 000000 # This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.012. use strict; use warnings; use 5.006; use ExtUtils::MakeMaker; my %WriteMakefileArgs = ( "ABSTRACT" => "Single interface to deal with file archives.", "AUTHOR" => "Clint Moore, Michael G Schwern (author emeritus), Olaf Alders (current maintainer)", "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => 0 }, "DISTNAME" => "Archive-Any", "LICENSE" => "perl", "MIN_PERL_VERSION" => "5.006", "NAME" => "Archive::Any", "PREREQ_PM" => { "Archive::Tar" => 0, "Archive::Zip" => 0, "Cwd" => 0, "File::MMagic" => 0, "File::Spec::Functions" => 0, "MIME::Types" => 0, "Module::Find" => 0, "base" => 0, "strict" => 0, "warnings" => 0 }, "TEST_REQUIRES" => { "ExtUtils::MakeMaker" => 0, "File::Spec" => 0, "Test::More" => 0, "Test::Warn" => 0 }, "VERSION" => "0.0946", "test" => { "TESTS" => "t/*.t" } ); my %FallbackPrereqs = ( "Archive::Tar" => 0, "Archive::Zip" => 0, "Cwd" => 0, "ExtUtils::MakeMaker" => 0, "File::MMagic" => 0, "File::Spec" => 0, "File::Spec::Functions" => 0, "MIME::Types" => 0, "Module::Find" => 0, "Test::More" => 0, "Test::Warn" => 0, "base" => 0, "strict" => 0, "warnings" => 0 ); unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) { delete $WriteMakefileArgs{TEST_REQUIRES}; delete $WriteMakefileArgs{BUILD_REQUIRES}; $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs; } delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; WriteMakefile(%WriteMakefileArgs); Archive-Any-0.0946/dist.ini000644 000765 000024 00000001436 13451733207 015463 0ustar00olafstaff000000 000000 name = Archive-Any author = Clint Moore author = Michael G Schwern (author emeritus) author = Olaf Alders (current maintainer) license = Perl_5 copyright_holder = Michael G Schwern, Clint Moore, Olaf Alders copyright_year = 2016 [@Author::OALDERS] -remove = StaticInstall ;-remove = MinimumPerl -remove = Test::Perl::Critic -remove = PodCoverageTests ;-remove = StaticInstall [Encoding] encoding = bytes filename = t/Acme-POE-Knee-1.10.zip filename = t/LoadHtml.5_0.tar.gz filename = t/im_not_really_a.zip filename = t/impolite.tar.gz filename = t/lib.tgz filename = t/lib.zip filename = t/naughty.hominawoof filename = t/naughty.tar filename = t/naughty.tar.gz filename = t/your-0.01.tar.gz [MetaNoIndex] directory = t file = anonymize-archives copy = README [StaticInstall] mode = on Archive-Any-0.0946/lib/Archive/000755 000765 000024 00000000000 13451733207 016142 5ustar00olafstaff000000 000000 Archive-Any-0.0946/lib/Archive/Any.pm000644 000765 000024 00000011316 13451733207 017231 0ustar00olafstaff000000 000000 package Archive::Any; use strict; use warnings; our $VERSION = '0.0946'; use Archive::Any::Plugin; use File::Spec::Functions qw( rel2abs splitdir ); use File::MMagic; use MIME::Types qw(by_suffix); sub new { my ( $class, $file, $type ) = @_; $file = rel2abs($file); return unless -f $file; my %available; my @plugins = Archive::Any::Plugin->findsubmod; foreach my $plugin (@plugins) { eval "require $plugin"; next if $@; my @types = $plugin->can_handle(); foreach my $type (@types) { next if exists( $available{$type} ); $available{$type} = $plugin; } } my $mime_type; if ($type) { # The user forced the type. ($mime_type) = by_suffix($type); unless ($mime_type) { warn "No mime type found for type '$type'"; return; } } else { # Autodetect the type. $mime_type = File::MMagic->new()->checktype_filename($file); } my $handler = $available{$mime_type}; if ( !$handler ) { warn "No handler available for type '$mime_type'"; return; } return bless { file => $file, handler => $handler, type => $mime_type, }, $class; } sub extract { my $self = shift; my $dir = shift; return defined($dir) ? $self->{handler}->_extract( $self->{file}, $dir ) : $self->{handler}->_extract( $self->{file} ); } sub files { my $self = shift; return $self->{handler}->files( $self->{file} ); } sub is_impolite { my $self = shift; my @files = $self->files; my $first_file = $files[0]; my ($first_dir) = splitdir($first_file); return grep( !/^\Q$first_dir\E/, @files ) ? 1 : 0; } sub is_naughty { my ($self) = shift; return ( grep { m{^(?:/|(?:\./)*\.\./)} } $self->files ) ? 1 : 0; } sub mime_type { my $self = shift; return $self->{type}; } # # This is not really here. You are not seeing this. # sub type { my $self = shift; return $self->{handler}->type(); } # End of what you are not seeing. 1; =pod =encoding UTF-8 =head1 NAME Archive::Any - Single interface to deal with file archives. =head1 VERSION version 0.0946 =head1 SYNOPSIS use Archive::Any; my $archive = Archive::Any->new( 'archive_file.zip' ); my @files = $archive->files; $archive->extract; my $type = $archive->type; $archive->is_impolite; $archive->is_naughty; =head1 DESCRIPTION This module is a single interface for manipulating different archive formats. Tarballs, zip files, etc. =over 4 =item B my $archive = Archive::Any->new( $archive_file ); my $archive_with_type = Archive::Any->new( $archive_file, $type ); $type is optional. It lets you force the file type in case Archive::Any can't figure it out. =item B $archive->extract; $archive->extract( $directory ); Extracts the files in the archive to the given $directory. If no $directory is given, it will go into the current working directory. =item B my @file = $archive->files; A list of files in the archive. =item B my $mime_type = $archive->mime_type(); Returns the mime type of the archive. =item B my $is_impolite = $archive->is_impolite; Checks to see if this archive is going to unpack into the current directory rather than create its own. =item B my $is_naughty = $archive->is_naughty; Checks to see if this archive is going to unpack B the current directory. =back =head1 DEPRECATED =over 4 =item B my $type = $archive->type; Returns the type of archive. This method is provided for backwards compatibility in the Tar and Zip plugins and will be going away B in favor of C. =back =head1 PLUGINS For detailed information on writing plugins to work with Archive::Any, please see the pod documentation for L. =head1 SEE ALSO Archive::Any::Plugin =head1 SUPPORT You can find documentation for this module with the perldoc command. perldoc Archive::Any You can also look for information at: =over 4 =item * MetaCPAN L =item * Issue tracker L =back =head1 AUTHORS =over 4 =item * Clint Moore =item * Michael G Schwern (author emeritus) =item * Olaf Alders (current maintainer) =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut __END__ # ABSTRACT: Single interface to deal with file archives. Archive-Any-0.0946/lib/Archive/Any/000755 000765 000024 00000000000 13451733207 016671 5ustar00olafstaff000000 000000 Archive-Any-0.0946/lib/Archive/Any/Plugin.pm000644 000765 000024 00000003772 13451733207 020476 0ustar00olafstaff000000 000000 package Archive::Any::Plugin; our $VERSION = '0.0946'; use strict; use warnings; use Module::Find; use Cwd; sub _extract { my ( $self, $file, $dir ) = @_; my $orig_dir; if ( defined $dir ) { $orig_dir = getcwd; chdir $dir; } $self->extract($file); if ( defined $dir ) { chdir $orig_dir; } return 1; } 1; # ABSTRACT: Anatomy of an Archive::Any plugin. __END__ =pod =encoding UTF-8 =head1 NAME Archive::Any::Plugin - Anatomy of an Archive::Any plugin. =head1 VERSION version 0.0946 =head1 SYNOPSIS Explains what is required for a working plugin to Archive::Any. =head1 PLUGINS Archive::Any requires that your plugin define three methods, all of which are passed the absolute filename of the file. This module uses the source of Archive::Any::Plugin::Tar as an example. =over 4 =item B use base 'Archive::Any::Plugin'; =item B This returns an array of mime types that the plugin can handle. sub can_handle { return( 'application/x-tar', 'application/x-gtar', 'application/x-gzip', ); } =item B Return a list of items inside the archive. sub files { my( $self, $file ) = @_; my $t = Archive::Tar->new( $file ); return $t->list_files; } =item B This method should extract the contents of $file to the current directory. L handles negotiating directories for you. sub extract { my ( $self, $file ) = @_; my $t = Archive::Tar->new( $file ); return $t->extract; } =back =head1 SEE ALSO Archive::Any =head1 AUTHORS =over 4 =item * Clint Moore =item * Michael G Schwern (author emeritus) =item * Olaf Alders (current maintainer) =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Archive-Any-0.0946/lib/Archive/Any/Zip.pm000644 000765 000024 00000002735 13451733207 020000 0ustar00olafstaff000000 000000 package Archive::Any::Zip; our $VERSION = '0.0946'; use strict; use warnings; use base 'Archive::Any'; use Archive::Zip qw(:ERROR_CODES); use Cwd; sub new { my ( $class, $file ) = @_; my $self = bless {}, $class; Archive::Zip::setErrorHandler( sub { } ); $self->{handler} = Archive::Zip->new($file); return unless $self->{handler}; $self->{file} = $file; return $self; } sub files { my ($self) = shift; $self->{handler}->memberNames; } sub extract { my ( $self, $dir ) = @_; my $orig_dir; if ($dir) { $orig_dir = getcwd; chdir $dir; } $self->{handler}->extractTree; if ($dir) { chdir $orig_dir; } return 1; } sub type { return 'zip'; } =pod =encoding UTF-8 =head1 NAME Archive::Any::Zip - Archive::Any wrapper around Archive::Zip =head1 VERSION version 0.0946 =head1 SYNOPSIS B Use L instead. =head1 DESCRIPTION Wrapper around L for L. =head1 AUTHORS =over 4 =item * Clint Moore =item * Michael G Schwern (author emeritus) =item * Olaf Alders (current maintainer) =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut __END__ 1; # ABSTRACT: Archive::Any wrapper around Archive::Zip Archive-Any-0.0946/lib/Archive/Any/Plugin/000755 000765 000024 00000000000 13451733207 020127 5ustar00olafstaff000000 000000 Archive-Any-0.0946/lib/Archive/Any/Tar.pm000644 000765 000024 00000002765 13451733207 017767 0ustar00olafstaff000000 000000 package Archive::Any::Tar; our $VERSION = '0.0946'; use strict; use warnings; require Archive::Any; use base 'Archive::Any'; use Archive::Tar; use Cwd; sub new { my ( $class, $file ) = @_; my $self = bless {}, $class; $self->{handler} = Archive::Tar->new($file); return unless $self->{handler}; $self->{file} = $file; return $self; } sub files { my ($self) = shift; $self->{handler}->list_files; } sub extract { my ( $self, $dir ) = @_; my $orig_dir; if ($dir) { $orig_dir = getcwd; chdir $dir; } my $success = $self->{handler}->extract; if ($dir) { chdir $orig_dir; } return $success; } sub type { return 'tar'; } 1; # ABSTRACT: Archive::Any wrapper around Archive::Tar __END__ =pod =encoding UTF-8 =head1 NAME Archive::Any::Tar - Archive::Any wrapper around Archive::Tar =head1 VERSION version 0.0946 =head1 SYNOPSIS B Use L instead. =head1 DESCRIPTION Wrapper around L for L. =head1 SEE ALSO L, L =head1 AUTHORS =over 4 =item * Clint Moore =item * Michael G Schwern (author emeritus) =item * Olaf Alders (current maintainer) =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Archive-Any-0.0946/lib/Archive/Any/Plugin/Zip.pm000644 000765 000024 00000002427 13451733207 021234 0ustar00olafstaff000000 000000 package Archive::Any::Plugin::Zip; our $VERSION = '0.0946'; use strict; use warnings; use base qw(Archive::Any::Plugin); use Archive::Zip qw(:ERROR_CODES); sub can_handle { return ( 'application/x-zip', 'application/x-jar', 'application/zip', ); } sub files { my ( $self, $file ) = @_; my $z = Archive::Zip->new($file); return $z->memberNames; } sub extract { my ( $self, $file ) = @_; my $z = Archive::Zip->new($file); $z->extractTree; return 1; } sub type { my $self = shift; return 'zip'; } 1; # ABSTRACT: Archive::Any wrapper around Archive::Zip __END__ =pod =encoding UTF-8 =head1 NAME Archive::Any::Plugin::Zip - Archive::Any wrapper around Archive::Zip =head1 VERSION version 0.0946 =head1 SYNOPSIS B Use L instead. =head1 DESCRIPTION Wrapper around L for L. =head1 AUTHORS =over 4 =item * Clint Moore =item * Michael G Schwern (author emeritus) =item * Olaf Alders (current maintainer) =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Archive-Any-0.0946/lib/Archive/Any/Plugin/Tar.pm000644 000765 000024 00000002430 13451733207 021212 0ustar00olafstaff000000 000000 package Archive::Any::Plugin::Tar; our $VERSION = '0.0946'; use strict; use warnings; use base 'Archive::Any::Plugin'; use Archive::Tar; use Cwd; sub can_handle { return ( 'application/x-tar', 'application/x-gtar', 'application/x-gzip', 'application/x-bzip2', ); } sub files { my ( $self, $file ) = @_; my $t = Archive::Tar->new($file); return $t->list_files; } sub extract { my ( $self, $file ) = @_; my $t = Archive::Tar->new($file); return $t->extract; } sub type { my $self = shift; return 'tar'; } 1; # ABSTRACT: Archive::Any wrapper around Archive::Tar __END__ =pod =encoding UTF-8 =head1 NAME Archive::Any::Plugin::Tar - Archive::Any wrapper around Archive::Tar =head1 VERSION version 0.0946 =head1 SYNOPSIS Do not use this module directly. Instead, use L. =head1 SEE ALSO L, L =head1 AUTHORS =over 4 =item * Clint Moore =item * Michael G Schwern (author emeritus) =item * Olaf Alders (current maintainer) =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Archive-Any-0.0946/xt/author/000755 000765 000024 00000000000 13451733207 015750 5ustar00olafstaff000000 000000 Archive-Any-0.0946/xt/release/000755 000765 000024 00000000000 13451733207 016066 5ustar00olafstaff000000 000000 Archive-Any-0.0946/xt/release/cpan-changes.t000644 000765 000024 00000000344 13451733207 020603 0ustar00olafstaff000000 000000 use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::CPAN::Changes 0.012 use Test::More 0.96 tests => 1; use Test::CPAN::Changes; subtest 'changes_ok' => sub { changes_file_ok('Changes'); }; Archive-Any-0.0946/xt/author/tidyall.t000644 000765 000024 00000000522 13451733207 017576 0ustar00olafstaff000000 000000 # This file was automatically generated by Dist::Zilla::Plugin::Test::TidyAll v$VERSION use Test::More 0.88; use Test::Code::TidyAll 0.24; tidyall_ok( verbose => ( exists $ENV{TEST_TIDYALL_VERBOSE} ? $ENV{TEST_TIDYALL_VERBOSE} : 0 ), jobs => ( exists $ENV{TEST_TIDYALL_JOBS} ? $ENV{TEST_TIDYALL_JOBS} : 1 ), ); done_testing; Archive-Any-0.0946/xt/author/synopsis.t000644 000765 000024 00000000060 13451733207 020020 0ustar00olafstaff000000 000000 #!perl use Test::Synopsis; all_synopsis_ok(); Archive-Any-0.0946/xt/author/pod-syntax.t000644 000765 000024 00000000252 13451733207 020242 0ustar00olafstaff000000 000000 #!perl # This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests. use strict; use warnings; use Test::More; use Test::Pod 1.41; all_pod_files_ok(); Archive-Any-0.0946/xt/author/pod-spell.t000644 000765 000024 00000000655 13451733207 020042 0ustar00olafstaff000000 000000 use strict; use warnings; use Test::More; # generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007005 use Test::Spelling 0.12; use Pod::Wordlist; add_stopwords(); all_pod_files_spelling_ok( qw( bin lib ) ); __DATA__ Alders Alders' Anwar Any Archive BooK Bruhat Clint MetaCPAN Michael Mohammad Moore Olaf Philippe Plugin Schwern Tar Zip author book current emeritus jenish jenishg lib maintainer mohammad olaf unknown Archive-Any-0.0946/t/type.t000644 000765 000024 00000001073 13451733207 015425 0ustar00olafstaff000000 000000 #!/usr/bin/perl -w use Test::More tests => 7; use Test::Warn; use_ok 'Archive::Any'; isa_ok( Archive::Any->new( 't/naughty.tar', 'tar' ), 'Archive::Any' ); # Recognizes tar files with weird extensions isa_ok( Archive::Any->new('t/naughty.hominawoof'), 'Archive::Any' ); warning_like { ok( !Archive::Any->new( 't/naughty.tar', 'hominawoof' ) ); } qr{No mime type found for type 'hominawoof'}, "right warning, unknown type"; warning_like { ok( !Archive::Any->new('t/garbage.foo') ); } qr{No handler available for type 'text/plain'}, "right warning, no type"; Archive-Any-0.0946/t/your-0.01.tar.gz000644 000765 000024 00000073642 13451733207 016773 0ustar00olafstaff000000 000000 a-Tc0}۶mzm۶m۶m۶m}lf&Evwf6_St'Uww]n@COK@=== ?" >==#3?XYJWQz?/oilbneL+'σ?#3ÿYXs3J(M^Bkv㓦64k ,I#s:KFH$PnYq?tM:YC5Qpuj׫mSAP|%j.t :jx|w"7}Lw@ftR{؋`w=[ (N\`|1I|AbIȧy\Nq -&PB ߓI)#,CbfJC'W\O5vrm`BSAct0mvY2ϛ=*jQӸ ?h![rԸv8$6i]Py 6d|mT.Mȿf{NG:q[I.m@;h`Gl40nl!|xV(oȚ퓪~{!Kؚ,4%6=>\!2,ڴgJ1^ȱwe7XQՠ_ y8 Cea\:gr( yF!~o`nYnsP_iQ/I`᠑];'aM$gXMW({vNg$ѷpVt2)Q_'{u׬Σ֑BuJH'"]h9sG*pyC(8<⑸ ҈@rPJן ;2{ȆUhjσ$@RZ8 {llz6'ph55Xi#uz;(Xsy޸Iq9s. J;7Ή=;wUW؀-  t&Ȃ-1P K%*]J6HX@'R/ldD6. lmTQDPB3a2}qL`^ם_?B]d-`ilɣ'&y7`eA娔s]nr=FTP {zQ]s~s.N$V-ِbNv8):mLr/?=ÿu300sg,i`E̋_q⇏2s+RDAimEd .H'{Mi,>ǿ~NaL?;?+?_߽?)wu0?L ,cgdwhNB:۫SB-jݿǿ+LL pԢLQl}&BlF4xaŧ JEhgϢu ޾!9"\豽ٯ,OJ 1k.B/3Xk4 g9w>:sDtl`C+.Isgtϲ#Š,xҟYƅ0D6dwsi% DyoS _)b%9P=>;%IE oK`}{e<lv g|߽[q񸙄ԧsG$1P bܖ+Ә$+쯶`@9 E+t0BR\eVrLA-\&& 4hʲ܊{hg%zD'I دO_u®%'Qrӻ(*t{lh~ e:՚ƺ!8M!B|AeTɶzeW9/Ip$Ui:;&t kŹU"iN~-,ںdk]άG|d70Px0AmNE\TvS^'Gyo@Z ,|P|V*ݽ/:8HlqR̕-ߔ_d)ҰcQɪ):O׆6j0wn*&#8=-n:Ƃ9 RY*,*VNTk}}/z B@tBsv&%"T!co%"P)D̹ o0a6MN[b*[ 8_aJfB\d ;f[!s%_ʤ G*$r%ψq|p=WY{,E9ZQ;6@|QtO'.;ڝZ$67 z՞,aSvIۂ0OVnX 20(X~4'%m#^.ECd;*d#2L@cAÅ[L48AC(8 T(M46)7 ;S}HPQ sn]imMLdr9DεSxqIGyZ^WU[ C^[IL98NW=N\Xgf-29@imE.@Wy jVuf ʇT`(Bv޺kGW|+p\~xI]2kv@?lvs(sjFR5%uH[%܎fu )2<ݭ{]ؿCp Gg,H/$c<w.Ly/3O߀bHw^|*[ۈ O{&bg>\W첚r8;X:kAQ~عcŶ &Ö鲔{WgarnKC4+2InO+rZ||A R÷:/?35~MQo;I_=r3lFb\Vi{h}P3^{Ev8}omU߃\M 4U>Waqr2@.^›/@^uʥ7%I^*IVMkqŦ "=!N&K.XaDv` <ptFWB!\}n]Įs oV;ۗ*cέtיEQ6UwإԐٚzgbS7ePgG@:xg9!xvݡ9)i &^Yac6w ȿ92B2H}ф Ը$Lq6~A>S(K~ A SӑM֋mf QL.7g"{&XWdB7=@ %A. rQiDɽ5i,hT BxrNQ2COηO`[K!h S c:iZ2=Lg=N7-,<{41 ?VGBSCC@NUq*KKޟ%A*Z1Qu2G[q(pXζe>|)Z uE'O"DwCxR¡lV鯽h.Cw[si%udaK?NʬA/}՜.BMt5|M$ ̰eh0©3Ny!c4ecࠕRTLe!kdtɭ˷f|Y':)53NI(9a&Mz$~y^a6[t&\]w#:B.H#LŝDdg!Ӕ "{ 8-j2$Jm\Rw\ ސ4V)wBnh{q!sqlg꣪-f>jvdE)*_>R8Df8_y-+B;}~+XƒpR'mѢ}$V. 8IQv{[t$S[$Ǒ $e;s*0 yʒH<2`BAUYeyF qlC)lj 7LYmZ|fDcHoudzO'*IJoP6Bhtf?t4q=c|` kUoŒCj,τ>kZ_&anj18Wnd#< 'Jx?qyc8mБ%38VA'qU dd+2l [PHa&#>,=S]0BqTTBb[ܯDA=;(9ٵ3i^)j/bO˻V5C\D ^Ao9''4Rr;gy^yzÀTh8U! Uw[N:(ddx2wGx9Rq҇ES^ s~U?d~BrkYKPOP4]39[%r+^Į(QqɠxT?*HZ{,Z13Z7#a/Ӈ<ymZRU!%P.FIBRoũME‚D;HُO’>͋y+H%Jߴ!.j# C+ts*5Qty|</:M>ylRp0o~t;s'GW ("F\ zc@|<¯#4屁==vD Uf ]uxN|75f籤Po˓6U_a#@DdHjve0/svW k|l}87ΫA|Sl R8> w9Azae\5͡cT8np|V`N\Ѹq&2(-AM,o_"wP][kbHm VvhICMGB1!!npp\\tZZ/oLw3A }zb5DhmSO Uz2yKV IiZY1$\:4.x=ܑ\c2_0scU(-r{b['L`"C+ fӯ|d(@5EmԄZsFq&!d6BO̻,9"Xjjԧ w ƒFčG>tݨÍ`ḽ OY&1!I/ip%oJB}kynWþތ8,opo~U@օzlrecLUTuO'p\%gڱD?|Ֆnꏼqdҿ$Q@TVn3[F7% -owqM,R-3u_&f++p$Z^l3D@6bqS7FWVqg|$iЏL|NJ ΂äWN$D<0Az"]G_ Wt@kk+Sa-AYٙV)bC]q `n07Z^gҊeh[24 I2mݔ"o S6!qz}5!SEߗ:9)ACUs&T[igtG3ؖ]#["woH" )yKG #؈,Xq{tQpT(fs2%?z.E[s|P+I| d0bzu>UJl#԰P/#SS9!N=&0n*KXPqƝ3XJ]Iot'K_Srq11wIU_E+A., O 1麸O "=T{E️kXxE3!e(-,Q+}ß}q{Mzճ3bfd_7/B- sؼMd[a ܓ`t1>.-tbȱ~aQ~g-9&HdB3pn ݑM9l{50ŗP X|h6lI1ZrE!8LC`Vi@81 !8G]uV81:[x1-V,q8R`c5ӛ\F b"z"^.p\TGb{)6v|c;=}kY7K^Ekȓ>!ޑ8eqGLm ̦rT|,|v 8.^P,3!ytl R] $ J.$]-FhW;_sW?Jd˯zVfcΪGJ3Qi*)*`+"t8tF8NEA& ˋQ6(y*8١|~rFBqj=s+ER G1^B NЩE֦:֌_S~1z:BI9x; 9*UsڑVW]J7L+@߃0O[e>vt&&ѵ줘vR&|0[Z+|>_lĊz>) ͪGe4RXn9[c֘)ڨ/AAeHNi(^8/laczoMm ҟJlmc"N/_l͎\MUnd3*;iomѕ.s= 5]($_%㪾V܈nS!00T<iI­GSzLwY7 <֥cM GF8\@"y.+ f %#Hf/P w.5Z>~C M`lyqm, &HuY`j0wPjqRhy)yە/Ǭj ]JvqS`$I\YZvT<#am%T⣭} a_3;cD(n(lsS9s}t*t*E o@-gYs- JʓB^'*|izOO]8PV. Zp괼໏큢Xmϔ V SdN[KnC4ybj'[m:{! }kyLA푽c 9DkNG[**4^ᦘȈw)^ =F9Z("0X EF5Q,8j(ɽY-%2!}1;O#|4~e^8̋ 60T/ a4:Eh} RY h6rR~T4oi6ZJWCoÉ/!kimBLajL4^}BJsH/ ^‚hB= A5%x v]rQAIb;_F/zOB?P{jtNoP/n%!Cs]#ۮVnCFd>rNo0UR"%C #%f)`t( u'wEk 3d!GcŞţ-6d ހ`1BplM3Q`o o2S$B9+p4D J i< w663 =X&:.+JWW/F!,Iɰž:n~\G;ێƕbS ĸ/SQ$ Vȋ"s%\!GctP)e{zXWi<XuV!3/9 O5] i X-$ GިL9^$'AހqcuKCOΔWX ^.T+59ٰ$usKǵ^B0&bj4= [V &8zTo- *={0x:wbO'i/v@w.sjL%^C2TtZ2@VգBs]nvsY.DΘ_'Yc{)ӫ;T-(0Y#k#P;!/<5j} i=K Z51TmZޅ³ãY65XNjx$:i*+VT+]mjJDky-'sCa As_<"ʹ~ˏ35lB8T #I,X$4X_^3D jK!&s_CQrTԉ+,^{Jg50Fsl z8IeGgy6twPe܂+jBclYJXS.)vH;o 4kbItj\zy=R ^L%F*PʄӸM&9Yff7>~%hH7o2Nk);K[E~Vg05n4tKyu$\V]ݐ8ɫ?U^Fq?QdĸⵁXex-$a3Ys"F Y D0FK;b+(m>$@lXF$ 6Nf\t7dߋ2 4W\ZGhSW)B&_&9thvu*nO톧&,T)݈Φ;@-jL1S!Z\REoW. *C"#>)fq_ `.22z0vSE(1U@AaF^?CψuI[_KLя_w 3wtO[Nb|?jc:hX %;IkA#Rrz-pk$NœezS]^$'i,SdN\賱fmDKFD?ݔ"E>-3YҲncpn}y^꛴vq棈@4:uI0v /dx`Qgݹq<͏b̀T%;7aZupm[D(==WL8M6sDAvЄ c.O,*=חf 7ԄNY*L @O~ryPsYE{E5z 6j-[_5]qXaq^&;෴ K )_"Q˳7}9nzm8jG&h[\r~ѿ[<,wZp- >UC×pɎ_R)h4d{O^C<<Ž[=r=@~PSmB(]㧶~w}ʓ>E:=(\ rlMb-^{h*uAc]eaaA=vzY-`Juerȁg?AڱhYBgܡ@ t\{Oj 4V:FdgŢe•ddBb)Np9.*rť3NS:r}lì7sC;#wm/y\h@ᄅǯb9}q0cp,cLW[t03\L0Sz[{ǴWffݠ~UM836!QjDks|,w>:_u釂; 兖Ttmq$q =I/wlPne񋌛ysa31\k˜Cv%Ie& &xm$ 7s 7}9߀fC1vq13>oB{*e_~~"?hO"_ YRq Z֐'I>X0Uw05[Vc2LֈJӠDDLZ*Q]-Ls;h84$4}ӬJAIr5G9?.j 98&LVN'5{}Cl1U咜bA847L4\D~n8 ~b=N6Qjnm 3⨞t0]>\F,S(ޭSO}'%M4[D$ Zu]NzqHI3HʹyHP@A\C[:0Q}PҊ9>ؽw{Kx~EtR4.ʱbͼ@cQ2Q&ؘ67 (O EWȤ G'GhQB;v9P<+ݡJs3Α >h3Sܺe|Sk/S<LJib"UEF=YImj#K, )#,>0w KM;N# MoC ߫S/irR#}+Ud^R~/1!k1i0l u^;1Wem@礕Uƹ+R.)"}w9!Yf+jo#oWye;,_@ϖV;+#>eXqSx]@vi2D/[t9l[rQA Sj-5H' 2)Kto t */7RJ :3mAo^yU5:]VlN5=]߫3W:-eS]1o8 H1҄XQg<4\]l JkszRbY !i;L\=Ngᾤ7H NhCS %r!dWeW  % `CKW! @kxp{ro:gGI+Ǭ7e͡#I}SJ#wƟ+;| \5_Y"i7#M+O?u1 cpqG7K??ȑM/3xŚ ]ޗX]k ՌEW>v>jr,HNˋR <3T:>ub ۱wbMDU|#>j@(p V d٩1P oĿQ3 *,WՋWV8W&?g=) V7uVg\S J2ߢ斔 c;ǫi1]} 8؂)Ebv%[eyn$`dx]fXPIRmY#uJE";{wI6Rg2*=D^"JXFZ*`&w ڶm۶m۶m۶m۶OJ՟JeW;urg`Zs̪5}$WNcISV.ȷ$gD{Kp``ID\ )D9S 2Pu2*>ʩ|2F|d #;ka^K'Oiu鷭6LZ:Lԃ1ecg~Nf6yUZ -IdD#ӪIh퓾WYebmM]Nu8 Axˁz׬ 3]vk0:Reyš񕾘/0U#VUy7 PD! KqTi:MMd(ڬ uHf5'M4o.{ vaB }i{*a@rfj؉\<ófZ䞨3ڗ[PzAa(xNK&఼5N[eDM*zh+[:M322wA ahX܍l:)J:tieH~@3Cm咖.lSqM\ݷP8gxݻVjvqg\bZ,#l^r߯k8DUM_®LekL@&ݨ\H{+r&Ϭ#ιxxS=caJZ* _ JC`+EI/-'$_0(cI2օehhG-wW=%sS. |oJ5:gD1j}@|)xxr8[d}Uy6C-G| w^5-EbR)$?S3R u<í5\Kݎc(!^ h*k#yv tNbUB᫞x*b =Ɍʲ2+՛<̻XL2zm#-<_,A ]„ƀJuKX#0qg-A쒠wDvMQ22Řק+Mw{ a{i19i,7;bWzqYL';b%gXb/B\UYg*BTEk+<\1(08#2 %'=Qf)n>xr14 }\:hNk#1X+}o\R(?OCDXVBA~1UVC-́P ήa-_ 64 (R ޿@`pC[۲H.!Z6U4L`x^o % `8ķs=?ab]gZ]YiwX%jS7tؔ<`_6޲LRTWn:nt G{,>\M<:!E,56ݛEYm3&a:, 2';G\2PEe_kf!&M?x3Xm]_QEQ&c 3+|Zmfйr^nr8emOdCw[C>]l|^g\f/"2'rrJ7dǓi@3נgj6|@yC%SdY! =0.fl&dDx2r 9ZC픝TM[@1|s+: _)OVCFa sU_PA̋4[ƛԦpP|e> z%aoZT.k/A' BJYKGRiP\y.v.c+i|k JߪwV`D %̫j7W>H,H$ i&syRɮCa]_u29NQ5f3xv76c^ N)6[ _nB)J=u\Yqe?{g(=ӽ HO@TGfpR3g |Y~g]} (7?D۸ TAvPψZWXJH \ T9(z!3.mw9nYJ#w-Q~ !!qg$ xB@|C|e+{ѬP㹣/ rOyy NBl_9Zؠt/@P \bM .2"bF8F}L<(O8ei#i6@ w1i]3m[5֡eФzGON'^ha46@@Eң_o&pyMОVW Xgv N`LU 6Al?vC!lBuOp6DC9{].lS`1be~V-- j5]Z: i Q [ Q5JU"5I 佢1DŽl%DWT86lްrRt'8tؤ-mlpeнmnƙQ~P-:h '-jUG mDhR^ W b¹GKW/| ԋnɼ9HsRl{dD^T~3LQ8Ԉwіf?Ih_X2Kh{ l,U_2OJjEòE8x!B. @Qk)Drjs*nn_UJ ޿Ьkn+uȨq-׮ RYŽIXל4$V̇2F7ط!6B;p,ELάuNQ#981YkqLV3~tƜ`H cP,t6M.Haյ]E *wDr: z~l"I5 qw7\ë:L7xC:N?BIG1t}l$~o0 pkv@cҖ@Kr&m mA/\de𨌶3Uvc$s;/ňa˟ N7;E1r7; DsgˑO`R))^'5KKr}B ;i.&}"0?0kGe,c2s1cQa ejKoKJ'|bEL\oycZhPiGsK&7e9YL|tDFdжx^ഭ]k)/l^m,K2,(ѻN@/N+Mt.aI{7|F 븈Rt>ecY8F"ld4CjS$nnߏFA{H\RG$nPBYJ7| 8-c:x?˒T>XTdI F7`uBJ7b#&uM(%9 rwxtP+S҂zWV}L9Z#Fg5=_`/QQ(-Z_D –~^Ƅ[3xC@ݬdL~D % `-~OL!8ݛ;ͥ}Cat&9Xefr M-?&}0h5TIB>N6>,.hCӣ:oOrez=ɴ \/Zl8ZI]\C׃>ʹ˫ޓ,dWګCISTaHlѽݕHBT= d UzYd B4=tT ٱ;E OxnƘDh,KkfP= QR^ ~pPWZ &P%xܦ*ƀH;cސj|E PBk!;?@]QPSVqMctV`Ɂ͹uk<|6pi`Vu8l$1@viAo:w~nDސ]!dGS/+6G0|﷍*Gvuё{w+_Bʊcd.!g nԏTݑy:v_I;3Wll}ɜWz#A}zҽq7Z,:2".fFQx{/-^6t=O4ke<>LedD{YyYc];"ʄkUĖ$ӫH\G[{:@ڇʀU,[&M:!>nw>"JӋSd3g{r)IKg}tܥ7v滗%Z;oI MINқ{,>8>1u5lͅfgrwt߲&/ygnΈF-݃BP#hޙCZqhoWskخs4[p B. J n26ϙpow/Ht ZDᰕ- uxAp&n*TfH-ԝ~1xO5,25 Xx3_᳌MDpL_.92SBY(\l ஧a%|4;Лw3dS,7Q9aw\f~fʦ=#71^Mt{?Ф!Bsl'JY`/t弡%@̃YUoXJ,抈~-ÊC5l(;^LTrxl8im"םC#TWz3993^r:XG`cv@-q!\1 Y}8|1:ЅB8# yRuÆ2:~2}pp$>}vQgb>ov:P' T`4)ET'Zb= aFC?J[\FT]T*rSp,[g:||G HIv?OEM) [R,P`;m "G9&[ɓԜLrtPjck^P#;1rBy*aTuA<@kqlN*NEğ- /ua 1G:,A|17Nx7lM{*FqY1[ݗmHA.EzPA떱CTT.+k_Sb f j w8eVkr'V&y, [)DŽ4{P!Ld'0"Jw u \MP/fl,?+"{^7!)M\#"n3' ^^hrA_j*)Gx(3䧼b{yA|A齰g[ZLU݋15X;jMsp8VY"BbzK}sQ2 8]`k88t2-zrt Nfv{+İ~]yt"?W3̿Y^|-âJ@puZ;܉ZB1%m^+T`LjU(b# n W0Pb/:׹Ћ<:ߍGemѹ,F~x!l {m!ZTxP L<3SsEunn4ܐp-YjSzȓjJ/Va`3 }_ϦEq:ds$sun?=b(?[-S{>|ʝ.Y.G- RST{_2qr*}; d {\:J$dv! `_\-eW_S9"LX2Y2d#1:NSJWm*zwv{k,[aj2ŋF<p BO&4b)KoNCr׿RBi0#kC ϖ+m! z@?ڪy./J X8y2x?^q1Na˥"WS?⣼8<( w)jOU$ziEn8݌@uȷXhGḿE>0솸M Ɓcsgk]@M9eylkf177BDb 7c f戒orZ07(œ|h.r8~0ԧӻz+isnȘ̆=ǀ?]`I|׏Ȉ泉IW/&Q͍nȁp_@ߵ8f_mk3b2`;1/~|KgU?]XFqBg̀Hh!2T5$Pvig5 AxpY' tD!TЖ}7b^4VssUuKS;*_5.Iv z)J$w/[H 4mXjzд{%3{/n9FUFFDL*p<Ē:Űnr/~3e ߈GܼjJ{!R(ƿ=F9cDÌiR,ZcbcSH״hpe0+IAIz8&f'y`W{&9㏢tj#.U5#OWiv$^bB)[=sEVݔYrvi /ލ: /yȫ{iடsH>Bg>}}$D_44tKoeKg] S{;DW&񎶃W 4>' :w\ LC>!СE t#F];-ybR.SaB:Ӳs!p6 (ف,UHi'r٫9k*PZCCF1eY|#޵ΆWd=n e:"?b҆k꽤 s!:tQC.&07ƣޙכiZ(bU8?|ӹׯ22W&-qPRMy2{Uc>mY~AӺޯ&Ƭa*8p\ -m0)KKVO4<DZܐ;KQfڏVca3+ Uk!vZfW{ςd9Dr,)mS^?U6 <] ^b(KY̥݉⛉=itiQ.qdصoza&hl_)%gȻCᮥX[B&|6DR2秧O_fyh|Y2LrΠ;g4:x}=HQqd_t̎6`;<1&5k@!Vr*"+8s0ӧ*mK֬OYL$$CQDSD D iV݉U:]^pv?\BL[g~̴90h-P@ނ H%!(:YCMoFҙ GvhsI2a޷93mw &P1H"yF?"\g6/!+ '[ %#T=JZAq77{GZeA-`ybgET5 s I'B rNAQ$< D8yǟ%qckUF) MjoE lL|2#8h8wKFc/L˃P ty3E7 hbaM $P.1!o"b0-3籪TR񚴓4JXr:wGҜf\=|1i0@Q hb}c_[Ԣ{VHW"Ah.1bAr@hA 4z5zAjnָ`^WLhlZLij|jg_<deɮK]KE&_ lK>fbRusMr!{%!<=='VAH[1^ ZpU^-x\FtJ?l7"I4YWekUFW3a]f*N7 k|.RcJ,DŽsO MYTAv򅶯zN>mz5r#bp0EoGQS];+:(q}_ɓۿʤF|SId{5JٔjPӡG]jġ܃-ݣJSw1?&έrݲ_]Xa0KYV.'5mf6=OE3E5Tj-=wB @fԖm Izv4ngı${,IrQj91>t6Pn-vr3S 5M#IsL¶n*ܸ86aA Ron*‚hxL=2(s&"\N7SRŸG3HHG3^' ڋ'2!v.Ԋa+57~= U"1p^e2 n%T=/IJ~Tα0燩 "WrǏE FcS_%ֆ'l{_bx+p;եPUV>gDsmbڛ _2=srb*k'?? knJI̱ZBֽ#6"ztҤDD :9JC hMXUP2-,!"r|Hmq3 /jArchive-Any-0.0946/t/00compile.t000644 000765 000024 00000000261 13451733207 016232 0ustar00olafstaff000000 000000 #!/usr/bin/perl -w use Test::More 'no_plan'; use_ok('Archive::Any'); use_ok('Archive::Any::Plugin'); use_ok('Archive::Any::Plugin::Zip'); use_ok('Archive::Any::Plugin::Tar'); Archive-Any-0.0946/t/not_a_zip.zip000644 000765 000024 00000000176 13451733207 016770 0ustar00olafstaff000000 000000 #!/usr/bin/perl -w use Archive::Any; use Test::More tests => 1; chdir 't'; ok( !Archive::Any->new("im_not_really_a.zip") ); Archive-Any-0.0946/t/lib.zip000644 000765 000024 00000024655 13451733207 015564 0ustar00olafstaff000000 000000 PK 5lib/UT FD-GDUxPK  5 lib/Archive/UT 0D-GDUxPK  5a  lib/Archive/Any.pmUT 0DFDUx nԖTXǗ [!܊pS""H`N?&QݏBu8r ն8@PJo:Mn5hdѲ fF1{VkOa6Ʒrdl4$7n菷lCXphL/f|vvҏ6Hu4'\;7TdBC3_G!SnsFWX_#Z:O/x=_bsjKƚaG]jo6f N[\zp?ƂIW~wZ+ VILA~7EWreRؓ\ S= !r5gh9Ç`GqZz3bG:8b7\lث!8z bڊ;svW^Z#N-ς~9u̜OOn1>感d`4ݯV}omkhs@`ywb}[HutO}9aVGE&tmd xĹ_d<2lTuqȢ Q}fT&V{u׏j$2ȁP6䂫jE? *TKD6[ײdCMzF*g4N'#Dn_sZN'eUy0 .RA _ˠ$ 2#G،zm 0~iaT4b[6:m1]|[ |#М,eUvK`MXcK2%#|߄X(fiBJ&m`i,bf3>Ni5om=*=<}"EeH5)Y!wCjyBg;R9_:}x5-y<ƊWʌg x}&;hFG%7YRc~H/3iYrXƐ"duOj%uPxk6VN7(T,3$z#z(i4]:+Y+rzi ^,^K))#_H]0B!r<WM aiI aqܐle},(?/ 7AGEjñZf+MezY% by>UBIhB'[H/&P)IA/'Ē*pމ^DUc4hI7 Pnb La$"z+?c,/b+>&l4 ʠb@p]PcʾTadY FJ+;cIgG m[.[] Z'퟼f hFfRBgwgE~Xi#y ~El)8"ȎF柖?BGYwwӐqj=2DUF6\0$ͳKV{ ~ale wuNsڑs$:rz:Fўi Sx:B$b%$([D魞pM$ xP@)Td+# P>9,ޚa)&Sf_nI8Ry2\/dED졪D5u~ߘ4fERj {2n^v GLG]VWru+uč<_$Vѻ+SmO' o0nu:=uХ{$hqs]:-_&yda&I k)AC1ы+K)5DI-|aGC(e"8 &5[1/^\Gٔ6i~A8&x^RS~x4> MTPjAv~AlC۷x0lCQߘ7qָ 3#TWJU`GD/WHآ#hDV=FTPKN 55 lib/Archive/Any/Zip.pmUT $1DFDUxiN0YE$,Wru} m,V=.v)Iͬ^q fd->! ZH(ce.gUĺ`޼o7[:8i]DxRd0)NO~/󀋔.i]myR_z L$Z =F"g`󺓞# i7.cwƘDv2|O 3U?r6 n=% _~x5H72rYbT٭SiյpRc * x݂͗DNJIcQ+r)}/ 'Y9a?ǥmL&e5 l!;{ YAbd|) .| =v$VG3>%O"[碶!wjj IEy[Y `ɞT1@e⮷SHQlTL$10YԒz(1W6y+{iwW;(v$U~$dmj8fD]r h dޭP?}0"WGvS ,P_jd)\ [Ջ`.<$8Ge㳌܋tJ\ZcX8K D!ݛ|w}Y&o ->{'\|]@p\ˆpnIE\QdvB)_N|O . rE@[Cׇ$zY¼ !]x+l %0Ҡh 54䌀y'^ qe aB2m*=+_Ys9vh?;Lj% rH=Z2 բg0B %t~RCjk\n֘Kq`,cm C$FPˣ c@PK 5gfalib/Archive/Any/Zip.pm~UT FDFDUxa0KIM2i<,T{zH'}VX5Vis2hwYupK'}KP+ t($l4#q_}#9!|+ ).I,a K]l{>%b(mʠ"IXdH($ *sc+Ddg; ?g]Wb<@E|߸~}GOi/IaG˥]UF1](P~"y޾JazcN%'`9`ڝ){/bD0VZu]Ck[>_qTwL47258w?0 D@3 /#!d /6f}ȓeMfy~`bR8nԎYt2G!ZBGXhxR\Vx?є0!cw"}1ڶn9RCb!tszV'chzb"4hgmZ_V%v@̏' 9_!H/yP9^Naٝ8jiԳFrLcR-m&^Vii~ ha,?h/sPHc73[;&*kczEȻbWJh$Gp`;g>; E߯zPٳكQ%tћO0I0j4Y?Wv5q˭x>GQM\ԔH66 G$m~'UFdQpYhޢzD_nOK83Hmt+8aM4|ENCc*zr>RDhrmOg-NB漏=Δ {ul-Mf"#_t_)Lwh}ׯTpaw[ઐcG,bM)vfZCp4*6^t7.MaBFOݕW5Raߕ-VBcޛ)MgqL"#3m MPKH 5lib/Archive/Any/Tar.pm~UT (DFDUx05~2vUq@D./F4'%X,ߞ %(R(8x0wO `ɬWF_<} (|\-mF<"vz$ч ;Sڥ7s2Ѝt-JY@+(=u9EmE&«N㞄mp$XWe 6P`N<Z_yI{/;a>_Y¤C8h$vɩk:3I Yp.X,D3†<;\`CVʅ+S4%S(YxX1WFyѮA4teV$G *qG:A@|oYB\R*Βy]C *\0w5e3Z* (pe|'Q D6Cw,t`yྃ]Yt x͟.) ۥ\KLxt+fSq Q4s#fqiZ~+ORrsn*_Er&\h~JLm`UhssB+}Ғ2y'+]p}e(?=M](#]8 ϦS% UPh*+q/h|z%Wx/^8ig$iS^] n/zt/Xpr[9PxUy v.b!AnOTlR_&`%(./-~Km=;w%-"_aDD-9j-n=Mp;jԪ!bӹ R: VINLDMua Z|LWcz5*HWvTmѸJL!U"O26Av8,RvQ O0]"de02uXn)eZtZnjsPKb 5}< lib/Archive/Any.pm~UT *DFDUx l4E>co}_%oTK-Z>#aawBS3TjftSbCZ嬾s85 d]70ʁ|tfP2ЛGjebpyw\>-b׸ՙ6^kz:% 4kEc[ iJ9nۭ־Y/Sf{׭KPkލO5k5`0aΡ:<)+aܛǟ萷܆著IĦ44o0A65!mw+hU:hrog1Qo2mhMvKHXd}/Zk7E`[| tkZϘНV 7]ǦӸư W(c9$lir{$r*2w`E724#Ϳ ~~G`J.s|ne"̗Hb81lwQ*䖞@FZRfjV7He{6w<ӾVq;*auZ?"?%B $!Kd;-d ΃m.FAFkc4_;m3'8 *˽܆cװG}FaW@RL=;!"x=򒌵*bVp3 wȪ[<6s*m3l# 8YG/cp1' ^ٓQ`6`!Q3|"ASGH`W+2V5Ml=~ 6>j Ffr<8XP6WVeC7j'3wg`/p5|έC59R&Y˻vpJq/m/L.Ep+ o@'.CSpfFA⸹\9N֐% D<R2z{ ;xm\c_ gk#JP~0An~3WY)Y8:}Sxgt00c` 1>%rس⊿I I-8tK9_'Ke^0b\ PmFB@7+e?uQB)B'cGB8t57G2b#U8yv݅eWH.$lpuuPGjsPgKZ| 6;k<";QLgH ,2=YXċ9.هrm$u;VGj LeGM"@ң}."TA:62y;g.I]u)/ A,x4vӓ5w9LCN :쪤ipK$ pղf9Àtc3f![TÒ `S-~{ b+lIWS;2ttjRk 8n أ]f/%>,kFH6a3' e| 6-I$ځ^%+0}9`B>]뿣d#PM#Ưv+0L iH!x9>JM[\Mp_>ꗅo&WCUWӑ4aCSϛΟj@d6b.;װP \NPt_m7J5EYܡsjL^W{\d"[E*}1ȚAޡ_rCm#jA :}SG:-- tS[g Q*zՔa8ջ %Gۙ[@PCѳ7U j]>w9@Aö^g} L.- ΘS." wƺR& ,feHchL+TsPҟaꋋZИѳYPK 5 Alib/UTFDUxPK  5 A7lib/Archive/UT0DUxPK  5a   vlib/Archive/Any.pmUT0DUxPK N 5 AQ lib/Archive/Any/UT$1DUxPK 5Ixs  lib/Archive/Any/Tar.pmUT$,DUxPKN 55  Ulib/Archive/Any/Zip.pmUT$1DUxPK 5gfa 9lib/Archive/Any/Zip.pm~UTFDUxPKH 5 lib/Archive/Any/Tar.pm~UT(DUxPKb 5}<  lib/Archive/Any.pm~UT*DUxPK &Archive-Any-0.0946/t/naughty.hominawoof000644 000765 000024 00000026000 13451733207 020023 0ustar00olafstaff000000 000000 /tmp/lib/000755 000765 000000 00000000000 10467261037 013133 5ustar00cmoorewheel000000 000000 /tmp/lib/Archive/000755 000765 000000 00000000000 10467261263 014515 5ustar00cmoorewheel000000 000000 /tmp/lib/Archive/Any/000755 000765 000000 00000000000 10467261243 015242 5ustar00cmoorewheel000000 000000 /tmp/lib/Archive/Any/Tar.pm000644 000765 000000 00000001535 10467261037 016333 0ustar00cmoorewheel000000 000000 \8]ӭE1dq`_:n%.oDÌl WjYѹDn8EbNDOUZPװE]щ JYkH.;i)uP$`U-m0dB]q.$X?_d$S6Uګ U-B3!N/:Eݩ[k(,HBks-_2:=2;Q=nvU>[u/yGOS+6HĒt+J@DE)-H g/8mfM9dÒjI ?y,C@Z9RcN"tzvqSK_h^ ު)Mo,7$QI(-u ކ_lY Sd{osPEj.Bf&g<ϳvLй^8֝2*빺!f{R9fDnL+$ys{ڎ"{Xd*:2Dat-ma1xzL?K1'# ?G[B7p"Pg_0E֚)I6/%xM#g7ܼ Ou^I9]o0|U59 lEŝBp&'cp(xF[o)7r'yf"O^Ya+Ƿ> @BiVP>_V;ݑ kԅD)̓:{|ŶkN fP,49zJ7ٶN#͐ mS*JԢp6oBDًPtEQnJCܔRg [lT";.+Va0~7m_E[+ԡ λCzm~=kWIZeŢ5ZJ,1i]v7 _kqX3 *C yNKox OaЂCZ$J*V07\A@ w(O'M]o2 X%^\ŒɄ&w7maW()PE7z# 6 cn֪ 8C3u?- ]a:VԄHP|݄V5{] )*IõNO!'_"P} jŌ%*$7h{Eyӯ BtPD`34+(4d㫈B^/&۶kl 𨷴o8(rHE>/tmp/lib/Archive/Any.pm000644 000765 000000 00000011067 10467262704 015610 0ustar00cmoorewheel000000 000000 M,r"b-eOWȭv2*BRc_I :MOOͤuL<:r?m* A9iN[ɲTϡ?SWA+Y̼`K/E}U%{EI*Ҭ" BP(G^Dqfn1OAp~ȡJPp>ӺDZ:R,it@UB$3DbBGXY~Ia#mrQC!ti@s&>\t% *Qr=ARSϭkT%: ]0tnbKS*t A 2JIǨ `'i ǧ.”"ml)MR҆`#vOx]m9y[Rcg$> ?VI$ 0+vQDWEu?Jqok+>|'*RJ鿜IV(@6v!Z6%siw:MmK>-0D;o\Ҝ/p_hԏ=].m%] J؜ƒ D,[wͶ)+Uǻ&ECȖPbQ|UqU>K{ tpyl N 0$f->qvԱ'YAB\7EJ3M &}38ZԡiX/xu1K}z1aX.N:``\QR`EKxXt4EL. G3mb`MH7tHo&P9^JrXb8N?ݯ +e+Y-I;J%<~}GP*-d!lew5] s: Xp&g7'DDyk~3pm~nyaJ. W V'J|%䔶Oj`qXTN[[YqsAz5es`4#L?4 DKQ,lFLg-ʍ7wZ{5Zs=[xݐn#=g<$:KA`؋vs8 e~ȍZ;9Pv?YRF1)VG,.y9_5-)KˍB)㈺:A(=.T1A!p%ڇ- (!A{Wwx>D{蠘 E: כ< 7Q2 >k0ߡrgoRLV^[D9F^ <%vkߩHX̛lc8"q8S+Xf7*W>nڞxe1mq!n :kOgUn2k뱥 |HNj~Ɇs050٬ ocS*$iٴ]- }Ǵguwmv۽/wP׎[rXo201}1+#ќ@6`GwPM8/%+ltWUQƭ^.D "T(8ӵdܥ-۳C(89A"qkN0q&|Q.'މ6*9!y9$O\U I<-h%iNwFwHN}7\cڐtƦ~sHB'G `@1ubGr|;Au=cGgz5#JLR,1Uo@|Vǻ[ {#\dڼ)߼)ɞ9iv|RLBG+!0G-E# #BWD7s,tJ_uζ8pE&AN|J;> QTW>bE"ϩV'L7;D>Zy_de(QX؊ABB>s0*"+ ;<ъ(x;#zl G<!z<0\ͷ>~݈N>@4NW7AA]e{ *Gv sl-xی*i'Qm"\%/ X6բ8.vN{D+a22$W H= kc, M1؇mv5/ʭ[1[`[@Gjc^t*__(xUVBN0ySO_͊2ת6!7GR1lU5 00e(ͤd*֯D5kC9=24Oʿ !9n`f)'k94k&Eh=@ ~񞩹)MwRVsu;,}eQxLG=guhQQԀaTQ}k,guPB-/IW1-w]x5O,/ |H%.l[y1IFC1C-'bnḼ ֥h6e%GF&\zt֙4|x4Ifey7"5jDK|VDGӿ?gxVF&DƢ1m:G\02"~@sUZUwy>u WDq?&}tIO^*lw 8XHe Yrxk{Zr[R񼎏9F1gôd_fzd>׎.j<&ArXtn+6ٻըA ,i#d".(erKyT_؟7#lŦ1;o~5lղjm'Q~.fD"ASe1WwhItòO (c:K6֞)O\h{ צ>mBTKP?ko $Ԍ<lr\-gvSᓇqM6FU?s:;li 8nF, *>nȆBl1kdYux<3C*\ 7$ 5Bي*;EvUЄ@?p-}q/ϮނBcvl:a3,9Ngz#K^ܲrL޺\ˋAMg5_7Q (@jtTyx1܆y 吗0ytQ *h`HN&Q 2/w1[Rg{j/VK#x {AMť+hxZg8`&wЃ HDT3r.?2H>y+9L/L %)0w'mY;?1h!'L?qЩr|8Weff2wlbhl.KH`ӡ^[ 3VC,\/<`@]3E9_%4EL[ ܤ{ud?>W:+Z ßGp4xK{_')`iGAqc_G! 1Ey~iR(ƃkZkShedQJlpAC^7 *;ȯ=]=Et)TNv50;x> Y'7?/},Cowd*YHHpn%=j1dCAZMKR.au7WZ4lbLSuQZ1oǥhArchive-Any-0.0946/t/LoadHtml.5_0.tar.gz000644 000765 000024 00000221270 13451733207 017477 0ustar00olafstaff000000 000000 `-TԖC0۶m۶m۶m۶m۶mk{$=mM!necohbbkC;++3; # Y[L VF&tX ::NJ0g?cGV":,)`7qrF$/GA\3z!\[iGPАk)T "$o =N;/Unc*iЁ$-,cf6{A sHIFJL IAtzURM%׾co\Y:!E29EbMHUËbwTjJ~'NQS~,JRr|59/6,"9)xv* žoQiBMaϨVؕCmk7:(1 #| GS\]#l0Nj9n0e`B= 4hxCJm":KP=Au?CA~3X/ Pّe?ܕ5G<l:aii4@鿷O$; P*r=~nX"w-Ma[߻Rn ״˿=OEu22*2zXFd%aENf_VveVvDG 6)ftzYqIlQ/, D4Ko5 ǃxk~_Uľ!F=#!"=FJ<'tt|P/} xoYhR%nݱOlDT )xܼWͻĺdtIl0R#fȸ (T&I? #۵6o^ц|#%ǒLx ;V4ޕ9WpGyh,GuT`d]9QRg$9r-˖Vf0-@q|Y-: |?Q;PI"9 {GpK|Mcdg )yʡ)&S%No=@RxJwBCrLZ5˴~$ V"moTk=hAI}Gݛէ>oU3?R^{1$aDd*z\ee4ȹT =+-dt MlRxy.;x P9+hr3{RK{w9ʿwؼCC.Yڤ-Ѯ=|}}I$f_lp;sя 'z"A?Z.U ^qz'ޥOx@JbÐ+N~/HQHlh?3Z7M -p˲BJiaxႬjvKʔ:ŭ,L?$e>6ۚ#B] ۇAF|gcT ܱ E VXNd؈0/ToVxSYweHQSW;|dl8]KG Q$)6.DFy7RK;|I.LH5XbƄzeC?~tUFF`F!MS"*.:+̗鐷c#Tc&*qֱ}4bzPR(S)uZJ!$?؟_BZbSՙj_Dڤ<͖W+Uˑ/>k)gf}ĢѥX( [)n *f2 6һʐJ X^ܺ#&7 ȱ<́<4ݲHG i"XWT2K r_FTElԢgo\b+ @;s(gr1Ybyn"3AOe{ mgQ"?6xR.)sl.A&FTϬM6 mN[1Up8h'%@(8V4}^UY++ 9O?QaM';~quKD!P iT>fȕeSmھFK5_[su}e:xFd[R9uEy%K;n-,͑Ij.#C8XY3,4esA1C<,AQ".!\A`h-w^DjWV/=<3Jh6ގh#RmVR5pbVbzo8(VsL%Sʰ:0ۚeG9z$ Sf@~Uŋ38/^ :)ea8A9yMh&)tW3MZ^0< pV0]:a[(N3ߡ_F 3<)YMg%$_l^ dچ*gCWдM}|=FJhNtggՔɋ6nm$$.a\h#* b!H=`'4l8x9DWN<„jVSE*Al-RF Z p"'(YQxQ%8 hW2 |p[/ 4ָ;Bc!z`evT0\lی޽t\He[k] A\:WHš}.hňǮ/Y7)\i LBLb4h{ڷNQE>fz-v0mA +ƣDgMWU89,'t>a̕f O67E[Ap/(rwx>IP݂X{2${6Dx8r]AJeUt S~B;!u z ٫3 հOqMy_6lw?#[TE1?b.IZL3kdϜһUX3&*Л3AVq$O[Ji}"'Xdoc!h]/U4JџtW9Gz̚>Ȥv L@^He!rlH<1T+0{ F{E9]"P4v)ՂMӑ!Nd`z|w lβQY+5"^uX7^hZVФ22[51~a9=\el*]lZYŧ(|L01a6a=szOߋ>):3$$i^.k S^7Dಷnl~SrOQBPq#Ym%r3;-XUAfC^73^v{v.Mpww=;=*Fa ЙNkR{.] eU~ g+%@}`>82=Z?%܅{,͈Zhyelt0z2gkq]~T pg'ZzZNccaI_) ]5fqCkmvm!'t$(YB %ĭ-uqʺgݜGf7MeMP?sɄ~-{VQΚ:/A2=K8f_/| ݔoD^-+'247)HMKڜ 7TbiӞ+YPl(u GL,=#xa_7tFZzG]>/y"Y 鈐ZSzƅ@ulJp?⤈6YmLon ߿@*0n>n{R*z2=%$$Kt4.ےC)[:YHoQI!ĖIZQo1LƙHڭ`Ě-dF&*uP )wBZo2+]:|k_Nϻ|d ,xʏMEƓ/ y^n ikRMG1'؅J(vu A!^2,W4Жcl S _cH_, xcnJ]Mz$&R!AuΒ,֟8=nFws+{YWO 0J'I) N V?!soy*tCNFz (-o~NAS#=C(J%"R<,4Ɠb ß`6eqc.+y ʾ,0Lafie\Kj?pǧeSPUHZ?[*AB $$peiI޵ CHS>7+IС1+^ͅ׍SzS; ;5J]lOp4EbAU1*f~9 &pe)ݩL9D#L1jm=rؒo3#KлEkevdn FB8!.,u23ڦ=. RNK8[/ Poj2j,uOM-TB\bv#bbf=ߓ~?cRY+i6 k &f5hn㋎L& '5"QYMSd 8Q'$+EghKozL"=m|ޞWL;RL8DCBf0 T+4N.b8Y |{2kFӯߏV Krؕ-xʹZs\2w4LBÆ?7=#Bs>9ŵ?HΖ!%w0Q &궽:ИQ H4Ӳv_d8+t*N>kU (b|5;Eܗ=s~5@$U8ZCU"nBfn$DCl {lgH里OH5;Za\@l!hZ1dnϊe@ Ccj"igNWI1蔟KL:0;z~ZfC Q$kKRǯ5 T/VyԶVuSīߝ2gp!>f&U3quƀT{`v,s0>cZҒSz|\fMDap8^jwmD-F~aCYXas2X[mUSPKB.6 е^ύhFʭTtkhɛmç4Î3!nF:-湟tvX2w= ձ_RUzL8m򷆶8n.1O›?X,0"5a3gpt.ģ7ӦGXp&̐(bDA~tOF#ۄ)ENZ'H [⤠&i #A y磐짹lxk'`D;A"+t񣉥'Tr%_LY62eβs=o*%Fc)o/S0x eIB* Ob (_~/讣VcXjSl8?%d\yRDniE0nKo2OVSTFxϧtodViCy&5͒{{☱5"$XL@#vv}QS}j0Uȶ= !6D hɐ |Kz",$ bllc͏s&$a u[(wYt{M* )/惸5k2\q!xQ]ua+yY[KDaeI?/#XB~d޾F7wɍۻ/9PiM'E`Fئǩ<\z8:^'H_ 5#%ӫa:p֬EG0\#V@_Ik] 2̵;BSD^;MaŜ-p[2_Χ뻦vwB }xJ>vIJ|~S>2vIΪjP廵Ҭ_eJT9Fg_GFkIG Ku.:lwd@! ušͻ1loXɸ7N_k>w׌*AuZwVApR8r{V0K,ښL(C2Uw_SMq3wq "ؖx% &/N]G:B~2n$ Kf10\zw 3bmPeuE];G"Dd"_bH}±yBA}/njtW+K׹.cX@~s:̆nzuho\'XfqI [؟3>0l.R}O9)S,y]s@qG|%@y=8D.٠򼪤/^d'-Yr,Rx6RTwu6"* n g[vػ';67Jw(Y?nT;P/!sFw׋yI^&'ΙUj^v'jS,K&'H˿Mctl[ /i8;aX@[)G@\xǨFjE/Mۓe,Cw`nC**5𱫬jR>jjOy¯#q@S`}hDaAgtDJ&$X"AIR P^r  荋sBY{Y}ͻߠA9,J߆hmjŜ v\:}OV5kq{ߔO^[}Vy[fC*,!yZgHvuuoV^LN 0l[QLfrױ/( fv@Io܇~:G4#asOs90 wRK9  YPhV_T^[|5.M>Z (g|LbY#TTr݇εFUZ;㷈Q. `T<")3@s$9Z=e> F+ 4k܌M98d.XDGsL] hw6s{G Շ됔[R1%*Tp`Vg53wTm TE,nIfS{)uKb& \&",NjIEMa2}:(@WFwT32u`^d FV(q!ix27;=xP׻8ȑ@yW}&jDŽȑdĽ!fV;H_LTXRxjK6@i{{ШZ L*1+%U4A$BŰ\[2 LHn%yⱷǍCCЌקlθ&7ﻦ:spLyHƊ>L. { ƆqAob<#v>g{iy쳖ɍR]3H 9n莦 (K腗)3 ֜<퉱F='ˇw^ 8s 2v97tv׭;cUulLU}O 2JVX=Gi Rm0h-2AFz7}4Z׶t@ p5ҾBPl۔NCK?[2^4tBR>EFCfR mm|Ƕzx`0TecӖ/tA9z]R'1,NV\Y!Ü %Mg͸kt g9=g||J{@X sDnP)ލKp {RY:>ͬ w-C ~e!`t=eyZVm.w'm&&.jz@ !(Kӽ~{T7 Z hr9EznW#n90ߴ .=e !=7fx#(9pU 5ϣ~.Zg3'uWvG`+κiMW&k:f\Ĵat\hѴ*3ڮvL{̜Iȷ4ر &\>4]|j2M60n>DYt ^l2=Lge";%?(9=s%.g=[HV9n ;*ʕg[zJ鎽mOWS)T_@R.B2sM?~sK ͫkž4fT`4>?$:fD-W?S#Pry1,fyEovRN#Eď֡K]]'re^.d۱;T.'q@5廴F2QY$ME#T9Ez~S5v;>)b#2և.r@P3wK( .YدA(?bZM6d¢{B^V3}mE>{ٮ_G4Na%<?uPvUvkO>$}:9> {Q&o*M,|2ً\882vV[jƂ ph/YU舷T嚨>kA.,,O|'дQ5:&1O![к?;봙,(bj}ҵBH#7j{M@Lb~sRfbl7)SeR+ǃ.+&֡P#q(m~ň%~306u DiW̺P 4\#ʦx `ýtz1C9nb+4HM?@0R*/iT1=&<# .V*T %χ Ҷdq$wba82f׬anC귉{ }߉V>Uy]Ӌό^]zL@}CZZ b3Ԇn KB՛%9!:kW&@96iy%Z0G C5 LDnmp M?50/;p_!j_]A󔉫Ӹ4pĿ#Ne[- kmxgB_vYbٓ9LGg͟"(єZ[Ta3VhG4trI󕇴L5f yD:5jH=X:!h \j1V]#=!l8/ăkUD|r]V)Z?irLwĤnB6T0&ܛWH$歸[SC.IP[|Gšߐ \*in9oM+{+d?d݁H (&0C iSFVi"BAI)pF }~^\p6MA. ?OWZVb9;^Za@w; LG(p]ΫS ɵL*;2ܘ>XT2 ^;v! cc)OU=t7PU j7 ~NɜFD6K; 9g<h?l,uVP=F3}h5 8X8v :RuiL aJ"(˸T]^t41ngvl{H;J<f!qfRcAm&h Ƚ"ؼf\s8 )ui4*(;)at: 2:am/lɤ6!#7>3oqOaj22tžr|)jvP70y]RE ;(u=]bhJ[T_\7;q8FN<%8 L'5;(X!2&nX jkPFā+үIhǥTkpU}ޓg 'Y@10{ht*kml R\-q`Z@3+"򎵆y9;5Lnn;;ky[]BN&a~JE"bb[_OXVzTqحB8ik=Z= kn2<O pd%[YUD[r6.g?lItu4\1z:fV[ y^#5|?9˺Lt!+[t|G34 XeL퟽]F fKkAt$)|k&f$ P" 0*Bk.!#ɔ_XMg?6Zy^dA F؊Mw佴MKHb;^T?-FydKk /PKsp_nWPfE{ "Stՙj'B}׾K1ƥ?_=3h^۶m۶m۶m۶m۶νUTd4لF95w*D3' !PlQ'bͣ؅ khRt[f.GA] I8d189O~NS!)_Sꡗ89i-3vM~${$717̹EC`n ݨR:WCZ}6r s9@Pdd;qnW] .7KH !TKз5lފoD`!7􊴾\ 1-R7qd]'ǧ@m @4ʘ T*1Bnw5.WjW{bH*^owPX%$hTI/$t1X?ϸdzat{ڈjtz 6*Xa(TkBm, 0EV$Ykkqv8|AvtƽḒL֪D E2q8Ğ{k> K, %QM^n.QA黂i{Pv%J#}Mv,:*itfbfJ@҃(Klp淏p&W8qy=)jͽqȼz"S*gܫzg8FL1!Q[vWĔt+VMd֘47#$H#NLdC [n4_``@SxL3*{ PNruî7ߪ'd!W RC;ctD^zӨM Q$ĬOiS}5Nt*C.xS>Yߤ*R 4YRf\l Jx8DiTe% Hs(Å yr0ׂl!jAx$3K"pw_Kman0_Xtn|FVR1B<{? VY7S72QEƑu}}y k#UfN˜,#jA4MF9ۋmW/W|]¤WWc`2;)WՌ$؝(jP`[9N ݳf!:xp]DK2xsظSYxwqz*aQ\t3J\!k;\) E.JXqY8JPIr']"S??-~dDw??8FˍɼЋcƮz)6مzֱ^xDVxW~&o{i{u-ƾ؇#'~ԗn"E59F(!M7$ PFh=jvg_:P[ٚ`r(HYZs8H!o2gC\\#Ɇ%-#41s,2 M$n$yi<ܭ͖!1T|@^/F>?F5M<^Qm2-r[PI@gG'e}ئ~De]]詄Q~v'j&Sj2fXISIgX\.@)ΰEOiAtV")E7 ˆ>;h?t o7y+ :!;|>nCeLJU,1)n٧yxlj(rq_] S* X_ +{ڗoۮM`!6.¦ۍk}L۔L[)%^[+W,­c$Éd{ u)`o5g0rUб1= B %iAWqEy[]UcR͎ܲK5ApZ팄bUZyTz ɝHN5 4#*Ƹk/X|k W.qr#ˎZv yE=jx^cZmV@藧.F8dgZWm6 nۋ?X61!3^S菖z32SdnY!Y0|>eS137=hIRwߊ]id͵Ce{@6\7r`*(T"w*\=Ά>`뉋UpLjúH_juFEtaԞjbF:k+\1U T{D`W)Wh/a,%(2wԎ "mSLÖcy.@;66%S 8ed *3T\@,B _ PO \% 5*E8&6(ޡS BUiQTO2L51 i ?gxG`?.GzXK')+X|hSnlϏ mE"0=߂-tX?-k1m88xqF sebErF[a4,-TYwL. j9ȦS`30c\"kov?[АL"hLmN*sq@@p_Rk;\eY\S+tp׶ˬ1^SF>Aʔ2.V?&پOm hQR.]"gmx:"U/ȍm{C( ׳5'29ЯWIBGm v~; (!5mnh>\+2ûorXTj hD8^@栴˳q6}i Ayiu3ʬpp nI+~qrk`9S( PG.}|26u$}-ܚX= w)ūƕ뫎ˏ_v: صQxTJaV/9 .&אdAAmGph xN׿rQ0bhN?sWdHAa!\ cDcYI-Dx:# ] r|3jR-A?8r{X1;X)_ObʴR5VU\N>-CIÑ0X{XoBUQe`bQ0S Zcg  :KdS{7\&2 9׋uX1>! pԜ]7(͉V8wH_dSHCǾ$wv oXnLcwR1kD*JCt?yȾ)p>_}rRVSڹCip| cqT} ի-JDl_b<Chӯ\U@iE(: [([גyE # VBՅ*WRg~y;yZ䍘nsnxw+RѦ+7E<X~H@ގLT} DZstpQU+Oh6 D 6 i۬f"T^phyZB0;c fLO<GfK,Sɏ*a_"|zt~c=r-)؊~0YYE^]cn -*4x8iݫBDڒ U2T}k$0 Da\\[HvtDoFd0ImWΡLs/1wbȝtD_H>'9U}~ز>iR +C}x nZ(o)qN; *VW6XX++~'Mtyk NG9Uu9eIdBX޽iܺգ_D%=ϏV2ez#&qV 5i8_VD/qEkphJW.B3hogoӐΏ䲝JdY; 49J@8&2&:qfi]rZ@j ˕mN{8Ձ"dQ:=JbT'Y.Λ1\|# 4v)sW1er#1쭜\Zbx.p|Xҫ7 ƌ۸K.=sWkc\6*_n0uuY=ؒbixNlɜr07>W| `Qj qM,0mMDt._Ucl6J?՝˜>ze?˷[ϕsN}Y0 cD$i؊?7g HQ ;#޲ڏ z~o8OZe ] zcȴsAš}ɹw`]G7m#n"x̦(&嗿W*wRu8Ls"CY".fSH(w3O=kحQV9w 0CxyuCgӱZtVc뒁qVh8rj!k'qeJD([M- H y1hqPi3yo˱O `xPd.rkZauWaDx2ŲIYv'QJPWqn"SQ@E x _T|?J!*8ed)"\3." )զdn hɜwǭEP4<r\m]%hNv]8)4'Flbcd$QVD$E1 MvGe`RZվ/Ϝϗ13/; 3cjޣ$1$hfK#a>>'jRԝFQئmuWꊤLx@:=Ld M$?8_;#`{)!"nb:JTI;}֟$d`JѤ){i{$߽'_FdA* Ml\瓁rdE3Vp EVoN6XPZI68nڬ3>Oz0 Re2-9g{Wdǡ_ץd*c5/jiw$̣;ZXjwܬbpm8P ucǦ׏I L bYIr֛-$!IH!seQb%zBcFJ nXKnSC,Au0\6T:w{j1o%>qȰ"#$~¼Oi7F}oXʲj?E>E"]T5 OA ҤC ^p ('}V=(;ҏ7:sSH&QPjKb89 a.PQ '\_.qk ^dᚼ>b? 'kF|c3!\un!ImWxt$t53 ,Ou؄F5k$}Sʎ&T#[ :-_ohoPpυ/)Roi=jd*4u\{iI/V^uw13f}6} 0S/]eg\3(hԮuUq>Wn,77H`b~`{+|"KT>-&qƨBefс~NZHqX'&{t|}T XZf4,3;C-U`Pcnqj;$vmܤz{ZnCW!⳧_2ɫH:6c#n"-'.Se8]Ƈ{n* V?f)ϗ|{8%W5560;Ϭ[,(F I؂Tt{1a~Uev@zrUiPTP,<ѧ.+>ԈUIfg˘5MJ#],R %#c[@K $rwրY}`V6}eIe8xCmL> r2>흑o#* ] ]ݤQXw)>0'B(cy+2U9ׇl,ÏÃxј^ŭ|{->vb홦 YVb!>5394%zg³ۑv~MP2{`XGR`PFdaб?{!Ҩ>[ɚ:{6 B-M#sF)+E4='nȎrn#.E<6WVϹ6BCPJHpHYB_VѤˢጷWq.mcF|)3e9u|FH-@UԠC"Bh!!8[;p+,zl<$P ձstk W.>AeRz6*Cϯ3j{=pkyO 'iV(_$2Q`b4` {} ^۽A6J3F*/ԅ->!>8Cˁ^bhweGEe4#FY8A|:դCf؝ĭP2:a7 >9"4JcKӹ2Gft!GZ§;ohI&XdT=vMmZrXkILǖ,w߇&z[0eOxx埡!b;UJqtt昸F-#uEŶ8bȣ{tqH.~#ΤQZDzz:} m //&)ѧaSK xWF!v{A0PnC]A>On X"=K:Fb$q`fs#ǯW]Lhky zOn8ۚu7ͽ\ F'CO|z By y7AXj񳭙s%-7ڏUn>59t!‹l)yKc,?H{::5萒t1c$;1i5'\F@oCGxD(tР F8U?NOK21R#1唍~3핲-$ >syb۞ޝUh35/+2Xt`pv͚L{gmGKljxsaz^H_6]@`%Ag͉ 巚w3Rbp7`IB>xoaϗѳ)%ީn*kP\8"f#nc+`P%J&+願s0S7i 1r.Sz7¦eZ g9]yPSC5Jƽʽu\0[֋qs|˽ };>%i݌ TXmN릖͔ B獰IR$i+$3[߅B; p"gxqc@}Ցʸ@9"wTn-+Ry/W42n7tt $n{{ 0zV5M=7tX1, ~O`-?փՖ0PB8gV$Lw6qsPY>rP=}})Hٓ/deTh ;PTε[?ugɰN}Cf?irȹבߗi(-Ky!b*hIEVhA^3osGޞ:㙫iN4,ȱR.ѼqSL']#aV>AIEW50:4 !-Si( t t Nw.)]гLZbʫt?'4yιҟeWJb7IS07ӎcf!˕Ď8r}gR>C6E1i)nk(8B^w =N*|^#8+`3 d/ oϿs-Utlo!E!GWZB@X`ZAzre.։UQ>l1Qc0\Ygp@!'fgS@3$‰|ʓjJ &\xPȓY iᆣF[ VJ\[qH 8z̓ҝL>4̩XQ{A݀6|<`#ҕq]!VNF|9lbϏb8pzL =jUoq}GG0}LjU"ZƟpk,JI%77'Zs;l$ yR2&sRӔ,/WJjR7ju]I=] :FOijK '@`F 2{S.tJeonO+Nu]bQ "145)@7¹?6;2% K'I+Xs6`fAV-r}_Ɛ2wא[8:ŝ̜`E/qAgJ6j0e?7dduv O4E^H""E9ދ!cjYС.lC N#k|@-5c(cYh u6 Vn '| }uOOمI@VO[O+"ݎLO1L*$v\f9]e)5)&'ng̕-yE=l= +ϸ2Fkq,N&'PaI% QH9Ƞ%$Ջh9[|L@յ9]GGQ*>YO~TP YlU8N '_S(6r^>wG6R yd }ޝfX ,VSDJ<u0Uz_0q G/{$/Q753>N5=?P~u-%`C}Bnm/7gv(]üN;=Ns?H;&Sa(;, ɀŁP\=/NCp{Q iq;Q (#'r0lV$CY/,נ> sᨆ~DhW:dT 1Y1 v߱axIA;.%C@c ˉ9u;9ɒ+}vˇ zF}5ЁD@O2R+Q,Jg~ER8fN\ Sj_ k&qb+eظ)=83M:H" 9{0IRjȚVt:fJc桺MFFe jS #,ЄY`2w{.I{Gz d{E2\}"kbm(m*ШeWW c~YF$_+Fdk׊S,%3H#ġ.SQVvJ#P#/ٲ>|JX6s?.q>)'`* #(CCcxN>ͧ#tV܁ 'bJ2׍;Dr4aXWaNQ?28k%S8Ʈr]CiLbA˱G=&KI ]b/>I keB;]ٱ}PTU%rYIEDs2ӚW2->{:(v2ZH Hbi쓚FYf6n'GŲ+3.ORZVFoוk A `τH9 UbZ4{YY"V-O%X跱8@;L :*h8Ŀ&OhZ_W09@Ϭ*[6L*sVZjmњrR X2eDŽ 4tx[[ [>|WMLuj:B c6n׺^`_P:T SíEX~eLMG,-ٳ 51S':m-~!)"^Xs-`T(VzVE^A.ɾɽq+sgŸhD(rD@wNt4;pquoU+,1_ah̗&^&hʽ'kװTﴔj7 5S]On0U剼4T8t[#=; -3( 6BfIQnCY پw[8L72\CXgแ0@8:6-2ymL:!8~?@ȭ ^@)t]8(;dj a N$ǽF!t W/qyka%|pROw*TdZ:/&lݎbۢF@Sq8cHuPu=&RRL.ES3Pa|KZ&ۭcen닷 dB{=n6PhI$1*M#aby 'q#n@,2W]"k.(tX-krCcg6wh_42rTj#pwkdGoK:ids싛 `ZQBNiSLߡGF;SW+}I#7;E;W<4*l[An94uD-Vi؃t @@osMǒpFqs #͛d&Z66 N R{=D?⠥)5xRylԚ4ZrTraZ}Hw/ 0 GR 7UBo EJzɝռb~WJG7ZZ2.=acdHŦZY.04+Vy d})yBf:T(.PQ<C8Oͮ9mΕaQ\_\܈&ϭT#.%n^ F X 28-$X_i,1!LߥR>+LSVM*`mA>4s0_=]o ļ&ЄPmsg? z$\/>l*A(n+(=Ԥ)/t:^⫝̸o> ΤkQۻ\Q{.[-#"g޼W=j۞$^!i`Q$0RHpԳz]uc9gđ"(,EA6oS6ަL.^~@׻Q ÉNk1Rx}rן2s%ZK>,.xw5/+IN3aIjCP s erۚQqMU@Ūojvc"\Ѣ߱2l>?HǵO Hs13d*<.jxUMPw-zU9^]v`!g`U*HvbA#`tJK9N%F`f,~~3fږɆrXG//%IrWUY؇op^+59rrOy 3xSZZ} ߊ*Z+C mSgt{\nN̷Q.zȹ# mA$tHH(:a0Q,)h6d4&.߈ [`heh*\E3ݛ%`M>أDWizСDbt&vx<@̐*FɘEeC @YiV3#@otH¶i{;6&m㿠ehcH=U 1j?ٰHɅxñ_JX+γܥsHL ?,~|!ر5 jd8ia6sGӫ|Na5:#-8b|R=eTq^A8NbA,VV.a%k I-7}+"S@Lr WKp%]Q¡^upv taHTi(:!zF JE8da2N4RߔxLY*RȮ}*`wA("13\ȝ?#WUt 2Yz671qt $%W[Qk,QAg1p~18'Xh#}9X.c|AFQVފ.6]JX:p@P5p{ۗ|"+J̨T8C~})B|2O H7TgNH Z,(qC&{1a#WnW1͟#NSTϠ_gtOwBW-,!TM.L{PWNr;s8ZHw^;J7KHgPsπyLGJ|B?4A[@vc@ ÎZD>$.)lD5, PpCG:a:YqݣLςߛ=iZG> nHP ; lo(j=rXcL{bz(k>͗Px5+̴PtՐ; s$+&هg~X ]7u>yjQSg\X[,X*m:0'~I&i r9lG{/-+T#Σc(r^[,^,-oJGF~x%C9m ,׹#}-6p@;h"#c Ai a7؀{F _ho9'K tfO3-8ubOclr3ZV8-XR/6*: !@y1h___iC sL&G@XW6`6s̱ O3q'Q=±3+krѬn*Pep>۶wZv7i~h]R']mI}+p֫MHSp{7 7a"OOuѹ&9Oӕjԗ«p>xx-R5`nYfP!9جƙ/#{@DtmU0QϠ2Z\vڌDaqR2!U ^A$ǤQg.8k fNc| QgRI0ؿo%n)ZH8HQ7 [~wb0a$:ErWK{^ok;c8ׂ/.DAsU!q3"_i}c]`t$}J\⾓'fO|R,״Zh펋nKT Wm`WacJTMHZVy-D=7" nǗ펤.JB0 _4ž˃!WTC(N1ZGXQ_qF|ޭކsr:} ϙ/< <37\&0>+MԪYݦ60R#fp$x)R}]]>4v{BFr}|F׵cr ŸuEpG O G~+% N?,olQ7>0;(1ܴ)Ad1>qAgti bЎ&9@ SIQ$.0gl8+*tI4m/ q֖k}<̨dTB5rPd2 X|4])7sb,h{c (XICSƁ͗rN@K%q) `,O^,%Q] .#1:>i S`Rǟ[ٲ;hkԎ?-Nϋk$^2d:w;ߵb'U.n sEm3&ӊQPN6bʢC zC#ޥS& 66u{W9(_]ҟm] ا(J Xw?8xZ gIC56 MߛoCX8)pQrW 綳XtbPKƫ -QQp_Kȧ6a'Qc_)$ :;X}$3 W=+ z$3ؼA Sp,lm}b"KWoZ >[wrc'jLHƂၞe*"u=M0wAզ{-6kEg%\ܦ~!Sߺh~x_|C$:aPs= 2y'B\Ѕ(X<6jQ]y'7!UĽ}pBWId:^4 nG8̛t$JR F@H#Q#TZ6$2b핱H|?Sn(og͔kR]*B;'5'hT TtUG3bաroO]2{Ձ n)dwb95ӣB|HrS\RVqѧ=Ͷ`0/p`Jt'ȱcH"5q wl.GwjBһXt6GP)LaŁ+#]pU/< N%͟+u{u;ێy.A{FEmltDzKmŊ2]~A;MCړ`΋czx%7* [[7 xTVxx7RDvsF|P-,WҬ9FL[sR7-"#x9$BZ v);k2p?O8go좋Ny&* jjs~)6d }_3Y14#*lk.mO^\I2\ġr1Ab"9~|8\J,sy!.GL,E:I)#j=p#_9Fbv4sѸ(Hk28çfQ:M~UxoFe , X]gW2UUA KÔMΡ)`}O{r{!8DUt])OGe^Vw\clֻq͎aH2Y|2Q(GW W*lȽ~ !kYy". ,)k\וZT t ["ƫG.|([mylZ]L~'.{M dԯGa[g"4yhJ7W0PZKd_g5$7 68eE\dr)Id8z~Yq}ʮǍ d}Lz6g_@|gx9. K{p2 {fҗc_ñHI15&/e+Ξz7PA[d"HdKk!J>.1*/FLx/l.iu#EҐwSJle;1ԡ$3\[qcYT'(ky*?7M@*iM9;ob!*`|IMOeZWƷ'+Xe b]"Df RK\8 ¯g@kp@$ìi&YI%I=%O'85@uPכ^V{ie݌򢺆'jEmHx~CE*z߇r^Ϋayo8on+ՠ2)^Bvi X~#Y'NE .0F(J{oa8IS[{; ЪF7 _GmKE]&4 mCwPSx4؋NGj uEO Xk%TǞZ=VO=,=~VKlC6: ]ֻHZuk%Q5<\y$2((?٦fb\ώ@p"d ^M|@7(JC5ZBទaZn%;ۙRw+N9So拃v:) Oͮm8/z6bcrNtOdw7"r 3BeWkBK/|/lMfNG!ƔT~_TMVI7Bg +L!+-].o)ö_ANŷh5фRRr3% ʔ8;~ZюPQ̎xT8 5]ۡƆk VgU;M2"ZB̴HLPÌfι"YMrCET̙ ?ׅ?7%Ufo6 :>Q;;p%ܱ z㦞%ahM E(_8jxĄ}$+hҙ?hN+lQjJPa v0wڇm[@v*);cp-D Uf/l ȫ*m{U+i]K|/S!Pj5ml IhVW݃Oa~ igaՕ‹&cr:ݷ"e>Uʫ"1^dlF+\<'lF9:xIQiq(.KYG풛y4Cewvn_r;3 6 1,_ ׾qJw휀1,]OhrWzKkT` iȦSܔ1Sz{d`Z[ħIni+g枖z`64`q ZH4m [+d`/ܭ"E#{}Ĺ<@݃FQb˱/Euow&B$/20n$~.k3 w`pDQڤA7N{$L &rф'Ԗ4TOVXQ]^P]/afimq9ؠ~A~Hh^Iw'SpW!_1Ou!T!ӃIy\?RF0(R(B&'>A2$F'W(A{sl./ke5 ķθ'_N8*.tmqELCR!b&Y|aȜKXps%2Ww-,]25C5])CyV:3v}4wAZgƗDy]4+rMQ be#8}0mEhϝ'h W2 ȩ#5|P*͓IƷuYبފJסR |z9-֤ i>Pq-䢾7(ђ9o|Lcf} !pȚb)n.&Düh9#|n/jC:fրy">ekfthũQp~xo]GnڦHMSH7!eO# %T1ґVܳ~,Uj:!b 4vM=¦v6\gt )љ7qZ}Tz/_:؃XV)ܑ]gϮzNpb~g)-'ngxNhmͱ>LPG0AC :cCxBgZ*Xg0Y,5V7?S9ls& ov´W *D Vv&8.FWj{MF-Rks'Ȩ'B:kq9xAD4hjL l R5 rq/BЃaۈ`+4L MJ! 4F#9WMr+Qt:M4VX 4/-.$H\% 1l%EVޕڎxbU":oO.߸0yIi"n~VȺjdB(s\le2IԹa]s_ڂQ~vNi{+3-d Uu13ALlQ+K w#P. *L(!zD yO$ hf'}b1/Rí: S=snhHcW@;_@=MuZzh)20WFa5/edam-H ׅ mK Ӱs{51f<ljQ>="x#J*Z#R|gj\n{}( h1|) 1> ./eV=".nb%?ԋOYU*Wҙme cyrH-dqF^26*{|`rRqa'i#ӟ#:t=ow,0S90mYӋƴ 7{[  S i/(^XV<|R :_FĆFtE{&I]eAME $Qdba'Gզ"(B~U,ܾgaaHa*B7飬pTcVĄHrWR+=b[(a(I,Jur݈K\TԍZ7b))B6?`\r:q_HAR)Ra $e'qs" P 0 UH) o􁡁 'CɻaGq~hݑlގ [k[D5,%tҵtKyuf@+vk لId:* b<glH$]~Hz`o(hF+2pƨ{ױ}Rk-8+zqkze؏؇efK!9rm?ukƎ;#Nw_9(~ 榫M8W/XNFN1gFsB9%;&3/%*cՀ Uڄ& !3u wS":㾜_&5jaP:E?W?^3zQOiVEq^z~iOVvo_қK:b/Wv%&4Y3~uJH#4o-v2'R&t0 FWp+rZ5$VJLm%1?Kکs&Zsӻ"b rI\1M9Yθpyp sM mB]ngVcy4*y$P dvaCsڤxi W@&c(+HZѦ)/wp=ȧ՘ǖ[%o@G/o^ڱxHlh3Jy^J284|?"swxwAg]};q$*#H8˹P~CRHO4Fu@faU"DìԘRO[Al 6 ܺp$OgCOnb /* /H8<@ Kci_qP.&oܷyŁ =O؁YS&/(!胣b(-…Y1üv/7{KQ e^rL\6VDQY}bxfTܜhZ2#2Qk2ogCz$^u 9oCm$B^*a-|~RDpȤ嗅hSএG@˸:do6e<^r(#)YTiYʐ2v&\Boc.1 ,M EMEC^Xiљ\EuT.#L ym)jQLR _b ]hgRjw3P{5z NgTyh7)S}^kkNd/JKvV pN2\#heI#`}pD `j@7w2'7.g3Gz]zyEAJS*]2M9n= Jv;J;}یD+K|p}nȠHa%~-] 84Ra-qz`!! $rM58G8/Ͼﲊ4mi3ٳ?'aP[ (:ugO+8 åp+zZ\f 9=<ȎZ&R($Tu_ #6 L0]|I#p9*N:-"EpZ+5pC=7z1Y9kT pؓ>BTm !]-CtGGX蘕=ts\[xdֱ_`g0:<"aH\^(TIu;x'i;Y[3YS'z6™yA.f.fhIRT8,&F ~'7fOTΪ 1,Ě̇q,BN Pc6"i u`cإqiFYlIu΀ ǬZިSwv6]*BU>9) S dž/I&{_ZsWABS &hCRKy)sQ1|aYCvDFQn6[z]A^0z=}~4Dq]|ɚË('u2>)mָ5q'A8c|xvZ1 ñz|9RL8jUݮ35t_l~ Fu)O&OYGH;DE!R& -p ZrʂZ>p_#bxl NbTPA' =}iЪۛ %nixOj{b[)/.lcѻ AdT ߸\ ޡ`?T1 0؏چ"Ss!Js hĢ=F5s`c '3Ւgl5sB ~nWT4fAPFn .Pfak#i0MP&ۅMN324 8u5tǂúڋN_/)c`W,}-Nq'^]cq>F_|@r}.R;=!ST!a `IOG j{IRJ2KbyK_h)J_ |b&!=<2^u Zvd&yR]I [Y-~SY# sGht"tJƜ'M_LSbpxw/mPƘ 9o Bx7}WV(xzßɂ5D8#/ܝg]Ùʆ77uG)$ҼBe>wԴ')[,yowmșL`Q8_|=G,ϭv ҉˂ul Jנm5UT&9,B" |*s'' 8t"4rŮ cgTw~}궩j<Œ*La$~8-\C3?]K&nwaqְ]diّ~w54e: B*LE%WC)`7S p?RYE_ˡJ3q C i@BKUKT8>9͏af^c!$J ܄!sVEàl & EvfDĂ։Yi) nR/0z0WWH´etP (>9{ 7ܞyYX+G{b&ωg>[!2X#ϊ"J+#I*ǣ;z_{!e7z01R.mvoZ-(n*V-y/%Q Br82LfV|L:>_~֬>N}LPhM'o-#k,zacLkJ,5Iڽ6bԸvNt$%lVV so _k N8 ;P9̵~H1q=C/N X݂xLe'1p85Ny1(QR_(h \!J(1@G⡾e?8k Xyn! hu&uǧ(=2:gDf:4 y^ H^En% $Gͯ_P%`Uuy#ʫJT9|b:i*;iu[׎9xKXI-nʀK(%μ @gooǜK{bv rz#tlv -Nļ~13.T _],UdZֹ4x艮˝7qpS#0 j#( e2S(HT ~e 1EM1kR5JĪ$:x< ȟ.9Jdv B"JgK@Jo2ٵAuƭg_X|ϙ&S|ljܩ\$׿ hbGTZpk6è]ٶowK^H6( @WCKw 1B'W]uB>\ ^sETneC:MmIZSb$CڎOI녳P| Az$ՏWM]}C{ liGWJYPP:t@n0[鍇Z^7}C{ךf,E *Z'jA︔C7Cz2 Y>0 TgBDmHYX|[q!kCRs@*FaVZpbrabhpZ Dӟ7^P5ؿ>A&1ڱ&%L9W L"3Trf.gس(a:5S`͉P!?H#sܔ\I ! }%\n$[&>ܻ=m _}UtKU:S3cBPk5wMs6֋̇|¦kʄs"LLjMͱըQP G_S/F.^߬Dz<\pf w#02IKˆޅrH+&^`>[*xqF*7m 4/Ի$ R gP&|̹^F R 'MGFHDD ia(ljQyuD)wd^v=y`63y%@h7t)TzgƼ. )2b4}'M Et{pM&k*SYzG~s%?;r#Qٚ!o0x.xbiY( ' n +LS>b o'ma\ ;9Ĝ_H #yd+B~I2Q6#3$(9+3=B@?y==-*ʄPVe4;%ϑV{&tXxӞ;MA,c6;qI㜤#C*Pfh2{Z;>}c\Jт5?vgby} kaǼ] yN3Qyƍ33O:Y0F!%/0;9 PO&$7!ZgwiZj @ȎVFH2%Aztxwo FŨ ƏYbq[?yNT`*ifކHkz,y̞йSL~9O@#2g3,hhK ̞ uEūlRi9L(4$ Bq柙ҷz 91u6lc|N>P?QO炉 aefP(rud}>[:Hj HH V+㸢w Ư&u=kz;_p͠@xO>ttr4NHFN,a5f4 _CqZe!ԏ^5[V&&h&e텢/75u`rZ\$Dj~2IO|% ,ݮ] FLNx1S?Wʔ1_R,Ww&ո.0+"ZA!,DžU0]6.u7jYP^3_^`,=7kEv%B A?S:)3W%۳J ~i]`"RJf`aj#ߊ7h;DJoV3ZS{A!a__l{tK_U!VB#}ED~< hTy|64jt}Z&WXATąk;8_8YYYA?(u gnL?OC"j"Y =t)0Ds !"e끓#TBfn,XVWڱht9hCd˅@:_"coR;޶VbĄ/#Ŏ,{ %K4v-Yo+U5Yɨ:W02-xۛ@Y֫;> F(9l1\{ ˒6 *)u.T*ح(]5K;C%d+|v= IH/"' -&dzE\}Feݒl1גw ]6Yи1"rwWr)Btaç(] 0[,%;FjZQa D,˹}AAȪkH>]U|p.3&DT%zoFF-xWy6.J/jwnx0Z)sisTk Kime~]ߝ>2|`G9 ҶRD`~bm\xTY;(d2"VȔ*Y%;a *䩣Z<ڴ? ׻kO2p` \ލ5޾f'!5D/RVa0q8)U7O:㳼۸{hzX׽7т9}CF bg$Ӓ*iQaj65m d,HaB-OٕH/Z"@Ay\:MDhq7d$FQ䀗BWN9؅ޢ=s7)<12%T'Zѿ"(PVHN qIq*輧*' GXhҐ~?$13 /;>[òwv$:.k'Yߠ5/|Nڸ!G_nXhX^ =^~bѡOevu4<'X!XӱCE 0Zb`IQ ߇`awa$^w9[Y 78Yghlc&͛?^3!fAC 8(օJiԘjc550 ê_'Su&$g8 ʐm10Zj`Ё:R"$(J WYT&e{dJ8H雎8~K•rH_bPayug#b+pb_g.p%iSQ?f=,bsZ7,_3<Āt46oJ:Bp-OzeFC)5Y'tƄ ^I30\F$=39jV+.k_\zfǶ;pj4natsMZ(F&M|Jm]<< v@R⑻5SkNe=3#LO݀;~ɎZ%}v7E\G_|ϠVgh6 :sXh@J\h@r+c>vd-ڞmqt8 L(₺9u:J+Qn3;;S@4ќniI"=Lށ"5uTDw+0\Yl%<2xaW(5%H+O )p^,~59Omtg e!M ٽ..fEdR?b2r&)彫fā̽khw3㉦Yqǎ,v>rJYlzX*RGđɩzϬ.&kejBQFS|z_G6I)+{L%:]DJ̬s Jq5D*̉C(qFL]P5Z[S72#8XzJmҒM-=A~8-Zg9,v@k2M7[|DFLῬmH4;v<䓋f#t\bBm!3 'Q;(fN 7AcBF:3 {}LJg ^m@; "NN~OQ"?zAER W]=q>6эfU &cH6XHc:޿ncPMA'\$GFjw<ߺ"Z8?*";J@.ϓ7'q2 +1ޠcP Q07 XBIj1J_11CŇMDʢmso#cJ}HLCҡ˟qmӔ51ϹqV$/40O_s5ѿٚ5j|uָK`©9t df 9B-2:孋>?(߳/ ?-f& O>A/=2M]z&$<}<3s6Dv:T >xh%KN`xߢMGl*ep_@Rk[0{d@>J% h\ cIama؝2ɢ<HQOˈj73e7obdG[=NJWZbB'8RO ˮ>^|Y{k_qy5(<( o賞Z2!ci9hBxyMa3\Wf +4qZs_hT?ksZKUFOz9| TN~sL_R/)]ᢨGe_+ЫyG╭g($aAc"DwGB!5tMY-,LY4ya:m4J2 pY=H<)k#l`b|j.p6+՞U?ЊqG`tKYQ]䱋~sv@ڊCQ,_ ,B94xq4j@Vܬ.ەrRSHxBXIau $.0T"IJӎٿsT==_}GoWo !f8T\Pa̤CN^xὧF2k<9ta{6PN.w oZfN{:;qTWxV>0˨64- >赜'[ğ`rjЉ6D|M;֐OBsDlH~>$&nU|Ê`Z6&M8GbٛW'$%y|" X?*ܡsČJXjLJ[^ ]xĥ٢13mZӤ 1gKEvT]bp7<(&T Pa#Fx|Ah:-jEsGˈ쩯ΜQ[^d,'>\BۨS+ @(0Zb٤+LOΒy%T^LN㶿˅ːH%9;ӓ)2mb:JwO٢khIs& telecoOݣKȳr4gk$Ŋʡ^|e^^ 0*LU#3 $?K 0{n2̙ zů!Vu6=YуtacTԤ@Թy7MvWU') l%)_ ;q>m93G|u+ fu nrK2'2՝a? o2ՃgkIԤoP]HCoH$=]\6\blڅǐF-SHԥrC$i00O`⍵JlHe`R޵53Ϋ/ s#)Lr;[ IN2<0<ÔP-8Tүb~`yj>O9@qt6}]C̚)".jIX? D"S7 h1-QkYzXBS3a3zԞ¾-1ID>K8c±u_|qҕEu>J?W5q/`M+ 5l*'OY:*liVtR_ 9ݽuV˽?TqDmY3TF*h뽞ak}Fk[w;/]ªg͖1AJS4ztYzg7οB.ҪxOϥT-JLŋ&nj]+3MI$@^HYvoRiIRVv0z+DZssE: Ѐ֭-Op\P_zY|RJgpp'=}HPqyPZG~Ou@|!ۥ_pr ~?:T(pNB`?Bn7;Y67Yd%ثw`WB^2/@_Zq^pAJ:P*tbb2Hy t:橊ul›%>TU/>dj ܜ-Gtޢ>SMA7ӧD܏٩t8TՑi~\%%VF0>R>^&VoYw]ᆙ$t -5@|>gN5-q谉NE?NcmK9 c{>~aB# Z*_JZɣufgS3+b~Y"V?n*+lX!'Ѭ)rfeX8>`ZUXS΁aΐ0c'Rf#v07 k}G3bQ.ayL*WE4./E@'K hn}({ I~I#QʀJH V!ח1@mΧ?/jxZe9X{׬;ݞ,Dr#JRDŽ4? VLorkY VN- #FH:j }|~i9YԮǚZ;%B: 9+R@4Ȍd liBO7f47Sw@iVPpW;4 hWΧH6`:mOmoבuDvAoHQSOhl$ά`yoDL~Ҟvzt@}I0d{_Rk@B9frd-J>a3"p1@"mx 4:逵Qg6^)5E/awQ o`|䨪Pwl$3 "aavz1`7_"fL-4 \[ T)T-J(}eRiINIs IM8 :MRĴmۿ65mDzSuU6JDZ8&Xݹc(|Yt-@DY>*M+A*qMBAޤ U,əߣtv:roP/ *j.3 Ʃ؞% LJ0Tׄ*8hTR qrҞّOg}7@u*g F0lW7 PrƏ-JX s h hK~;$,\{fǴ{LgsZZ9L-okw0X]A|6#<::j4ԝ{b2mbb^AaMzg:ɆG UV LozlYcڌVl*,O {sQJLE}-w-ffr2MtM92!>n(~ pb|ӧ)zHj \9MåFc2_9 MqQE_۹S:q .P%2:Iz#"P!qg35v|IA`;5lSAϩ{x-L YkC2Oq:D1vʚ}P9t:fϛi;=3Q;HÇ$8;]'gS>ͽ}u8 Q3t8CY@5c3JP"|:PJhMM޴/j*a gcrl۶m6&ۜlۮIζm8bݬ"\RO~ 8Aȹ k?& `=9E}1>HDə4 zBzٯNqYPSՁ0Qo_ wOad :9<=|0B~;~ϋt$٦@NTpQ$ ஢{Vd=B@BVFCͮ`G(j8/&i;i,aujzQD\Vm[ܲ0=}s:1,*R)l}i.?P63pFJ:ԥe%kEdGK͐F >ZӤK,eTKf@*iԺEc2UyM-3okӃR)(ӧ JfQR%d.ErGqF@cT'm96'ʮ?{kb >~FBd߆K[ v兊#Y$s˯Pt&IW!?4FXX6 Ur_4 w V2O}k,N@P*V,A[}I-q9I%rz ڸF]ȏDjE`eoQY0 Lˇh5'̕\<ރSbu R=o<p Uֆ*hۨ`$_6Td |YYN\ :0zE&=˜'| 99Y% L~9úq%H4)[Qf}R tmݱppY$ѽP>oBeliΥ-'%uTr"7[Zw'ېڛc3+ #"r"bcCOج0c, /[*JDMd3P[zva/EI?4ƑE+'=i3:؁%ތѭk2UyF vݽ7EN[jq܈v8~A^ѩa )zJBGr hq6_Z9)@9^WǖТ[,=WDxlH2upev#wCΓM VA %!*ML 0}g^!gS;^a-epzѬ>0=|A~I)|L476+3#RC*#+Uib3Ǩ uгVNYؠ烦kQX?JŮ^naI zJO$7h<*܆b\NUANQ ;~fY$|yHD:xTtÂM$5΄RVK6 /uytJ!i\f!tTM DC#DQZ~QsQ6c^^N?pek>>EPyGměvG[=^ e{ùK|G-fđ_Q%utt*84Q,U+5lx#t'{O7K5Q @㥚@zQ}f$!u'j*mahXvDdn.qR%zn_ "/|?5̊XZt>?9e@I=]LLc=opU>pDЏvf4 ~v3@4cىKt}C}!6Vq3aXW !}{QA7V=4%l.fv=^j4޾L/NguJ?epǁ> u<:zhZjLRw}>5C /;bk&ηH)FM9W-&L'FMv[g0xUM;"93]J5\#-wp>=WhXMg;K Q^|'e?>Ό#hؼ DEIK1\fZ|A o\ w-lRqՙ쬠@Lt\ , R.2 8(nvJ@ Y2=#TQ_{Eq0m Hχ1O:;Bl߀i KX FBLPhI%؀^K?9ZE׹ư!6I%܀S/z@1ڝFN3&T*siFoP?6ydU[D=Fbn5yύH[e.G o$Ղ~^h ~1 66j{*\<:G1zC `f>w^ZUq8Fz-1LA 8Z>zVZ|.IW{/n\|z(1:#/ k\#qX %ChM$(>F+~Eǻ^.q7W ҇ဨV.&q]6>sξlMޠ35 ~Yql6}5?IXT!*3T!5&XH|`n3boQ(2^N1l IQ4ro#`  ~xOZ" ՁW7f_څQ80(Q9[w0\;]I8`RA7x~\bގԤ(=6,&9W3rriZdVP5, qjcoy)w޿%/gA]ÄH2&;%Ϻ5*8=.:"̍cChZC/ۑjq`'%̼m& }}xv,IvU5V2~_-,8*Q#`K5?}PP0Дme,GԐ kRg5NlIMOTzo}[!ڈ?5I)IŎp:dEv`M@reSK#_Mh+ܟwyZ%.[?9mλ6׳GVl&6T >* 3f/0z(nZnetwպXTt,L8 sp"i`. GVt FUbwLVnds$KN̆lIgjDQ)UA<;s]ӡ]bs0%Nsd%u pk} 7Az!4*SF<(£FʙOƬ}} V$֢TyΏ˜2T?tG1yGb?- Z+ T@&D\[ 89d.5s ?j ~ j[-􁨁Cc 3Y*L,Dg%x( @cmsk%ɹ& <N}/3AONll.a]1{ 4w19^Xͼ m۹B=J˛>Vޙ"npP !Ǫ %yH ]<<.V5-=_W%9kdCeGHW_PC܅ܻ؟bJϔ}bޕmA)4dzm+7#L^#\=_d,lbJ=,ubޚeY؏j|#e*?I[3%?L&UI~0!:4sXAG?[l TCn+%Ԯ-3A\~ cD]Gd`>R6 KsH\;F9^/qrPo*6N呩n\ Ru7&;s9x\+j.vLŁF" |a´)q$:lB]5JCT+'qol'ee؀QL'R~:,kg}TQ{40$/Nʦj'&|s7% 1Cb2xp, }Pu)UI_lz I(%ܣB+HYM'8NCg~xsObE+/wHqCS)7hGc@T+Κ@YNb\n²lExj+&$U2/k8ckdgͿ@-vwjгnZuҮ[a8>1F ɇf c+!B{/#9a SmJ$\sʘW *Kd:B˥byeUN "v;s%rdsGjN2֞p؄ J(wO8֌sغ?h"F^wOܶ;v!dnr~q,-˚%?Jh30KPk¤sI% 1) x,~̈ƾ.1*jXe`o?VnU[z ɧIq$E^\k2#Uut=` ݼaۙz Y%) XaF'ʐ#1gא.x/dXfbU-<նEtGZI8Ur5QiCz*91WcLyCEr!B_-dʚsա`Q.,1*Y1E*`Þz4.muɢϧ ZM-2ab[/ZJ qm+d:0?&d.Archive-Any-0.0946/t/garbage.foo000644 000765 000024 00000000043 13451733207 016350 0ustar00olafstaff000000 000000 DON'T YOU HURT THAT LLAMA, MIKEY!! Archive-Any-0.0946/t/im_not_really_a.zip000644 000765 000024 00000000134 13451733207 020135 0ustar00olafstaff000000 000000  %RlD2p,  a Archive-Any-0.0946/t/impolite.tar.gz000644 000765 000024 00000007500 13451733207 017231 0ustar00olafstaff000000 000000 `-TgPpHf$ "BPz4AiRDzi"@H/BsΜ;Ν3{̸;Y3Y F{x#e~0 UT*CG ʿn߄~_ ߟl_>==+\J<*R5 vnߞQ!O*)vbݑ4ؙu%z[a>z*A/'& JPEQPP=PE_3gaW2)> 3.OE.sNs eh|0 _`0(ws_8s?""LXu%v=.r"{hR+[?,5TQUGC b*}k#ՙXae5A1XFl*))tt ZJ7Y] 3R׏y )6^\eDÌʰrxD&aT9c|7X-'q/0)!n90kr3YZ|]";ȓ/w%I<\qi1dY t\w'X'{݌̙M0:У #R:S07ٵ[} Ld u(auVen mqyTj|c-•T86y_{{,N֥ӟ mk@ž fGv9hyyJ--Ak7aJӛTڀ#ޱyk}c>x!6yUB%OΒmJ,L«`Qċ, 4u:cB*9[{TjtyL%M)9DopXɶ2^{i޵ Ă<*A۷LKUh] IB!Rz*1/m&-5"S@%'Mh5&],>t{>:Pn-벭VQhH;B-hH%ڕr4.NZ5aT=lDM87WBa'Fo=!RSh2 I]9[rǂLKD-Ç}iQ`|&|ָjxiLjD9*;7>Dj %=fٲGūWS-kXޅ~z|^$<0HwhW-4<+j5#rne>4-R0rUv&;|M@0+(&Yg;a80l&zPCPl#'xwb#CfQgFuh lC,U٦ .5}Nbj Jၦ~+ﶬEdXDCڐ soP OGKwS!5N3Fխs i=V+uTeQ" i~v Wj3jNk7:׷B7wj& mݻp};q;ɏ3ypB펭 /"DjFgghwF(9;6ÊIc8Z /ؽw1݁Vh __v"!Ï #a˹VW~x\Up#ǦWW(k{2eqQF! RFg5:Gdž+/߹d|!` yaYB[Pki <'( %hR3h`Nƀ2H\*tE_XVO^BB~^@x]lef|uYP&Me |mMb`Uv,n.$$zR>mbٌ#_]=uœ0Ç4 7(Qs㟘y_g]~8!Ӡ{־R#t/ĹZC3-;F ubdCbHDAᗳ!jZUWo1&09L3Fbw r}Dӵp^{\HַW)(=NԣgrRRDpC W]F?3nX,)t;m'K?Tr)y$MB}`dЩv2j,3t*n5vy՟Bo:l]byеQLPwwv~e01@ɪ~.ot J) ]OXޛQ0WJh{iIvxqYp4i< =JCS]хs:zW Yłqak#͚\{&:;{Bb<ݱ$NK\@ , .moj!h߭D|.~Dz)Y(䧆@kv@aڇUbR&uKǔ=*$>G_Z&AՓf7)dd4يxwAS8UYO M# ]~OtOw?yxo-z__WM^gRCLx HE~sIA+d{|>reD=0K"&#cMVɣKhs@I]%ZnԢXO|p >pgS =.v-%'))H΃u#ځe;;hs7rZu&Es[/H C?R3[JSwXSrpncz.E?\.dOezN3 >3/k7G4: |^*nBJH7:Bn0pj1N<%nS]V >.?{? Q5BW&\&bp1CCN Cdy֣hRO\0vq_ne&K#v[q8DC,1RiI{%3WG*AW_3,\E#\دfC %1bXäl_3B"M:\m%Z 1qQԩ`Xk+k&nm6ǎ&;.,/53}$_C8)?}  u:q\Dk$>;ԵεJ6,R=cW!Ðj1ծjvswVǵQ$+4cAGG_h:Archive-Any-0.0946/t/00-report-prereqs.t000644 000765 000024 00000013426 13451733207 017660 0ustar00olafstaff000000 000000 #!perl use strict; use warnings; # This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.027 use Test::More tests => 1; use ExtUtils::MakeMaker; use File::Spec; # from $version::LAX my $lax_version_re = qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )? | (?:\.[0-9]+) (?:_[0-9]+)? ) | (?: v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )? | (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)? ) )/x; # hide optional CPAN::Meta modules from prereq scanner # and check if they are available my $cpan_meta = "CPAN::Meta"; my $cpan_meta_pre = "CPAN::Meta::Prereqs"; my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic # Verify requirements? my $DO_VERIFY_PREREQS = 1; sub _max { my $max = shift; $max = ( $_ > $max ) ? $_ : $max for @_; return $max; } sub _merge_prereqs { my ($collector, $prereqs) = @_; # CPAN::Meta::Prereqs object if (ref $collector eq $cpan_meta_pre) { return $collector->with_merged_prereqs( CPAN::Meta::Prereqs->new( $prereqs ) ); } # Raw hashrefs for my $phase ( keys %$prereqs ) { for my $type ( keys %{ $prereqs->{$phase} } ) { for my $module ( keys %{ $prereqs->{$phase}{$type} } ) { $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module}; } } } return $collector; } my @include = qw( ); my @exclude = qw( ); # Add static prereqs to the included modules list my $static_prereqs = do './t/00-report-prereqs.dd'; # Merge all prereqs (either with ::Prereqs or a hashref) my $full_prereqs = _merge_prereqs( ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ), $static_prereqs ); # Add dynamic prereqs to the included modules list (if we can) my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; my $cpan_meta_error; if ( $source && $HAS_CPAN_META && (my $meta = eval { CPAN::Meta->load_file($source) } ) ) { $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs); } else { $cpan_meta_error = $@; # capture error from CPAN::Meta->load_file($source) $source = 'static metadata'; } my @full_reports; my @dep_errors; my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs; # Add static includes into a fake section for my $mod (@include) { $req_hash->{other}{modules}{$mod} = 0; } for my $phase ( qw(configure build test runtime develop other) ) { next unless $req_hash->{$phase}; next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING}); for my $type ( qw(requires recommends suggests conflicts modules) ) { next unless $req_hash->{$phase}{$type}; my $title = ucfirst($phase).' '.ucfirst($type); my @reports = [qw/Module Want Have/]; for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) { next if $mod eq 'perl'; next if grep { $_ eq $mod } @exclude; my $file = $mod; $file =~ s{::}{/}g; $file .= ".pm"; my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC; my $want = $req_hash->{$phase}{$type}{$mod}; $want = "undef" unless defined $want; $want = "any" if !$want && $want == 0; my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required"; if ($prefix) { my $have = MM->parse_version( File::Spec->catfile($prefix, $file) ); $have = "undef" unless defined $have; push @reports, [$mod, $want, $have]; if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) { if ( $have !~ /\A$lax_version_re\z/ ) { push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)"; } elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) { push @dep_errors, "$mod version '$have' is not in required range '$want'"; } } } else { push @reports, [$mod, $want, "missing"]; if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) { push @dep_errors, "$mod is not installed ($req_string)"; } } } if ( @reports ) { push @full_reports, "=== $title ===\n\n"; my $ml = _max( map { length $_->[0] } @reports ); my $wl = _max( map { length $_->[1] } @reports ); my $hl = _max( map { length $_->[2] } @reports ); if ($type eq 'modules') { splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl]; push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports; } else { splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl]; push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports; } push @full_reports, "\n"; } } } if ( @full_reports ) { diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports; } if ( $cpan_meta_error || @dep_errors ) { diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n"; } if ( $cpan_meta_error ) { my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n"; } if ( @dep_errors ) { diag join("\n", "\nThe following REQUIRED prerequisites were not satisfied:\n", @dep_errors, "\n" ); } pass; # vim: ts=4 sts=4 sw=4 et: Archive-Any-0.0946/t/Any.t000644 000765 000024 00000006275 13451733207 015204 0ustar00olafstaff000000 000000 #!/usr/bin/perl -w use Test::More 'no_plan'; use Archive::Any; use File::Spec::Functions qw(updir); my %tests = ( 't/lib.zip' => { impolite => 0, naughty => 0, handler => 'Archive::Any::Plugin::Zip', type => 'zip', files => [ qw( lib/ lib/Archive/ lib/Archive/Any.pm lib/Archive/Any/ lib/Archive/Any/Tar.pm lib/Archive/Any/Zip.pm lib/Archive/Any/Zip.pm~ lib/Archive/Any/Tar.pm~ lib/Archive/Any.pm~ ) ], }, 't/lib.tgz' => { impolite => 0, naughty => 0, handler => 'Archive::Any::Plugin::Tar', type => 'tar', files => [ qw( lib/ lib/Archive/ lib/Archive/Any.pm lib/Archive/Any/ lib/Archive/Any/Tar.pm lib/Archive/Any/Zip.pm lib/Archive/Any/Zip.pm~ lib/Archive/Any/Tar.pm~ lib/Archive/Any.pm~ ) ], }, 't/impolite.tar.gz' => { impolite => 1, naughty => 0, handler => 'Archive::Any::Plugin::Tar', type => 'tar', files => [ qw( type.t Any.t 00compile.t fail.t ) ], }, 't/naughty.tar' => { impolite => 0, naughty => 1, handler => 'Archive::Any::Plugin::Tar', type => 'tar', files => [ qw( /tmp/lib/ /tmp/lib/Archive/ /tmp/lib/Archive/Any/ /tmp/lib/Archive/Any/Tar.pm /tmp/lib/Archive/Any/Zip.pm /tmp/lib/Archive/Any.pm ) ], }, ); while ( my ( $file, $expect ) = each %tests ) { # Test it once with type auto-discover and once with the type # forced. Forced typing was broken until 0.05. test_archive( $file, $expect ); test_archive( $file, $expect, $expect->{type} ); } sub test_archive { my ( $file, $expect, $type ) = @_; my $archive = Archive::Any->new( $file, $type ); # And now we chdir out from under it. This causes serious problems # if we're not careful to use absolute paths internally. chdir('t'); ok( defined $archive, "new($file)" ); ok( $archive->isa('Archive::Any'), " it's an object" ); ok( eq_set( [ $archive->files ], $expect->{files} ), ' lists the right files' ); ok( $archive->type(), "backwards compatibility" ); # is( $archive->handler, $expect->{handler}, ' right handler' ); is( $archive->is_impolite, $expect->{impolite}, " impolite?" ); is( $archive->is_naughty, $expect->{naughty}, " naughty?" ); unless ( $archive->is_impolite || $archive->is_naughty ) { ok( $archive->extract(), "extract($file)" ); foreach my $file ( reverse $archive->files ) { ok( -e $file, " $file" ); -d $file ? rmdir $file : unlink $file; } } chdir(updir); } Archive-Any-0.0946/t/lib.tgz000644 000765 000024 00000023050 13451733207 015552 0ustar00olafstaff000000 000000 `-Tep]K-ŒE3333Xd1333X`1333SUb'yʽ2δ4gaffkY8+,,@ 313 +;;+_prpԳm(V66F{}_OM!{S3g<ן7 Gvc`g/N oxL\Ӿx"N xfS^_  p3oQ MA?zY8cٍsn-|h fFb.\5_c4RJ|ˬ ILx҅qR\D uc ik_qc4:%qsǵpYRWϊ]+T$|Bo-7<6rn}o|fj= /fVޯ#!3+G4>4t?WQ 4F8jNo+F'=d:eC[c;?@}u I-a &ڻX !ӳ YNA JtG]3kfyߐIM'ȍKIeJYBZﶬILoO$m$Ԣ-k*NW!]U"#GlBD1EȠmf$=smsüPs2%ij-pOIx"]pp7ӊu#52\caf](Նb5)F"1qBxnyjO˱+.i$꽻 !sT;dk"m4B^C߀fј ˦ܜRVqP/L:-u6u!]'N(cD(c)]P3YK CBF(dSedڡl(R&M"BX!BzK$!\VN~I})*a˲/փN_itEg{&q0ohtฑ*Bο6Wx5>sx~AGßӯʺ<}iUMǨtop~?U{EU7C=O>_k1PJ#a),C%vUUb 'AW%숐3GC3'f-s|R8jHi(:PM &h? 5K |3q1tgە Q nҹI4oP|vI he'([ H4iX,>3Μy {`.Ri77ܤUh>x&k=/#zf-Oy/߹ +(aSюV:r9V`aVXғ2$y_5/;1\+Mcgv78rUhN@xy$Tb@!#8MR$>^P 8::/y1g_ZًdDR%|S|V].ae"*&g9<8t%GSGgZ{f,=Ԕb%$io%z`r_HxzWQ*A@тo֓L4選ٳG_r:JifBDE\>*J3U1GtYlʮSk>m>MRy?_;Y EgBʞ6mQ/;+tNԂ!w:n)fSQ^"O>'G Ǔt7`Zn+u8.ЋtiZa1Uak?ƭ*rG͜T 2vFY,F&wŦHFژF㘼@ݱF[#U]x_%>l|+6Xor<|(0 78 ud F 3( j;8JVܕ}p*S``2־ur+լN%j{:[[!+t̍oDwW8bG,hb5ո1yxh+g?{C?'ggd3#zYl?+`3CW >y2SJ[ N%8I\o!VҜ;UEN$bRBҐj44]^(( ~hX;e-Ь=+R?9o8/i 蘙h@iS'ק(-80=`(O A1¨‹|$0=^ڲ<?)8"He;\~jЁq;;k~"F84 `bؔBOYH}8D^D, \w7<+wRGqZjKB#s'ܳr"SUj8VNCDo C _1zI~ҏq(*z6 z@ׯR%|&>BC545]e̟EQ;2~43wt=5c.MÍD?xdzTg_V߭@ O#0, E$|YCZ45r  {#C%ՇO0ro7DG(xaS_/"# *|wD+YbG<;q$J!8~.,ӱ鐁c` 6ԩJ$;{ iL5^nm.ow`@frP'dY,|˜wErEv@($g6Tow⚓ kTڏۛt6 oF=ls}N)ߵŶs'↧b_ Sht+T 6c"[C,0VJdԽrbCt:юFu`8g?Kjq2DSE*kaG@cA`~h[Kj8=vc}j=XL0,TwInm=zJ*fa*U7 >x@۠-~a(er O#,SmR"%*.4adFr/ D˅V+ǻzUޝcط>of/?$S=ɡ~:V63|e|1v K:,Wcn?jM?ΘЁ "7w7\ F#|hQ>djky1*nh Ysn\B@C0"R ȝ =rB|LaPT_Hh}װv}i7y#\$;v{!hD$>+(q])$ԃwJ#ȯ]z"As7_Kh 5[*? ԾŐr5튈Zb4 ~ r-i[ JUq6g7Sŧqߵ,,;- NXJ[j!so+9]NuԒK@I^#?>`r{n^eO j̕I}$$ &G5-h`:kfFn~&xnnlNH&IZP-"()Qɹcuք}>6ޭ_(T ٗ1 6nHsO&!B%Nϩ9 5'@9`B u31#kWr_wk QhC{֊JGBpw m m8}*_\ѣ8.THMs#QE&Kv-g4uP~6swE.!?FAxEwy 1:yQcŊ =EsOG.2M8rUg/ޅU\n.P-LIYy d,ϛ(?-(m*g10(|pN`υZxNT [JCD~"ܩܒ;qwSzr]85(2Pf[.()%V)g0RVd|(_FƜ5pJYՂۣLX?cn R ѯ4*75)z fC6@M5OOMhο!!O Q0Rq mkZ)p^8Fǻ `-[:O~ hgDSYhҽZѨ4j"~l :B Fp'HBfK/a-7,tm&$- 8Yg;"oS[ c{䅻qekܚ{Hco&Jϳه|x8 0, $6QJ_WMfB2!t; +;M~'~U>p9N^47_ tV9\J1X1&,Re+F? ]+tZv!D,ۖtE v(ܿၯ覆NaW`%koMxQ&f<-zftU_NgL43>4/ᣇG.UaS`cT'6= OkPj'X꧜ɸ]?' {xGM*n(<l+y]Y8Y8w{R\'J/~Y'rѰF E+P|H㍄zVy+$:&}sc="g,l`ofUP>KBk_ˣyiϸFQ7ޱK&y H0Ygl17kSfWZ\oDkCKNS@g>q2X5W?a]a3"dϩ_X2/ːi07Ghsp, h,vB`^wS Oo_NSNxb.R~Žs'ZD9GƏїߏEӆ5QfCZw+jz#o ӝ_ eHrK'9]ʙYfRY2{K+E=;B4ƚh[`/G%"S6?8)5L q>xᥘ,m{n-5)*J 6hW#ʣ5TSx0ADOfCB-Mw5^31;ޞ%)~4b*W.W۱k$f p0?lͫ;n6bbT#X fw/=LV HbF:yk M'tle}*\5l7Y>_j>=;eJb( ֊Wv _ *Mj\a56qM~ ƽnKRJJ +J9`\Ny2 A0`%Tv}R,ՠ'"~)@ŖbsZzbFI%۵Y~JG6"q7b 1S0>D-k-/&@Z3EfޟRo WLj˜d9rWi0)fe :,ޑv_ _1sy|-ũR\Ke() %D[awH A0>)Ni߉[k:^}kl({9_:1?Q#ڦS<|@-ypd\>t5xr \U Wq(ϒ/ih\"ĥ5EY.5ĚW ,J$ :|-f r<6X}I줼S<7ߴ$OW,sg^6p|.W7D${ B_nPn=ݤUjH/R>6uo(-ObrN,>_+ɒMu9W~ZL 02xz^BSh@BAG.ڻb9,qu2 =ٽ͒w,GzR{(5*D{`)W׏'{k"_}OOEosNrr|b3erPf4'jTڹ2ܒ&183a3|ze7OJG nW@m: CС]ZUՂOQt~UT566˔$"n7MXYF޼*f| ]~;3L*-^Mh^v%$xbcpkNc:4 ˔ẻg!+f[ȧJs@]R^"kYm}֚ Ol3҂DN /pfw,J`}2a؋5:Rt:!G;%y^{f{j+-vNλ36bg:03eo#Z'C?>bj× >W(%pL>k:udQq})2[^ml*4 MQLIM̗A00J6|c~=S$k-r!߈?{K''?@@Archive-Any-0.0946/t/Acme-POE-Knee-1.10.zip000644 000765 000024 00000031113 13451733207 017524 0ustar00olafstaff000000 000000 PK{+Acme-POE-Knee-1.10/PK{+Acme-POE-Knee-1.10/lib/PK{+Acme-POE-Knee-1.10/lib/Acme/PK{+ Acme-POE-Knee-1.10/lib/Acme/POE/PK|+g_XS'Acme-POE-Knee-1.10/lib/Acme/POE/Knee.pmS4sTׯוކ2LHb`{P! `I:R8IZ >q8 e]̪S\/`777[U:i~L }Y= ~@H4_9=h>_yO$&E?1ͪau Φ=H1NX05֠Cn/np% dW%p NݥTx!K"򵣛5 =v? +R o|UB4\6 #GQ?f)q|2l]:'A1I/DFkeK+[mM M!x+_] UȲ}y/T]8FXӺYX3/# K$)bVsAa'ML;9(5@/rrE{eOjR"hX ܚ%(CFC+OzʀSFVP7>e{j7dwȎԢ'F" ~!CSi=^n:AM7+@-SkA]-@gnV^Ia F5kWU˹k>(~B]H>Ĕ}#4xG4?)(gfwsΈ¬RsyxYG&rcQT+Q^< YY)݃fhfFhh ~Ez%0Qqdpv*7u.N]>xx(8'.@G_ ;_WhWMXkWӔ@E9vr#<-KyY/_)'Ʌ S[<{j'*[~FS^$םr:%).Q+-Lf8bHY~Ż9cx%YYuλ@`a׋xb$I`(D~)ɅkZHN?",7,w$*ʬݚGނ㌚4ϸ$F7qJ!9Zlfsd V3K `ܬr ӻ-+܏''Hђ'8,^][`k7#B)E/,z+C(@O"{U$tBS'M ()CXאmuZqOSѝsd撸0DwmmkyW$qpY~r@4^}!&uQ0R㰹@H:@Z.gQ$8e}ݣ]nMOvr-)9U $z`uCvkTH%oAr| p/3(C]4,zFhU@tBzcJve [HtXX)W [{4tѬƩ>,cX Yt( hz!- T|Gh+i˽C9H?:7 s݈SJ,R.b\LM5Mĭy`|b^bp|3z;oo[Ir E; Wl M߹%zRlF^ 0.0I*erߖ4JUgƯSu\x&eGgsr>n9)CzGY*my P[ؒY⠜F$@ޥ@ o5TJʿ/]5V_ `kǂ0Z|kݔh%TN&;Y$+U;б%"p|UjFf ΡO퐾"efBxq4aEd,W‡g7bjW[ ,)~Φz@p`W{CC20^;*^fV uPEu#d%֙f+\-1 /|L[׻w 5?/*L% c'doJ'q3XkVv؁bk˳И{j3Tp,_Yf{ !Ѫ#<$fEoz^k-&кVdzg\7:eۣꆠqX 7Ubrgu ɿov[7e\}0i\L xeuw,E2sO -x`ZI8^3cț/:ݒ|*tY/k3-d7WlF0#Hm1ک77)o|7TnGh4!|PxSn'Dm~kds`!gOa$ק5gJ9tWg%Hix[6by /!%xB^o (!-UtSsrkl\gD`teګ3$L>|D @9P\O򃪛B~Dl]"BŀYwui&<S,v큞`}آP=3UI`96D꺏dޑ},c[Trחo^,3ĐdLU|υJIGeR ɭ?5u} 1Y8mhPdŨ{w'(@ 0Aޞd2VѕG ]%bʫ'q;r9,]%R5ͻ߇ uV Ӳp(%B*pYx;,2SUGWȒJ%>s{ Ba@)tFvL޵D- LCOU0v6@էD~_|Oz6<7$TAJ\N7]o|5SL0{yZv@A2tJH wG3\KdSi)# S?bvD-<]X4 ? - Ĉ/f GYF= [ڷ.+-ԣ3kJ2C5knVvruL )J,u{Q%4q5\:7ZA.볭f3PXKw"nURPUT÷'J أB&\` ,X,Ӑ("7]LyFaPjb㗋8WWK=5 CZӁΝ6a}uux19 i30-&&ٵO,>)c`g?X $rJ8p fRj=s(@#~"-d>%1;:^8 F^% ZGaZ&wpU?Q4E̓۰,+;Le=yN/v(p"!d^`tl:hQY'`]hYU5%*eTXI1OrUZలTgB@y 0sv;Ct䎉8S89Q8i҄! frC:tod)t혉/n\MYRԸWsxVSiL%z0%BTSs&"Eٓ?4G\ A6Q3]ʷj5$&fld2L%keȈ6S욢ncfja!N)Kckbx|Х >r5|VRo8R.I83c;RV-v愆qE:*9 f6i1A|,̌vʹf?UySC`WHm:UuZR0 L5-`NFv˷MDλPK|+9"@xs!Acme-POE-Knee-1.10/demo_simple.pls8yҤ2FB7 raNp*!\+5Vsf D2rg>f(_幹4*P{:f*( f[1ɱDf2P|W$dJPK |+ȀkfAcme-POE-Knee-1.10/demo_race.plfQ70O9ށ_*@95zjųj20lݫIHJb=6Cw1ŝ^qpeS^ѕz,'=\M71A2(gɻ.vU8kU!zDC #W6]A ׈4zy#$"=)Aow15tcS`R\;5)Fs(q9UN gZQ'e pb Gظf}ᬜIoh&; "we?qqfa\5p$#G*U(Y*YK.uڨOJv1@þPKU +HOYTAcme-POE-Knee-1.10/MANIFESTTF2PB'bC*C⿤ "my8a1}5twSz<3ohy9EHIRPK }+}fAcme-POE-Knee-1.10/README=ﶊY>leeCwSwСq81/ISC>DMu_P"4S@ӟȫc()6;rj$g;+TJܶ9x l(*2*TRvkƺ?)q= A UI06%wNˡb+hSl:JKuRVyϟqAv=aѯq1Y$;& B^V#Am&v߹0Ģa 4s'qKI oqokw -)hbMUWCv>xy0Qa4z]z(,~.Dst*\S<7$'1KxZ_ɭ5OP o`?by\OgDs((? <G-R^&x3*~B]tQN\-j%cdtˏoW+]*=%gYYuojEk5k O*&¼P< ۋU+T#uNh*we W&k{tyܙcn)%|xh xCͻLlt1L>ߘf>6Hڢb,_b?Uh{Z񭵩i!g T@xΡѯb>ӯݟ, k.on ZU+P0d"K;95@3}Ϗ>NЩ]xXO8wݗ@I^J$=Y&)i=|t%H~D)"@W_U|0< 6 cȖu%fϗJ@W/F 6Q:It,cN kS=1-E: `Pf½"7 NW뵔-fSL `PN8H}\Eb.poŘ(x9 "jWRI.t*,(_i7r@;{;LȜAGV8E".ſjM܀Ws`4p7Z?US:ƟN-3riy pP+rb|O|sAʋFS*w0cVրhB{S1ۼR%,R/pCńҜOV׀tuE|4OM |?S 4qEʷ"%#^#&@ M&^\RX鴌` $#5384 ^J͠}rL%[ ag\=\x6&oJ;Z~Q ˺xS0 B!jQ=}8">󫀳h*a]_P|b/σP l, " ߩ/6?˄*:ZNB2g˴8h`4k_V;NbS99H BoXݿnɉk{e[f˛lY3zK>WtP4n8~i=;2"^DѸFXx#aje&>Vc&^,,(=بl5LD̋y¡DRҞn 0qݰ /FL(IE#7_!0_z-ǝAw'ƾM?;kq<ؤǿAB-y$? ݌miK?k&*13(nRgF>׮4 %)y| a^v`pĈ@C.%Cd]xB}ovR`R~)Wa`#~ȿf;|Μ ZDxRgVa,uB3cF@w/`_5,w*{ԤTT0(XPbsxq9f0,)$n 8[ըqÞ`8Tz=B>"8:9h %00:u .9B[p|"kaBG8j'3+8 s/>kEfA]:X8F8 (p,GQ *ʫ<=Z d% |puUiTVa19k&9 u} @B#*>irsBnmK]'U-C:-"JW@ €@=@+N; NyU&u2Uͮh0ů#k* :GU\*HTDHU>Zm(F"vwqxҴdOy.\daR'{kRи+ףt!g"f1~̇!N6F hСaK*T{TGu U-{pSL`34Nu-eiE?1傣f ;s%wV{iΤSBOз3ԌgJ (A/%2p :(a,|c w@8[sRnI^I759ʁWS_2)s%Y64i?!ے p0ofAzAyכԊ; B؇$q?>/oPK{+0Acme-POE-Knee-1.10/PK{+01Acme-POE-Knee-1.10/lib/PK{+0fAcme-POE-Knee-1.10/lib/Acme/PK{+ 0Acme-POE-Knee-1.10/lib/Acme/POE/PK|+g_XS' Acme-POE-Knee-1.10/lib/Acme/POE/Knee.pmPK|+9"@xs! {Acme-POE-Knee-1.10/demo_simple.plPK |+Ȁkf 2Acme-POE-Knee-1.10/demo_race.plPK|+]:hc Acme-POE-Knee-1.10/Makefile.PLPKU +HOYT ~Acme-POE-Knee-1.10/MANIFESTPK }+}f Acme-POE-Knee-1.10/READMEPK8}+~)$ -Acme-POE-Knee-1.10/ChangesPK 3/Archive-Any-0.0946/t/naughty.tar.gz000644 000765 000024 00000046205 13451733207 017073 0ustar00olafstaff000000 000000 `-Tup%O'ffff8b333333[3333K-fyv#sv<OV:oe%)1=;#_ Zf6c18L31s0#/puv1tP-Muy.@+_#/72t6ep]Y]VV66`"bF -v2M**ȭ-IԺM4z֌7C_T7kԯP!: Rzg\^Uԅl9gJHdόV7_0}ٶc -|ad&+pCqe_-eP͌^dԐҁnҚvȬo" Yw{G†=EB!!={$[H\31E.v9:_7q+iuXjYH?;i.v%ʐUPb~iH1{o\IHи0l}^{FYC$7TO @ҧ #Fm.yx11h˞;V ?ߘ=F)RGp08[xMǘ@H]LT39eq KAk,ƺ}ڡdUqb^e#e YՙC]w^ĊSuW'稛 ~?w

1c aTH 8vL+8TM-=4g?/俰v?\¿?+ _,ga`CI `HH|*Yj޿!/xAL-u-xJa&Ookn]|*!q}f L%(I@sT-N 5}ƫz)UC4= Gl;`bTrM1oj_v(B&4+ΥQZj#ʆ-JPw YE`OUѺ[\Cjp$uk`\w$C39E9&%)^!Z8-p [ឩ:?﷠Dʶk}M:,|j?fuViTcەwcQu]K4yǃnxsy΃Z1F\`̭ိKI^ZcGmLKlVGmR-֎F-$̯FDprT;pR?/|wD(x icĀFQ_46k7غv]51YPF!M[IY wvH#6< e29LS%1@,NoZwK.I($kԂ p|XWysh'Ԧ^]G{T3PUYZ|AdH+T!gXYT:#xkS7O +"Ѕ1qphV.\I{BͬQv1g>Jʜ qVKuk„ɐ*nK,C8ENh9HcػZ'[v;e}"RB];:põ^">F0'z\Av5ځi!5N;m+ZCa X{߰p "9K7ZMh(Lov*;KR-UtǴa<> $pّ2.D:+>0P,;"&a#G 2!3qNi Ԃ8C#Ҿj5myd% 15dId D &Usc"Qј)3^h2 >2 o}4 LC]9\d{E8yVs;޴f[i*o$iIȼ.޳툏Vij&+ W5U.+C@ԠN -u|E{Ʊ,&;%qSZ'>Q8г<@kݖwG&H3(I`®1(Pgǣhĉ1)ij (5q.7/(cg& KILrKzY!oƐqǙC`bNW1l}p24C;(_t7[U.lYRFO㝚~&Nm%yD( {? Yg[xU&<3q_1dJ8wD/t^H]{uW_4D`K>g*Mf! l7\ljgcAA fRroKUxQ~gP õŁfjftX *_*F͈PҪNS  P5m<3yZlsHsm;\D)Ur86m7#|g,.9F3/Q"h؀Z ,0xo0uۗOR&UAev*kxFb5Ffyb-7X@Q0bDl36{Q0<]ͻvg&ŽfM`yC swoV`.jG^3xNnK46aBKiK S>OTL0K0"XvV.qe%Y |&kab S^oNJ9ZvoŸ ~x%EDK@ӷƸR8NzWCf- eŇ0)IlrL_:qFJ mO1ɾ#ȒXIsvXr@@8C1`u!sCҀ#HCGFP@%BImyoT034G {Y!n5/r s|@{ޣȗd NRřH 8u>,Q1|q z^{|Ʊ F?qrX="1!-@^J2(CʟDr%$sinU"qP &5(c@N3"ʺ!||>bE!fP.ǐ尠|ģ.xAEgvD~`"Ҍ&bv3Cp!1_34akHߛJPE_5a7qc 82"+#і1L&B AL&AscS-\vA_u.Iz]SlJkܙi'pE»!޺6$ˀ^PhޭOhlFh]7cx4Wh\}W^o|$bYbZbhiE7tƄU ꝌR݅ʨմjC~!kW'*GW?ePtOqdjNT81(sz#8؋?JJ G?OcN_kS3tLg%,N`!4{C<@e^Y8087Gd0r wm' Fp4FƮr"&l^1s5D qoz>4hOs+%*6iF.c5$Ĺ!.bFH ?"pB/ 7UjFRS1!yxè8Φd@b|GyLin gmpBGKq:W.JҨFëYm܂v 2X3` )Ŋ>N$+ F2ssx)3df1Pz@ &`Ē <-73R裰r$M?>Zdtl{KFF|eK{~%* 4ڠٛ;bt:7+{Wr@xԔB t+72PZEsݩR lcõ80U]WM눟`192MZ1d&`<C5,fVV"9/ hCQgG*EzrWפ C w̉$qF;%pO p@N96 ΋!e!Bj>$Uz\˒FdUK?xN %S.ԁM3`z fJCbx+"SazTUoLtjӸӲ޷1NN >j$C JHb'J,lTYxxb<ƒ8 Z=Hœ߅CL~zT]b]{=HGXKBƒ/<7e(Ɣxꗾ ƃ;tUSO2cnςU\ khho%}%f ݠ>arEG$#Qkhr l՝N'xagR `ƣXiK3J#3Vj4cr%. h* a {aLlYiĻu"xx*,#V=Z0S6!MBփ/n;|D }tdTߵV4^ƀЯ=mE_m|Q6)~ JoL0y Uvj >Fvd^7LIaƃi ۖ'P7Hœ,d"Abڀ:yxN9{jH7~ o%s)Bd۔X65L(i Ŏ[ax _kre2-ͽ4TʼnnUPQ3jks^MIB&1\ '6;R,:gz5ߔlʎ; E< >Cq98(ŷ٨Ł`8N#i| ͝RvUM06]~{+6K…M:HY w_틤2 .E9,=֛;E}Ccnsw9s^CqA,(BXYS=t Wl|SGDGrH@}xq4 y5ꀴ }PRu%LenΖ]qOoy-Ŗ;;3_nTm3Q zڪ!0^4\x5j3-Su۝~ J,nw?ZJiZ#gSە2t`XePuJO˺|JC| α9T9m5!yAY7O]6QoJ98‹|R3Cӕް rzAOڼ<\вx,4P0,-KVvm@R.zc/]'kۚoAk;gr7­Dt>)هo\GH6Qm"!n|۩)1"?Cu^ʆ{|2RZΫ|mm]%T|Rmϭesf #GiXɇD{x;a7N!1*W -{ H\]:l{NII ㇵ̣z}(/wy|}ՆQ@|g8^@k')WH^FWt 6)}i!ɑ.CH(wD3;pPR?#i]I+}%CZׇuj; <=I$ *iNkܳ|qQȐϺyHںAut( _Bpk8tk@|~g]n$ ˙Q ۗaXk6ky/ ^aҶC^PЯ~ Fxk~Y]=pNtBck]E8\w:"$_̬ഉ]uoЎpWٳwEo4J/*׏kVsAB KIsmYH{yԸu3F\`(t!Ku^ W~:lk;ka/Ǣ/=z FLS sBʹ*h5u(UdK\4-NN>Rv$}Hju/F-zNO YE[ZcN (;zemc]M_vN־f_Ic='ج)wvKXwEw0_UʁgtwVfJL}@O@45BW\E p|T3͕Wīލ:Y w/+*:S:@PdF:N2>0I3$SVΓsM,!#*k"nF6z*n+ uPAkyTag_!Ӹ&A(ڗ "+MWa~DT_\ ZEwF/I캒5)x(7VYֈhYxleNN҂9#Rݮ:g'b__W4 }-ul@;aQ O؂pmKMY9PiU Kmr|n-CzK'@ÙP{CnAUJHL@.n+iwV%NR}=m/sF9 o У:wl>>] "szg0ؔM ̱1M4^:.Qoz{kE]{^` [sM/axf \0WՒBt~TK3/B~\h O3H|4NwX^`W׋ZBLt.j/ "x @[SFJGrG$'xsR"JNyy\wuec'Q~ePE`2p+Ol5!y&wȹ#1ȱ Ҋj⪱LC5/mYjMv #ݸNi{Љ>oX?Bm\WV L ] pMP 䤍*.[+vV U@_)Ms4< q U"ܫ 򌼨F2pt<;fk_$koΨ݆Fe2SL}:NޠuZ't M_{^a4LOuB^NH"x@5M_:ҽ!ɰ׏^E$qd6N)8b*]LmF$' ݜqRЦ-Z6T ]SZԗ4> 罍G(&9KY'g/lw=|!ٞ^ۣ\Z v{9@4/_/^/Y@JȻu+*L=ִ'5}yǪp׏$w?azv|uNܰSKRPQ4t`F5Ip9!\{T:c)꾥iu?ÛbT `~ܯkd5r) SX<X _$BOgTC/:I]ak.]_VG0V1Rql7~nFu-iTHgTST}.1X16C.UOLY8$|"H>O;2Nw)$Z0[qW4VddA:qMsk_0ehqfrGOI{q\fm쭹~'iLō>qW\[ys}~MQ-\&v" 䚎*_I+[sr9tSM॑[Թ?$єm -D a7`]%$zi>QGDr@.2bx,_/hSҍ\#r(lc}zؠɁ8wΝͯYUxĊ>>;HgɡL6HS8 y"_|_4ܴpm_<'xP J;B6&7vLN/{|2$D6a Ad[v˷q&͊Ƴ%Z;Ct nS}U L=gJ}NNVw#YIj; { JUT;a{vXe .e"d%6Bft$9oMqN44fH( Jqc}'A6ܷkgt6b&$xpD!)8\`Y܉ Q; (F0Cۍpƹ^ju_ (h61*qrΞҿ>O X-㠒"5UBfҾHDznpӪFSmP!8%n]zKȕfVZ I+mS3:"' ~i/٦-;GbQ3oRcӼɍRB!baI֊Ie.3 Op\Hj iTnOSճٱJ`aArWi'Ϩ+% 'T>?I)$t_H2O <|40pJr V iwyu8?pյֻS]Ji]dco-nӏ93ZI/6Ym & e6m{#" 8 O^=oTr/h 3)W~g]%w'vj(5px&4 /ЅnЌSq#!pRIẢzZlPro5+y{PנmЊxax1{L̓?DB-mmop<-ճth]Y|۞{ī]F(Wԋorw_I+٧ +!n8Q<;&=Z*YX8*o2b崉^ܜCn*4x)i'̤'hnlpDr0Uǯ5pDbyb0Ydޮq2 YVz.˃YC(ܑEh:6vR!| )zIdybrZi- h'LA"%TG܂ISkAc3l/=EqK([ Dh7 ꬹ$:+`j'bt؎ O;ܮ>8+1!1Wgq8"7=!PMd4PA7҄҇wJ)Esʦ-7HUQ=Cu1jEЀ ջE6\!shm9SБᗇ8†m“(]JN,8G<\FEF8Bl_K\#V ԳddPۿ]~\}RrPZ-D]{3/{GSlo%׍p-ns(h8Jen W:׍ԗ5se W{ϼLr;'_)>ȽSn,t0Beͮ j!ßѾ\iE6%!IyA MlZzaHx~+gLbA\s_Ubծ'P֣UX4Vd[7>2-櫞I,g< u0)'Gb5)F]T瀰|c`ԗt<9$ uⶌOt:t뜎v:f !,:Om#ʗp V>yD*wց/Z:9G Uj8GF@Y?AKU/Vه|쳃$؊ɋE;A=v'# T;0ddhl 3P ܢ@MVy1\sd;q4!;7Fڄ_<87ؑJTNl1ǵ=#xB#2Aa;]WۭEM /$UC" ׽G &O W9eq:V)֡^iu41td!Ds.#)VP-+;R8;;r<mF'6[ó=(M_Sޝi5q9uB}@=$#yyfzw +8`- @ϧG C$ `¾RUg:HT9{;\jaPaUOELyix۱(-97Ÿa=MmhV,M(ûtos_oeLpo]%r4l8kQ-"FZgVN@Fr_F*>Z/,ܟ gUQtΪ#,&BPa{& X&2ϵ€;o&iIEkZl*֋#W@?ú>6U;OQ\}Okx9 )K.*|ߤ"1 ~;la2C S['?;=_1.!m`StI6m \xwXCS{ b'hc~x2}ɋ% ~58a# OuQyWJn:2^49h]>:sxhaϐ~ѐ^'_@؞to: Wwv\Z@8z:t`}C"hD e0p5+U:2QǺ1 ]:VfJ)eQ\nPJwq +hHro{ SxCWb$o-oQu7b-Miet;+ᕶla`0v-\ݶJ葋UHWdmy=/;\lćg"z'̯'fwͥ'A0l~(GEوSu?U%f/;rlB*nnlIYs9;Jn|IW!ٗ(^9Vz>H0**ɑ\'!{л>pCoWx>* 2[WwK/s&ZKշ (Na=v/zQ eYN`ŀpi2|T6CpmdHPNh Cpsa>ʺZgw)|6%gqWM93y[{-ۿ"f;<"-u#G0HΖ$ôG^>(qwZK]O!(i ̫;YfLϐ nn.%Q,]N|`QE=|Ϧ6x[(!lB7<,~P:A׃b2$LiBI^|bHa<{#ѻ*€TgNCЪCƮ w̳W3慹/W2oc+3}Ĉ_i IGj]sXNd:L&tL.%9>w,`1zwWՂl -ZxU e ʵ۟бyxHdryka7x60PHA5%?7zb/#(dx.$ݢ|}ʹi!їa1 HZJu'мƏpv=4=ڙڢ Vcw8~S%kruy*]nEl`ڕB fp{8,q~\4^H=YMn+ v{ЧF$YxUNMu'lsg6g؎VKB9oV'cj5lW+ˤ,l wߋф^\h-=&Ss8vj/췃qKosT^1F۸ Qe+ic|g{V&gE *f/^й:kiJ,JB颡~'0F$N2H^+.>>=C1a`f#׾ku wGwBn*ph,( dTpc{BB\Y[R]c*RU P-tA2ҿS *< ў~ge'{Fmm*5e.:\;1B =B?˗ |bǢ뛟Ij%85?A'jUS]3Rqz2{X %PBuhbpGv~ֽ[vX$xTR*|ZdwQ}蹂9m[\unSGGJIYF1 Q/tDRCOmM.u*]Da/\<+|r!Oq e%1#OImO^Cz!"j+ p>`B:~y Ϟ4ϻYo6nd :I#iŒ ,-d;sxy䒏OjB{OUQe~a'glDl:^Y],ZiD=K?Lͣ:荨CnD%DijH2oZtb-'v7_ld~Ҭ4Hz pɃKR59y8!߆TCӃqE׾NNE NJ7v=5twє@K%2rYW p7\lPrIoz!&RȮ3<ͻ?;8+{s{jm-1z>Z/X5.ٲ* #cq6؆|S ktůYB_nr96&l0Ft#1y>kX}8|ʄ^'q}0IUv>W:';TLJ"0~IlQhjTb=lby7r<&\퇫pGیfʼlj d24X_qgv[]cAĽ9i+%4_1wr]O (fcn0^a `PѬ{z7̏m^ ?h2 A"X 8/obƀ̩M*Ҍ,(=y$08 UuD(߫L1w$K6+Pl#UO}ZQYiud$iPC[ ]ìf]d /5_f0mERFv7qgWNq+o{7u͢;vcJV$ʙ_VWk9x8D$>|Ƀs*82T:`jۨ-u+ -eP^Ab.n*=/HA3xQל[1gfBL{Btv֐KCUb7O-u |>RS7.IAv~%]{phR.X ?bRI?%4j _)( P\R zQ@X*RuKuT ^%~ĥuV[O d0zj { 'requires' => { 'ExtUtils::MakeMaker' => '0', 'perl' => '5.006' } }, 'develop' => { 'recommends' => { 'Dist::Zilla::PluginBundle::Git::VersionManager' => '0.007' }, 'requires' => { 'Code::TidyAll' => '0.71', 'Code::TidyAll::Plugin::SortLines::Naturally' => '0.000003', 'Code::TidyAll::Plugin::Test::Vars' => '0.04', 'Code::TidyAll::Plugin::UniqueLines' => '0.000003', 'Parallel::ForkManager' => '1.19', 'Perl::Critic' => '1.132', 'Perl::Tidy' => '20180220', 'Pod::Wordlist' => '0', 'Test::CPAN::Changes' => '0.19', 'Test::Code::TidyAll' => '0.50', 'Test::More' => '0.96', 'Test::Pod' => '1.41', 'Test::Spelling' => '0.12', 'Test::Synopsis' => '0', 'Test::Vars' => '0.014' } }, 'runtime' => { 'requires' => { 'Archive::Tar' => '0', 'Archive::Zip' => '0', 'Cwd' => '0', 'File::MMagic' => '0', 'File::Spec::Functions' => '0', 'MIME::Types' => '0', 'Module::Find' => '0', 'base' => '0', 'perl' => '5.006', 'strict' => '0', 'warnings' => '0' } }, 'test' => { 'recommends' => { 'CPAN::Meta' => '2.120900' }, 'requires' => { 'ExtUtils::MakeMaker' => '0', 'File::Spec' => '0', 'Test::More' => '0', 'Test::Warn' => '0', 'perl' => '5.006' } } }; $x; }Archive-Any-0.0946/t/naughty.tar000644 000765 000024 00000026000 13451733207 016443 0ustar00olafstaff000000 000000 /tmp/lib/000755 000765 000000 00000000000 10467261037 013133 5ustar00cmoorewheel000000 000000 /tmp/lib/Archive/000755 000765 000000 00000000000 10467261263 014515 5ustar00cmoorewheel000000 000000 /tmp/lib/Archive/Any/000755 000765 000000 00000000000 10467261243 015242 5ustar00cmoorewheel000000 000000 /tmp/lib/Archive/Any/Tar.pm000644 000765 000000 00000001535 10467261037 016333 0ustar00cmoorewheel000000 000000 6xPā@ǝ%{bZv3C .Cu] t=M3{wQ`4w퉱w'?\! C*]cm,7vi`40 F>u>߼Wt7X8x6BKYnT^=QNYFIRJBO~bHʑ8E.Ŀ-I扆 ׍LI9D5#^&dy+DŽտ_ n/mښJ6n|ݑXG^:G:֙jT2*G>s&d#!`F-v:]R &kfτh7n !DZOu&rr-2QXIviޥE<7.Y#=f;@isӵ|Pu*un5U*R"]Egw[q5VI tr2eM?XR4Y8E0C $&J4Bb+A?U 1i_S:O.KbD߳ m3YgSv%PyӾ^;&<ه&.hGe'>SYHx}:I,'K u# %~`nH<"\?@kp̰;ڧ=Hw9`b &5MsV9y +M>hq\ \fw%^TB2Ǟvp\ _ʝ ZN}ܑfYVhul.&@dNcY*qr3>+f8]RRYnm/tmp/lib/Archive/Any/Zip.pm000644 000765 000000 00000001632 10467261037 016345 0ustar00cmoorewheel000000 000000 2ibEP摭h ,~&2 3  vPet }U4KE9_ ?2e1YVO:*+aBNl&d FLd;ג/vVrDo GRBAӱ 'ƓE/Qb6Ya8+s;ʯv;|f?!ˊ9e݃qb,c 8ȅ8joDM^5S|_Bbk:?!+Ao.T2k:󀯘b>xG>l`*4v@˳F}ܰX窾YpKt0}$goG|1"),I]As7m| &JgIC }?=gK4x.qjv=I޵mT[g{mP^BVeK>@gҍÑwdk_@ u*@VgG"J'.\S l'$R^.~ْ+rgT!|R`;HnQ{ g9^]eVE lڋOsvR(.ۓV#VgeEDja3$ 6>"!%:'Ɩ~ r0eeU>LGp-AپW7|#"D|3y*fo/׾sO)@fk !*]ع/~k\D&}.E3ߒ5 㬬 \p&pz)[N?PufBN3R -yw} `jKlG>{S,'+u g[83mRZ*aIAS\vJDxZ]#/"q6eb}yI[Mf"ĵgCJ>WYLս?RGe BF8d)TWVYFO \'$(>ߊX4.?~"~GHH((jL [c fMLJ)iv(7cJ\cB'wlU"Jx5"bv8VbToDk'}"I)!\i=G$N]gMfz*ZP a и` ZTVxӺ ~I fyGh6wSǚ| Ƴ=cs\打{2gO}ǡ+ $:uԉ >~S号&< P5&)!![wu-mJ*$;-̽3=`ޭ ,dGɃ)R-?wFڄt$:89j\2 =:XOZ v:|-7ew`Qh}FEz.W|9 y%3Vee%(ֱ'"''#[!16==YH ru%OeYKjRlmo :I`,"%<,AJz~c@[+ϦtXEye(ঢ়i̓ؕǩ&Z֦(2AAA*81#PJ)a|.&TAVy_kOh~uVF5mp%޷FrH JMa{W2),k9'B JG/󔌷t7YHElZt2QCHǀv:SW$6qLta]!"auYhcXqH4Ztm{kKT"PsAIpl_ȏр2pBKyyvŻKCӅ-+_)Ļ<`P0s[n62EqZM~$϶˚ɺ,C85K?znw2FxC+RN\} (A ]/{*h6IC w.ky'V"$;nEM䓴kNT@-}ݍmXrQ1D[6rVPܻ:p[>^PKnnAv1O*;5P5X5Kדq02LEDQb@$*7)ᩬ?(ŲM3^oC `L0=-k9ʳ-5[Vű)Mqfe2SaEw܅(* *wpvee3_!"Iv!JA{ k⽷6u\ܴ$dz1coĀ$%Gxߏjԥ雨K|"%5Xy{ 6偹#QbVOIu>CDG7Du:JWtFy_k ^ߦ)AjQ,llIQ;QQ/~q%u熅K&:QAd`r, kɫ3YVFom?+D[@UT!]aV.ƣѝѰh!4v4 ߇_mY$ݝK֛9oT({06r8vWӊp5o nH)OL u P o!1I0ԏǣk|Ÿ}aq+#]S_D4ox׾>QRO8[n#S*kbҰAˤJ˶f ҳK{Дt4xhPG?i=d <ҬQaZ[,ӬkLUf{knBMQLFAx}ҥYºKls˖ r- ;`GT;w&#-ěNEl|c*Jrkd >FT >0k,ogIp>h_$y1i.3u%Xa.hFzgEZ=_wʄ/bJ. o%FC$'AFr/ơ䖂Z\ƻ@j9bS.xSU d"cRS )Eߡ&o 3qH$[D97~b` !{HuowwQP壨#݇~ų pKuW<>׉Lr"7*=i2s MJJ}8)ې ݷ0"(PZD#CX~lTk]*Eє֞;g"^N&ؔ\e>e3  ~RPJW&p7 3Lv[UQz}*$+MɌC~',޵xV a>'?Xe 6b៶☦ib<$mxU\"ՍC/UJPz#כ9(Ö́a 2 r s,=pG@F:|66Fw[&6`QIqkBkkLٷDKh;jP-? RFmMa,Iҙl4O,2.y\+7q"-㝭@i{&!8{+2-"cA:u^JIK7+`M%-69B'o5?S4&OΉQvtg3% i&l=_jqQ!v-I2runNYԔLrK&ιf|M%X3vlx&ǡì$S.і>y7z2e^?*A#1i61|e>X@a6šv|! R z9 pkcv!2{B؀w_¸hP,\,Iu!];Kߵ킀>:'F@]eMTOfr %l#4Tx$'xdJq5  Q0 *m,>\[BadArchive-Any-0.0946/t/fail.t000644 000765 000024 00000000176 13451733207 015362 0ustar00olafstaff000000 000000 #!/usr/bin/perl -w use Archive::Any; use Test::More tests => 1; chdir 't'; ok( !Archive::Any->new("im_not_really_a.zip") );