PATH=C:\mingw\bin;C:\cygwin\bin;C:\cpanfly-5.20\var\megalib\bin;C:\Perl64-5.20\site\bin;C:\Perl64-5.20\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\PROGRA~2\Perforce;C:\instantclient_11_2;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\PROGRA~2\Perforce;C:\mysql\bin
Start 2014-09-28T01:25:39
ActivePerl-2000 CPAN-2.00
PATH=C:\mingw\bin;C:\cygwin\bin;C:\CPANFL~1.20\var\megalib\bin;C:\Perl64-5.20\site\bin;C:\Perl64-5.20\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\INSTAN~1;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\mysql\bin
Reading 'C:\cpanfly-5.20\var\cpan\Metadata'
Database was generated on Sun, 28 Sep 2014 06:17:02 GMT
Running make for R/RE/REHSACK/ExtUtils-BundleMaker-0.006.tar.gz
Fetching with LWP:
http://cpan.nas1.activestate.com/authors/id/R/RE/REHSACK/ExtUtils-BundleMaker-0.006.tar.gz
Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\R\RE\REHSACK\ExtUtils-BundleMaker-0.006.tar.gz ok
ExtUtils-BundleMaker-0.006/
ExtUtils-BundleMaker-0.006/bin/
ExtUtils-BundleMaker-0.006/Changes
ExtUtils-BundleMaker-0.006/lib/
ExtUtils-BundleMaker-0.006/Makefile.PL
ExtUtils-BundleMaker-0.006/MANIFEST
ExtUtils-BundleMaker-0.006/MANIFEST.SKIP
ExtUtils-BundleMaker-0.006/META.json
ExtUtils-BundleMaker-0.006/META.yml
ExtUtils-BundleMaker-0.006/README.md
ExtUtils-BundleMaker-0.006/t/
ExtUtils-BundleMaker-0.006/t/00-load.t
ExtUtils-BundleMaker-0.006/t/01-simple.t
ExtUtils-BundleMaker-0.006/t/02-pkg.t
ExtUtils-BundleMaker-0.006/lib/ExtUtils/
ExtUtils-BundleMaker-0.006/lib/ExtUtils/BundleMaker.pm
ExtUtils-BundleMaker-0.006/bin/bundlemaker
CPAN.pm: Building R/RE/REHSACK/ExtUtils-BundleMaker-0.006.tar.gz
>>> C:\Perl64-5.20\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for ExtUtils::BundleMaker
Writing MYMETA.yml and MYMETA.json
---- Unsatisfied dependencies detected during ----
---- REHSACK/ExtUtils-BundleMaker-0.006.tar.gz ----
Test::Directory [build_requires]
MetaCPAN::Client [requires]
Test::WriteVariants [build_requires]
Running make test
Delayed until after prerequisites
Running test for module 'Test::Directory'
Running make for S/SA/SANBEG/Test-Directory-0.041.tar.gz
Fetching with LWP:
http://cpan.nas1.activestate.com/authors/id/S/SA/SANBEG/Test-Directory-0.041.tar.gz
Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\S\SA\SANBEG\Test-Directory-0.041.tar.gz ok
Test-Directory-0.041/
Test-Directory-0.041/t/
Test-Directory-0.041/t/builder.t
Test-Directory-0.041/t/builder-extra-dir.t
Test-Directory-0.041/t/miss.t
Test-Directory-0.041/t/basic.t
Test-Directory-0.041/t/path.t
Test-Directory-0.041/t/unique.t
Test-Directory-0.041/t/subdir.t
Test-Directory-0.041/t/template.t
Test-Directory-0.041/t/bad_dir.t
Test-Directory-0.041/META.yml
Test-Directory-0.041/MANIFEST
Test-Directory-0.041/Changes
Test-Directory-0.041/README
Test-Directory-0.041/Makefile.PL
Test-Directory-0.041/lib/
Test-Directory-0.041/lib/Test/
Test-Directory-0.041/lib/Test/Directory.pm
Test-Directory-0.041/META.json
CPAN.pm: Building S/SA/SANBEG/Test-Directory-0.041.tar.gz
>>> C:\Perl64-5.20\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for Test::Directory
Writing MYMETA.yml and MYMETA.json
>>> dmake
cp lib/Test/Directory.pm blib\lib\Test\Directory.pm
SANBEG/Test-Directory-0.041.tar.gz
dmake -- OK
Running make test
>>> dmake test TEST_VERBOSE=1
C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/bad_dir.t ............
1..2
ok 1 - count_unknown dies without directory
ok 2 - is_ok dies without directory
ok
t/basic.t ..............
1..16
ok 1 - use Test::Directory;
ok 2 - Dir was created
ok 3 - file was created
ok 4 - object finds file
ok 5 - Has file 1.
ok 6 - object finds file
ok 7 - object doesn't find file
ok 8 - Doesn't have file 3.
ok 9 - Doesn't have file 2.
ok 10 - Has file c.
ok 11 - got length
ok 12 - old is older than text
ok 13 - no missing files
ok 14 - no unknown files
ok 15 - No missing or unknown files
ok 16 - Dir was removed
ok
t/builder-extra-dir.t ..
1..2
ok 1 - rename is not OK
ok 2 - dir to file is not OK
ok
t/builder.t ............
1..16
ok 1 - has existing file is true
ok 2 - has existing file is true, default text
ok 3 - hasnt existing file is false
ok 4 - hasnt existing file is false, default text
ok 5 - has bogus file is false
ok 6 - hasnt bogus file is true
ok 7 - empty
ok 8 - not empty
ok 9 - clean with extra file fails
ok 10 - no dir
ok 11 - no dir
ok 12 - sub-dir, def text
ok 13 - sub-dir, +text
ok 14 - clean is OK
ok 15 - file in subdir is OK
ok 16 - bogus file in subdir is found
ok
t/miss.t ...............
1..4
ok 1 - use Test::Directory;
ok 2
ok 3 - 2 missing file
ok 4 - 2 unknown file
ok
t/path.t ...............
1..4
ok 1 - use Test::Directory;
ok 2 - top directory path
ok 3 - file path
ok 4 - top directory
ok
t/subdir.t .............
1..12
ok 1 - use Test::Directory;
ok 2 - Has directory sd.
ok 3 - Doesn't have directory od.
ok 4 - Has file sd/f1.
ok 5 - Directory is consistent
ok 6 - 2 unknown directory
ok 7 - Has directory bogus-dir-1.
ok 8
ok 9
ok 10 - name concats
ok 11 - Dupe dir dies
ok 12 - dir was cleaned
ok
t/template.t ...........
1..5
ok 1 - use Test::Directory;
ok 2 - got explicit path
ok 3 - Explicit dir exists
ok 4 - got implicit path
ok 5 - Implicit dir exists
ok
t/unique.t .............
1..7
ok 1 - use Test::Directory;
ok 2 - first unique lives
ok 3 - second unique dies
ok 4 - Bogus file dies
ok 5 - Using plain file dies
ok 6 - Create dies
ok 7 - touch dies
ok
All tests successful.
Files=9, Tests=68, 2 wallclock secs ( 0.09 usr + 0.02 sys = 0.11 CPU)
Result: PASS
SANBEG/Test-Directory-0.041.tar.gz
dmake test TEST_VERBOSE=1 -- OK
Steve Sanbeg <sanbeg@cpan.org>
Perl extension for maintaining test directories.
>>> (cd C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz && tar cvf - Test-Directory-0.041.ppd blib) | gzip -c >C:/cpanfly-5.20/var/REPO/S/SA/SANBEG/Test-Directory-0.041.tar.gz
Test-Directory-0.041.ppd
blib/
blib/lib/
blib/lib/Test/
blib/lib/Test/Directory.pm
>>> mv C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/Test-Directory-0.041.ppd C:/cpanfly-5.20/var/REPO/S/SA/SANBEG
Running test for module 'MetaCPAN::Client'
Running make for M/MI/MICKEY/MetaCPAN-Client-1.007000.tar.gz
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\M\MI\MICKEY\MetaCPAN-Client-1.007000.tar.gz ok
MetaCPAN-Client-1.007000
MetaCPAN-Client-1.007000/README
MetaCPAN-Client-1.007000/Changes
MetaCPAN-Client-1.007000/LICENSE
MetaCPAN-Client-1.007000/dist.ini
MetaCPAN-Client-1.007000/META.yml
MetaCPAN-Client-1.007000/MANIFEST
MetaCPAN-Client-1.007000/Build.PL
MetaCPAN-Client-1.007000/t
MetaCPAN-Client-1.007000/t/entity.t
MetaCPAN-Client-1.007000/t/ua_trap.t
MetaCPAN-Client-1.007000/t/request.t
MetaCPAN-Client-1.007000/t/api
MetaCPAN-Client-1.007000/t/api/pod.t
MetaCPAN-Client-1.007000/Makefile.PL
MetaCPAN-Client-1.007000/t/api/_get.t
MetaCPAN-Client-1.007000/t/api/file.t
MetaCPAN-Client-1.007000/t/resultset.t
MetaCPAN-Client-1.007000/t/api/author.t
MetaCPAN-Client-1.007000/t/api/rating.t
MetaCPAN-Client-1.007000/t/api/module.t
MetaCPAN-Client-1.007000/t/00-compile.t
MetaCPAN-Client-1.007000/t/api/_search.t
MetaCPAN-Client-1.007000/t/api/release.t
MetaCPAN-Client-1.007000/examples
MetaCPAN-Client-1.007000/examples/pod.pl
MetaCPAN-Client-1.007000/t/api/favorite.t
MetaCPAN-Client-1.007000/t/author-critic.t
MetaCPAN-Client-1.007000/t/lib
MetaCPAN-Client-1.007000/t/lib/Functions.pm
MetaCPAN-Client-1.007000/examples/author.pl
MetaCPAN-Client-1.007000/examples/module.pl
MetaCPAN-Client-1.007000/examples/recent.pl
MetaCPAN-Client-1.007000/examples/release.pl
MetaCPAN-Client-1.007000/examples/complex.pl
MetaCPAN-Client-1.007000/t/api/distribution.t
MetaCPAN-Client-1.007000/examples/rev_deps.pl
MetaCPAN-Client-1.007000/t/api/_get_or_search.t
MetaCPAN-Client-1.007000/lib/MetaCPAN
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client.pm
MetaCPAN-Client-1.007000/t/release-pod-syntax.t
MetaCPAN-Client-1.007000/examples/distribution.pl
MetaCPAN-Client-1.007000/examples/recent_today.pl
MetaCPAN-Client-1.007000/t/release-pod-coverage.t
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Pod.pm
MetaCPAN-Client-1.007000/examples/author-country.pl
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/File.pm
MetaCPAN-Client-1.007000/examples/author_releases.pl
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Module.pm
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Author.pm
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Rating.pm
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Release.pm
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Request.pm
MetaCPAN-Client-1.007000/examples/complex-either-and.pl
MetaCPAN-Client-1.007000/examples/rev_deps-recursive.pl
MetaCPAN-Client-1.007000/examples/complex-either-not.pl
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Favorite.pm
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/ResultSet.pm
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Role
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Role/Entity.pm
MetaCPAN-Client-1.007000/lib/MetaCPAN/Client/Distribution.pm
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'make'
CPAN.pm: Building M/MI/MICKEY/MetaCPAN-Client-1.007000.tar.gz
>>> C:\Perl64-5.20\bin\perl.exe Makefile.PL
Warning: prerequisite Search::Elasticsearch 1.10 not found.
Warning: prerequisite Search::Elasticsearch::Scroll 0 not found.
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for MetaCPAN::Client
Writing MYMETA.yml and MYMETA.json
---- Unsatisfied dependencies detected during ----
---- MICKEY/MetaCPAN-Client-1.007000.tar.gz ----
Search::Elasticsearch [requires]
Search::Elasticsearch::Scroll [requires]
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'test'
Running make test
Delayed until after prerequisites
Running test for module 'Search::Elasticsearch'
Running make for D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\D\DR\DRTECH\Search-Elasticsearch-1.14.tar.gz ok
Search-Elasticsearch-1.14/
Search-Elasticsearch-1.14/Changes
Search-Elasticsearch-1.14/lib/
Search-Elasticsearch-1.14/LICENSE
Search-Elasticsearch-1.14/Makefile.PL
Search-Elasticsearch-1.14/MANIFEST
Search-Elasticsearch-1.14/META.json
Search-Elasticsearch-1.14/META.yml
Search-Elasticsearch-1.14/README
Search-Elasticsearch-1.14/t/
Search-Elasticsearch-1.14/t/10_Basic/
Search-Elasticsearch-1.14/t/20_Serializer/
Search-Elasticsearch-1.14/t/30_Logger/
Search-Elasticsearch-1.14/t/40_Transport/
Search-Elasticsearch-1.14/t/50_Cxn_Pool/
Search-Elasticsearch-1.14/t/60_Cxn/
Search-Elasticsearch-1.14/t/70_Helper/
Search-Elasticsearch-1.14/t/90_Client_Spec/
Search-Elasticsearch-1.14/t/lib/
Search-Elasticsearch-1.14/t/release-eol.t
Search-Elasticsearch-1.14/t/release-no-tabs.t
Search-Elasticsearch-1.14/t/release-pod-syntax.t
Search-Elasticsearch-1.14/t/lib/default_cxn.pl
Search-Elasticsearch-1.14/t/lib/es_sync.pl
Search-Elasticsearch-1.14/t/lib/es_sync_fork.pl
Search-Elasticsearch-1.14/t/lib/index_test_data.pl
Search-Elasticsearch-1.14/t/lib/LogCallback.pl
Search-Elasticsearch-1.14/t/lib/MockCxn.pm
Search-Elasticsearch-1.14/t/90_Client_Spec/00_print_version.t
Search-Elasticsearch-1.14/t/70_Helper/10_bulk_add_action.t
Search-Elasticsearch-1.14/t/70_Helper/20_bulk_helpers.t
Search-Elasticsearch-1.14/t/70_Helper/30_bulk_flush.t
Search-Elasticsearch-1.14/t/70_Helper/40_bulk_errors.t
Search-Elasticsearch-1.14/t/70_Helper/50_scroll.t
Search-Elasticsearch-1.14/t/70_Helper/60_reindex.t
Search-Elasticsearch-1.14/t/60_Cxn/10_basic.t
Search-Elasticsearch-1.14/t/60_Cxn/20_process_response.t
Search-Elasticsearch-1.14/t/60_Cxn/30_http.t
Search-Elasticsearch-1.14/t/60_Cxn/40_fork_httptiny.t
Search-Elasticsearch-1.14/t/60_Cxn/41_fork_lwp.t
Search-Elasticsearch-1.14/t/60_Cxn/42_fork_hijk.t
Search-Elasticsearch-1.14/t/60_Cxn/43_fork_netcurl.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/10_static_normal.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/11_static_node_missing.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/12_static_node_fails.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/13_static_node_timesout.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/14_static_both_nodes_timeout.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/15_static_both_nodes_fail.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/16_static_nodes_starting.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/17_static_runaway_nodes.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/30_sniff_normal.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/31_sniff_new_nodes.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/32_sniff_node_fails.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/33_sniff_both_nodes_fail.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/34_sniff_node_timeout.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/35_sniff_both_nodes_timeout.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/36_sniff_nodes_starting.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/37_sniff_runaway_nodes.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/38_bad_sniff.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/39_sniff_max_content.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/50_noping_normal.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/51_noping_node_fails.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/52_noping_node_timesout.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/53_noping_all_nodes_fail.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/54_noping_nodes_starting.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/55_noping_runaway_nodes.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/56_max_retries.t
Search-Elasticsearch-1.14/t/50_Cxn_Pool/70_live.t
Search-Elasticsearch-1.14/t/40_Transport/10_tidy_request.t
Search-Elasticsearch-1.14/t/40_Transport/20_send_body_as.t
Search-Elasticsearch-1.14/t/40_Transport/30_perform_request.t
Search-Elasticsearch-1.14/t/30_Logger/10_explicit.t
Search-Elasticsearch-1.14/t/30_Logger/20_implicit.t
Search-Elasticsearch-1.14/t/30_Logger/30_log_methods.t
Search-Elasticsearch-1.14/t/30_Logger/40_trace_request.t
Search-Elasticsearch-1.14/t/30_Logger/50_trace_response.t
Search-Elasticsearch-1.14/t/30_Logger/60_trace_error.t
Search-Elasticsearch-1.14/t/30_Logger/70_trace_comment.t
Search-Elasticsearch-1.14/t/20_Serializer/10_load_cpanel.t
Search-Elasticsearch-1.14/t/20_Serializer/11_load_xs.t
Search-Elasticsearch-1.14/t/20_Serializer/12_load_pp.t
Search-Elasticsearch-1.14/t/20_Serializer/13_preload_cpanel.t
Search-Elasticsearch-1.14/t/20_Serializer/14_preload_xs.t
Search-Elasticsearch-1.14/t/20_Serializer/20_xs_encode_decode.t
Search-Elasticsearch-1.14/t/20_Serializer/21_xs_encode_bulk.t
Search-Elasticsearch-1.14/t/20_Serializer/22_xs_encode_pretty.t
Search-Elasticsearch-1.14/t/20_Serializer/30_cpanel_encode_decode.t
Search-Elasticsearch-1.14/t/20_Serializer/31_cpanel_encode_bulk.t
Search-Elasticsearch-1.14/t/20_Serializer/32_cpanel_encode_pretty.t
Search-Elasticsearch-1.14/t/20_Serializer/40_pp_encode_decode.t
Search-Elasticsearch-1.14/t/20_Serializer/41_pp_encode_bulk.t
Search-Elasticsearch-1.14/t/20_Serializer/42_pp_encode_pretty.t
Search-Elasticsearch-1.14/t/20_Serializer/encode_bulk.pl
Search-Elasticsearch-1.14/t/20_Serializer/encode_decode.pl
Search-Elasticsearch-1.14/t/20_Serializer/encode_pretty.pl
Search-Elasticsearch-1.14/t/10_Basic/10_load.t
Search-Elasticsearch-1.14/lib/Search/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Bulk.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Cxn/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/CxnPool/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Error.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Logger/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Scroll.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/TestServer.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Transport.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Util/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Util.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Util/API/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Util/API/Path.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Util/API/QS.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/JSON/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/JSON.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/JSON/Cpanel.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/JSON/PP.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Serializer/JSON/XS.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/API/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/API.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Bulk.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Client/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Client.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Cxn/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Cxn.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Is_Sync.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Logger.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Scroll.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Serializer/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Serializer.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Transport.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Serializer/JSON.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool/Sniff.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool/Static/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool/Static.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/CxnPool/Static/NoPing.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Cxn/HTTP.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/Client/Direct.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Role/API/0_90.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Logger/LogAny.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/CxnPool/Sniff.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/CxnPool/Static/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/CxnPool/Static.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/CxnPool/Static/NoPing.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Cxn/Factory.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Cxn/Hijk.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Cxn/HTTPTiny.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Cxn/LWP.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/0_90/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/Cat.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/Cluster.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/Indices.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/Nodes.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/Direct/Snapshot.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/0_90/Direct/
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/0_90/Direct.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/0_90/Direct/Cluster.pm
Search-Elasticsearch-1.14/lib/Search/Elasticsearch/Client/0_90/Direct/Indices.pm
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'make'
CPAN.pm: Building D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz
>>> C:\Perl64-5.20\bin\perl.exe Makefile.PL
Warning: prerequisite Hijk 0.12 not found.
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for Search::Elasticsearch
Writing MYMETA.yml and MYMETA.json
---- Unsatisfied dependencies detected during ----
---- DRTECH/Search-Elasticsearch-1.14.tar.gz ----
Hijk [requires]
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'test'
Running make test
Delayed until after prerequisites
Running test for module 'Hijk'
Running make for A/AV/AVAR/Hijk-0.17.tar.gz
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'get'
Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\A\AV\AVAR\Hijk-0.17.tar.gz ok
Hijk-0.17/
Hijk-0.17/META.json
Hijk-0.17/Makefile.PL
Hijk-0.17/README.md
Hijk-0.17/inc/
Hijk-0.17/inc/Module/
Hijk-0.17/inc/Module/Install.pm
Hijk-0.17/inc/Module/Install/
Hijk-0.17/inc/Module/Install/WriteAll.pm
Hijk-0.17/inc/Module/Install/Metadata.pm
Hijk-0.17/inc/Module/Install/Win32.pm
Hijk-0.17/inc/Module/Install/Fetch.pm
Hijk-0.17/inc/Module/Install/Base.pm
Hijk-0.17/inc/Module/Install/CPANfile.pm
Hijk-0.17/inc/Module/Install/Can.pm
Hijk-0.17/inc/Module/Install/Makefile.pm
Hijk-0.17/inc/Module/CPANfile/
Hijk-0.17/inc/Module/CPANfile/Prereqs.pm
Hijk-0.17/inc/Module/CPANfile/Environment.pm
Hijk-0.17/inc/Module/CPANfile/Requirement.pm
Hijk-0.17/inc/Module/CPANfile/Prereq.pm
Hijk-0.17/inc/Module/CPANfile.pm
Hijk-0.17/lib/
Hijk-0.17/lib/Hijk.pm
Hijk-0.17/META.yml
Hijk-0.17/MANIFEST
Hijk-0.17/examples/
Hijk-0.17/examples/dumbbench-thisurl.pl
Hijk-0.17/examples/hijkurl
Hijk-0.17/examples/bench-nginx.pl
Hijk-0.17/examples/bench-chunked-response.pl
Hijk-0.17/examples/bench-elasticsearch.pl
Hijk-0.17/Changes
Hijk-0.17/cpanfile
Hijk-0.17/t/
Hijk-0.17/t/chunked-trailer-head-as-array.t
Hijk-0.17/t/chunked-trailer.t
Hijk-0.17/t/parse-http-connection-close-message.t
Hijk-0.17/t/live-plack.t
Hijk-0.17/t/bin/
Hijk-0.17/t/bin/split-in-chunks.psgi
Hijk-0.17/t/bin/it-takes-time.psgi
Hijk-0.17/t/parse-http-message.t
Hijk-0.17/t/build_http_message.t
Hijk-0.17/t/live-elasticsearch.t
Hijk-0.17/t/live-couchdb.t
Hijk-0.17/t/live-connect-timeout.t
Hijk-0.17/t/live-invalid-domain.t
Hijk-0.17/t/live-google.t
Hijk-0.17/t/parse-http-message-head-as-array.t
Hijk-0.17/t/chunked.t
Hijk-0.17/t/parse-http-no-content-len-message.t
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'make'
CPAN.pm: Building A/AV/AVAR/Hijk-0.17.tar.gz
>>> C:\Perl64-5.20\bin\perl.exe Makefile.PL
Cannot determine perl version info from lib/Hijk.pm
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for Hijk
Writing MYMETA.yml and MYMETA.json
Merging cpanfile prereqs to MYMETA.yml
Merging cpanfile prereqs to MYMETA.json
>>> dmake
cp lib/Hijk.pm blib\lib\Hijk.pm
AVAR/Hijk-0.17.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'inc', 'blib\lib', 'blib\arch')" t/*.t
t/build_http_message.t ...................
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
1..20
ok
# Failed test at t/chunked-trailer-head-as-array.t line 36.
# got: '0'
# expected: '200'
# Failed test at t/chunked-trailer-head-as-array.t line 37.
# got: undef
# expected: 'Wikipedia in
#
# chunks.'
# Failed test at t/chunked-trailer-head-as-array.t line 39.
# Structures begin differing at:
# $got = undef
# $expected = ARRAY(0x4f7608)
# Failed test at t/chunked-trailer-head-as-array.t line 53.
# got: '2'
# expected: '64'
# Failed test at t/chunked-trailer-head-as-array.t line 54.
# undef
# doesn't match '(?^:0 byte)'
# Looks like you failed 5 tests of 5.
t/chunked-trailer-head-as-array.t ........
not ok 1
not ok 2
not ok 3
not ok 4
not ok 5
1..5
Dubious, test returned 5 (wstat 1280, 0x500)
Failed 5/5 subtests
# Failed test at t/chunked-trailer.t line 36.
# got: '0'
# expected: '200'
# Failed test at t/chunked-trailer.t line 37.
# got: undef
# expected: 'Wikipedia in
#
# chunks.'
# Failed test at t/chunked-trailer.t line 39.
# Structures begin differing at:
# $got = undef
# $expected = HASH(0x4f7608)
# Failed test at t/chunked-trailer.t line 53.
# got: '2'
# expected: '64'
# Failed test at t/chunked-trailer.t line 54.
# undef
# doesn't match '(?^:0 byte)'
# Looks like you failed 5 tests of 5.
t/chunked-trailer.t ......................
not ok 1
not ok 2
not ok 3
not ok 4
not ok 5
1..5
Dubious, test returned 5 (wstat 1280, 0x500)
Failed 5/5 subtests
# Failed test at t/chunked.t line 35.
# got: '0'
# expected: '200'
# Failed test at t/chunked.t line 36.
# got: undef
# expected: 'Wikipedia in
#
# chunks.'
# Failed test at t/chunked.t line 38.
# Structures begin differing at:
# $got = undef
# $expected = HASH(0x4f7608)
# Failed test at t/chunked.t line 53.
# got: '2'
# expected: '64'
# Failed test at t/chunked.t line 54.
# undef
# doesn't match '(?^:0 byte)'
# Looks like you failed 5 tests of 5.
t/chunked.t ..............................
not ok 1
not ok 2
not ok 3
not ok 4
not ok 5
1..5
Dubious, test returned 5 (wstat 1280, 0x500)
Failed 5/5 subtests
t/live-connect-timeout.t ................. skipped: Enable live testing by setting env: TEST_LIVE=1
t/live-couchdb.t ......................... skipped: Enable live testing by setting env: TEST_LIVE=1
t/live-elasticsearch.t ................... skipped: Enable live testing by setting env: TEST_LIVE=1
t/live-google.t .......................... skipped: Enable live testing by setting env: TEST_LIVE=1
t/live-invalid-domain.t .................. skipped: Enable live testing by setting env: TEST_LIVE=1
t/live-plack.t ........................... skipped: Enable live testing by setting env: TEST_LIVE=1
# Failed test at t/parse-http-connection-close-message.t line 35.
# got: '0'
# expected: '200'
# Failed test at t/parse-http-connection-close-message.t line 36.
# got: undef
# expected: ''
# Failed test at t/parse-http-connection-close-message.t line 38.
# Structures begin differing at:
# $got = undef
# $expected = HASH(0x4f7608)
# Failed test at t/parse-http-connection-close-message.t line 48.
# got: '2'
# expected: '64'
# Failed test at t/parse-http-connection-close-message.t line 49.
# undef
# doesn't match '(?^:0 byte)'
# Looks like you failed 5 tests of 5.
t/parse-http-connection-close-message.t ..
not ok 1
not ok 2
not ok 3
not ok 4
not ok 5
1..5
Dubious, test returned 5 (wstat 1280, 0x500)
Failed 5/5 subtests
# Failed test at t/parse-http-message-head-as-array.t line 33.
# got: undef
# expected: 'HTTP/1.1'
# Failed test at t/parse-http-message-head-as-array.t line 34.
# got: '0'
# expected: '200'
# Failed test at t/parse-http-message-head-as-array.t line 35.
# got: undef
# expected: 'OHAI'
# Failed test at t/parse-http-message-head-as-array.t line 37.
# Structures begin differing at:
# $got = undef
# $expected = ARRAY(0x4f7608)
# Looks like you failed 4 tests of 4.
t/parse-http-message-head-as-array.t .....
not ok 1
not ok 2
not ok 3
not ok 4
1..4
Dubious, test returned 4 (wstat 1024, 0x400)
Failed 4/4 subtests
# Failed test at t/parse-http-message.t line 33.
# got: undef
# expected: 'HTTP/1.1'
# Failed test at t/parse-http-message.t line 34.
# got: '0'
# expected: '200'
# Failed test at t/parse-http-message.t line 35.
# got: undef
# expected: 'OHAI'
# Failed test at t/parse-http-message.t line 37.
# Structures begin differing at:
# $got = undef
# $expected = HASH(0x4f7608)
# Looks like you failed 4 tests of 4.
t/parse-http-message.t ...................
not ok 1
not ok 2
not ok 3
not ok 4
1..4
Dubious, test returned 4 (wstat 1024, 0x400)
Failed 4/4 subtests
# Failed test at t/parse-http-no-content-len-message.t line 35.
# got: '0'
# expected: '200'
# Failed test at t/parse-http-no-content-len-message.t line 36.
# Structures begin differing at:
# $got = undef
# $expected = HASH(0x4f7608)
# Failed test at t/parse-http-no-content-len-message.t line 44.
# got: undef
# expected: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
# Failed test at t/parse-http-no-content-len-message.t line 47.
# got: '2'
# expected: '64'
# Failed test at t/parse-http-no-content-len-message.t line 48.
# undef
# doesn't match '(?^:0 byte)'
# Looks like you failed 5 tests of 5.
t/parse-http-no-content-len-message.t ....
not ok 1
not ok 2
not ok 3
not ok 4
not ok 5
1..5
Dubious, test returned 5 (wstat 1280, 0x500)
Failed 5/5 subtests
Test Summary Report
-------------------
t/chunked-trailer-head-as-array.t (Wstat: 1280 Tests: 5 Failed: 5)
Failed tests: 1-5
Non-zero exit status: 5
t/chunked-trailer.t (Wstat: 1280 Tests: 5 Failed: 5)
Failed tests: 1-5
Non-zero exit status: 5
t/chunked.t (Wstat: 1280 Tests: 5 Failed: 5)
Failed tests: 1-5
Non-zero exit status: 5
t/parse-http-connection-close-message.t (Wstat: 1280 Tests: 5 Failed: 5)
Failed tests: 1-5
Non-zero exit status: 5
t/parse-http-message-head-as-array.t (Wstat: 1024 Tests: 4 Failed: 4)
Failed tests: 1-4
Non-zero exit status: 4
t/parse-http-message.t (Wstat: 1024 Tests: 4 Failed: 4)
Failed tests: 1-4
Non-zero exit status: 4
t/parse-http-no-content-len-message.t (Wstat: 1280 Tests: 5 Failed: 5)
Failed tests: 1-5
Non-zero exit status: 5
Files=14, Tests=53, 3 wallclock secs ( 0.13 usr + 0.01 sys = 0.14 CPU)
Result: FAIL
Failed 7/14 test programs. 33/53 subtests failed.
dmake: Error code 133, while making 'test_dynamic'
AVAR/Hijk-0.17.tar.gz
dmake test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports AVAR/Hijk-0.17.tar.gz
Running make for D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'get'
Has already been unwrapped into directory C:\cpanfly-5.20\var\cpan\build\Search-Elasticsearch-1.14-ICGVWF
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'make'
CPAN.pm: Building D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz
Warning: Prerequisite 'Hijk => 0.12' for 'DRTECH/Search-Elasticsearch-1.14.tar.gz' failed when processing 'AVAR/Hijk-0.17.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
>>> dmake
cp lib/Search/Elasticsearch/Client/Direct/Snapshot.pm blib\lib\Search\Elasticsearch\Client\Direct\Snapshot.pm
cp lib/Search/Elasticsearch/Client/0_90/Direct/Cluster.pm blib\lib\Search\Elasticsearch\Client\0_90\Direct\Cluster.pm
cp lib/Search/Elasticsearch/Client/Direct/Cluster.pm blib\lib\Search\Elasticsearch\Client\Direct\Cluster.pm
cp lib/Search/Elasticsearch/Cxn/HTTPTiny.pm blib\lib\Search\Elasticsearch\Cxn\HTTPTiny.pm
cp lib/Search/Elasticsearch/Bulk.pm blib\lib\Search\Elasticsearch\Bulk.pm
cp lib/Search/Elasticsearch/Client/Direct/Indices.pm blib\lib\Search\Elasticsearch\Client\Direct\Indices.pm
cp lib/Search/Elasticsearch/Client/Direct.pm blib\lib\Search\Elasticsearch\Client\Direct.pm
cp lib/Search/Elasticsearch/Client/Direct/Cat.pm blib\lib\Search\Elasticsearch\Client\Direct\Cat.pm
cp lib/Search/Elasticsearch/Cxn/Factory.pm blib\lib\Search\Elasticsearch\Cxn\Factory.pm
cp lib/Search/Elasticsearch/Client/0_90/Direct/Indices.pm blib\lib\Search\Elasticsearch\Client\0_90\Direct\Indices.pm
cp lib/Search/Elasticsearch.pm blib\lib\Search\Elasticsearch.pm
cp lib/Search/Elasticsearch/Client/Direct/Nodes.pm blib\lib\Search\Elasticsearch\Client\Direct\Nodes.pm
cp lib/Search/Elasticsearch/Client/0_90/Direct.pm blib\lib\Search\Elasticsearch\Client\0_90\Direct.pm
cp lib/Search/Elasticsearch/Role/API.pm blib\lib\Search\Elasticsearch\Role\API.pm
cp lib/Search/Elasticsearch/Role/Cxn.pm blib\lib\Search\Elasticsearch\Role\Cxn.pm
cp lib/Search/Elasticsearch/Role/Client.pm blib\lib\Search\Elasticsearch\Role\Client.pm
cp lib/Search/Elasticsearch/CxnPool/Static.pm blib\lib\Search\Elasticsearch\CxnPool\Static.pm
cp lib/Search/Elasticsearch/Logger/LogAny.pm blib\lib\Search\Elasticsearch\Logger\LogAny.pm
cp lib/Search/Elasticsearch/Error.pm blib\lib\Search\Elasticsearch\Error.pm
cp lib/Search/Elasticsearch/Role/Client/Direct.pm blib\lib\Search\Elasticsearch\Role\Client\Direct.pm
cp lib/Search/Elasticsearch/CxnPool/Sniff.pm blib\lib\Search\Elasticsearch\CxnPool\Sniff.pm
cp lib/Search/Elasticsearch/Role/API/0_90.pm blib\lib\Search\Elasticsearch\Role\API\0_90.pm
cp lib/Search/Elasticsearch/CxnPool/Static/NoPing.pm blib\lib\Search\Elasticsearch\CxnPool\Static\NoPing.pm
cp lib/Search/Elasticsearch/Cxn/Hijk.pm blib\lib\Search\Elasticsearch\Cxn\Hijk.pm
cp lib/Search/Elasticsearch/Cxn/LWP.pm blib\lib\Search\Elasticsearch\Cxn\LWP.pm
cp lib/Search/Elasticsearch/Role/Bulk.pm blib\lib\Search\Elasticsearch\Role\Bulk.pm
cp lib/Search/Elasticsearch/Role/Cxn/HTTP.pm blib\lib\Search\Elasticsearch\Role\Cxn\HTTP.pm
cp lib/Search/Elasticsearch/Role/Scroll.pm blib\lib\Search\Elasticsearch\Role\Scroll.pm
cp lib/Search/Elasticsearch/Role/Serializer/JSON.pm blib\lib\Search\Elasticsearch\Role\Serializer\JSON.pm
cp lib/Search/Elasticsearch/Role/CxnPool/Static/NoPing.pm blib\lib\Search\Elasticsearch\Role\CxnPool\Static\NoPing.pm
cp lib/Search/Elasticsearch/Role/Serializer.pm blib\lib\Search\Elasticsearch\Role\Serializer.pm
cp lib/Search/Elasticsearch/Role/CxnPool.pm blib\lib\Search\Elasticsearch\Role\CxnPool.pm
cp lib/Search/Elasticsearch/Role/CxnPool/Static.pm blib\lib\Search\Elasticsearch\Role\CxnPool\Static.pm
cp lib/Search/Elasticsearch/Role/Logger.pm blib\lib\Search\Elasticsearch\Role\Logger.pm
cp lib/Search/Elasticsearch/Role/CxnPool/Sniff.pm blib\lib\Search\Elasticsearch\Role\CxnPool\Sniff.pm
cp lib/Search/Elasticsearch/Serializer/JSON/Cpanel.pm blib\lib\Search\Elasticsearch\Serializer\JSON\Cpanel.pm
cp lib/Search/Elasticsearch/Role/Is_Sync.pm blib\lib\Search\Elasticsearch\Role\Is_Sync.pm
cp lib/Search/Elasticsearch/Scroll.pm blib\lib\Search\Elasticsearch\Scroll.pm
cp lib/Search/Elasticsearch/Serializer/JSON.pm blib\lib\Search\Elasticsearch\Serializer\JSON.pm
cp lib/Search/Elasticsearch/Role/Transport.pm blib\lib\Search\Elasticsearch\Role\Transport.pm
cp lib/Search/Elasticsearch/Util/API/QS.pm blib\lib\Search\Elasticsearch\Util\API\QS.pm
cp lib/Search/Elasticsearch/Serializer/JSON/PP.pm blib\lib\Search\Elasticsearch\Serializer\JSON\PP.pm
cp lib/Search/Elasticsearch/TestServer.pm blib\lib\Search\Elasticsearch\TestServer.pm
cp lib/Search/Elasticsearch/Util/API/Path.pm blib\lib\Search\Elasticsearch\Util\API\Path.pm
cp lib/Search/Elasticsearch/Transport.pm blib\lib\Search\Elasticsearch\Transport.pm
cp lib/Search/Elasticsearch/Util.pm blib\lib\Search\Elasticsearch\Util.pm
cp lib/Search/Elasticsearch/Serializer/JSON/XS.pm blib\lib\Search\Elasticsearch\Serializer\JSON\XS.pm
DRTECH/Search-Elasticsearch-1.14.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/10_Basic/*.t t/20_Serializer/*.t t/30_Logger/*.t t/40_Transport/*.t t/50_Cxn_Pool/*.t t/60_Cxn/*.t t/70_Helper/*.t t/90_Client_Spec/*.t
t/10_Basic/10_load.t ..........................
ok 1 - use Search::Elasticsearch;
ok 2 - 'client' isa 'Search::Elasticsearch::Client::Direct'
ok 3 - 'transport' isa 'Search::Elasticsearch::Transport'
ok 4 - 'cxn_pool' isa 'Search::Elasticsearch::CxnPool::Static'
ok 5 - 'cxn_factory' isa 'Search::Elasticsearch::Cxn::Factory'
ok 6 - 'logger' isa 'Search::Elasticsearch::Logger::LogAny'
1..6
ok
t/20_Serializer/10_load_cpanel.t ..............
ok 1 - 'Cpanel' isa 'Cpanel::JSON::XS'
1..1
ok
t/20_Serializer/11_load_xs.t ..................
ok 1 - 'JSON::XS' isa 'JSON::XS'
1..1
ok
t/20_Serializer/12_load_pp.t ..................
ok 1 - 'JSON::PP' isa 'JSON::PP'
1..1
ok
t/20_Serializer/13_preload_cpanel.t ...........
ok 1 - 'Cpanel' isa 'Cpanel::JSON::XS'
1..1
ok
t/20_Serializer/14_preload_xs.t ...............
ok 1 - 'JSON::XS' isa 'JSON::XS'
1..1
ok
t/20_Serializer/20_xs_encode_decode.t .........
ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::XS'
ok 2 - Enc - No args returns undef
ok 3 - Enc - Undef returns undef
ok 4 - Enc - Empty string returns same
ok 5 - Enc - String returns same
ok 6 - Enc - Unicode string returns encoded
ok 7 - Enc - Unicode bytes returns same
ok 8 - Enc - Hash returns JSON
ok 9 - Enc - Array returns JSON
ok 10 - Enc - scalar ref dies
1..10
ok
t/20_Serializer/21_xs_encode_bulk.t ...........
ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::XS'
ok 2 - Mime type is JSON
ok 3 - Enc - No args returns undef
ok 4 - Enc - Undef returns undef
ok 5 - Enc - Empty string returns same
ok 6 - Enc - String returns same
ok 7 - Enc - Unicode string returns encoded
ok 8 - Enc - Unicode bytes returns same
ok 9 - Enc - Hash returns JSON
ok 10 - Enc - Array returns JSON
ok 11 - Enc - scalar ref dies
ok 12 - Dec - No args returns undef
ok 13 - Dec - Undef returns undef
ok 14 - Dec - Empty string returns same
ok 15 - Dec - String returns same
ok 16 - Dec - Unicode bytes returns decoded
ok 17 - Dec - Unicode string returns same
ok 18 - Dec - JSON returns hash
ok 19 - Dec - JSON returns array
ok 20 - Dec - invalid JSON dies
1..20
ok
t/20_Serializer/22_xs_encode_pretty.t .........
ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::XS'
ok 2 - Mime type is JSON
ok 3 - Enc - No args returns undef
ok 4 - Enc - Undef returns undef
ok 5 - Enc - Empty string returns same
ok 6 - Enc - String returns same
ok 7 - Enc - Unicode string returns encoded
ok 8 - Enc - Unicode bytes returns same
ok 9 - Enc - Hash returns JSON
ok 10 - Enc - Array returns JSON
ok 11 - Enc - scalar ref dies
ok 12 - Dec - No args returns undef
ok 13 - Dec - Undef returns undef
ok 14 - Dec - Empty string returns same
ok 15 - Dec - String returns same
ok 16 - Dec - Unicode bytes returns decoded
ok 17 - Dec - Unicode string returns same
ok 18 - Dec - JSON returns hash
ok 19 - Dec - JSON returns array
ok 20 - Dec - invalid JSON dies
1..20
ok
t/20_Serializer/30_cpanel_encode_decode.t .....
ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::Cpanel'
ok 2 - Enc - No args returns undef
ok 3 - Enc - Undef returns undef
ok 4 - Enc - Empty string returns same
ok 5 - Enc - String returns same
ok 6 - Enc - Unicode string returns encoded
ok 7 - Enc - Unicode bytes returns same
ok 8 - Enc - Hash returns JSON
ok 9 - Enc - Array returns JSON
ok 10 - Enc - scalar ref dies
1..10
ok
t/20_Serializer/31_cpanel_encode_bulk.t .......
ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::Cpanel'
ok 2 - Mime type is JSON
ok 3 - Enc - No args returns undef
ok 4 - Enc - Undef returns undef
ok 5 - Enc - Empty string returns same
ok 6 - Enc - String returns same
ok 7 - Enc - Unicode string returns encoded
ok 8 - Enc - Unicode bytes returns same
ok 9 - Enc - Hash returns JSON
ok 10 - Enc - Array returns JSON
ok 11 - Enc - scalar ref dies
ok 12 - Dec - No args returns undef
ok 13 - Dec - Undef returns undef
ok 14 - Dec - Empty string returns same
ok 15 - Dec - String returns same
ok 16 - Dec - Unicode bytes returns decoded
ok 17 - Dec - Unicode string returns same
ok 18 - Dec - JSON returns hash
ok 19 - Dec - JSON returns array
ok 20 - Dec - invalid JSON dies
1..20
ok
t/20_Serializer/32_cpanel_encode_pretty.t .....
ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::Cpanel'
ok 2 - Mime type is JSON
ok 3 - Enc - No args returns undef
ok 4 - Enc - Undef returns undef
ok 5 - Enc - Empty string returns same
ok 6 - Enc - String returns same
ok 7 - Enc - Unicode string returns encoded
ok 8 - Enc - Unicode bytes returns same
ok 9 - Enc - Hash returns JSON
ok 10 - Enc - Array returns JSON
ok 11 - Enc - scalar ref dies
ok 12 - Dec - No args returns undef
ok 13 - Dec - Undef returns undef
ok 14 - Dec - Empty string returns same
ok 15 - Dec - String returns same
ok 16 - Dec - Unicode bytes returns decoded
ok 17 - Dec - Unicode string returns same
ok 18 - Dec - JSON returns hash
ok 19 - Dec - JSON returns array
ok 20 - Dec - invalid JSON dies
1..20
ok
t/20_Serializer/40_pp_encode_decode.t .........
ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::PP'
ok 2 - Enc - No args returns undef
ok 3 - Enc - Undef returns undef
ok 4 - Enc - Empty string returns same
ok 5 - Enc - String returns same
ok 6 - Enc - Unicode string returns encoded
ok 7 - Enc - Unicode bytes returns same
ok 8 - Enc - Hash returns JSON
ok 9 - Enc - Array returns JSON
ok 10 - Enc - scalar ref dies
1..10
ok
t/20_Serializer/41_pp_encode_bulk.t ...........
ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::PP'
ok 2 - Mime type is JSON
ok 3 - Enc - No args returns undef
ok 4 - Enc - Undef returns undef
ok 5 - Enc - Empty string returns same
ok 6 - Enc - String returns same
ok 7 - Enc - Unicode string returns encoded
ok 8 - Enc - Unicode bytes returns same
ok 9 - Enc - Hash returns JSON
ok 10 - Enc - Array returns JSON
ok 11 - Enc - scalar ref dies
ok 12 - Dec - No args returns undef
ok 13 - Dec - Undef returns undef
ok 14 - Dec - Empty string returns same
ok 15 - Dec - String returns same
ok 16 - Dec - Unicode bytes returns decoded
ok 17 - Dec - Unicode string returns same
ok 18 - Dec - JSON returns hash
ok 19 - Dec - JSON returns array
ok 20 - Dec - invalid JSON dies
1..20
ok
t/20_Serializer/42_pp_encode_pretty.t .........
ok 1 - 'Serializer' isa 'Search::Elasticsearch::Serializer::JSON::PP'
ok 2 - Mime type is JSON
ok 3 - Enc - No args returns undef
ok 4 - Enc - Undef returns undef
ok 5 - Enc - Empty string returns same
ok 6 - Enc - String returns same
ok 7 - Enc - Unicode string returns encoded
ok 8 - Enc - Unicode bytes returns same
ok 9 - Enc - Hash returns JSON
ok 10 - Enc - Array returns JSON
ok 11 - Enc - scalar ref dies
ok 12 - Dec - No args returns undef
ok 13 - Dec - Undef returns undef
ok 14 - Dec - Empty string returns same
ok 15 - Dec - String returns same
ok 16 - Dec - Unicode bytes returns decoded
ok 17 - Dec - Unicode string returns same
ok 18 - Dec - JSON returns hash
ok 19 - Dec - JSON returns array
ok 20 - Dec - invalid JSON dies
1..20
ok
Current cxns: ['http://localhost:9200']
Forcing ping before next use on all live cxns
Ping [http://localhost:9200] before next request
t/30_Logger/10_explicit.t .....................
ok 1 - 'Default Logger' isa 'Search::Elasticsearch::Logger::LogAny'
ok 2 - Log as
ok 3 - Trace as
ok 4 - 'Default - Log to NULL' isa 'Log::Any::Adapter::Null'
ok 5 - 'Default - Trace to NULL' isa 'Log::Any::Adapter::Null'
ok 6 - 'Std Logger' isa 'Search::Elasticsearch::Logger::LogAny'
ok 7 - 'Std - Log to Stderr' isa 'Log::Any::Adapter::Stderr'
ok 8 - 'Std - Trace to Stdout' isa 'Log::Any::Adapter::Stdout'
ok 9 - 'File Logger' isa 'Search::Elasticsearch::Logger::LogAny'
ok 10 - 'File - Log to file' isa 'Log::Any::Adapter::File'
ok 11 - 'File - Trace to file' isa 'Log::Any::Adapter::File'
1..11
ok
Current cxns: ['http://localhost:9200']
Forcing ping before next use on all live cxns
Ping [http://localhost:9200] before next request
t/30_Logger/20_implicit.t .....................
Current cxns: ['http://localhost:9200']
Forcing ping before next use on all live cxns
Ping [http://localhost:9200] before next request
ok 1 - 'Default Logger' isa 'Search::Elasticsearch::Logger::LogAny'
ok 2 - 'Default - Log to Stdout' isa 'Log::Any::Adapter::Stdout'
ok 3 - 'Default - Trace to Stderr' isa 'Log::Any::Adapter::Stderr'
ok 4 - 'Override Logger' isa 'Search::Elasticsearch::Logger::LogAny'
ok 5 - 'Override - Log to Stderr' isa 'Log::Any::Adapter::Stderr'
ok 6 - 'Override - Trace to Stdout' isa 'Log::Any::Adapter::Stdout'
1..6
ok
t/30_Logger/30_log_methods.t ..................
ok 1 - 'Logger' isa 'Search::Elasticsearch::Logger::LogAny'
ok 2 - debug
ok 3 - debug - method
ok 4 - debug - format
ok 5 - debug - params
ok 6 - debugf
ok 7 - debugf - method
ok 8 - debugf - format
ok 9 - debugf - params
ok 10 - is_debug
ok 11 - is_debug - method
ok 12 - is_debug - format
ok 13 - is_debug - params
ok 14 - info
ok 15 - info - method
ok 16 - info - format
ok 17 - info - params
ok 18 - infof
ok 19 - infof - method
ok 20 - infof - format
ok 21 - infof - params
ok 22 - is_info
ok 23 - is_info - method
ok 24 - is_info - format
ok 25 - is_info - params
ok 26 - warning
ok 27 - warning - method
ok 28 - warning - format
ok 29 - warning - params
ok 30 - warningf
ok 31 - warningf - method
ok 32 - warningf - format
ok 33 - warningf - params
ok 34 - is_warning
ok 35 - is_warning - method
ok 36 - is_warning - format
ok 37 - is_warning - params
ok 38 - error
ok 39 - error - method
ok 40 - error - format
ok 41 - error - params
ok 42 - errorf
ok 43 - errorf - method
ok 44 - errorf - format
ok 45 - errorf - params
ok 46 - is_error
ok 47 - is_error - method
ok 48 - is_error - format
ok 49 - is_error - params
ok 50 - critical
ok 51 - critical - method
ok 52 - critical - format
ok 53 - critical - params
ok 54 - criticalf
ok 55 - criticalf - method
ok 56 - criticalf - format
ok 57 - criticalf - params
ok 58 - is_critical
ok 59 - is_critical - method
ok 60 - is_critical - format
ok 61 - is_critical - params
ok 62 - trace
ok 63 - trace - method
ok 64 - trace - format
ok 65 - trace - params
ok 66 - tracef
ok 67 - tracef - method
ok 68 - tracef - format
ok 69 - tracef - params
ok 70 - is_trace
ok 71 - is_trace - method
ok 72 - is_trace - format
ok 73 - is_trace - params
ok 74 - throw_error
ok 75 - throw_error - vars
ok 76 - throw_error - method
ok 77 - throw_error - format
ok 78 - throw_error - params
ok 79 - throw_critical
ok 80 - throw_critical - vars
ok 81 - throw_critical - method
ok 82 - throw_critical - format
ok 83 - throw_critical - params
1..83
ok
t/30_Logger/40_trace_request.t ................
ok 1 - 'Client' isa 'Search::Elasticsearch::Client::Direct'
ok 2 - 'Logger' isa 'Search::Elasticsearch::Logger::LogAny'
ok 3 - Does Search::Elasticsearch::Role::Cxn
ok 4 - No body
ok 5 - No body - format
ok 6 - Body
ok 7 - Body - format
ok 8 - Bulk
ok 9 - Bulk - format
ok 10 - Body string
ok 11 - Body string - format
1..11
ok
t/30_Logger/50_trace_response.t ...............
ok 1 - 'Client' isa 'Search::Elasticsearch::Client::Direct'
ok 2 - 'Logger' isa 'Search::Elasticsearch::Logger::LogAny'
ok 3 - Does Search::Elasticsearch::Role::Cxn
ok 4 - No body
ok 5 - No body - format
ok 6 - Body
ok 7 - Body - format
1..7
ok
t/30_Logger/60_trace_error.t ..................
ok 1 - 'Client' isa 'Search::Elasticsearch::Client::Direct'
ok 2 - 'Logger' isa 'Search::Elasticsearch::Logger::LogAny'
ok 3 - Does Search::Elasticsearch::Role::Cxn
ok 4 - No body
ok 5 - No body - format
ok 6 - Body
ok 7 - Body - format
1..7
ok
t/30_Logger/70_trace_comment.t ................
ok 1 - 'Client' isa 'Search::Elasticsearch::Client::Direct'
ok 2 - 'Logger' isa 'Search::Elasticsearch::Logger::LogAny'
ok 3 - Does Search::Elasticsearch::Role::Cxn
ok 4 - Comment
ok 5 - Comment - format
1..5
ok
t/40_Transport/10_tidy_request.t ..............
ok 1 - An object of class 'Search::Elasticsearch::Transport' isa 'Search::Elasticsearch::Transport'
ok 2 - Empty
ok 3 - Method
ok 4 - Path
ok 5 - QS
ok 6 - Body - Str
ok 7 - Body - Hash
ok 8 - Body - Array
ok 9 - Body - Bulk
ok 10 - MimeType
1..10
ok
t/40_Transport/20_send_body_as.t ..............
ok 1 - GET-empty
ok 2 - GET-body
ok 3 - POST-empty
ok 4 - POST-eody
ok 5 - source-empty
ok 6 - source-body
1..6
ok
t/40_Transport/30_perform_request.t ...........
ok 1 - Simple request
ok 2 - Request error
ok 3 - Timeout error
ok 4 - Timeout resolved
ok 5 - Retried connection error
ok 6 - Cxn then bad ping
ok 7 - Initial bad ping
1..7
ok
t/50_Cxn_Pool/10_static_normal.t ..............
ok 1 - Ping before first use
1..1
ok
t/50_Cxn_Pool/11_static_node_missing.t ........
ok 1 - One node missing
ok 2 - Missing node joined - 2
1..2
ok
t/50_Cxn_Pool/12_static_node_fails.t ..........
ok 1 - One node throws Cxn
ok 2 - Failed node recovers
1..2
ok
t/50_Cxn_Pool/13_static_node_timesout.t .......
ok 1 - One node throws Timeout then recovers
1..1
ok
t/50_Cxn_Pool/14_static_both_nodes_timeout.t ..
ok 1 - One node throws Timeout, causing Timeout on other node
1..1
ok
t/50_Cxn_Pool/15_static_both_nodes_fail.t .....
ok 1 - Both nodes fails then recover
1..1
ok
t/50_Cxn_Pool/16_static_nodes_starting.t ......
ok 1 - Nodes initially unavailable
1..1
ok
t/50_Cxn_Pool/17_static_runaway_nodes.t .......
ok 1 - Runaway nodes
1..1
ok
t/50_Cxn_Pool/30_sniff_normal.t ...............
ok 1 - Sniff before first use
1..1
ok
t/50_Cxn_Pool/31_sniff_new_nodes.t ............
ok 1 - Sniff new nodes
1..1
ok
t/50_Cxn_Pool/32_sniff_node_fails.t ...........
ok 1 - Sniff after failure
1..1
ok
t/50_Cxn_Pool/33_sniff_both_nodes_fail.t ......
ok 1 - Sniff after all nodes fail
1..1
ok
t/50_Cxn_Pool/34_sniff_node_timeout.t .........
ok 1 - Sniff after timeout
1..1
ok
t/50_Cxn_Pool/35_sniff_both_nodes_timeout.t ...
ok 1 - Sniff after both nodes timeout
1..1
ok
t/50_Cxn_Pool/36_sniff_nodes_starting.t .......
ok 1 - Sniff unavailable nodes while starting up
1..1
ok
t/50_Cxn_Pool/37_sniff_runaway_nodes.t ........
ok 1 - Runaway nodes
1..1
ok
t/50_Cxn_Pool/38_bad_sniff.t ..................
ok 1 - Missing http_address
ok 2 - Bad http_address
1..2
ok
t/50_Cxn_Pool/39_sniff_max_content.t ..........
ok 1 - Dynamic max content length
ok 2 - Dynamic max content length
1..2
ok
t/50_Cxn_Pool/50_noping_normal.t ..............
ok 1 - Round robin
1..1
ok
t/50_Cxn_Pool/51_noping_node_fails.t ..........
ok 1 - Node fails and recovers
1..1
ok
t/50_Cxn_Pool/52_noping_node_timesout.t .......
ok 1 - Node timesout and recovers
1..1
ok
t/50_Cxn_Pool/53_noping_all_nodes_fail.t ......
ok 1 - All nodes fail and recover
1..1
ok
t/50_Cxn_Pool/54_noping_nodes_starting.t ......
ok 1 - Nodes starting
1..1
ok
t/50_Cxn_Pool/55_noping_runaway_nodes.t .......
ok 1 - Runaway nodes
1..1
ok
t/50_Cxn_Pool/56_max_retries.t ................
ok 1 - Max retries
1..1
ok
t/50_Cxn_Pool/70_live.t ....................... skipped: No Elasticsearch test node available
t/60_Cxn/10_basic.t ...........................
ok 1 - Does Search::Elasticsearch::Role::Cxn
ok 2 - Cxn is live
ok 3 - No ping failures
ok 4 - No ping scheduled
ok 5 - Cxn is dead
ok 6 - Has ping failure
ok 7 - Ping scheduled
ok 8 - Dead timeout x 1
ok 9 - Cxn still dead
ok 10 - Has 2 ping failures
ok 11 - Ping scheduled
ok 12 - Dead timeout x 2
ok 13 - Cxn still dead
ok 14 - Has 102 ping failures
ok 15 - Ping scheduled
ok 16 - Max dead timeout
ok 17 - Cxn is dead after force ping
ok 18 - Force ping has no ping failures
ok 19 - Next ping scheduled for now
1..19
ok
t/60_Cxn/20_process_response.t ................
ok 1 - Does Search::Elasticsearch::Role::Cxn
ok 2 - OK GET - code
ok 3 - OK GET - body
ok 4 - OK GET Text body - code
ok 5 - OK GET Text body - body
ok 6 - OK GET Empty body - code
ok 7 - OK GET Empty body - body
ok 8 - OK HEAD - code
ok 9 - OK HEAD - body
ok 10 - Missing GET
ok 11 - Missing GET - code
ok 12 - Missing GET - body
ok 13 - Missing HEAD - code
ok 14 - Missing HEAD - body
ok 15 - Request error
ok 16 - Conflict error
ok 17 - Error has current version
ok 18 - Timeout error
1..18
ok
t/60_Cxn/30_http.t ............................
ok 1 - Default - default_headers
ok 2 - Default - host
ok 3 - Default - port
ok 4 - Default - scheme
ok 5 - Default - uri
ok 6 - Default - userinfo
ok 7 - Host - default_headers
ok 8 - Host - host
ok 9 - Host - port
ok 10 - Host - scheme
ok 11 - Host - uri
ok 12 - Host - userinfo
ok 13 - Host:Port - default_headers
ok 14 - Host:Port - host
ok 15 - Host:Port - port
ok 16 - Host:Port - scheme
ok 17 - Host:Port - uri
ok 18 - Host:Port - userinfo
ok 19 - HTTPS - default_headers
ok 20 - HTTPS - host
ok 21 - HTTPS - port
ok 22 - HTTPS - scheme
ok 23 - HTTPS - uri
ok 24 - HTTPS - userinfo
ok 25 - Path - default_headers
ok 26 - Path - host
ok 27 - Path - port
ok 28 - Path - scheme
ok 29 - Path - uri
ok 30 - Path - userinfo
ok 31 - Userinfo - default_headers
ok 32 - Userinfo - host
ok 33 - Userinfo - port
ok 34 - Userinfo - scheme
ok 35 - Userinfo - uri
ok 36 - Userinfo - userinfo
ok 37 - HTTPS option - default_headers
ok 38 - HTTPS option - host
ok 39 - HTTPS option - port
ok 40 - HTTPS option - scheme
ok 41 - HTTPS option - uri
ok 42 - HTTPS option - userinfo
ok 43 - HTTPS option with settings - default_headers
ok 44 - HTTPS option with settings - host
ok 45 - HTTPS option with settings - port
ok 46 - HTTPS option with settings - scheme
ok 47 - HTTPS option with settings - uri
ok 48 - HTTPS option with settings - userinfo
ok 49 - Port option - default_headers
ok 50 - Port option - host
ok 51 - Port option - port
ok 52 - Port option - scheme
ok 53 - Port option - uri
ok 54 - Port option - userinfo
ok 55 - Port option with settings - default_headers
ok 56 - Port option with settings - host
ok 57 - Port option with settings - port
ok 58 - Port option with settings - scheme
ok 59 - Port option with settings - uri
ok 60 - Port option with settings - userinfo
ok 61 - Path option - default_headers
ok 62 - Path option - host
ok 63 - Path option - port
ok 64 - Path option - scheme
ok 65 - Path option - uri
ok 66 - Path option - userinfo
ok 67 - Path option with settings - default_headers
ok 68 - Path option with settings - host
ok 69 - Path option with settings - port
ok 70 - Path option with settings - scheme
ok 71 - Path option with settings - uri
ok 72 - Path option with settings - userinfo
ok 73 - Userinfo option - default_headers
ok 74 - Userinfo option - host
ok 75 - Userinfo option - port
ok 76 - Userinfo option - scheme
ok 77 - Userinfo option - uri
ok 78 - Userinfo option - userinfo
ok 79 - Userinfo option with settings - default_headers
ok 80 - Userinfo option with settings - host
ok 81 - Userinfo option with settings - port
ok 82 - Userinfo option with settings - scheme
ok 83 - Userinfo option with settings - uri
ok 84 - Userinfo option with settings - userinfo
ok 85 - Deflate option - default_headers
ok 86 - Deflate option - host
ok 87 - Deflate option - port
ok 88 - Deflate option - scheme
ok 89 - Deflate option - uri
ok 90 - Deflate option - userinfo
ok 91 - Hash host - default_headers
ok 92 - Hash host - host
ok 93 - Hash host - port
ok 94 - Hash host - scheme
ok 95 - Hash host - uri
ok 96 - Hash host - userinfo
ok 97 - Hash port - default_headers
ok 98 - Hash port - host
ok 99 - Hash port - port
ok 100 - Hash port - scheme
ok 101 - Hash port - uri
ok 102 - Hash port - userinfo
ok 103 - Hash path - default_headers
ok 104 - Hash path - host
ok 105 - Hash path - port
ok 106 - Hash path - scheme
ok 107 - Hash path - uri
ok 108 - Hash path - userinfo
1..108
ok
t/60_Cxn/40_fork_httptiny.t ................... skipped: No Elasticsearch test node available
t/60_Cxn/41_fork_lwp.t ........................ skipped: No Elasticsearch test node available
t/60_Cxn/42_fork_hijk.t ....................... skipped: No Elasticsearch test node available
t/60_Cxn/43_fork_netcurl.t .................... skipped: No Elasticsearch test node available
t/70_Helper/10_bulk_add_action.t .............. skipped: No Elasticsearch test node available
t/70_Helper/20_bulk_helpers.t ................. skipped: No Elasticsearch test node available
t/70_Helper/30_bulk_flush.t ................... skipped: No Elasticsearch test node available
t/70_Helper/40_bulk_errors.t .................. skipped: No Elasticsearch test node available
t/70_Helper/50_scroll.t ....................... skipped: No Elasticsearch test node available
t/70_Helper/60_reindex.t ...................... skipped: No Elasticsearch test node available
t/90_Client_Spec/00_print_version.t ........... skipped: No Elasticsearch test node available
t/release-eol.t ............................... skipped: these tests are for release candidate testing
t/release-no-tabs.t ........................... skipped: these tests are for release candidate testing
t/release-pod-syntax.t ........................ skipped: these tests are for release candidate testing
All tests successful.
Files=68, Tests=488, 48 wallclock secs ( 0.42 usr + 0.05 sys = 0.47 CPU)
Result: PASS
DRTECH/Search-Elasticsearch-1.14.tar.gz
Tests succeeded but one dependency not OK (Hijk)
DRTECH/Search-Elasticsearch-1.14.tar.gz
[dependencies] -- NA
Running test for module 'Search::Elasticsearch::Scroll'
Running make for D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'get'
Has already been unwrapped into directory C:\cpanfly-5.20\var\cpan\build\Search-Elasticsearch-1.14-ICGVWF
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'make'
Warning: Prerequisite 'Hijk => 0.12' for 'DRTECH/Search-Elasticsearch-1.14.tar.gz' failed when processing 'AVAR/Hijk-0.17.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
Has already been made
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'test'
Running make test
Has already been tested within this command
Running make for M/MI/MICKEY/MetaCPAN-Client-1.007000.tar.gz
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'get'
Has already been unwrapped into directory C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'make'
CPAN.pm: Building M/MI/MICKEY/MetaCPAN-Client-1.007000.tar.gz
Warning: Prerequisite 'Search::Elasticsearch => 1.10' for 'MICKEY/MetaCPAN-Client-1.007000.tar.gz' failed when processing 'DRTECH/Search-Elasticsearch-1.14.tar.gz' with 'make_test => NO one dependency not OK (Hijk)'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Search::Elasticsearch::Scroll => 0' for 'MICKEY/MetaCPAN-Client-1.007000.tar.gz' failed when processing 'DRTECH/Search-Elasticsearch-1.14.tar.gz' with 'make_test => NO one dependency not OK (Hijk)'. Continuing, but chances to succeed are limited.
>>> dmake
cp lib/MetaCPAN/Client/Favorite.pm blib\lib\MetaCPAN\Client\Favorite.pm
cp lib/MetaCPAN/Client/Release.pm blib\lib\MetaCPAN\Client\Release.pm
cp lib/MetaCPAN/Client/Author.pm blib\lib\MetaCPAN\Client\Author.pm
cp lib/MetaCPAN/Client/File.pm blib\lib\MetaCPAN\Client\File.pm
cp lib/MetaCPAN/Client/Distribution.pm blib\lib\MetaCPAN\Client\Distribution.pm
cp lib/MetaCPAN/Client/Pod.pm blib\lib\MetaCPAN\Client\Pod.pm
cp lib/MetaCPAN/Client/Request.pm blib\lib\MetaCPAN\Client\Request.pm
cp lib/MetaCPAN/Client/Rating.pm blib\lib\MetaCPAN\Client\Rating.pm
cp lib/MetaCPAN/Client/ResultSet.pm blib\lib\MetaCPAN\Client\ResultSet.pm
cp lib/MetaCPAN/Client/Module.pm blib\lib\MetaCPAN\Client\Module.pm
cp lib/MetaCPAN/Client.pm blib\lib\MetaCPAN\Client.pm
cp lib/MetaCPAN/Client/Role/Entity.pm blib\lib\MetaCPAN\Client\Role\Entity.pm
MICKEY/MetaCPAN-Client-1.007000.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/api/*.t
# Failed test 'MetaCPAN/Client.pm loaded ok'
# at t/00-compile.t line 48.
# got: '512'
# expected: '0'
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at -e line 1.
# Failed test 'MetaCPAN/Client/Request.pm loaded ok'
# at t/00-compile.t line 48.
# got: '512'
# expected: '0'
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at -e line 1.
# Looks like you failed 2 tests of 12.
t/00-compile.t ............
1..12
not ok 1 - MetaCPAN/Client.pm loaded ok
ok 2 - MetaCPAN/Client/Author.pm loaded ok
ok 3 - MetaCPAN/Client/Distribution.pm loaded ok
ok 4 - MetaCPAN/Client/Favorite.pm loaded ok
ok 5 - MetaCPAN/Client/File.pm loaded ok
ok 6 - MetaCPAN/Client/Module.pm loaded ok
ok 7 - MetaCPAN/Client/Pod.pm loaded ok
ok 8 - MetaCPAN/Client/Rating.pm loaded ok
ok 9 - MetaCPAN/Client/Release.pm loaded ok
not ok 10 - MetaCPAN/Client/Request.pm loaded ok
ok 11 - MetaCPAN/Client/ResultSet.pm loaded ok
ok 12 - MetaCPAN/Client/Role/Entity.pm loaded ok
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/12 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/_get.t line 8.
BEGIN failed--compilation aborted at t/api/_get.t line 8.
t/api/_get.t ..............
1..13
Dubious, test returned 2 (wstat 512, 0x200)
Failed 13/13 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/_get_or_search.t line 8.
BEGIN failed--compilation aborted at t/api/_get_or_search.t line 8.
t/api/_get_or_search.t ....
1..10
Dubious, test returned 2 (wstat 512, 0x200)
Failed 10/10 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/_search.t line 8.
BEGIN failed--compilation aborted at t/api/_search.t line 8.
t/api/_search.t ...........
1..19
Dubious, test returned 2 (wstat 512, 0x200)
Failed 19/19 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/author.t line 8.
BEGIN failed--compilation aborted at t/api/author.t line 8.
t/api/author.t ............
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/distribution.t line 8.
BEGIN failed--compilation aborted at t/api/distribution.t line 8.
t/api/distribution.t ......
1..5
Dubious, test returned 2 (wstat 512, 0x200)
Failed 5/5 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/favorite.t line 8.
BEGIN failed--compilation aborted at t/api/favorite.t line 8.
t/api/favorite.t ..........
1..10
Dubious, test returned 2 (wstat 512, 0x200)
Failed 10/10 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/file.t line 8.
BEGIN failed--compilation aborted at t/api/file.t line 8.
t/api/file.t ..............
1..10
Dubious, test returned 2 (wstat 512, 0x200)
Failed 10/10 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/module.t line 8.
BEGIN failed--compilation aborted at t/api/module.t line 8.
t/api/module.t ............
1..10
Dubious, test returned 2 (wstat 512, 0x200)
Failed 10/10 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/pod.t line 7.
BEGIN failed--compilation aborted at t/api/pod.t line 7.
t/api/pod.t ...............
1..5
Dubious, test returned 2 (wstat 512, 0x200)
Failed 5/5 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/rating.t line 8.
BEGIN failed--compilation aborted at t/api/rating.t line 8.
t/api/rating.t ............
1..7
Dubious, test returned 2 (wstat 512, 0x200)
Failed 7/7 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/lib/Functions.pm line 3.
BEGIN failed--compilation aborted at t/lib/Functions.pm line 3.
Compilation failed in require at t/api/release.t line 8.
BEGIN failed--compilation aborted at t/api/release.t line 8.
t/api/release.t ...........
1..5
Dubious, test returned 2 (wstat 512, 0x200)
Failed 5/5 subtests
t/author-critic.t ......... skipped: these tests are for testing by the author
t/entity.t ................
1..6
ok 1 - data is missing, causing exception
ok 2 - data available, not causing exception
ok 3 - Subroutine _known_fields missing
ok 4 - data available, not causing exception
ok 5 - An object of class 'MetaCPAN::Client::FakeEntityFull' isa 'MetaCPAN::Client::FakeEntityFull'
ok 6 - Correct data
ok
t/release-pod-coverage.t .. skipped: these tests are for release candidate testing
t/release-pod-syntax.t .... skipped: these tests are for release candidate testing
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at t/request.t line 7.
BEGIN failed--compilation aborted at t/request.t line 7.
t/request.t ...............
1..7
Dubious, test returned 2 (wstat 512, 0x200)
Failed 7/7 subtests
Base class package "Search::Elasticsearch::Scroll" is empty.
(Perhaps you need to 'use' the module which defines that package first,
or make that module available in @INC (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .).
at t/resultset.t line 12.
BEGIN failed--compilation aborted at t/resultset.t line 12.
t/resultset.t .............
1..3
Dubious, test returned 2 (wstat 512, 0x200)
Failed 3/3 subtests
Can't locate Search/Elasticsearch.pm in @INC (you may need to install the Search::Elasticsearch module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client/Request.pm line 9.
Compilation failed in require at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
BEGIN failed--compilation aborted at C:\cpanfly-5.20\var\cpan\build\MetaCPAN-Client-1.007000-EvI1VR\blib\lib/MetaCPAN/Client.pm line 9.
Compilation failed in require at t/ua_trap.t line 34.
BEGIN failed--compilation aborted at t/ua_trap.t line 34.
t/ua_trap.t ...............
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
Test Summary Report
-------------------
t/00-compile.t (Wstat: 512 Tests: 12 Failed: 2)
Failed tests: 1, 10
Non-zero exit status: 2
t/api/_get.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 13 tests but ran 0.
t/api/_get_or_search.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 10 tests but ran 0.
t/api/_search.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 19 tests but ran 0.
t/api/author.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: No plan found in TAP output
t/api/distribution.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 5 tests but ran 0.
t/api/favorite.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 10 tests but ran 0.
t/api/file.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 10 tests but ran 0.
t/api/module.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 10 tests but ran 0.
t/api/pod.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 5 tests but ran 0.
t/api/rating.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 7 tests but ran 0.
t/api/release.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 5 tests but ran 0.
t/request.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 7 tests but ran 0.
t/resultset.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 3 tests but ran 0.
t/ua_trap.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: No plan found in TAP output
Files=19, Tests=18, 7 wallclock secs ( 0.03 usr + 0.06 sys = 0.10 CPU)
Result: FAIL
Failed 15/19 test programs. 2/18 subtests failed.
dmake: Error code 130, while making 'test_dynamic'
MICKEY/MetaCPAN-Client-1.007000.tar.gz
2 dependencies missing (Search::Elasticsearch::Scroll,Search::Elasticsearch); additionally test harness failed
dmake test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports MICKEY/MetaCPAN-Client-1.007000.tar.gz
Running test for module 'Test::WriteVariants'
Running make for T/TI/TIMB/Test-WriteVariants-0.007.tar.gz
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'get'
Fetching with LWP:
http://cpan.nas1.activestate.com/authors/id/T/TI/TIMB/Test-WriteVariants-0.007.tar.gz
Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\T\TI\TIMB\Test-WriteVariants-0.007.tar.gz ok
Test-WriteVariants-0.007/
Test-WriteVariants-0.007/Changes
Test-WriteVariants-0.007/lib/
Test-WriteVariants-0.007/Makefile.PL
Test-WriteVariants-0.007/MANIFEST
Test-WriteVariants-0.007/META.json
Test-WriteVariants-0.007/META.yml
Test-WriteVariants-0.007/t/
Test-WriteVariants-0.007/t/00-basic.t
Test-WriteVariants-0.007/t/10-simple.t
Test-WriteVariants-0.007/lib/Test/
Test-WriteVariants-0.007/lib/Test/WriteVariants/
Test-WriteVariants-0.007/lib/Test/WriteVariants.pm
Test-WriteVariants-0.007/lib/Test/WriteVariants/Context.pm
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'make'
CPAN.pm: Building T/TI/TIMB/Test-WriteVariants-0.007.tar.gz
>>> C:\Perl64-5.20\bin\perl.exe Makefile.PL
Warning: prerequisite Data::Tumbler 0.002 not found.
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for Test::WriteVariants
Writing MYMETA.yml and MYMETA.json
---- Unsatisfied dependencies detected during ----
---- TIMB/Test-WriteVariants-0.007.tar.gz ----
Data::Tumbler [requires]
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'test'
Running make test
Delayed until after prerequisites
Running test for module 'Data::Tumbler'
Running make for T/TI/TIMB/Data-Tumbler-0.005.tar.gz
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'get'
Fetching with LWP:
http://cpan.nas1.activestate.com/authors/id/T/TI/TIMB/Data-Tumbler-0.005.tar.gz
Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\T\TI\TIMB\Data-Tumbler-0.005.tar.gz ok
Data-Tumbler-0.005/
Data-Tumbler-0.005/Changes
Data-Tumbler-0.005/lib/
Data-Tumbler-0.005/Makefile.PL
Data-Tumbler-0.005/MANIFEST
Data-Tumbler-0.005/META.json
Data-Tumbler-0.005/META.yml
Data-Tumbler-0.005/README
Data-Tumbler-0.005/t/
Data-Tumbler-0.005/t/00-basic.t
Data-Tumbler-0.005/t/10-simple.t
Data-Tumbler-0.005/t/20-examples.t
Data-Tumbler-0.005/t/90-stress.t
Data-Tumbler-0.005/lib/Data/
Data-Tumbler-0.005/lib/Data/Tumbler.pm
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'make'
CPAN.pm: Building T/TI/TIMB/Data-Tumbler-0.005.tar.gz
>>> C:\Perl64-5.20\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for Data::Tumbler
Writing MYMETA.yml and MYMETA.json
>>> dmake
cp lib/Data/Tumbler.pm blib\lib\Data\Tumbler.pm
TIMB/Data-Tumbler-0.005.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/00-basic.t .....
ok 1 - use Data::Tumbler;
1..1
ok
t/10-simple.t ....
ok 1
1..1
ok
t/20-examples.t ..
# Example 1
ok 1
# Example 2
ok 2
1..2
ok
t/90-stress.t ....
ok 1 - should generate 65536 results (4 ^ 8)
# Generated 65536 results (width 4, depth 8) in 1.046875 seconds
1..1
ok
All tests successful.
Files=4, Tests=5, 2 wallclock secs ( 0.06 usr + 0.03 sys = 0.09 CPU)
Result: PASS
TIMB/Data-Tumbler-0.005.tar.gz
dmake test TEST_VERBOSE=1 -- OK
Fetching with LWP:
http://cpan.nas1.activestate.com/authors/id/T/TI/TIMB/CHECKSUMS
Tim Bunce <Tim.Bunce@pobox.com>
Dynamic generation of nested combinations of variants
>>> (cd C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD && tar cvf - Data-Tumbler-0.005.ppd blib) | gzip -c >C:/cpanfly-5.20/var/REPO/T/TI/TIMB/Data-Tumbler-0.005.tar.gz
Data-Tumbler-0.005.ppd
blib/
blib/lib/
blib/lib/Data/
blib/lib/Data/Tumbler.pm
>>> mv C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/Data-Tumbler-0.005.ppd C:/cpanfly-5.20/var/REPO/T/TI/TIMB
Running make for T/TI/TIMB/Test-WriteVariants-0.007.tar.gz
Prepending C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/arch C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/lib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'get'
Has already been unwrapped into directory C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN
Prepending C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/arch C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/lib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'make'
CPAN.pm: Building T/TI/TIMB/Test-WriteVariants-0.007.tar.gz
>>> dmake
cp lib/Test/WriteVariants.pm blib\lib\Test\WriteVariants.pm
cp lib/Test/WriteVariants/Context.pm blib\lib\Test\WriteVariants\Context.pm
TIMB/Test-WriteVariants-0.007.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/arch C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/lib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/00-basic.t ...
ok 1 - use Test::WriteVariants;
1..1
ok
Writing test-directory-tmp-R3S2d/variant1a/variant2a/bar.t
Writing test-directory-tmp-R3S2d/variant1a/variant2a/foo.t
Writing test-directory-tmp-R3S2d/variant1a/variant2b/bar.t
Writing test-directory-tmp-R3S2d/variant1a/variant2b/foo.t
Writing test-directory-tmp-R3S2d/variant1b/variant2a/bar.t
Writing test-directory-tmp-R3S2d/variant1b/variant2a/foo.t
Writing test-directory-tmp-R3S2d/variant1b/variant2b/bar.t
Writing test-directory-tmp-R3S2d/variant1b/variant2b/foo.t
t/10-simple.t ..
ok 1 - Has directory variant1a.
ok 2 - Has directory variant1a/variant2a.
ok 3 - Has file variant1a/variant2a/foo.t.
ok 4 - Has file variant1a/variant2a/bar.t.
ok 5 - Has directory variant1a/variant2b.
ok 6 - Has file variant1a/variant2b/foo.t.
ok 7 - Has file variant1a/variant2b/bar.t.
ok 8 - Has directory variant1b.
ok 9 - Has directory variant1b/variant2a.
ok 10 - Has file variant1b/variant2a/foo.t.
ok 11 - Has file variant1b/variant2a/bar.t.
ok 12 - Has directory variant1b/variant2b.
ok 13 - Has file variant1b/variant2b/foo.t.
ok 14 - Has file variant1b/variant2b/bar.t.
1..14
ok
All tests successful.
Files=2, Tests=15, 1 wallclock secs ( 0.08 usr + 0.02 sys = 0.09 CPU)
Result: PASS
TIMB/Test-WriteVariants-0.007.tar.gz
dmake test TEST_VERBOSE=1 -- OK
Tim Bunce <Tim.Bunce@pobox.com>
Dynamic generation of tests in nested combinations of contexts
>>> (cd C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN && tar cvf - Test-WriteVariants-0.007.ppd blib) | gzip -c >C:/cpanfly-5.20/var/REPO/T/TI/TIMB/Test-WriteVariants-0.007.tar.gz
Test-WriteVariants-0.007.ppd
blib/
blib/lib/
blib/lib/Test/
blib/lib/Test/WriteVariants/
blib/lib/Test/WriteVariants/Context.pm
blib/lib/Test/WriteVariants.pm
>>> mv C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/Test-WriteVariants-0.007.ppd C:/cpanfly-5.20/var/REPO/T/TI/TIMB
Running make for R/RE/REHSACK/ExtUtils-BundleMaker-0.006.tar.gz
Prepending C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/lib C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/arch C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/lib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'get'
Has already been unwrapped into directory C:\cpanfly-5.20\var\cpan\build\ExtUtils-BundleMaker-0.006-VyBTXg
Prepending C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/lib C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/arch C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/lib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'make'
CPAN.pm: Building R/RE/REHSACK/ExtUtils-BundleMaker-0.006.tar.gz
Warning: Prerequisite 'MetaCPAN::Client => 0' for 'REHSACK/ExtUtils-BundleMaker-0.006.tar.gz' failed when processing 'MICKEY/MetaCPAN-Client-1.007000.tar.gz' with 'make_test => NO 2 dependencies missing (Search::Elasticsearch::Scroll,Search::Elasticsearch); additionally test harness failed'. Continuing, but chances to succeed are limited.
>>> dmake
cp lib/ExtUtils/BundleMaker.pm blib\lib\ExtUtils\BundleMaker.pm
REHSACK/ExtUtils-BundleMaker-0.006.tar.gz
dmake -- OK
Prepending C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/lib C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/arch C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/lib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib to PERL5LIB for 'test'
Running make test
>>> dmake test TEST_VERBOSE=1
C:\Perl64-5.20\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t xt/*.t
# Testing ExtUtils::BundleMaker 0.006, Perl 5.020001, C:\Perl64-5.20\bin\perl.exe
t/00-load.t ....
1..1
ok 1 - use ExtUtils::BundleMaker;
ok
Can't locate MetaCPAN/Client.pm in @INC (you may need to install the MetaCPAN::Client module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\ExtUtils-BundleMaker-0.006-VyBTXg\blib\lib C:\cpanfly-5.20\var\cpan\build\ExtUtils-BundleMaker-0.006-VyBTXg\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/lib C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/arch C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/lib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/lib C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/arch C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/lib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:/cpanfly-5.20/var/megalib/Module/Runtime.pm line 317.
t/01-simple.t ..
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
Can't locate MetaCPAN/Client.pm in @INC (you may need to install the MetaCPAN::Client module) (@INC contains: t/inc C:\cpanfly-5.20\var\cpan\build\ExtUtils-BundleMaker-0.006-VyBTXg\blib\lib C:\cpanfly-5.20\var\cpan\build\ExtUtils-BundleMaker-0.006-VyBTXg\blib\arch C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-WriteVariants-0.007-IBOuDN/blib/lib C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/arch C:\cpanfly-5.20\var\cpan\build\Data-Tumbler-0.005-0pG4lD/blib/lib C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/arch C:\cpanfly-5.20\var\cpan\build\Test-Directory-0.041-Jjm6kz/blib/lib C:/cpanfly-5.20/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at C:/cpanfly-5.20/var/megalib/Module/Runtime.pm line 317.
t/02-pkg.t .....
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
Test Summary Report
-------------------
t/01-simple.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: No plan found in TAP output
t/02-pkg.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: No plan found in TAP output
Files=3, Tests=1, 5 wallclock secs ( 0.06 usr + 0.01 sys = 0.08 CPU)
Result: FAIL
Failed 2/3 test programs. 0/1 subtests failed.
dmake: Error code 130, while making 'test_dynamic'
REHSACK/ExtUtils-BundleMaker-0.006.tar.gz
one dependency not OK (MetaCPAN::Client); additionally test harness failed
dmake test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports REHSACK/ExtUtils-BundleMaker-0.006.tar.gz
Finished 2014-09-28T01:27:22